Diff below update py-crypto to the lastest version, all tests pass on
amd64.
Comments? Ok?
Martin
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/py-crypto/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 16 Sep 2011 11:41:39 -0000 1.19
+++ Makefile 30 Sep 2011 10:35:12 -0000
@@ -4,13 +4,12 @@ SHARED_ONLY = Yes
COMMENT = cryptographic tools for Python
-MODPY_EGG_VERSION = 2.0.1
+MODPY_EGG_VERSION = 2.3
DISTNAME = pycrypto-${MODPY_EGG_VERSION}
PKGNAME = py-crypto-${MODPY_EGG_VERSION}
-REVISION= 9
CATEGORIES = security devel
-HOMEPAGE = http://www.amk.ca/python/code/crypto.html
+HOMEPAGE = https://www.dlitz.net/software/pycrypto/
MAINTAINER = Will Maier <[email protected]>
@@ -20,7 +19,7 @@ PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM = Yes
PERMIT_DISTFILES_FTP = Yes
-MASTER_SITES = http://www.amk.ca/files/python/crypto/
+MASTER_SITES = http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/
MODULES = lang/python
LIB_DEPENDS = devel/gmp
@@ -37,6 +36,6 @@ post-install:
do-regress: fake
cd ${WRKSRC} && ${MAKE_ENV} \
- PYTHONPATH=${WRKINST}${MODPY_SITEPKG} ${MODPY_BIN} test.py
+ PYTHONPATH=${WRKINST}${MODPY_SITEPKG} ${MODPY_BIN} setup.py test
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/py-crypto/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo 5 Apr 2007 17:26:09 -0000 1.5
+++ distinfo 30 Sep 2011 10:01:01 -0000
@@ -1,5 +1,5 @@
-MD5 (pycrypto-2.0.1.tar.gz) = TVZ084mKVzaR/7M16NdJzQ==
-RMD160 (pycrypto-2.0.1.tar.gz) = XOk4ok939BTkJoDBfvm23I3pSi4=
-SHA1 (pycrypto-2.0.1.tar.gz) = x3ze/fsG5HSWkAE6mp4WAKsU4m8=
-SHA256 (pycrypto-2.0.1.tar.gz) = sI1O1UyUA8d3eKOAPlOk8z81m0LZT28+FKuxv0lB5uo=
-SIZE (pycrypto-2.0.1.tar.gz) = 154292
+MD5 (pycrypto-2.3.tar.gz) = K4Ec+/w0LYPuYUCX7/uBAQ==
+RMD160 (pycrypto-2.3.tar.gz) = W3sVqrP14zETuhl6Lt1inHJZU3Q=
+SHA1 (pycrypto-2.3.tar.gz) = lrM7d+cpiTvQg3oJpqp6ErUHADc=
+SHA256 (pycrypto-2.3.tar.gz) = TxHoX7zxOWA3NlD8La6PCI+bAB8H+20++y/LUzSYcYI=
+SIZE (pycrypto-2.3.tar.gz) = 331476
Index: patches/patch-Cipher___init___py
===================================================================
RCS file: patches/patch-Cipher___init___py
diff -N patches/patch-Cipher___init___py
--- patches/patch-Cipher___init___py 11 Jun 2008 02:59:32 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-$OpenBSD: patch-Cipher___init___py,v 1.2 2008/06/11 02:59:32 wcmaier Exp $
---- Cipher/__init__.py.orig Fri Feb 28 09:28:35 2003
-+++ Cipher/__init__.py Wed May 28 20:55:20 2008
-@@ -11,7 +11,6 @@ If you don't know which algorithm to choose, use AES b
- standard and has undergone a fair bit of examination.
-
- Crypto.Cipher.AES Advanced Encryption Standard
--Crypto.Cipher.ARC2 Alleged RC2
- Crypto.Cipher.ARC4 Alleged RC4
- Crypto.Cipher.Blowfish
- Crypto.Cipher.CAST
-@@ -19,12 +18,11 @@ Crypto.Cipher.DES The Data Encryption Standard
- in the past, but today its 56-bit keys are too
small.
- Crypto.Cipher.DES3 Triple DES.
- Crypto.Cipher.IDEA
--Crypto.Cipher.RC5
- Crypto.Cipher.XOR The simple XOR cipher.
- """
-
--__all__ = ['AES', 'ARC2', 'ARC4',
-- 'Blowfish', 'CAST', 'DES', 'DES3', 'IDEA', 'RC5',
-+__all__ = ['AES', 'ARC4',
-+ 'Blowfish', 'CAST', 'DES', 'DES3',
- 'XOR'
- ]
-
Index: patches/patch-Hash_MD5_py
===================================================================
RCS file: patches/patch-Hash_MD5_py
diff -N patches/patch-Hash_MD5_py
--- patches/patch-Hash_MD5_py 29 Aug 2009 15:17:48 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-$OpenBSD: patch-Hash_MD5_py,v 1.1 2009/08/29 15:17:48 fgsch Exp $
---- Hash/MD5.py.orig Sat Aug 29 14:48:13 2009
-+++ Hash/MD5.py Sat Aug 29 14:48:34 2009
-@@ -3,11 +3,19 @@
-
- __revision__ = "$Id: patch-Hash_MD5_py,v 1.1 2009/08/29 15:17:48 fgsch Exp $"
-
--from md5 import *
-+try:
-+ # The md5 module is deprecated in Python 2.6, so use hashlib when
possible.
-+ import hashlib
-+ def new(data=""):
-+ return hashlib.md5(data)
-+ digest_size = new().digest_size
-
--import md5
--if hasattr(md5, 'digestsize'):
-- digest_size = digestsize
-- del digestsize
--del md5
-+except ImportError:
-+ from md5 import *
-+
-+ import md5
-+ if hasattr(md5, 'digestsize'):
-+ digest_size = digestsize
-+ del digestsize
-+ del md5
-
Index: patches/patch-Hash_SHA_py
===================================================================
RCS file: patches/patch-Hash_SHA_py
diff -N patches/patch-Hash_SHA_py
--- patches/patch-Hash_SHA_py 29 Aug 2009 15:17:48 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-$OpenBSD: patch-Hash_SHA_py,v 1.1 2009/08/29 15:17:48 fgsch Exp $
---- Hash/SHA.py.orig Sat Aug 29 14:49:24 2009
-+++ Hash/SHA.py Sat Aug 29 14:50:25 2009
-@@ -3,9 +3,19 @@
-
- __revision__ = "$Id: patch-Hash_SHA_py,v 1.1 2009/08/29 15:17:48 fgsch Exp $"
-
--from sha import *
--import sha
--if hasattr(sha, 'digestsize'):
-- digest_size = digestsize
-- del digestsize
--del sha
-+try:
-+ # The sha module is deprecated in Python 2.6, so use hashlib when
possible.
-+ import hashlib
-+ def new(data=""):
-+ return hashlib.sha1(data)
-+ digest_size = new().digest_size
-+
-+except ImportError:
-+ from sha import *
-+
-+ import sha
-+ if hasattr(sha, 'digestsize'):
-+ digest_size = digestsize
-+ del digestsize
-+ del sha
-+
Index: patches/patch-Hash___init___py
===================================================================
RCS file: patches/patch-Hash___init___py
diff -N patches/patch-Hash___init___py
--- patches/patch-Hash___init___py 11 Jun 2008 02:59:32 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-$OpenBSD: patch-Hash___init___py,v 1.2 2008/06/11 02:59:32 wcmaier Exp $
---- Hash/__init__.py.orig Fri Dec 19 08:24:25 2003
-+++ Hash/__init__.py Wed May 28 20:55:20 2008
-@@ -12,13 +12,12 @@ The hashing modules here all support the interface des
-
- Submodules:
- Crypto.Hash.HMAC RFC 2104: Keyed-Hashing for Message Authentication
--Crypto.Hash.MD2
- Crypto.Hash.MD4
- Crypto.Hash.MD5
- Crypto.Hash.RIPEMD
- Crypto.Hash.SHA
- """
-
--__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD', 'SHA', 'SHA256']
-+__all__ = ['HMAC', 'MD4', 'MD5', 'RIPEMD', 'SHA', 'SHA256']
- __revision__ = "$Id: patch-Hash___init___py,v 1.2 2008/06/11 02:59:32 wcmaier
Exp $"
-
Index: patches/patch-Util_test_py
===================================================================
RCS file: patches/patch-Util_test_py
diff -N patches/patch-Util_test_py
--- patches/patch-Util_test_py 11 Jun 2008 02:59:32 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,79 +0,0 @@
-$OpenBSD: patch-Util_test_py,v 1.2 2008/06/11 02:59:32 wcmaier Exp $
---- Util/test.py.orig Fri Aug 13 17:24:18 2004
-+++ Util/test.py Wed May 28 20:55:21 2008
-@@ -223,8 +223,7 @@ def TestStreamModules(args=['arc4', 'XOR'], verbose=1)
- die('XOR failed on entry '+`entry`)
-
-
--def TestBlockModules(args=['aes', 'arc2', 'des', 'blowfish', 'cast', 'des3',
-- 'idea', 'rc5'],
-+def TestBlockModules(args=['aes', 'des', 'blowfish', 'cast', 'des3'],
- verbose=1):
- import string
- args=map(string.lower, args)
-@@ -267,23 +266,6 @@ def TestBlockModules(args=['aes', 'arc2', 'des', 'blow
- if verbose: print
-
-
-- if 'arc2' in args:
-- ciph=exerciseBlockCipher('ARC2', verbose) # Alleged RC2
-- if (ciph!=None):
-- if verbose: print ' Verifying against test suite...'
-- for entry in testdata.arc2:
-- key,plain,cipher=entry
-- key=binascii.a2b_hex(key)
-- plain=binascii.a2b_hex(plain)
-- cipher=binascii.a2b_hex(cipher)
-- obj=ciph.new(key, ciph.MODE_ECB)
-- ciphertext=obj.encrypt(plain)
-- if (ciphertext!=cipher):
-- die('ARC2 failed on entry '+`entry`)
-- for i in ciphertext:
-- if verbose: print hex(ord(i)),
-- print
--
- if 'blowfish' in args:
- ciph=exerciseBlockCipher('Blowfish',verbose)# Bruce Schneier's
Blowfish cipher
- if (ciph!=None):
-@@ -413,41 +395,5 @@ def TestBlockModules(args=['aes', 'arc2', 'des', 'blow
- ciphertext=obj1.encrypt(plain)
- if (ciphertext!=cipher):
- die('DES3 CBC mode failed on entry '+`entry`)
--
-- if 'idea' in args:
-- ciph=exerciseBlockCipher('IDEA', verbose) # IDEA block cipher
-- if (ciph!=None):
-- if verbose: print ' Verifying against test suite...'
-- for entry in testdata.idea:
-- key,plain,cipher=entry
-- key=binascii.a2b_hex(key)
-- plain=binascii.a2b_hex(plain)
-- cipher=binascii.a2b_hex(cipher)
-- obj=ciph.new(key, ciph.MODE_ECB)
-- ciphertext=obj.encrypt(plain)
-- if (ciphertext!=cipher):
-- die('IDEA failed on entry '+`entry`)
--
-- if 'rc5' in args:
-- # Ronald Rivest's RC5 algorithm
-- ciph=exerciseBlockCipher('RC5', verbose)
-- if (ciph!=None):
-- if verbose: print ' Verifying against test suite...'
-- for entry in testdata.rc5:
-- key,plain,cipher=entry
-- key=binascii.a2b_hex(key)
-- plain=binascii.a2b_hex(plain)
-- cipher=binascii.a2b_hex(cipher)
-- obj=ciph.new(key[4:], ciph.MODE_ECB,
-- version =ord(key[0]),
-- word_size=ord(key[1]),
-- rounds =ord(key[2]) )
-- ciphertext=obj.encrypt(plain)
-- if (ciphertext!=cipher):
-- die('RC5 failed on entry '+`entry`)
-- for i in ciphertext:
-- if verbose: print hex(ord(i)),
-- if verbose: print
--
-
-
Index: patches/patch-lib_Crypto_Cypher___init___py
===================================================================
RCS file: patches/patch-lib_Crypto_Cypher___init___py
diff -N patches/patch-lib_Crypto_Cypher___init___py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Crypto_Cypher___init___py 30 Sep 2011 10:08:12 -0000
@@ -0,0 +1,19 @@
+--- lib/Crypto/Cipher/__init__.py.orig Fri Sep 30 12:06:01 2011
++++ lib/Crypto/Cipher/__init__.py Fri Sep 30 12:06:27 2011
+@@ -31,7 +31,6 @@
+ standard and has undergone a fair bit of examination.
+
+ Crypto.Cipher.AES Advanced Encryption Standard
+-Crypto.Cipher.ARC2 Alleged RC2
+ Crypto.Cipher.ARC4 Alleged RC4
+ Crypto.Cipher.Blowfish
+ Crypto.Cipher.CAST
+@@ -41,7 +40,7 @@
+ Crypto.Cipher.XOR The simple XOR cipher.
+ """
+
+-__all__ = ['AES', 'ARC2', 'ARC4',
++__all__ = ['AES', 'ARC4',
+ 'Blowfish', 'CAST', 'DES', 'DES3',
+ 'XOR'
+ ]
Index: patches/patch-lib_Crypto_Hash___init___py
===================================================================
RCS file: patches/patch-lib_Crypto_Hash___init___py
diff -N patches/patch-lib_Crypto_Hash___init___py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Crypto_Hash___init___py 30 Sep 2011 10:14:16 -0000
@@ -0,0 +1,17 @@
+--- lib/Crypto/Hash/__init__.py.orig Fri Sep 30 12:13:19 2011
++++ lib/Crypto/Hash/__init__.py Fri Sep 30 12:13:38 2011
+@@ -32,13 +32,12 @@
+
+ Submodules:
+ Crypto.Hash.HMAC RFC 2104: Keyed-Hashing for Message Authentication
+-Crypto.Hash.MD2
+ Crypto.Hash.MD4
+ Crypto.Hash.MD5
+ Crypto.Hash.RIPEMD160
+ Crypto.Hash.SHA
+ """
+
+-__all__ = ['HMAC', 'MD2', 'MD4', 'MD5', 'RIPEMD', 'RIPEMD160', 'SHA',
'SHA256']
++__all__ = ['HMAC', 'MD4', 'MD5', 'RIPEMD', 'RIPEMD160', 'SHA', 'SHA256']
+ __revision__ = "$Id$"
+
Index: patches/patch-lib_Crypto_SelfTest_Cipher___init___py
===================================================================
RCS file: patches/patch-lib_Crypto_SelfTest_Cipher___init___py
diff -N patches/patch-lib_Crypto_SelfTest_Cipher___init___py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Crypto_SelfTest_Cipher___init___py 30 Sep 2011
10:31:19 -0000
@@ -0,0 +1,10 @@
+--- lib/Crypto/SelfTest/Cipher/__init__.py.orig Fri Sep 30 12:30:31 2011
++++ lib/Crypto/SelfTest/Cipher/__init__.py Fri Sep 30 12:30:43 2011
+@@ -29,7 +29,6 @@
+ def get_tests(config={}):
+ tests = []
+ import test_AES; tests += test_AES.get_tests(config=config)
+- import test_ARC2; tests += test_ARC2.get_tests(config=config)
+ import test_ARC4; tests += test_ARC4.get_tests(config=config)
+ import test_Blowfish; tests += test_Blowfish.get_tests(config=config)
+ import test_CAST; tests += test_CAST.get_tests(config=config)
Index: patches/patch-lib_Crypto_SelfTest_Cipher_test_ARC2_py
===================================================================
RCS file: patches/patch-lib_Crypto_SelfTest_Cipher_test_ARC2_py
diff -N patches/patch-lib_Crypto_SelfTest_Cipher_test_ARC2_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Crypto_SelfTest_Cipher_test_ARC2_py 30 Sep 2011
10:37:49 -0000
@@ -0,0 +1,122 @@
+--- lib/Crypto/SelfTest/Cipher/test_ARC2.py Fri Aug 27 06:41:55 2010
++++ /dev/null Fri Sep 30 12:37:49 2011
+@@ -1,119 +0,0 @@
+-# -*- coding: utf-8 -*-
+-#
+-# SelfTest/Cipher/ARC2.py: Self-test for the Alleged-RC2 cipher
+-#
+-# Written in 2008 by Dwayne C. Litzenberger <[email protected]>
+-#
+-# ===================================================================
+-# The contents of this file are dedicated to the public domain. To
+-# the extent that dedication to the public domain is not available,
+-# everyone is granted a worldwide, perpetual, royalty-free,
+-# non-exclusive license to exercise all rights associated with the
+-# contents of this file for any purpose whatsoever.
+-# No rights are reserved.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+-# SOFTWARE.
+-# ===================================================================
+-
+-"""Self-test suite for Crypto.Cipher.ARC2"""
+-
+-__revision__ = "$Id$"
+-
+-from common import dict # For compatibility with Python 2.1 and 2.2
+-
+-import unittest
+-
+-# This is a list of (plaintext, ciphertext, key[, description[,
extra_params]]) tuples.
+-test_data = [
+- # Test vectors from RFC 2268
+-
+- # 63-bit effective key length
+- ('0000000000000000', 'ebb773f993278eff', '0000000000000000',
+- 'RFC2268-1', dict(effective_keylen=63)),
+-
+- # 64-bit effective key length
+- ('ffffffffffffffff', '278b27e42e2f0d49', 'ffffffffffffffff',
+- 'RFC2268-2', dict(effective_keylen=64)),
+- ('1000000000000001', '30649edf9be7d2c2', '3000000000000000',
+- 'RFC2268-3', dict(effective_keylen=64)),
+- ('0000000000000000', '61a8a244adacccf0', '88',
+- 'RFC2268-4', dict(effective_keylen=64)),
+- ('0000000000000000', '6ccf4308974c267f', '88bca90e90875a',
+- 'RFC2268-5', dict(effective_keylen=64)),
+- ('0000000000000000', '1a807d272bbe5db1',
'88bca90e90875a7f0f79c384627bafb2',
+- 'RFC2268-6', dict(effective_keylen=64)),
+-
+- # 128-bit effective key length
+- ('0000000000000000', '2269552ab0f85ca6',
'88bca90e90875a7f0f79c384627bafb2',
+- "RFC2268-7", dict(effective_keylen=128)),
+- ('0000000000000000', '5b78d3a43dfff1f1',
+- '88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1e',
+- "RFC2268-8", dict(effective_keylen=129)),
+-
+- # Test vectors from PyCrypto 2.0.1's testdata.py
+- # 1024-bit effective key length
+- ('0000000000000000', '624fb3e887419e48', '5068696c6970476c617373',
+- 'PCTv201-0'),
+- ('ffffffffffffffff', '79cadef44c4a5a85', '5068696c6970476c617373',
+- 'PCTv201-1'),
+- ('0001020304050607', '90411525b34e4c2c', '5068696c6970476c617373',
+- 'PCTv201-2'),
+- ('0011223344556677', '078656aaba61cbfb', '5068696c6970476c617373',
+- 'PCTv201-3'),
+- ('0000000000000000', 'd7bcc5dbb4d6e56a', 'ffffffffffffffff', 'PCTv201-4'),
+- ('ffffffffffffffff', '7259018ec557b357', 'ffffffffffffffff', 'PCTv201-5'),
+- ('0001020304050607', '93d20a497f2ccb62', 'ffffffffffffffff', 'PCTv201-6'),
+- ('0011223344556677', 'cb15a7f819c0014d', 'ffffffffffffffff', 'PCTv201-7'),
+- ('0000000000000000', '63ac98cdf3843a7a',
+- 'ffffffffffffffff5065746572477265656e6177617953e5ffe553',
+- 'PCTv201-8'),
+- ('ffffffffffffffff', '3fb49e2fa12371dd',
+- 'ffffffffffffffff5065746572477265656e6177617953e5ffe553',
+- 'PCTv201-9'),
+- ('0001020304050607', '46414781ab387d5f',
+- 'ffffffffffffffff5065746572477265656e6177617953e5ffe553',
+- 'PCTv201-10'),
+- ('0011223344556677', 'be09dc81feaca271',
+- 'ffffffffffffffff5065746572477265656e6177617953e5ffe553',
+- 'PCTv201-11'),
+- ('0000000000000000', 'e64221e608be30ab', '53e5ffe553', 'PCTv201-12'),
+- ('ffffffffffffffff', '862bc60fdcd4d9a9', '53e5ffe553', 'PCTv201-13'),
+- ('0001020304050607', '6a34da50fa5e47de', '53e5ffe553', 'PCTv201-14'),
+- ('0011223344556677', '584644c34503122c', '53e5ffe553', 'PCTv201-15'),
+-]
+-
+-class BufferOverflowTest(unittest.TestCase):
+- # Test a buffer overflow found in older versions of PyCrypto
+-
+- def setUp(self):
+- global ARC2
+- from Crypto.Cipher import ARC2
+-
+- def runTest(self):
+- """ARC2 with keylength > 128"""
+- key = "x" * 16384
+- mode = ARC2.MODE_ECB
+- self.assertRaises(ValueError, ARC2.new, key, mode)
+-
+-def get_tests(config={}):
+- from Crypto.Cipher import ARC2
+- from common import make_block_tests
+-
+- tests = make_block_tests(ARC2, "ARC2", test_data)
+- tests.append(BufferOverflowTest())
+-
+- return tests
+-
+-if __name__ == '__main__':
+- import unittest
+- suite = lambda: unittest.TestSuite(get_tests())
+- unittest.main(defaultTest='suite')
+-
+-# vim:set ts=4 sw=4 sts=4 expandtab:
Index: patches/patch-lib_Crypto_SelfTest_Hash___init__py
===================================================================
RCS file: patches/patch-lib_Crypto_SelfTest_Hash___init__py
diff -N patches/patch-lib_Crypto_SelfTest_Hash___init__py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Crypto_SelfTest_Hash___init__py 30 Sep 2011 10:17:12
-0000
@@ -0,0 +1,10 @@
+--- lib/Crypto/SelfTest/Hash/__init__.py.orig Fri Sep 30 12:15:52 2011
++++ lib/Crypto/SelfTest/Hash/__init__.py Fri Sep 30 12:16:36 2011
+@@ -29,7 +29,6 @@
+ def get_tests(config={}):
+ tests = []
+ import test_HMAC; tests += test_HMAC.get_tests(config=config)
+- import test_MD2; tests += test_MD2.get_tests(config=config)
+ import test_MD4; tests += test_MD4.get_tests(config=config)
+ import test_MD5; tests += test_MD5.get_tests(config=config)
+ import test_RIPEMD; tests += test_RIPEMD.get_tests(config=config)
Index: patches/patch-lib_Crypto_SelfTest_Hash_test_MD2_py
===================================================================
RCS file: patches/patch-lib_Crypto_SelfTest_Hash_test_MD2_py
diff -N patches/patch-lib_Crypto_SelfTest_Hash_test_MD2_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_Crypto_SelfTest_Hash_test_MD2_py 30 Sep 2011 10:38:26
-0000
@@ -0,0 +1,63 @@
+--- lib/Crypto/SelfTest/Hash/test_MD2.py Fri Aug 27 06:41:55 2010
++++ /dev/null Fri Sep 30 12:38:26 2011
+@@ -1,60 +0,0 @@
+-# -*- coding: utf-8 -*-
+-#
+-# SelfTest/Hash/MD2.py: Self-test for the MD2 hash function
+-#
+-# Written in 2008 by Dwayne C. Litzenberger <[email protected]>
+-#
+-# ===================================================================
+-# The contents of this file are dedicated to the public domain. To
+-# the extent that dedication to the public domain is not available,
+-# everyone is granted a worldwide, perpetual, royalty-free,
+-# non-exclusive license to exercise all rights associated with the
+-# contents of this file for any purpose whatsoever.
+-# No rights are reserved.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+-# SOFTWARE.
+-# ===================================================================
+-
+-"""Self-test suite for Crypto.Hash.MD2"""
+-
+-__revision__ = "$Id$"
+-
+-# This is a list of (expected_result, input[, description]) tuples.
+-test_data = [
+- # Test vectors from RFC 1319
+- ('8350e5a3e24c153df2275c9f80692773', '', "'' (empty string)"),
+- ('32ec01ec4a6dac72c0ab96fb34c0b5d1', 'a'),
+- ('da853b0d3f88d99b30283a69e6ded6bb', 'abc'),
+- ('ab4f496bfb2a530b219ff33031fe06b0', 'message digest'),
+-
+- ('4e8ddff3650292ab5a4108c3aa47940b', 'abcdefghijklmnopqrstuvwxyz',
+- 'a-z'),
+-
+- ('da33def2a42df13975352846c30338cd',
+- 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
+- 'A-Z, a-z, 0-9'),
+-
+- ('d5976f79d83d3a0dc9806c3c66f3efd8',
+- '1234567890123456789012345678901234567890123456'
+- + '7890123456789012345678901234567890',
+- "'1234567890' * 8"),
+-]
+-
+-def get_tests(config={}):
+- from Crypto.Hash import MD2
+- from common import make_hash_tests
+- return make_hash_tests(MD2, "MD2", test_data)
+-
+-if __name__ == '__main__':
+- import unittest
+- suite = lambda: unittest.TestSuite(get_tests())
+- unittest.main(defaultTest='suite')
+-
+-# vim:set ts=4 sw=4 sts=4 expandtab:
Index: patches/patch-setup_py
===================================================================
RCS file: /cvs/ports/security/py-crypto/patches/patch-setup_py,v
retrieving revision 1.3
diff -u -p -r1.3 patch-setup_py
--- patches/patch-setup_py 11 Jun 2008 02:59:32 -0000 1.3
+++ patches/patch-setup_py 30 Sep 2011 10:41:38 -0000
@@ -1,21 +1,16 @@
-$OpenBSD: patch-setup_py,v 1.3 2008/06/11 02:59:32 wcmaier Exp $
---- setup.py.orig Mon Jun 13 20:20:22 2005
-+++ setup.py Wed May 28 20:56:03 2008
-@@ -64,9 +64,10 @@ class PCTBuildExt (build_ext):
- def build_extensions(self):
- self.extensions += [
+--- setup.py.orig Fri Aug 27 06:41:55 2010
++++ setup.py Fri Sep 30 12:26:29 2011
+@@ -267,9 +267,6 @@
+ sources=["src/_fastmath.c"]),
+
# Hash functions
-- Extension("Crypto.Hash.MD4",
+- Extension("Crypto.Hash.MD2",
- include_dirs=['src/'],
-- sources=["src/MD4.c"]),
-+# Added below
-+# Extension("Crypto.Hash.MD4",
-+# include_dirs=['src/'],
-+# sources=["src/MD4.c"]),
- Extension("Crypto.Hash.RIPEMD",
+- sources=["src/MD2.c"]),
+ Extension("Crypto.Hash.MD4",
include_dirs=['src/'],
- sources=["src/RIPEMD.c"],
-@@ -79,9 +80,10 @@ class PCTBuildExt (build_ext):
+ sources=["src/MD4.c"]),
+@@ -285,9 +282,10 @@
Extension("Crypto.Cipher.AES",
include_dirs=['src/'],
sources=["src/AES.c"]),
@@ -29,57 +24,3 @@ $OpenBSD: patch-setup_py,v 1.3 2008/06/1
Extension("Crypto.Cipher.Blowfish",
include_dirs=['src/'],
sources=["src/Blowfish.c"]),
-@@ -94,13 +96,14 @@ class PCTBuildExt (build_ext):
- Extension("Crypto.Cipher.DES3",
- include_dirs=['src/'],
- sources=["src/DES3.c"]),
-- Extension("Crypto.Cipher.IDEA",
-- include_dirs=['src/'],
-- sources=["src/IDEA.c"],
-- libraries=HTONS_LIBS),
-- Extension("Crypto.Cipher.RC5",
-- include_dirs=['src/'],
-- sources=["src/RC5.c"]),
-+# Patented
-+# Extension("Crypto.Cipher.IDEA",
-+# include_dirs=['src/'],
-+# sources=["src/IDEA.c"],
-+# libraries=HTONS_LIBS),
-+# Extension("Crypto.Cipher.RC5",
-+# include_dirs=['src/'],
-+# sources=["src/RC5.c"]),
-
- # Stream ciphers
- Extension("Crypto.Cipher.ARC4",
-@@ -116,14 +119,12 @@ class PCTBuildExt (build_ext):
- build_ext.build_extensions(self)
-
- def detect_modules (self):
-- lib_dirs = self.compiler.library_dirs + ['/lib', '/usr/lib']
-- inc_dirs = self.compiler.include_dirs + ['/usr/include']
- exts = []
-- if (self.compiler.find_library_file(lib_dirs, 'gmp')):
-- exts.append(Extension("Crypto.PublicKey._fastmath",
-- include_dirs=['src/'],
-- libraries=['gmp'],
-- sources=["src/_fastmath.c"]))
-+ exts.append(Extension("Crypto.PublicKey._fastmath",
-+ include_dirs=['src/', '${LOCALBASE}/include'],
-+ library_dirs=['${LOCALBASE}/lib'],
-+ libraries=['gmp'],
-+ sources=["src/_fastmath.c"]))
- self.extensions += exts
-
- kw = {'name':"pycrypto",
-@@ -139,9 +140,9 @@ kw = {'name':"pycrypto",
- 'package_dir' : { "Crypto":"." },
- # One module is defined here, because build_ext won't be
- # called unless there's at least one extension module defined.
-- 'ext_modules':[Extension("Crypto.Hash.MD2",
-+ 'ext_modules':[Extension("Crypto.Hash.MD4",
- include_dirs=['src/'],
-- sources=["src/MD2.c"])],
-+ sources=["src/MD4.c"])],
- }
-
- # If we're running Python 2.3, add extra information
Index: patches/patch-test_test_hashes_py
===================================================================
RCS file: patches/patch-test_test_hashes_py
diff -N patches/patch-test_test_hashes_py
--- patches/patch-test_test_hashes_py 11 Jun 2008 02:59:32 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$OpenBSD: patch-test_test_hashes_py,v 1.2 2008/06/11 02:59:32 wcmaier Exp $
---- test/test_hashes.py.orig Fri Aug 13 17:23:12 2004
-+++ test/test_hashes.py Wed May 28 20:55:21 2008
-@@ -10,7 +10,7 @@ from sancho.unittest import TestScenario, parse_args,
- from Crypto.Hash import *
- import testdata
-
--tested_modules = [ "Crypto.Hash.MD2", "Crypto.Hash.MD4", "Crypto.Hash.MD5",
-+tested_modules = [ "Crypto.Hash.MD4", "Crypto.Hash.MD5",
- "Crypto.Hash.RIPEMD", "Crypto.Hash.SHA",
"Crypto.Hash.SHA256"]
-
- class HashTest (TestScenario):
-@@ -55,11 +55,6 @@ class HashTest (TestScenario):
- print 'Unable to measure time -- elapsed time too small'
- else:
- print '%.2f K/sec' % (128/(end-start))
--
-- def check_md2 (self):
-- "MD2 module"
-- self.run_test_suite(MD2, testdata.md2)
-- self.benchmark(MD2)
-
- def check_md4 (self):
- "MD4 module"
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/py-crypto/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -r1.6 PLIST
--- pkg/PLIST 11 Jun 2008 02:59:32 -0000 1.6
+++ pkg/PLIST 30 Sep 2011 10:38:53 -0000
@@ -16,7 +16,9 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/MD4.so
lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/MD5.py
lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/MD5.pyc
-lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/RIPEMD.so
+lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/RIPEMD.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/RIPEMD.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/RIPEMD160.so
lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/SHA.py
lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/SHA.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/Hash/SHA256.so
@@ -36,28 +38,167 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/ElGamal.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/RSA.py
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/RSA.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_DSA.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_DSA.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_RSA.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_RSA.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/__init__.py
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_fastmath.so
+lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_slowmath.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/_slowmath.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/pubkey.py
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/pubkey.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/qNEW.py
lib/python${MODPY_VERSION}/site-packages/Crypto/PublicKey/qNEW.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/FortunaAccumulator.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/FortunaGenerator.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/FortunaGenerator.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/SHAd256.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/SHAd256.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/Fortuna/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/fallback.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/fallback.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/nt.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/nt.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/posix.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/posix.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/rng_base.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/OSRNG/rng_base.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/_UserFriendlyRNG.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/_UserFriendlyRNG.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/random.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Random/random.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/common.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/common.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_AES.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_AES.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_ARC4.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_ARC4.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_CAST.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_CAST.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_DES.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_DES.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_DES3.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_DES3.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_XOR.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Cipher/test_XOR.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/common.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/common.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_HMAC.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_HMAC.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_MD4.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_MD4.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_MD5.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_MD5.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_RIPEMD.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_SHA.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_SHA.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_SHA256.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Hash/test_SHA256.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/test_chaffing.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/test_chaffing.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Protocol/test_rfc1751.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/test_DSA.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/test_DSA.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/test_RSA.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/test_importKey.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/PublicKey/test_importKey.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/Fortuna/test_SHAd256.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_fallback.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_generic.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_nt.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_posix.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/OSRNG/test_winrandom.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/test_random.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/test_random.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Random/test_rpoolcompat.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_Counter.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_Counter.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_asn1.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_asn1.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_number.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_number.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_winrandom.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/Util/test_winrandom.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/__init__.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/st_common.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/SelfTest/st_common.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/Counter.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/Counter.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/RFC1751.py
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/RFC1751.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/__init__.py
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/__init__.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/_counter.so
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/_number_new.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/_number_new.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/asn1.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/asn1.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/number.py
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/number.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/python_compat.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/python_compat.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/randpool.py
lib/python${MODPY_VERSION}/site-packages/Crypto/Util/randpool.pyc
-lib/python${MODPY_VERSION}/site-packages/Crypto/Util/test.py
-lib/python${MODPY_VERSION}/site-packages/Crypto/Util/test.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/strxor.so
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/winrandom.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/Util/winrandom.pyc
lib/python${MODPY_VERSION}/site-packages/Crypto/__init__.py
lib/python${MODPY_VERSION}/site-packages/Crypto/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/Crypto/test.py
-lib/python${MODPY_VERSION}/site-packages/Crypto/test.pyc
+lib/python${MODPY_VERSION}/site-packages/Crypto/pct_warnings.py
+lib/python${MODPY_VERSION}/site-packages/Crypto/pct_warnings.pyc
lib/python${MODPY_VERSION}/site-packages/pycrypto-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info
share/doc/py-crypto/
share/doc/py-crypto/README