diff options
| -rw-r--r-- | mail/changes/next-changelog.rst | 1 | ||||
| -rw-r--r-- | mail/pkg/requirements-latest.pip | 2 | ||||
| -rw-r--r-- | mail/src/leap/mail/adaptors/soledad.py | 3 | ||||
| -rw-r--r-- | mail/src/leap/mail/walk.py | 7 | 
4 files changed, 7 insertions, 6 deletions
| diff --git a/mail/changes/next-changelog.rst b/mail/changes/next-changelog.rst index 625dcac..7979246 100644 --- a/mail/changes/next-changelog.rst +++ b/mail/changes/next-changelog.rst @@ -12,6 +12,7 @@ Features  ~~~~~~~~  - `#7656 <https://leap.se/code/issues/7656>`_: Emit multi-user aware events.  - `#4008 <https://leap.se/code/issues/4008>`_: Add token-based authentication to local IMAP/SMTP services. +- `#7889 <https://leap.se/code/issues/7889>`_: Use cryptography instead of pycryptopp to reduce dependencies.  - Use twisted.cred to authenticate IMAP users.  - `#1234 <https://leap.se/code/issues/1234>`_: Description of the new feature corresponding with issue #1234. diff --git a/mail/pkg/requirements-latest.pip b/mail/pkg/requirements-latest.pip index f561d4e..846a319 100644 --- a/mail/pkg/requirements-latest.pip +++ b/mail/pkg/requirements-latest.pip @@ -1,7 +1,5 @@  --index-url https://pypi.python.org/simple/ -pycryptopp -  --allow-external u1db  --allow-unverified u1db  --allow-external dirspec  --allow-unverified dirspec  -e 'git+https://github.com/pixelated-project/leap_pycommon.git@develop#egg=leap.common' diff --git a/mail/src/leap/mail/adaptors/soledad.py b/mail/src/leap/mail/adaptors/soledad.py index 7f2b1cf..f4af020 100644 --- a/mail/src/leap/mail/adaptors/soledad.py +++ b/mail/src/leap/mail/adaptors/soledad.py @@ -22,7 +22,6 @@ import re  from collections import defaultdict  from email import message_from_string -from pycryptopp.hash import sha256  from twisted.internet import defer  from twisted.python import log  from zope.interface import implements @@ -1208,7 +1207,7 @@ def _split_into_parts(raw):  def _parse_msg(raw):      msg = message_from_string(raw)      parts = walk.get_parts(msg) -    chash = sha256.SHA256(raw).hexdigest() +    chash = walk.get_hash(raw)      multi = msg.is_multipart()      return msg, parts, chash, multi diff --git a/mail/src/leap/mail/walk.py b/mail/src/leap/mail/walk.py index 7be1bb8..8693bdd 100644 --- a/mail/src/leap/mail/walk.py +++ b/mail/src/leap/mail/walk.py @@ -17,13 +17,16 @@  """  Utilities for walking along a message tree.  """ -from pycryptopp.hash import sha256 +from cryptography.hazmat.backends import default_backend +from cryptography.hazmat.primitives import hashes  from leap.mail.utils import first  def get_hash(s): -    return sha256.SHA256(s).hexdigest() +    digest = hashes.Hash(hashes.SHA256(), default_backend()) +    digest.update(s) +    return digest.finalize().encode("hex").upper()  """ | 
