Failed sudo attempt with `SudoLoop` enabled causes unexpected behaviour
Affected Version
paru -V paru v1.11.1.r29.g95e094e - libalpm v13.0.1
Description
It seems that paru behaves strangely if you mistype your password 3 times in a row, and have SudoLoop enabled.
With SudoLoop disabled the following happens, which is what I would expect:
$ paru
no new news
:: Looking for AUR upgrades...
:: Looking for devel upgrades...
:: Looking for SRCINFO upgrades...
[sudo] password for bram:
Sorry, try again.
[sudo] password for bram:
Sorry, try again.
[sudo] password for bram:
sudo: 3 incorrect password attempts
$
With SudoLoop enabled it seems it asks for your password preemptively. However, if you mistype your password it starts looking for updates after three failed attempts:
$ paru
[sudo] password for bram:
Sorry, try again.
[sudo] password for bram:
Sorry, try again.
[sudo] password for bram:
sudo: 3 incorrect password attempts
[sudo] password for bram: no new news
:: Looking for AUR upgrades...
:: Looking for devel upgrades...
:: Looking for SRCINFO upgrades...
:: Synchronising package databases...
core is up to date
extra is up to date
community is up to date
user is up to date
:: Starting full system upgrade...
there is nothing to do
$
You can then type your password, after which it will behave normally. This isn't a breaking bug, but the behaviour seems odd. I would expect the looking for updates to happen ones sudo has succeeded, not after the first (un)successful attempt .
Have you checked previous issues? I have, but couldn't fine one which seems to refer to this issue
Output
Include the FULL output of any relevant commands/configs
Don't cut parts of the input always include the FULL thing
paru.conf and pacman.conf are usually always relevant
pacman.conf:
[options]
HoldPkg = pacman glibc linux-zen
Architecture = auto
NoExtract = etc/pacman.d/mirrorlist
Color
CheckSpace
VerbosePkgLists
ParallelDownloads = 30
ILoveCandy
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[user]
SigLevel = Never
Server = file:///var/cache/pacman/user
paru.conf:
[options]
PgpFetch
Devel
Provides
DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossil
RemoveMake
SudoLoop
CleanAfter
LocalRepo
Chroot
NewsOnUpgrade
FailFast
[bin]
Pager = less -F