diff options
| -rw-r--r-- | src/mailman_pgp/pgp/inline.py | 11 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/mime.py | 8 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/mailman_pgp/pgp/inline.py b/src/mailman_pgp/pgp/inline.py index f3b0d32..8f3ad88 100644 --- a/src/mailman_pgp/pgp/inline.py +++ b/src/mailman_pgp/pgp/inline.py @@ -1 +1,12 @@ """""" +from email.message import Message + +class PGPInlineWrapper: + def __init__(self, msg: Message): + self.msg = msg + + def is_inline_signed(self): + pass + + def is_inline_encrypted(self): + pass diff --git a/src/mailman_pgp/pgp/mime.py b/src/mailman_pgp/pgp/mime.py index 5617c19..26d5ddc 100644 --- a/src/mailman_pgp/pgp/mime.py +++ b/src/mailman_pgp/pgp/mime.py @@ -10,8 +10,8 @@ class PGPMIMEWrapper: def _is_mime(self): is_multipart = self.msg.is_multipart() payloads = len(self.msg.get_payload()) - first_part = self.msg.get_payload(0) - return is_multipart and payloads == 2 and 'Version: 1' in first_part + + return is_multipart and payloads == 2 def is_mime_signed(self): """ @@ -35,12 +35,14 @@ class PGPMIMEWrapper: """ if not self._is_mime(): return False + first_part = str(self.msg.get_payload(0)) first_type = self.msg.get_payload(0).get_content_type() second_type = self.msg.get_payload(1).get_content_type() content_subtype = self.msg.get_content_subtype() protocol_param = collapse_rfc2231_value(self.msg.get_param('protocol')) - return first_type == 'application/pgp-encrypted' and \ + return 'Version: 1' in first_part and \ + first_type == 'application/pgp-encrypted' and \ second_type == 'application/octet-stream' and \ content_subtype == 'encrypted' and \ protocol_param == 'application/pgp-encrypted' |
