diff --git a/GnuPG/__init__.py b/GnuPG/__init__.py index 6404720..b20c3d8 100644 --- a/GnuPG/__init__.py +++ b/GnuPG/__init__.py @@ -58,6 +58,7 @@ def public_keys( keyhome ): fingerprint = None email = None for line in p.stdout.readlines(): + line = line.decode('utf-8') if line[0:3] == LINE_FINGERPRINT: fingerprint = line.split(':')[POS_FINGERPRINT] if line[0:3] == LINE_USER_ID: @@ -120,7 +121,7 @@ def delete_key( keyhome, email ): class GPGEncryptor: def __init__(self, keyhome, recipients = None, charset = None): self._keyhome = keyhome - self._message = '' + self._message = b'' self._recipients = list() self._charset = charset if recipients != None: diff --git a/gpg-mailgate.py b/gpg-mailgate.py index 39fcc61..d360255 100755 --- a/gpg-mailgate.py +++ b/gpg-mailgate.py @@ -470,7 +470,7 @@ def encrypt_all_payloads_mime( message, gpg_to_cmdline ): def encrypt_payload( payload, gpg_to_cmdline, check_nested = True ): raw_payload = payload.get_payload(decode=True) - if check_nested and "-----BEGIN PGP MESSAGE-----" in raw_payload and "-----END PGP MESSAGE-----" in raw_payload: + if check_nested and b"-----BEGIN PGP MESSAGE-----" in raw_payload and b"-----END PGP MESSAGE-----" in raw_payload: if verbose: log("Message is already pgp encrypted. No nested encryption needed.") return payload @@ -596,9 +596,13 @@ def sanitize_case_sense( address ): if get_bool_from_cfg('default', 'mail_case_insensitive', 'yes'): address = address.lower() else: - splitted_address = address.split('@') + if isinstance(address, str): + sep = '@' + else: + sep = b'@' + splitted_address = address.split(sep) if len(splitted_address) > 1: - address = splitted_address[0] + '@' + splitted_address[1].lower() + address = splitted_address[0] + sep + splitted_address[1].lower() return address