Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Dec 2009 04:00:06 GMT
From:      Keith Gaughan <kmgaughan@eircom.net>
To:        freebsd-python@FreeBSD.org
Subject:   Re: ports/141462: [patch] security/py-pycrypto: update to 2.1.0
Message-ID:  <200912280400.nBS406MJ050897@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/141462; it has been noted by GNATS.

From: Keith Gaughan <kmgaughan@eircom.net>
To: bug-followup@FreeBSD.org
Cc: Li-Wen Hsu <lwhsu@FreeBSD.org>
Subject: Re: ports/141462: [patch] security/py-pycrypto: update to 2.1.0
Date: Mon, 28 Dec 2009 03:55:51 +0000

 --l76fUT7nc3MelDdI
 Content-Type: multipart/mixed; boundary="Q68bSM7Ycu6FN28Q"
 Content-Disposition: inline
 
 
 --Q68bSM7Ycu6FN28Q
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 I've reviewed the patch, and aside from possibly triggering some
 deprecation issues involving the use of RandomPool in
 security/py-paramiko, I haven't been able to find any problems with it
 and its dependent ports.
 
 I'm CC-ing Li-Wen Hsu on this for his approval, and have tweaked the
 maintainer email address as I'd prefer to use that rather than my older
 eircom.net address.
 
 K.
 
 --Q68bSM7Ycu6FN28Q
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="patch.txt"
 Content-Transfer-Encoding: quoted-printable
 
 diff -durN /usr/ports/security/py-pycrypto/Makefile /tmp/py-pycrypto/Makefi=
 le
 --- /usr/ports/security/py-pycrypto/Makefile	2009-12-27 23:32:00.000000000 =
 +0000
 +++ /tmp/py-pycrypto/Makefile	2009-12-27 23:37:17.000000000 +0000
 @@ -6,13 +6,12 @@
  #
 =20
  PORTNAME=3D	pycrypto
 -PORTVERSION=3D	2.0.1
 -PORTREVISION=3D	4
 +PORTVERSION=3D	2.1.0
  CATEGORIES=3D	security python
 -MASTER_SITES=3D	http://www.amk.ca/files/python/crypto/
 +MASTER_SITES=3D	http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/
  PKGNAMEPREFIX=3D	${PYTHON_PKGNAMEPREFIX}
 =20
 -MAINTAINER=3D	kmgaughan@eircom.net
 +MAINTAINER=3D	k@stereochro.me
  COMMENT=3D	The Python Cryptography Toolkit
 =20
  USE_PYTHON=3D	yes
 @@ -20,13 +19,7 @@
 =20
  LIB_DEPENDS+=3D	gmp.8:${PORTSDIR}/math/libgmp4
 =20
 -pre-configure:
 +pre-patch:
  	@${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|" ${WRKSRC}/setup.py
 =20
 -.include <bsd.port.pre.mk>
 -
 -.if (${PYTHON_REL} >=3D 250)
 -EXTRA_PATCHES+=3D	${FILESDIR}/python25+.txt
 -.endif
 -
 -.include <bsd.port.post.mk>
 +.include <bsd.port.mk>
 diff -durN /usr/ports/security/py-pycrypto/distinfo /tmp/py-pycrypto/distin=
 fo
 --- /usr/ports/security/py-pycrypto/distinfo	2009-12-27 23:32:00.000000000 =
 +0000
 +++ /tmp/py-pycrypto/distinfo	2009-12-27 23:32:21.000000000 +0000
 @@ -1,3 +1,3 @@
 -MD5 (pycrypto-2.0.1.tar.gz) =3D 4d5674f3898a573691ffb335e8d749cd
 -SHA256 (pycrypto-2.0.1.tar.gz) =3D b08d4ed54c9403c77778a3803e53a4f33f359b4=
 2d94f6f3e14abb1bf4941e6ea
 -SIZE (pycrypto-2.0.1.tar.gz) =3D 154292
 +MD5 (pycrypto-2.1.0.tar.gz) =3D 1d3eb04f06e6f09a080bc37fb019f9bf
 +SHA256 (pycrypto-2.1.0.tar.gz) =3D 253e1c22ea0249f0429df4f7e2eb973b119c83b=
 146c0f421298f5e8e6822d8a2
 +SIZE (pycrypto-2.1.0.tar.gz) =3D 265388
 diff -durN /usr/ports/security/py-pycrypto/files/patch-setup.py /tmp/py-pyc=
 rypto/files/patch-setup.py
 --- /usr/ports/security/py-pycrypto/files/patch-setup.py	2009-12-27 23:32:0=
 0.000000000 +0000
 +++ /tmp/py-pycrypto/files/patch-setup.py	2009-12-27 23:32:21.000000000 +00=
 00
 @@ -1,20 +1,27 @@
 ---- setup.py.orig	Sat Aug 14 01:44:47 2004
 -+++ setup.py	Fri Oct  1 21:21:45 2004
 -@@ -116,13 +116,14 @@
 -         build_ext.build_extensions(self)
 +--- ./setup.py.orig	2009-12-13 21:39:29.000000000 +0100
 ++++ ./setup.py	2009-12-14 16:48:47.000000000 +0100
 +@@ -136,6 +136,7 @@
 +                 # especially helps the DES modules.
 +                 self.__add_compiler_option("-O3")
 +                 self.__add_compiler_option("-fomit-frame-pointer")
 ++                self.__add_compiler_option("-D_WCHAR_T_DEFINED")
 +                 # Don't include debug symbols unless debugging
 +                 self.__remove_compiler_option("-g")
 +             if USE_GCOV:
 +@@ -152,7 +153,7 @@
 +             self.compiler.include_dirs.insert(0, "src/inc-msvc/")
  =20
 -     def detect_modules (self):
 +         # Detect libgmp and don't build _fastmath if it is missing.
  -        lib_dirs =3D self.compiler.library_dirs + ['/lib', '/usr/lib']
 --        inc_dirs =3D self.compiler.include_dirs + ['/usr/include']
  +        lib_dirs =3D self.compiler.library_dirs + ['/lib', '/usr/lib', '%=
 %LOCALBASE%%/lib']
 -+        inc_dirs =3D self.compiler.include_dirs + ['/usr/include', '%%LOC=
 ALBASE%%/include']
 -         exts =3D []
 -         if (self.compiler.find_library_file(lib_dirs, 'gmp')):
 -             exts.append(Extension("Crypto.PublicKey._fastmath",
 --                                  include_dirs=3D['src/'],
 -+                                  include_dirs=3D['src/', '%%LOCALBASE%%/=
 include'],
 -                                   libraries=3D['gmp'],
 -+				  library_dirs=3D['%%LOCALBASE%%/lib'],
 -                                   sources=3D["src/_fastmath.c"]))
 -         self.extensions +=3D exts
 +         if not (self.compiler.find_library_file(lib_dirs, 'gmp')):
 +             print >>sys.stderr, "warning: GMP library not found; Not buil=
 ding Crypto.PublicKey._fastmath."
 +             self.__remove_extensions(["Crypto.PublicKey._fastmath"])
 +@@ -259,6 +260,7 @@
 +             Extension("Crypto.PublicKey._fastmath",
 +                       include_dirs=3D['src/'],
 +                       libraries=3D['gmp'],
 ++                      library_dirs=3D['%%LOCALBASE%%/lib'],
 +                       sources=3D["src/_fastmath.c"]),
  =20
 +             # Hash functions
 diff -durN /usr/ports/security/py-pycrypto/files/patch-src-ARC2.c /tmp/py-p=
 ycrypto/files/patch-src-ARC2.c
 --- /usr/ports/security/py-pycrypto/files/patch-src-ARC2.c	2009-12-27 23:32=
 :00.000000000 +0000
 +++ /tmp/py-pycrypto/files/patch-src-ARC2.c	1970-01-01 01:00:00.000000000 +=
 0100
 @@ -1,25 +0,0 @@
 -diff --git a/src/ARC2.c b/src/ARC2.c
 -index eb61713..35d9151 100644
 ---- src/ARC2.c
 -+++ src/ARC2.c
 -@@ -11,6 +11,7 @@
 -  */
 -=20
 - #include <string.h> =20
 -+#include "Python.h"
 -=20
 - #define MODULE_NAME ARC2
 - #define BLOCK_SIZE 8
 -@@ -144,6 +145,12 @@ block_init(block_state *self, U8 *key, int keylength)
 - 		197,243,219, 71,229,165,156,119, 10,166, 32,104,254,127,193,173
 -         };
 -=20
 -+	if ((U32)keylength > sizeof(self->xkey)) {
 -+		PyErr_SetString(PyExc_ValueError,
 -+				"ARC2 key length must be less than 128 bytes");
 -+		return;
 -+	}
 -+
 - 	memcpy(self->xkey, key, keylength);
 -  =20
 - 	/* Phase 1: Expand input key to 128 bytes */
 diff -durN /usr/ports/security/py-pycrypto/files/python25+.txt /tmp/py-pycr=
 ypto/files/python25+.txt
 --- /usr/ports/security/py-pycrypto/files/python25+.txt	2009-12-27 23:32:00=
 =2E000000000 +0000
 +++ /tmp/py-pycrypto/files/python25+.txt	1970-01-01 01:00:00.000000000 +0100
 @@ -1,58 +0,0 @@
 ---- Hash/MD5.py.orig	2009-06-19 12:46:41.000000000 +0100
 -+++ Hash/MD5.py	2009-06-19 12:50:24.000000000 +0100
 -@@ -3,11 +3,20 @@
 -=20
 - __revision__ =3D "$Id: MD5.py,v 1.4 2002/07/11 14:31:19 akuchling Exp $"
 -=20
 --from md5 import *
 -+__all__ =3D ['new', 'digest_size']
 -=20
 --import md5
 --if hasattr(md5, 'digestsize'):
 --    digest_size =3D digestsize
 --    del digestsize
 --del md5
 -=20
 -+try:
 -+    # The md5 module is deprecated in Python 2.6, so use hashlib when pos=
 sible.
 -+    import hashlib
 -+    def new(data=3D""):
 -+        return hashlib.md5(data)
 -+    digest_size =3D new().digest_size
 -+
 -+except ImportError:
 -+    from md5 import *
 -+    import md5
 -+    if hasattr(md5, 'digestsize'):
 -+        digest_size =3D digestsize
 -+        del digestsize
 -+    del md5
 ---- Hash/SHA.py.orig	2009-06-19 12:46:52.000000000 +0100
 -+++ Hash/SHA.py	2009-06-19 12:49:49.000000000 +0100
 -@@ -3,9 +3,20 @@
 -=20
 - __revision__ =3D "$Id: SHA.py,v 1.4 2002/07/11 14:31:19 akuchling Exp $"
 -=20
 --from sha import *
 --import sha
 --if hasattr(sha, 'digestsize'):
 --    digest_size =3D digestsize
 --    del digestsize
 --del sha
 -+__all__ =3D ['new', 'digest_size']
 -+
 -+
 -+try:
 -+    # The md5 module is deprecated in Python 2.6, so use hashlib when pos=
 sible.
 -+    import hashlib
 -+    def new(data=3D""):
 -+        return hashlib.sha1(data)
 -+    digest_size =3D new().digest_size
 -+
 -+except ImportError:
 -+    from sha import *
 -+    import sha
 -+    if hasattr(sha, 'digestsize'):
 -+        digest_size =3D digestsize
 -+        del digestsize
 -+    del sha
 diff -durN /usr/ports/security/py-pycrypto/pkg-descr /tmp/py-pycrypto/pkg-d=
 escr
 --- /usr/ports/security/py-pycrypto/pkg-descr	2009-12-27 23:32:00.000000000=
  +0000
 +++ /tmp/py-pycrypto/pkg-descr	2009-12-27 23:36:29.000000000 +0000
 @@ -2,7 +2,7 @@
  =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 =20
  This is a collection of both secure hash functions (such as MD5 and
 -SHA), and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal,
 -etc.) for Python.
 +SHA), and various encryption algorithms (AES, DES, ElGamal, etc.) for
 +Python.
 =20
  WWW:	http://pycrypto.org
 diff -durN /usr/ports/security/py-pycrypto/pkg-plist /tmp/py-pycrypto/pkg-p=
 list
 --- /usr/ports/security/py-pycrypto/pkg-plist	2009-12-27 23:32:00.000000000=
  +0000
 +++ /tmp/py-pycrypto/pkg-plist	2009-12-27 23:32:21.000000000 +0000
 @@ -5,8 +5,6 @@
  %%PYTHON_SITELIBDIR%%/Crypto/Cipher/CAST.so
  %%PYTHON_SITELIBDIR%%/Crypto/Cipher/DES.so
  %%PYTHON_SITELIBDIR%%/Crypto/Cipher/DES3.so
 -%%PYTHON_SITELIBDIR%%/Crypto/Cipher/IDEA.so
 -%%PYTHON_SITELIBDIR%%/Crypto/Cipher/RC5.so
  %%PYTHON_SITELIBDIR%%/Crypto/Cipher/XOR.so
  %%PYTHON_SITELIBDIR%%/Crypto/Cipher/__init__.py
  %%PYTHON_SITELIBDIR%%/Crypto/Cipher/__init__.pyc
 @@ -19,7 +17,10 @@
  %%PYTHON_SITELIBDIR%%/Crypto/Hash/MD5.py
  %%PYTHON_SITELIBDIR%%/Crypto/Hash/MD5.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/Hash/MD5.pyo
 -%%PYTHON_SITELIBDIR%%/Crypto/Hash/RIPEMD.so
 +%%PYTHON_SITELIBDIR%%/Crypto/Hash/RIPEMD.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Hash/RIPEMD.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Hash/RIPEMD.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Hash/RIPEMD160.so
  %%PYTHON_SITELIBDIR%%/Crypto/Hash/SHA.py
  %%PYTHON_SITELIBDIR%%/Crypto/Hash/SHA.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/Hash/SHA.pyo
 @@ -45,38 +46,237 @@
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/RSA.py
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/RSA.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/RSA.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_DSA.py
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_DSA.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_DSA.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_RSA.py
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_RSA.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_RSA.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/__init__.py
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/__init__.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_slowmath.py
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_slowmath.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_slowmath.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/pubkey.py
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/pubkey.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/pubkey.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/qNEW.py
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/qNEW.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/PublicKey/qNEW.pyo
 -%%PYTHON_SITELIBDIR%%/Crypto/PublicKey/_fastmath.so
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/FortunaAccumulator.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/FortunaAccumulator.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/FortunaAccumulator.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/FortunaGenerator.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/FortunaGenerator.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/FortunaGenerator.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/SHAd256.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/SHAd256.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/SHAd256.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/fallback.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/fallback.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/fallback.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/nt.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/nt.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/nt.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/posix.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/posix.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/posix.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/rng_base.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/rng_base.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG/rng_base.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/_UserFriendlyRNG.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/_UserFriendlyRNG.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/_UserFriendlyRNG.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/random.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/random.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Random/random.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/common.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/common.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/common.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_AES.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_AES.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_AES.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_ARC2.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_ARC2.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_ARC2.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_ARC4.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_ARC4.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_ARC4.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_Blowfish.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_Blowfish.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_Blowfish.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_CAST.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_CAST.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_CAST.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_DES.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_DES.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_DES.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_DES3.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_DES3.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_DES3.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_XOR.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_XOR.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher/test_XOR.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/common.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/common.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/common.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_HMAC.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_HMAC.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_HMAC.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD2.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD2.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD2.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD4.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD4.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD4.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD5.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD5.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_MD5.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_RIPEMD.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_RIPEMD.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_RIPEMD.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_SHA.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_SHA.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_SHA.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_SHA256.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_SHA256.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash/test_SHA256.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/test_chaffing.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/test_chaffing.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/test_chaffing.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/test_rfc1751.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/test_rfc1751.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol/test_rfc1751.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/test_DSA.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/test_DSA.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/test_DSA.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/test_RSA.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/test_RSA.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey/test_RSA.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulat=
 or.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulat=
 or.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulat=
 or.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator=
 =2Epy
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator=
 =2Epyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator=
 =2Epyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_SHAd256.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna/test_SHAd256.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_fallback.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_fallback.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_fallback.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_generic.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_generic.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_generic.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_nt.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_nt.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_nt.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_posix.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_posix.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_posix.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_winrandom.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_winrandom.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG/test_winrandom.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/test_random.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/test_random.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/test_random.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/test_rpoolcompat.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/test_rpoolcompat.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/test_rpoolcompat.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_Counter.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_Counter.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_Counter.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_number.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_number.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_number.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_winrandom.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_winrandom.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util/test_winrandom.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/__init__.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/__init__.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/st_common.py
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/st_common.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/SelfTest/st_common.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/Counter.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/Counter.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/Counter.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/Util/RFC1751.py
  %%PYTHON_SITELIBDIR%%/Crypto/Util/RFC1751.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/Util/RFC1751.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/Util/__init__.py
  %%PYTHON_SITELIBDIR%%/Crypto/Util/__init__.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/Util/__init__.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/_counter.so
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/_number_new.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/_number_new.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/_number_new.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/Util/number.py
  %%PYTHON_SITELIBDIR%%/Crypto/Util/number.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/Util/number.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/python_compat.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/python_compat.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/python_compat.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/Util/randpool.py
  %%PYTHON_SITELIBDIR%%/Crypto/Util/randpool.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/Util/randpool.pyo
 -%%PYTHON_SITELIBDIR%%/Crypto/Util/test.py
 -%%PYTHON_SITELIBDIR%%/Crypto/Util/test.pyc
 -%%PYTHON_SITELIBDIR%%/Crypto/Util/test.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/strxor.so
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/winrandom.py
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/winrandom.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/Util/winrandom.pyo
  %%PYTHON_SITELIBDIR%%/Crypto/__init__.py
  %%PYTHON_SITELIBDIR%%/Crypto/__init__.pyc
  %%PYTHON_SITELIBDIR%%/Crypto/__init__.pyo
 -%%PYTHON_SITELIBDIR%%/Crypto/test.py
 -%%PYTHON_SITELIBDIR%%/Crypto/test.pyc
 -%%PYTHON_SITELIBDIR%%/Crypto/test.pyo
 +%%PYTHON_SITELIBDIR%%/Crypto/pct_warnings.py
 +%%PYTHON_SITELIBDIR%%/Crypto/pct_warnings.pyc
 +%%PYTHON_SITELIBDIR%%/Crypto/pct_warnings.pyo
  @dirrm %%PYTHON_SITELIBDIR%%/Crypto/Util
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Util
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/OSRNG
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random/Fortuna
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Random
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/PublicKey
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Protocol
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Cipher
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest/Hash
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/SelfTest
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/Random/OSRNG
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/Random/Fortuna
 +@dirrm %%PYTHON_SITELIBDIR%%/Crypto/Random
  @dirrm %%PYTHON_SITELIBDIR%%/Crypto/PublicKey
  @dirrm %%PYTHON_SITELIBDIR%%/Crypto/Protocol
  @dirrm %%PYTHON_SITELIBDIR%%/Crypto/Hash
 
 --Q68bSM7Ycu6FN28Q--
 
 --l76fUT7nc3MelDdI
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.14 (FreeBSD)
 
 iEYEARECAAYFAks4LAsACgkQaC1DzM+fZHOGDgCffzunkkT5vvy/tSqrd+meB2kA
 7vkAn3qIBdTAOnvM1MdoSZt388yGsw3I
 =/RVP
 -----END PGP SIGNATURE-----
 
 --l76fUT7nc3MelDdI--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912280400.nBS406MJ050897>