X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=blobdiff_plain;f=userdir_gpg.py;h=39667d2c1f8ae25db0976eaaab8fc1650608a153;hp=82e9ed949664955036f6c42a53b33dbbdc135778;hb=8ea8b0937fb83d1db795b20b96acccff2ab4025a;hpb=4e6dcf2caaa3fa861146797293fe9246e27975f7 diff --git a/userdir_gpg.py b/userdir_gpg.py index 82e9ed9..39667d2 100644 --- a/userdir_gpg.py +++ b/userdir_gpg.py @@ -264,16 +264,22 @@ def GPGCheckSig(Message): Why = "Verification of signature failed"; # Bad signature response - if Split[1] == "ERRSIG" or Split[1] == "NO_PUBKEY": + if Split[1] == "ERRSIG": GoodSig = 0; KeyID = Split[2]; - if Split[7] == '9': + if len(Split) <= 7: + Why = "GPG error, ERRSIG status tag is invalid"; + elif Split[7] == '9': Why = "Unable to verify signature, signing key missing."; elif Split[7] == '4': Why = "Unable to verify signature, unknown packet format/key type"; else: Why = "Unable to verify signature, unknown reason"; + if Split[1] == "NO_PUBKEY": + GoodSig = 0; + Why = "Unable to verify signature, signing key missing."; + # Expired signature if Split[1] == "SIGEXPIRED": GoodSig = 0;