diff options
| author | J08nY | 2017-08-18 17:30:11 +0200 |
|---|---|---|
| committer | J08nY | 2017-08-18 17:30:11 +0200 |
| commit | 54ad58f448f23cd26bbfad6abcfe5e4ca9b686ee (patch) | |
| tree | 192613f595dcca4f28b2c7e53a427b8a0a63b758 /src/mailman_pgp/utils/pgp.py | |
| parent | 680ae1be88d22f2eb5d6f16a58acda4e5927ed72 (diff) | |
| download | mailman-pgp-54ad58f448f23cd26bbfad6abcfe5e4ca9b686ee.tar.gz mailman-pgp-54ad58f448f23cd26bbfad6abcfe5e4ca9b686ee.tar.zst mailman-pgp-54ad58f448f23cd26bbfad6abcfe5e4ca9b686ee.zip | |
Diffstat (limited to 'src/mailman_pgp/utils/pgp.py')
| -rw-r--r-- | src/mailman_pgp/utils/pgp.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mailman_pgp/utils/pgp.py b/src/mailman_pgp/utils/pgp.py index 05721b4..eec7b67 100644 --- a/src/mailman_pgp/utils/pgp.py +++ b/src/mailman_pgp/utils/pgp.py @@ -182,13 +182,15 @@ def key_usable(key, flags_required): @public -def key_merge(privkey, new_key, signer_key): +def key_merge(privkey, new_key, signer_key=None): """ :param privkey: :type privkey: pgpy.PGPKey :param new_key: :type new_key: pgpy.PGPKey + :param signer_key: + :type signer_key: pgpy.PGPKey """ if privkey.pubkey.key_material != new_key.key_material: raise ValueError('You sent a wrong key.') @@ -207,10 +209,13 @@ def key_merge(privkey, new_key, signer_key): for sig in uid_other.signatures: if sig in uid.signatures: continue + if signer_key is None: + uid_sigs.setdefault(uid, []).append(sig) + continue if sig.signer != signer_key.fingerprint.keyid: continue - # sig is a new signature, not currenctly on uid, ans seems to - # be made by the pgp_address.key + # sig is a new signature, not currently on uid, and seems to + # be made by the signer_key try: verification = signer_key.verify(uid, sig) if bool(verification): |
