Skip to content

Commit

Permalink
devel/py-rauth: Add Cryptodome support
Browse files Browse the repository at this point in the history
PR:		248307
Reported by:	john@saltant.com
  • Loading branch information
5u623l20 committed Dec 31, 2022
1 parent 51c097e commit 9f78673
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
1 change: 1 addition & 0 deletions devel/py-rauth/Makefile
@@ -1,5 +1,6 @@
PORTNAME= rauth
PORTVERSION= 0.7.2
PORTREVISION= 1
CATEGORIES= devel www python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}

Expand Down
29 changes: 29 additions & 0 deletions devel/py-rauth/files/patch-rauth__oauth.py
@@ -0,0 +1,29 @@
commit 7fb3b7bf1a1869a52cf59ee3eb607d318e97265c
Author: John W. O'Brien <john@saltant.com>
Date: Mon Jul 27 14:56:02 2020 -0400

Support PyCryptodome as alternative to PyCrypto

--- rauth/oauth.py.orig 2015-11-05 16:01:31 UTC
+++ rauth/oauth.py
@@ -171,7 +171,8 @@ class RsaSha1Signature(SignatureMethod):
from Crypto.Signature import PKCS1_v1_5 as p
self.RSA, self.SHA, self.PKCS1_v1_5 = r, s, p
except ImportError: # pragma: no cover
- raise NotImplementedError('PyCrypto is required for ' + self.NAME)
+ raise NotImplementedError('PyCrypto(dome) is required for '
+ + self.NAME)

def sign(self,
consumer_secret,
@@ -208,7 +209,9 @@ class RsaSha1Signature(SignatureMethod):
# resolve the key
if is_basestring(consumer_secret):
consumer_secret = self.RSA.importKey(consumer_secret)
- if not isinstance(consumer_secret, self.RSA._RSAobj):
+ valid_cls = (getattr(self.RSA, '_RSAobj', False)
+ or getattr(self.RSA, 'RsaKey', False))
+ if not (valid_cls and isinstance(consumer_secret, valid_cls)):
raise ValueError('invalid consumer_secret')

# hash the string with RSA-SHA1
2 changes: 1 addition & 1 deletion devel/py-rauth/files/patch-setup.py
Expand Up @@ -14,7 +14,7 @@
+tests_require = [
+ 'nose',
+ 'mock',
+ 'pycrypto',
+ 'pycryptodome',
+]
+
if sys.version_info[0] == 2 and sys.version_info[1] < 7:
Expand Down

0 comments on commit 9f78673

Please sign in to comment.