[crypto] Use Cryptodome namespace instead of Crypto
authorJérémy Bobbio <jeremy.bobbio@irq7.fr>
Wed, 19 Jun 2019 15:44:17 +0200
changeset 12655 5b0ce10a7046
parent 12654 b2fb404fae3a
child 12656 91178bc271c7
[crypto] Use Cryptodome namespace instead of Crypto PyCryptodome comes in two flavors: “an almost drop-in replacement for the old PyCrypto library” and “a library independent of the old PyCrypto”. The former uses the Crypto namespace, and is shipped as `pycryptodome` while the latter uses Cryptodome instead and lies in the `pycryptodomex` package. Given the reason to switch to PyCryptodome is that PyCrypto in unmaintained, its probably better to avoid any mistake and mandate the specific usage of the Cryptodome namespace by requiring `pycryptodomex` instead of `pycryptodome`. A more present reason is that Debian buster will only provide a package with the separate namespace flavor. The current Recommends is not working with the current code. Although it's important to note that the package name will probably have to be changed to `python3-pycryptodomex` once https://bugs.debian.org/886291 is solved.
cubicweb/crypto.py
setup.py
--- a/cubicweb/crypto.py	Mon Jun 17 11:12:03 2019 +0200
+++ b/cubicweb/crypto.py	Wed Jun 19 15:44:17 2019 +0200
@@ -21,7 +21,7 @@
 from base64 import b64encode, b64decode
 import pickle
 
-from Crypto.Cipher import Blowfish
+from Cryptodome.Cipher import Blowfish
 
 
 _CYPHERERS = {}
--- a/setup.py	Mon Jun 17 11:12:03 2019 +0200
+++ b/setup.py	Wed Jun 19 15:44:17 2019 +0200
@@ -87,7 +87,7 @@
             'Pillow',
         ],
         'crypto': [
-            'pycryptodome',
+            'pycryptodomex',
         ],
         'ext': [
             'docutils >= 0.6',