aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-03-13 13:46:10 -0400
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-03-13 13:46:10 -0400
commit2d1d3bbc49ab3a15069591fac36f8fd59f424233 (patch)
tree32bbaa6e65c732ded28f3135856d3cbe379956b0 /cryptography
parent0b717d42fb3ee27bf77c31c60ba5eef182e6fa84 (diff)
downloadcryptography-2d1d3bbc49ab3a15069591fac36f8fd59f424233.tar.gz
cryptography-2d1d3bbc49ab3a15069591fac36f8fd59f424233.tar.bz2
cryptography-2d1d3bbc49ab3a15069591fac36f8fd59f424233.zip
make create_modulename private, add test
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/bindings/utils.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/cryptography/hazmat/bindings/utils.py b/cryptography/hazmat/bindings/utils.py
index 1d07cd97..3da0412e 100644
--- a/cryptography/hazmat/bindings/utils.py
+++ b/cryptography/hazmat/bindings/utils.py
@@ -71,7 +71,11 @@ def build_ffi(module_prefix, modules, pre_include, post_include, libraries):
)
lib = ffi.verify(
source=source,
- modulename=create_modulename(ffi, source),
+ modulename=_create_modulename(
+ ffi, source,
+ sys.version,
+ sys.version_info
+ ),
libraries=libraries,
ext_package="cryptography",
)
@@ -87,7 +91,7 @@ def build_ffi(module_prefix, modules, pre_include, post_include, libraries):
return ffi, lib
-def create_modulename(ffi, source):
+def _create_modulename(ffi, source, sys_version, sys_version_info):
"""
cffi creates a modulename internally that incorporates the cffi version.
This will cause cryptography's wheels to break when the version of cffi
@@ -95,8 +99,8 @@ def create_modulename(ffi, source):
resolve this we build our own modulename that uses most of the same code
from cffi but elides the version key.
"""
- key = '\x00'.join([sys.version[:3], source] + ffi._cdefsources)
- if sys.version_info >= (3,):
+ key = '\x00'.join([sys_version[:3], source] + ffi._cdefsources)
+ if sys_version_info >= (3,):
key = key.encode('utf-8')
k1 = hex(binascii.crc32(key[0::2]) & 0xffffffff)
k1 = k1.lstrip('0x').rstrip('L')