aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2022-12-31 14:59:13 +0000
committerRene Ladan <rene@FreeBSD.org>2022-12-31 14:59:13 +0000
commitd22a54819a429c7006728e5d5dd88f60de3fcaf9 (patch)
treec4ba1f68c536b82dcf2b2662971394a903c8ffc9
parente80bca6425f5f5f6d4c13135f3814500d11dd0f7 (diff)
downloadports-d22a54819a429c7006728e5d5dd88f60de3fcaf9.tar.gz
ports-d22a54819a429c7006728e5d5dd88f60de3fcaf9.zip
cleanup: Remove expired ports:
2022-06-30 security/py-pycrypto: Unmaintained, obsolete, and contains security vulnerabilities. Use security/py-pycryptodome instead
-rw-r--r--MOVED1
-rw-r--r--security/Makefile1
-rw-r--r--security/py-pycrypto/Makefile45
-rw-r--r--security/py-pycrypto/distinfo2
-rw-r--r--security/py-pycrypto/files/patch-2to31329
-rw-r--r--security/py-pycrypto/files/patch-lib__Crypto__SelfTest__Util__test_number.py37
-rw-r--r--security/py-pycrypto/files/patch-setup.py10
-rw-r--r--security/py-pycrypto/pkg-descr5
8 files changed, 1 insertions, 1429 deletions
diff --git a/MOVED b/MOVED
index b0013441c775..7217b39b70ae 100644
--- a/MOVED
+++ b/MOVED
@@ -17742,3 +17742,4 @@ x11-toolkits/wxgtk28|x11-toolkits/wxgtk30|2022-12-31|Has expired: Upstream suppo
www/py-txrequests|www/py-requests-futures|2022-12-31|Has expired: Use www/py-requests-futures as upstream is unmaintained since 2018
sysutils/py-ansible-core211||2022-12-31|Has expired: Depends on expired security/py-pycrypto
sysutils/ansible4||2022-12-31|Has expired: Depends on expired security/py-pycrypto (via sysutils/py-ansible-core211)
+security/py-pycrypto|security/py-pycryptodome|2022-12-31|Has expired: Unmaintained, obsolete, and contains security vulnerabilities. Use security/py-pycryptodome instead
diff --git a/security/Makefile b/security/Makefile
index ce4f11333893..f368ce9dac2d 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -938,7 +938,6 @@
SUBDIR += py-pyaxo
SUBDIR += py-pyblake2
SUBDIR += py-pyclamd
- SUBDIR += py-pycrypto
SUBDIR += py-pycryptodome
SUBDIR += py-pycryptodome-test-vectors
SUBDIR += py-pycryptodomex
diff --git a/security/py-pycrypto/Makefile b/security/py-pycrypto/Makefile
deleted file mode 100644
index bdebb7649e25..000000000000
--- a/security/py-pycrypto/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-PORTNAME= pycrypto
-PORTVERSION= 2.6.1
-PORTREVISION= 3
-CATEGORIES= security python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Python Cryptography Toolkit
-WWW= https://pycrypto.org
-
-LICENSE= PD
-LICENSE_FILE= ${WRKSRC}/COPYRIGHT
-
-DEPRECATED= Unmaintained, obsolete, and contains security vulnerabilities. Use security/py-pycryptodome instead
-EXPIRATION_DATE=2022-06-30
-
-USES= cpe python:3.6-3.10
-USE_PYTHON= distutils autoplist
-
-CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}pycryptodome
-
-CPE_VENDOR= dlitz
-
-GNU_CONFIGURE= yes
-
-OPTIONS_DEFINE= GMP
-OPTIONS_DEFAULT= GMP
-
-GMP_DESC= Use GMP for faster DSA/RSA operations
-GMP_CONFIGURE_WITH= gmp
-GMP_CPPFLAGS= -I${LOCALBASE}/include
-GMP_LDFLAGS= -L${LOCALBASE}/lib
-GMP_LIB_DEPENDS= libgmp.so:math/gmp
-
-pre-patch:
- @${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|" ${WRKSRC}/setup.py
-
-post-install:
- @${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/Crypto/*/*.so
-
-do-test:
- @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
-
-.include <bsd.port.mk>
diff --git a/security/py-pycrypto/distinfo b/security/py-pycrypto/distinfo
deleted file mode 100644
index 073aa25f7187..000000000000
--- a/security/py-pycrypto/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pycrypto-2.6.1.tar.gz) = f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
-SIZE (pycrypto-2.6.1.tar.gz) = 446240
diff --git a/security/py-pycrypto/files/patch-2to3 b/security/py-pycrypto/files/patch-2to3
deleted file mode 100644
index 19396d777fa0..000000000000
--- a/security/py-pycrypto/files/patch-2to3
+++ /dev/null
@@ -1,1329 +0,0 @@
---- lib/Crypto/Protocol/AllOrNothing.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/Protocol/AllOrNothing.py
-@@ -48,6 +48,7 @@ import operator
- import sys
- from Crypto.Util.number import bytes_to_long, long_to_bytes
- from Crypto.Util.py3compat import *
-+from functools import reduce
-
- def isInt(x):
- test = 0
-@@ -186,11 +187,11 @@ class AllOrNothing:
- # better have at least 2 blocks, for the padbytes package and the hash
- # block accumulator
- if len(blocks) < 2:
-- raise ValueError, "List must be at least length 2."
-+ raise ValueError("List must be at least length 2.")
-
- # blocks is a list of strings. We need to deal with them as long
- # integers
-- blocks = map(bytes_to_long, blocks)
-+ blocks = list(map(bytes_to_long, blocks))
-
- # Calculate the well-known key, to which the hash blocks are
- # encrypted, and create the hash cipher.
-@@ -271,15 +272,15 @@ Where:
-
- def usage(code, msg=None):
- if msg:
-- print msg
-- print usagemsg % {'program': sys.argv[0],
-- 'ciphermodule': ciphermodule}
-+ print(msg)
-+ print(usagemsg % {'program': sys.argv[0],
-+ 'ciphermodule': ciphermodule})
- sys.exit(code)
-
- try:
- opts, args = getopt.getopt(sys.argv[1:],
- 'c:l', ['cipher=', 'aslong'])
-- except getopt.error, msg:
-+ except getopt.error as msg:
- usage(1, msg)
-
- if args:
-@@ -297,23 +298,23 @@ Where:
- module = __import__('Crypto.Cipher.'+ciphermodule, None, None, ['new'])
-
- x = AllOrNothing(module)
-- print 'Original text:\n=========='
-- print __doc__
-- print '=========='
-+ print('Original text:\n==========')
-+ print(__doc__)
-+ print('==========')
- msgblocks = x.digest(b(__doc__))
-- print 'message blocks:'
-- for i, blk in zip(range(len(msgblocks)), msgblocks):
-+ print('message blocks:')
-+ for i, blk in zip(list(range(len(msgblocks))), msgblocks):
- # base64 adds a trailing newline
-- print ' %3d' % i,
-+ print(' %3d' % i, end=' ')
- if aslong:
-- print bytes_to_long(blk)
-+ print(bytes_to_long(blk))
- else:
-- print base64.encodestring(blk)[:-1]
-+ print(base64.encodestring(blk)[:-1])
- #
- # get a new undigest-only object so there's no leakage
- y = AllOrNothing(module)
- text = y.undigest(msgblocks)
- if text == b(__doc__):
-- print 'They match!'
-+ print('They match!')
- else:
-- print 'They differ!'
-+ print('They differ!')
---- lib/Crypto/Protocol/Chaffing.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/Protocol/Chaffing.py
-@@ -106,9 +106,9 @@ class Chaff:
- """
-
- if not (0.0<=factor<=1.0):
-- raise ValueError, "'factor' must be between 0.0 and 1.0"
-+ raise ValueError("'factor' must be between 0.0 and 1.0")
- if blocksper < 0:
-- raise ValueError, "'blocksper' must be zero or more"
-+ raise ValueError("'blocksper' must be zero or more")
-
- self.__factor = factor
- self.__blocksper = blocksper
-@@ -139,8 +139,8 @@ class Chaff:
- # number of chaff blocks to add per message block that is being
- # chaffed.
- count = len(blocks) * self.__factor
-- blocksper = range(self.__blocksper)
-- for i, wheat in zip(range(len(blocks)), blocks):
-+ blocksper = list(range(self.__blocksper))
-+ for i, wheat in zip(list(range(len(blocks))), blocks):
- # it shouldn't matter which of the n blocks we add chaff to, so for
- # ease of implementation, we'll just add them to the first count
- # blocks
-@@ -185,9 +185,9 @@ abolish it, and to institute new Government, laying it
- principles and organizing its powers in such form, as to them shall seem most
- likely to effect their Safety and Happiness.
- """
-- print 'Original text:\n=========='
-- print text
-- print '=========='
-+ print('Original text:\n==========')
-+ print(text)
-+ print('==========')
-
- # first transform the text into packets
- blocks = [] ; size = 40
-@@ -195,7 +195,7 @@ likely to effect their Safety and Happiness.
- blocks.append( text[i:i+size] )
-
- # now get MACs for all the text blocks. The key is obvious...
-- print 'Calculating MACs...'
-+ print('Calculating MACs...')
- from Crypto.Hash import HMAC, SHA
- key = 'Jefferson'
- macs = [HMAC.new(key, block, digestmod=SHA).digest()
-@@ -205,13 +205,13 @@ likely to effect their Safety and Happiness.
-
- # put these into a form acceptable as input to the chaffing procedure
- source = []
-- m = zip(range(len(blocks)), blocks, macs)
-- print m
-+ m = list(zip(list(range(len(blocks))), blocks, macs))
-+ print(m)
- for i, data, mac in m:
- source.append((i, data, mac))
-
- # now chaff these
-- print 'Adding chaff...'
-+ print('Adding chaff...')
- c = Chaff(factor=0.5, blocksper=2)
- chaffed = c.chaff(source)
-
-@@ -221,7 +221,7 @@ likely to effect their Safety and Happiness.
- # the chaff
-
- wheat = []
-- print 'chaffed message blocks:'
-+ print('chaffed message blocks:')
- for i, data, mac in chaffed:
- # do the authentication
- h = HMAC.new(key, data, digestmod=SHA)
-@@ -232,14 +232,14 @@ likely to effect their Safety and Happiness.
- else:
- tag = ' '
- # base64 adds a trailing newline
-- print tag, '%3d' % i, \
-- repr(data), encodestring(mac)[:-1]
-+ print(tag, '%3d' % i, \
-+ repr(data), encodestring(mac)[:-1])
-
- # now decode the message packets and check it against the original text
-- print 'Undigesting wheat...'
-+ print('Undigesting wheat...')
- # PY3K: This is meant to be text, do not change to bytes (data)
- newtext = "".join(wheat)
- if newtext == text:
-- print 'They match!'
-+ print('They match!')
- else:
-- print 'They differ!'
-+ print('They differ!')
---- lib/Crypto/PublicKey/_DSA.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/PublicKey/_DSA.py
-@@ -50,7 +50,7 @@ def generateQ(randfunc):
- q=q*256+c
- while (not isPrime(q)):
- q=q+2
-- if pow(2,159L) < q < pow(2,160L):
-+ if pow(2,159) < q < pow(2,160):
- return S, q
- raise RuntimeError('Bad q value generated')
-
-@@ -80,7 +80,7 @@ def generate_py(bits, randfunc, progress_func=None):
- V[k]=bytes_to_long(SHA.new(S+bstr(N)+bstr(k)).digest())
- W=V[n] % powb
- for k in range(n-1, -1, -1):
-- W=(W<<160L)+V[k]
-+ W=(W<<160)+V[k]
- X=W+powL1
- p=X-(X%(2*obj.q)-1)
- if powL1<=p and isPrime(p):
---- lib/Crypto/PublicKey/_RSA.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/PublicKey/_RSA.py
-@@ -37,12 +37,12 @@ def generate_py(bits, randfunc, progress_func=None, e=
- if present, to display the progress of the key generation.
- """
- obj=RSAobj()
-- obj.e = long(e)
-+ obj.e = int(e)
-
- # Generate the prime factors of n
- if progress_func:
- progress_func('p,q\n')
-- p = q = 1L
-+ p = q = 1
- while number.size(p*q) < bits:
- # Note that q might be one bit longer than p if somebody specifies an odd
- # number of bits for the key. (Why would anyone do that? You don't get
---- lib/Crypto/PublicKey/_slowmath.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/PublicKey/_slowmath.py
-@@ -81,12 +81,12 @@ class _RSAKey(object):
-
- def rsa_construct(n, e, d=None, p=None, q=None, u=None):
- """Construct an RSAKey object"""
-- assert isinstance(n, long)
-- assert isinstance(e, long)
-- assert isinstance(d, (long, type(None)))
-- assert isinstance(p, (long, type(None)))
-- assert isinstance(q, (long, type(None)))
-- assert isinstance(u, (long, type(None)))
-+ assert isinstance(n, int)
-+ assert isinstance(e, int)
-+ assert isinstance(d, (int, type(None)))
-+ assert isinstance(p, (int, type(None)))
-+ assert isinstance(q, (int, type(None)))
-+ assert isinstance(u, (int, type(None)))
- obj = _RSAKey()
- obj.n = n
- obj.e = e
-@@ -151,7 +151,7 @@ class _DSAKey(object):
- # SECURITY TODO - We _should_ be computing SHA1(m), but we don't because that's the API.
- if not self.has_private():
- raise TypeError("No private key")
-- if not (1L < k < self.q):
-+ if not (1 < k < self.q):
- raise ValueError("k is not between 2 and q-1")
- inv_k = inverse(k, self.q) # Compute k**-1 mod q
- r = pow(self.g, k, self.p) % self.q # r = (g**k mod p) mod q
-@@ -169,11 +169,11 @@ class _DSAKey(object):
- return v == r
-
- def dsa_construct(y, g, p, q, x=None):
-- assert isinstance(y, long)
-- assert isinstance(g, long)
-- assert isinstance(p, long)
-- assert isinstance(q, long)
-- assert isinstance(x, (long, type(None)))
-+ assert isinstance(y, int)
-+ assert isinstance(g, int)
-+ assert isinstance(p, int)
-+ assert isinstance(q, int)
-+ assert isinstance(x, (int, type(None)))
- obj = _DSAKey()
- obj.y = y
- obj.g = g
---- lib/Crypto/PublicKey/RSA.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/PublicKey/RSA.py
-@@ -288,7 +288,7 @@ class _RSAobj(pubkey.pubkey):
- self.implementation = RSAImplementation()
- t = []
- for k in self.keydata:
-- if not d.has_key(k):
-+ if k not in d:
- break
- t.append(d[k])
- self.key = self.implementation._math.rsa_construct(*tuple(t))
-@@ -582,7 +582,7 @@ class RSAImplementation(object):
- if privateKey.isType('OCTET STRING'):
- return self._importKeyDER(privateKey.payload)
-
-- except ValueError, IndexError:
-+ except ValueError as IndexError:
- pass
-
- raise ValueError("RSA key format is not supported")
---- lib/Crypto/Random/Fortuna/FortunaAccumulator.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/Random/Fortuna/FortunaAccumulator.py
-@@ -34,9 +34,9 @@ import time
- import warnings
-
- from Crypto.pct_warnings import ClockRewindWarning
--import SHAd256
-+from . import SHAd256
-
--import FortunaGenerator
-+from . import FortunaGenerator
-
- class FortunaPool(object):
- """Fortuna pool type
-@@ -89,7 +89,7 @@ def which_pools(r):
- retval.append(i)
- else:
- break # optimization. once this fails, it always fails
-- mask = (mask << 1) | 1L
-+ mask = (mask << 1) | 1
- return retval
-
- class FortunaAccumulator(object):
---- lib/Crypto/Random/OSRNG/posix.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/Random/OSRNG/posix.py
-@@ -29,7 +29,7 @@ import errno
- import os
- import stat
-
--from rng_base import BaseRNG
-+from .rng_base import BaseRNG
- from Crypto.Util.py3compat import b
-
- class DevURandomRNG(BaseRNG):
-@@ -63,7 +63,7 @@ class DevURandomRNG(BaseRNG):
- while len(data) < N:
- try:
- d = self.__file.read(N - len(data))
-- except IOError, e:
-+ except IOError as e:
- # read(2) has been interrupted by a signal; redo the read
- if e.errno == errno.EINTR:
- continue
---- lib/Crypto/Random/random.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/Random/random.py
-@@ -47,7 +47,7 @@ class StrongRandom(object):
- """Return a python long integer with k random bits."""
- if self._randfunc is None:
- self._randfunc = Random.new().read
-- mask = (1L << k) - 1
-+ mask = (1 << k) - 1
- return mask & bytes_to_long(self._randfunc(ceil_div(k, 8)))
-
- def randrange(self, *args):
-@@ -64,9 +64,9 @@ class StrongRandom(object):
- step = 1
- else:
- raise TypeError("randrange expected at most 3 arguments, got %d" % (len(args),))
-- if (not isinstance(start, (int, long))
-- or not isinstance(stop, (int, long))
-- or not isinstance(step, (int, long))):
-+ if (not isinstance(start, int)
-+ or not isinstance(stop, int)
-+ or not isinstance(step, int)):
- raise TypeError("randrange requires integer arguments")
- if step == 0:
- raise ValueError("randrange step argument must not be zero")
-@@ -86,7 +86,7 @@ class StrongRandom(object):
-
- def randint(self, a, b):
- """Return a random integer N such that a <= N <= b."""
-- if not isinstance(a, (int, long)) or not isinstance(b, (int, long)):
-+ if not isinstance(a, int) or not isinstance(b, int):
- raise TypeError("randint requires integer arguments")
- N = self.randrange(a, b+1)
- assert a <= N <= b
-@@ -108,7 +108,7 @@ class StrongRandom(object):
-
- # Choose a random item (without replacement) until all the items have been
- # chosen.
-- for i in xrange(len(x)):
-+ for i in range(len(x)):
- x[i] = items.pop(self.randrange(len(items)))
-
- def sample(self, population, k):
-@@ -120,9 +120,9 @@ class StrongRandom(object):
-
- retval = []
- selected = {} # we emulate a set using a dict here
-- for i in xrange(k):
-+ for i in range(k):
- r = None
-- while r is None or selected.has_key(r):
-+ while r is None or r in selected:
- r = self.randrange(num_choices)
- retval.append(population[r])
- selected[r] = 1
---- lib/Crypto/SelfTest/Cipher/common.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/SelfTest/Cipher/common.py
-@@ -97,9 +97,9 @@ class CipherSelfTest(unittest.TestCase):
- from Crypto.Util import Counter
- ctr_class = _extract(params, 'ctr_class', Counter.new)
- ctr_params = _extract(params, 'ctr_params', {}).copy()
-- if ctr_params.has_key('prefix'): ctr_params['prefix'] = a2b_hex(b(ctr_params['prefix']))
-- if ctr_params.has_key('suffix'): ctr_params['suffix'] = a2b_hex(b(ctr_params['suffix']))
-- if not ctr_params.has_key('nbits'):
-+ if 'prefix' in ctr_params: ctr_params['prefix'] = a2b_hex(b(ctr_params['prefix']))
-+ if 'suffix' in ctr_params: ctr_params['suffix'] = a2b_hex(b(ctr_params['suffix']))
-+ if 'nbits' not in ctr_params:
- ctr_params['nbits'] = 8*(self.module.block_size - len(ctr_params.get('prefix', '')) - len(ctr_params.get('suffix', '')))
- params['counter'] = ctr_class(**ctr_params)
-
-@@ -202,7 +202,7 @@ class CTRWraparoundTest(unittest.TestCase):
-
- for disable_shortcut in (0, 1): # (False, True) Test CTR-mode shortcut and PyObject_CallObject code paths
- for little_endian in (0, 1): # (False, True) Test both endiannesses
-- ctr = Counter.new(8*self.module.block_size, initial_value=2L**(8*self.module.block_size)-1, little_endian=little_endian, disable_shortcut=disable_shortcut)
-+ ctr = Counter.new(8*self.module.block_size, initial_value=2**(8*self.module.block_size)-1, little_endian=little_endian, disable_shortcut=disable_shortcut)
- cipher = self.module.new(a2b_hex(self.key), self.module.MODE_CTR, counter=ctr)
- block = b("\x00") * self.module.block_size
- cipher.encrypt(block)
-@@ -347,12 +347,12 @@ def make_block_tests(module, module_name, test_data):
- tests.append(CipherStreamingSelfTest(module, params))
-
- # When using CTR mode, test the non-shortcut code path.
-- if p_mode == 'CTR' and not params.has_key('ctr_class'):
-+ if p_mode == 'CTR' and 'ctr_class' not in params:
- params2 = params.copy()
- params2['description'] += " (shortcut disabled)"
- ctr_params2 = params.get('ctr_params', {}).copy()
- params2['ctr_params'] = ctr_params2
-- if not params2['ctr_params'].has_key('disable_shortcut'):
-+ if 'disable_shortcut' not in params2['ctr_params']:
- params2['ctr_params']['disable_shortcut'] = 1
- tests.append(CipherSelfTest(module, params2))
- return tests
---- lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py
-@@ -41,7 +41,7 @@ def t2b(t):
- """Convert a text string with bytes in hex form to a byte string"""
- clean = b(rws(t))
- if len(clean)%2 == 1:
-- print clean
-+ print(clean)
- raise ValueError("Even number of characters expected")
- return a2b_hex(clean)
-
-@@ -154,7 +154,7 @@ HKukWBcq9f/UOmS0oEhai/6g+Uf7VHJdWaeO5LzuvwU=
- def testEncryptVerify1(self):
- # Encrypt/Verify messages of length [0..RSAlen-11]
- # and therefore padding [8..117]
-- for pt_len in xrange(0,128-11+1):
-+ for pt_len in range(0,128-11+1):
- pt = self.rng(pt_len)
- cipher = PKCS.new(self.key1024)
- ct = cipher.encrypt(pt)
---- lib/Crypto/SelfTest/PublicKey/test_ElGamal.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/SelfTest/PublicKey/test_ElGamal.py
-@@ -105,8 +105,8 @@ class ElGamalTest(unittest.TestCase):
- d = self.convert_tv(tv, as_longs)
- key = ElGamal.construct(d['key'])
- ct = key.encrypt(d['pt'], d['k'])
-- self.assertEquals(ct[0], d['ct1'])
-- self.assertEquals(ct[1], d['ct2'])
-+ self.assertEqual(ct[0], d['ct1'])
-+ self.assertEqual(ct[1], d['ct2'])
-
- def test_decryption(self):
- for tv in self.tve:
-@@ -114,7 +114,7 @@ class ElGamalTest(unittest.TestCase):
- d = self.convert_tv(tv, as_longs)
- key = ElGamal.construct(d['key'])
- pt = key.decrypt((d['ct1'], d['ct2']))
-- self.assertEquals(pt, d['pt'])
-+ self.assertEqual(pt, d['pt'])
-
- def test_signing(self):
- for tv in self.tvs:
-@@ -122,8 +122,8 @@ class ElGamalTest(unittest.TestCase):
- d = self.convert_tv(tv, as_longs)
- key = ElGamal.construct(d['key'])
- sig1, sig2 = key.sign(d['h'], d['k'])
-- self.assertEquals(sig1, d['sig1'])
-- self.assertEquals(sig2, d['sig2'])
-+ self.assertEqual(sig1, d['sig1'])
-+ self.assertEqual(sig2, d['sig2'])
-
- def test_verification(self):
- for tv in self.tvs:
-@@ -132,17 +132,17 @@ class ElGamalTest(unittest.TestCase):
- key = ElGamal.construct(d['key'])
- # Positive test
- res = key.verify( d['h'], (d['sig1'],d['sig2']) )
-- self.failUnless(res)
-+ self.assertTrue(res)
- # Negative test
- res = key.verify( d['h'], (d['sig1']+1,d['sig2']) )
-- self.failIf(res)
-+ self.assertFalse(res)
-
- def convert_tv(self, tv, as_longs=0):
- """Convert a test vector from textual form (hexadecimal ascii
- to either integers or byte strings."""
- key_comps = 'p','g','y','x'
- tv2 = {}
-- for c in tv.keys():
-+ for c in list(tv.keys()):
- tv2[c] = a2b_hex(tv[c])
- if as_longs or c in key_comps or c in ('sig1','sig2'):
- tv2[c] = bytes_to_long(tv2[c])
-@@ -163,41 +163,41 @@ class ElGamalTest(unittest.TestCase):
- def _check_private_key(self, elgObj):
-
- # Check capabilities
-- self.failUnless(elgObj.has_private())
-- self.failUnless(elgObj.can_sign())
-- self.failUnless(elgObj.can_encrypt())
-+ self.assertTrue(elgObj.has_private())
-+ self.assertTrue(elgObj.can_sign())
-+ self.assertTrue(elgObj.can_encrypt())
-
- # Sanity check key data
-- self.failUnless(1<elgObj.g<(elgObj.p-1))
-- self.assertEquals(pow(elgObj.g, elgObj.p-1, elgObj.p), 1)
-- self.failUnless(1<elgObj.x<(elgObj.p-1))
-- self.assertEquals(pow(elgObj.g, elgObj.x, elgObj.p), elgObj.y)
-+ self.assertTrue(1<elgObj.g<(elgObj.p-1))
-+ self.assertEqual(pow(elgObj.g, elgObj.p-1, elgObj.p), 1)
-+ self.assertTrue(1<elgObj.x<(elgObj.p-1))
-+ self.assertEqual(pow(elgObj.g, elgObj.x, elgObj.p), elgObj.y)
-
- def _check_public_key(self, elgObj):
-
- # Check capabilities
-- self.failIf(elgObj.has_private())
-- self.failUnless(elgObj.can_sign())
-- self.failUnless(elgObj.can_encrypt())
-+ self.assertFalse(elgObj.has_private())
-+ self.assertTrue(elgObj.can_sign())
-+ self.assertTrue(elgObj.can_encrypt())
-
- # Sanity check key data
-- self.failUnless(1<elgObj.g<(elgObj.p-1))
-- self.assertEquals(pow(elgObj.g, elgObj.p-1, elgObj.p), 1)
-+ self.assertTrue(1<elgObj.g<(elgObj.p-1))
-+ self.assertEqual(pow(elgObj.g, elgObj.p-1, elgObj.p), 1)
-
- def _exercise_primitive(self, elgObj):
- # Test encryption/decryption
- plaintext = b("Test")
-- ciphertext = elgObj.encrypt(plaintext, 123456789L)
-+ ciphertext = elgObj.encrypt(plaintext, 123456789)
- plaintextP = elgObj.decrypt(ciphertext)
-- self.assertEquals(plaintext, plaintextP)
-+ self.assertEqual(plaintext, plaintextP)
-
- # Test signature/verification
-- signature = elgObj.sign(plaintext, 987654321L)
-+ signature = elgObj.sign(plaintext, 987654321)
- elgObj.verify(plaintext, signature)
-
- def _exercise_public_primitive(self, elgObj):
- plaintext = b("Test")
-- ciphertext = elgObj.encrypt(plaintext, 123456789L)
-+ ciphertext = elgObj.encrypt(plaintext, 123456789)
-
- def get_tests(config={}):
- tests = []
---- lib/Crypto/SelfTest/PublicKey/test_importKey.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/SelfTest/PublicKey/test_importKey.py
-@@ -20,8 +20,8 @@
- # SOFTWARE.
- # ===================================================================
-
--from __future__ import nested_scopes
-
-+
- __revision__ = "$Id$"
-
- import unittest
-@@ -42,7 +42,7 @@ def der2pem(der, text='PUBLIC'):
-
- class ImportKeyTests(unittest.TestCase):
- # 512-bit RSA key generated with openssl
-- rsaKeyPEM = u'''-----BEGIN RSA PRIVATE KEY-----
-+ rsaKeyPEM = '''-----BEGIN RSA PRIVATE KEY-----
- MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII
- q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8
- Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI
-@@ -53,7 +53,7 @@ n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ==
- -----END RSA PRIVATE KEY-----'''
-
- # As above, but this is actually an unencrypted PKCS#8 key
-- rsaKeyPEM8 = u'''-----BEGIN PRIVATE KEY-----
-+ rsaKeyPEM8 = '''-----BEGIN PRIVATE KEY-----
- MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvx4nkAqgiyNRGlwS
- ga5tkzEsPv6RP5MuvtSS8S0WtGEMMoy24girX0WsvilQgzKY8xIsGfeEkt7fQPDj
- wZAzhQIDAQABAkAJRIMSnxFN7fZ+2rwjAbxaiOXmYB3XAWIg6tn9S/xv3rdYk4mK
-@@ -68,7 +68,7 @@ BX85JB8zqwHB
- rsaKeyEncryptedPEM=(
-
- # With DES and passphrase 'test'
-- ('test', u'''-----BEGIN RSA PRIVATE KEY-----
-+ ('test', '''-----BEGIN RSA PRIVATE KEY-----
- Proc-Type: 4,ENCRYPTED
- DEK-Info: DES-CBC,AF8F9A40BD2FA2FC
-
-@@ -83,7 +83,7 @@ dysKznQ6P+IoqML1WxAID4aGRMWka+uArOJ148Rbj9s=
- "\xAF\x8F\x9A\x40\xBD\x2F\xA2\xFC"),
-
- # With Triple-DES and passphrase 'rocking'
-- ('rocking', u'''-----BEGIN RSA PRIVATE KEY-----
-+ ('rocking', '''-----BEGIN RSA PRIVATE KEY-----
- Proc-Type: 4,ENCRYPTED
- DEK-Info: DES-EDE3-CBC,C05D6C07F7FC02F6
-
-@@ -98,7 +98,7 @@ YSxC7qDQIT/RECvV3+oQKEcmpEujn45wAnkTi12BH30=
- "\xC0\x5D\x6C\x07\xF7\xFC\x02\xF6"),
- )
-
-- rsaPublicKeyPEM = u'''-----BEGIN PUBLIC KEY-----
-+ rsaPublicKeyPEM = '''-----BEGIN PUBLIC KEY-----
- MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+T
- Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQ==
- -----END PUBLIC KEY-----'''
-@@ -144,21 +144,21 @@ Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4
- 03010001
- '''.replace(" ",""))
-
-- n = long('BF 1E 27 90 0A A0 8B 23 51 1A 5C 12 81 AE 6D 93 31 2C 3E FE 91 3F 93 2E BE D4 92 F1 2D 16 B4 61 0C 32 8C B6 E2 08 AB 5F 45 AC BE 29 50 83 32 98 F3 12 2C 19 F7 84 92 DE DF 40 F0 E3 C1 90 33 85'.replace(" ",""),16)
-- e = 65537L
-- d = long('09 44 83 12 9F 11 4D ED F6 7E DA BC 23 01 BC 5A 88 E5 E6 60 1D D7 01 62 20 EA D9 FD 4B FC 6F DE B7 58 93 89 8A E4 1C 54 DD BD BF 15 39 F8 CC BD 18 F6 7B 44 0D E1 AC 30 44 02 81 D4 0C FA C8 39'.replace(" ",""),16)
-- p = long('00 F2 0F 2F 3E 1D A6 18 83 F6 29 80 92 2B D8 DF 54 5C E4 07 C7 26 24 11 03 B5 E2 C5 37 23 12 4A 23'.replace(" ",""),16)
-- q = long('00 CA 1F E9 24 79 2C FC C9 6B FA B7 4F 34 4A 68 B4 18 DF 57 83 38 06 48 06 00 0F E2 A5 C9 9A 02 37'.replace(" ",""),16)
-+ n = int('BF 1E 27 90 0A A0 8B 23 51 1A 5C 12 81 AE 6D 93 31 2C 3E FE 91 3F 93 2E BE D4 92 F1 2D 16 B4 61 0C 32 8C B6 E2 08 AB 5F 45 AC BE 29 50 83 32 98 F3 12 2C 19 F7 84 92 DE DF 40 F0 E3 C1 90 33 85'.replace(" ",""),16)
-+ e = 65537
-+ d = int('09 44 83 12 9F 11 4D ED F6 7E DA BC 23 01 BC 5A 88 E5 E6 60 1D D7 01 62 20 EA D9 FD 4B FC 6F DE B7 58 93 89 8A E4 1C 54 DD BD BF 15 39 F8 CC BD 18 F6 7B 44 0D E1 AC 30 44 02 81 D4 0C FA C8 39'.replace(" ",""),16)
-+ p = int('00 F2 0F 2F 3E 1D A6 18 83 F6 29 80 92 2B D8 DF 54 5C E4 07 C7 26 24 11 03 B5 E2 C5 37 23 12 4A 23'.replace(" ",""),16)
-+ q = int('00 CA 1F E9 24 79 2C FC C9 6B FA B7 4F 34 4A 68 B4 18 DF 57 83 38 06 48 06 00 0F E2 A5 C9 9A 02 37'.replace(" ",""),16)
-
- # This is q^{-1} mod p). fastmath and slowmath use pInv (p^{-1}
- # mod q) instead!
-- qInv = long('00 BD 9F 40 A7 64 22 7A 21 96 2A 4A DD 07 E4 DE FE 43 ED 91 A3 AE 27 BB 05 7F 39 24 1F 33 AB 01 C1'.replace(" ",""),16)
-+ qInv = int('00 BD 9F 40 A7 64 22 7A 21 96 2A 4A DD 07 E4 DE FE 43 ED 91 A3 AE 27 BB 05 7F 39 24 1F 33 AB 01 C1'.replace(" ",""),16)
- pInv = inverse(p,q)
-
- def testImportKey1(self):
- """Verify import of RSAPrivateKey DER SEQUENCE"""
- key = self.rsa.importKey(self.rsaKeyDER)
-- self.failUnless(key.has_private())
-+ self.assertTrue(key.has_private())
- self.assertEqual(key.n, self.n)
- self.assertEqual(key.e, self.e)
- self.assertEqual(key.d, self.d)
-@@ -168,7 +168,7 @@ Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4
- def testImportKey2(self):
- """Verify import of SubjectPublicKeyInfo DER SEQUENCE"""
- key = self.rsa.importKey(self.rsaPublicKeyDER)
-- self.failIf(key.has_private())
-+ self.assertFalse(key.has_private())
- self.assertEqual(key.n, self.n)
- self.assertEqual(key.e, self.e)
-
-@@ -228,7 +228,7 @@ Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4
- """Verify import of encrypted PrivateKeyInfo DER SEQUENCE"""
- for t in self.rsaKeyEncryptedPEM:
- key = self.rsa.importKey(t[1], t[0])
-- self.failUnless(key.has_private())
-+ self.assertTrue(key.has_private())
- self.assertEqual(key.n, self.n)
- self.assertEqual(key.e, self.e)
- self.assertEqual(key.d, self.d)
-@@ -238,7 +238,7 @@ Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4
- def testImportKey9(self):
- """Verify import of unencrypted PrivateKeyInfo DER SEQUENCE"""
- key = self.rsa.importKey(self.rsaKeyDER8)
-- self.failUnless(key.has_private())
-+ self.assertTrue(key.has_private())
- self.assertEqual(key.n, self.n)
- self.assertEqual(key.e, self.e)
- self.assertEqual(key.d, self.d)
-@@ -248,7 +248,7 @@ Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4
- def testImportKey10(self):
- """Verify import of unencrypted PrivateKeyInfo DER SEQUENCE, encoded with PEM"""
- key = self.rsa.importKey(self.rsaKeyPEM8)
-- self.failUnless(key.has_private())
-+ self.assertTrue(key.has_private())
- self.assertEqual(key.n, self.n)
- self.assertEqual(key.e, self.e)
- self.assertEqual(key.d, self.d)
-@@ -301,7 +301,7 @@ Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4
- def testExportKey4(self):
- key = self.rsa.construct([self.n, self.e, self.d, self.p, self.q, self.pInv])
- # Tuple with index #1 is encrypted with 3DES
-- t = map(b,self.rsaKeyEncryptedPEM[1])
-+ t = list(map(b,self.rsaKeyEncryptedPEM[1]))
- # Force the salt being used when exporting
- key._randfunc = lambda N: (t[2]*divmod(N+len(t[2]),len(t[2]))[0])[:N]
- pemKey = key.exportKey("PEM", t[0])
---- lib/Crypto/SelfTest/PublicKey/test_RSA.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/SelfTest/PublicKey/test_RSA.py
-@@ -78,7 +78,7 @@ class RSATest(unittest.TestCase):
- e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb
- """
-
-- e = 0x11L # public exponent
-+ e = 0x11 # public exponent
-
- prime_factor = """
- c9 7f b1 f0 27 f4 53 f6 34 12 33 ea aa d1 d9 35
-@@ -172,9 +172,9 @@ class RSATest(unittest.TestCase):
-
- def test_factoring(self):
- rsaObj = self.rsa.construct([self.n, self.e, self.d])
-- self.failUnless(rsaObj.p==self.p or rsaObj.p==self.q)
-- self.failUnless(rsaObj.q==self.p or rsaObj.q==self.q)
-- self.failUnless(rsaObj.q*rsaObj.p == self.n)
-+ self.assertTrue(rsaObj.p==self.p or rsaObj.p==self.q)
-+ self.assertTrue(rsaObj.q==self.p or rsaObj.q==self.q)
-+ self.assertTrue(rsaObj.q*rsaObj.p == self.n)
-
- self.assertRaises(ValueError, self.rsa.construct, [self.n, self.e, self.n-1])
-
---- lib/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py
-@@ -79,17 +79,17 @@ class FortunaAccumulatorTests(unittest.TestCase):
- self.assertEqual(FortunaAccumulator.which_pools(7), [0])
- self.assertEqual(FortunaAccumulator.which_pools(8), [0, 1, 2, 3])
- for i in range(1, 32):
-- self.assertEqual(FortunaAccumulator.which_pools(2L**i-1), [0])
-- self.assertEqual(FortunaAccumulator.which_pools(2L**i), range(i+1))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**i+1), [0])
-- self.assertEqual(FortunaAccumulator.which_pools(2L**31), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**32), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**33), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**34), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**35), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**36), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**64), range(32))
-- self.assertEqual(FortunaAccumulator.which_pools(2L**128), range(32))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**i-1), [0])
-+ self.assertEqual(FortunaAccumulator.which_pools(2**i), list(range(i+1)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**i+1), [0])
-+ self.assertEqual(FortunaAccumulator.which_pools(2**31), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**32), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**33), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**34), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**35), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**36), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**64), list(range(32)))
-+ self.assertEqual(FortunaAccumulator.which_pools(2**128), list(range(32)))
-
- def test_accumulator(self):
- """FortunaAccumulator.FortunaAccumulator"""
---- lib/Crypto/SelfTest/Util/test_asn1.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/SelfTest/Util/test_asn1.py
-@@ -35,86 +35,86 @@ class DerObjectTests(unittest.TestCase):
- def testObjEncode1(self):
- # No payload
- der = DerObject(b('\x33'))
-- self.assertEquals(der.encode(), b('\x33\x00'))
-+ self.assertEqual(der.encode(), b('\x33\x00'))
- # Small payload
- der.payload = b('\x45')
-- self.assertEquals(der.encode(), b('\x33\x01\x45'))
-+ self.assertEqual(der.encode(), b('\x33\x01\x45'))
- # Invariant
-- self.assertEquals(der.encode(), b('\x33\x01\x45'))
-+ self.assertEqual(der.encode(), b('\x33\x01\x45'))
- # Initialize with numerical tag
- der = DerObject(b(0x33))
- der.payload = b('\x45')
-- self.assertEquals(der.encode(), b('\x33\x01\x45'))
-+ self.assertEqual(der.encode(), b('\x33\x01\x45'))
-
- def testObjEncode2(self):
- # Known types
- der = DerObject('SEQUENCE')
-- self.assertEquals(der.encode(), b('\x30\x00'))
-+ self.assertEqual(der.encode(), b('\x30\x00'))
- der = DerObject('BIT STRING')
-- self.assertEquals(der.encode(), b('\x03\x00'))
-+ self.assertEqual(der.encode(), b('\x03\x00'))
-
- def testObjEncode3(self):
- # Long payload
- der = DerObject(b('\x34'))
- der.payload = b("0")*128
-- self.assertEquals(der.encode(), b('\x34\x81\x80' + "0"*128))
-+ self.assertEqual(der.encode(), b('\x34\x81\x80' + "0"*128))
-
- def testObjDecode1(self):
- # Decode short payload
- der = DerObject()
- der.decode(b('\x20\x02\x01\x02'))
-- self.assertEquals(der.payload, b("\x01\x02"))
-- self.assertEquals(der.typeTag, 0x20)
-+ self.assertEqual(der.payload, b("\x01\x02"))
-+ self.assertEqual(der.typeTag, 0x20)
-
- def testObjDecode2(self):
- # Decode short payload
- der = DerObject()
- der.decode(b('\x22\x81\x80' + "1"*128))
-- self.assertEquals(der.payload, b("1")*128)
-- self.assertEquals(der.typeTag, 0x22)
-+ self.assertEqual(der.payload, b("1")*128)
-+ self.assertEqual(der.typeTag, 0x22)
-
- class DerSequenceTests(unittest.TestCase):
-
- def testEncode1(self):
- # Empty sequence
- der = DerSequence()
-- self.assertEquals(der.encode(), b('0\x00'))
-- self.failIf(der.hasOnlyInts())
-+ self.assertEqual(der.encode(), b('0\x00'))
-+ self.assertFalse(der.hasOnlyInts())
- # One single-byte integer (zero)
- der.append(0)
-- self.assertEquals(der.encode(), b('0\x03\x02\x01\x00'))
-- self.failUnless(der.hasOnlyInts())
-+ self.assertEqual(der.encode(), b('0\x03\x02\x01\x00'))
-+ self.assertTrue(der.hasOnlyInts())
- # Invariant
-- self.assertEquals(der.encode(), b('0\x03\x02\x01\x00'))
-+ self.assertEqual(der.encode(), b('0\x03\x02\x01\x00'))
-
- def testEncode2(self):
- # One single-byte integer (non-zero)
- der = DerSequence()
- der.append(127)
-- self.assertEquals(der.encode(), b('0\x03\x02\x01\x7f'))
-+ self.assertEqual(der.encode(), b('0\x03\x02\x01\x7f'))
- # Indexing
- der[0] = 1
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],1)
-- self.assertEquals(der[-1],1)
-- self.assertEquals(der.encode(), b('0\x03\x02\x01\x01'))
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],1)
-+ self.assertEqual(der[-1],1)
-+ self.assertEqual(der.encode(), b('0\x03\x02\x01\x01'))
- #
- der[:] = [1]
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],1)
-- self.assertEquals(der.encode(), b('0\x03\x02\x01\x01'))
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],1)
-+ self.assertEqual(der.encode(), b('0\x03\x02\x01\x01'))
-
- def testEncode3(self):
- # One multi-byte integer (non-zero)
- der = DerSequence()
-- der.append(0x180L)
-- self.assertEquals(der.encode(), b('0\x04\x02\x02\x01\x80'))
-+ der.append(0x180)
-+ self.assertEqual(der.encode(), b('0\x04\x02\x02\x01\x80'))
-
- def testEncode4(self):
- # One very long integer
- der = DerSequence()
- der.append(2**2048)
-- self.assertEquals(der.encode(), b('0\x82\x01\x05')+
-+ self.assertEqual(der.encode(), b('0\x82\x01\x05')+
- b('\x02\x82\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
- b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
- b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
-@@ -138,31 +138,31 @@ class DerSequenceTests(unittest.TestCase):
- def testEncode5(self):
- # One single-byte integer (looks negative)
- der = DerSequence()
-- der.append(0xFFL)
-- self.assertEquals(der.encode(), b('0\x04\x02\x02\x00\xff'))
-+ der.append(0xFF)
-+ self.assertEqual(der.encode(), b('0\x04\x02\x02\x00\xff'))
-
- def testEncode6(self):
- # Two integers
- der = DerSequence()
-- der.append(0x180L)
-- der.append(0xFFL)
-- self.assertEquals(der.encode(), b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff'))
-- self.failUnless(der.hasOnlyInts())
-+ der.append(0x180)
-+ der.append(0xFF)
-+ self.assertEqual(der.encode(), b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff'))
-+ self.assertTrue(der.hasOnlyInts())
- #
- der.append(0x01)
- der[1:] = [9,8]
-- self.assertEquals(len(der),3)
-+ self.assertEqual(len(der),3)
- self.assertEqual(der[1:],[9,8])
- self.assertEqual(der[1:-1],[9])
-- self.assertEquals(der.encode(), b('0\x0A\x02\x02\x01\x80\x02\x01\x09\x02\x01\x08'))
-+ self.assertEqual(der.encode(), b('0\x0A\x02\x02\x01\x80\x02\x01\x09\x02\x01\x08'))
-
- def testEncode6(self):
- # One integer and another type (no matter what it is)
- der = DerSequence()
-- der.append(0x180L)
-+ der.append(0x180)
- der.append(b('\x00\x02\x00\x00'))
-- self.assertEquals(der.encode(), b('0\x08\x02\x02\x01\x80\x00\x02\x00\x00'))
-- self.failIf(der.hasOnlyInts())
-+ self.assertEqual(der.encode(), b('0\x08\x02\x02\x01\x80\x00\x02\x00\x00'))
-+ self.assertFalse(der.hasOnlyInts())
-
- ####
-
-@@ -170,29 +170,29 @@ class DerSequenceTests(unittest.TestCase):
- # Empty sequence
- der = DerSequence()
- der.decode(b('0\x00'))
-- self.assertEquals(len(der),0)
-+ self.assertEqual(len(der),0)
- # One single-byte integer (zero)
- der.decode(b('0\x03\x02\x01\x00'))
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],0)
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],0)
- # Invariant
- der.decode(b('0\x03\x02\x01\x00'))
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],0)
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],0)
-
- def testDecode2(self):
- # One single-byte integer (non-zero)
- der = DerSequence()
- der.decode(b('0\x03\x02\x01\x7f'))
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],127)
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],127)
-
- def testDecode3(self):
- # One multi-byte integer (non-zero)
- der = DerSequence()
- der.decode(b('0\x04\x02\x02\x01\x80'))
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],0x180L)
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],0x180)
-
- def testDecode4(self):
- # One very long integer
-@@ -217,40 +217,40 @@ class DerSequenceTests(unittest.TestCase):
- b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
- b('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')+
- b('\x00\x00\x00\x00\x00\x00\x00\x00\x00'))
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],2**2048)
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],2**2048)
-
- def testDecode5(self):
- # One single-byte integer (looks negative)
- der = DerSequence()
- der.decode(b('0\x04\x02\x02\x00\xff'))
-- self.assertEquals(len(der),1)
-- self.assertEquals(der[0],0xFFL)
-+ self.assertEqual(len(der),1)
-+ self.assertEqual(der[0],0xFF)
-
- def testDecode6(self):
- # Two integers
- der = DerSequence()
- der.decode(b('0\x08\x02\x02\x01\x80\x02\x02\x00\xff'))
-- self.assertEquals(len(der),2)
-- self.assertEquals(der[0],0x180L)
-- self.assertEquals(der[1],0xFFL)
-+ self.assertEqual(len(der),2)
-+ self.assertEqual(der[0],0x180)
-+ self.assertEqual(der[1],0xFF)
-
- def testDecode7(self):
- # One integer and 2 other types
- der = DerSequence()
- der.decode(b('0\x0A\x02\x02\x01\x80\x24\x02\xb6\x63\x12\x00'))
-- self.assertEquals(len(der),3)
-- self.assertEquals(der[0],0x180L)
-- self.assertEquals(der[1],b('\x24\x02\xb6\x63'))
-- self.assertEquals(der[2],b('\x12\x00'))
-+ self.assertEqual(len(der),3)
-+ self.assertEqual(der[0],0x180)
-+ self.assertEqual(der[1],b('\x24\x02\xb6\x63'))
-+ self.assertEqual(der[2],b('\x12\x00'))
-
- def testDecode8(self):
- # Only 2 other types
- der = DerSequence()
- der.decode(b('0\x06\x24\x02\xb6\x63\x12\x00'))
-- self.assertEquals(len(der),2)
-- self.assertEquals(der[0],b('\x24\x02\xb6\x63'))
-- self.assertEquals(der[1],b('\x12\x00'))
-+ self.assertEqual(len(der),2)
-+ self.assertEqual(der[0],b('\x24\x02\xb6\x63'))
-+ self.assertEqual(der[1],b('\x12\x00'))
-
- def testErrDecode1(self):
- # Not a sequence
---- lib/Crypto/SelfTest/Util/test_number.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/SelfTest/Util/test_number.py
-@@ -73,19 +73,19 @@ class MiscTests(unittest.TestCase):
- for b in range(3, 1+129, 3): # 3, 6, ... , 129
- self.assertEqual(0, number.ceil_shift(0, b))
-
-- n = 1L
-- while n <= 2L**(b+2):
-- (q, r) = divmod(n-1, 2L**b)
-+ n = 1
-+ while n <= 2**(b+2):
-+ (q, r) = divmod(n-1, 2**b)
- expected = q + int(not not r)
- self.assertEqual((n-1, b, expected),
- (n-1, b, number.ceil_shift(n-1, b)))
-
-- (q, r) = divmod(n, 2L**b)
-+ (q, r) = divmod(n, 2**b)
- expected = q + int(not not r)
- self.assertEqual((n, b, expected),
- (n, b, number.ceil_shift(n, b)))
-
-- (q, r) = divmod(n+1, 2L**b)
-+ (q, r) = divmod(n+1, 2**b)
- expected = q + int(not not r)
- self.assertEqual((n+1, b, expected),
- (n+1, b, number.ceil_shift(n+1, b)))
-@@ -184,9 +184,9 @@ class MiscTests(unittest.TestCase):
- n += 1
-
- for e in range(16, 1+64, 2):
-- self.assertRaises(ValueError, number.exact_log2, 2L**e-1)
-- self.assertEqual(e, number.exact_log2(2L**e))
-- self.assertRaises(ValueError, number.exact_log2, 2L**e+1)
-+ self.assertRaises(ValueError, number.exact_log2, 2**e-1)
-+ self.assertEqual(e, number.exact_log2(2**e))
-+ self.assertRaises(ValueError, number.exact_log2, 2**e+1)
-
- def test_exact_div(self):
- """Util.number.exact_div"""
-@@ -235,20 +235,20 @@ class MiscTests(unittest.TestCase):
- bits = 512
- x = number.getStrongPrime(bits)
- self.assertNotEqual(x % 2, 0)
-- self.assertEqual(x > (1L << bits-1)-1, 1)
-- self.assertEqual(x < (1L << bits), 1)
-+ self.assertEqual(x > (1 << bits-1)-1, 1)
-+ self.assertEqual(x < (1 << bits), 1)
- e = 2**16+1
- x = number.getStrongPrime(bits, e)
- self.assertEqual(number.GCD(x-1, e), 1)
- self.assertNotEqual(x % 2, 0)
-- self.assertEqual(x > (1L << bits-1)-1, 1)
-- self.assertEqual(x < (1L << bits), 1)
-+ self.assertEqual(x > (1 << bits-1)-1, 1)
-+ self.assertEqual(x < (1 << bits), 1)
- e = 2**16+2
- x = number.getStrongPrime(bits, e)
- self.assertEqual(number.GCD((x-1)>>1, e), 1)
- self.assertNotEqual(x % 2, 0)
-- self.assertEqual(x > (1L << bits-1)-1, 1)
-- self.assertEqual(x < (1L << bits), 1)
-+ self.assertEqual(x > (1 << bits-1)-1, 1)
-+ self.assertEqual(x < (1 << bits), 1)
-
- def test_isPrime(self):
- """Util.number.isPrime"""
-@@ -258,28 +258,28 @@ class MiscTests(unittest.TestCase):
- self.assertEqual(number.isPrime(2), True)
- self.assertEqual(number.isPrime(3), True)
- self.assertEqual(number.isPrime(4), False)
-- self.assertEqual(number.isPrime(2L**1279-1), True)
-- self.assertEqual(number.isPrime(-(2L**1279-1)), False) # Regression test: negative numbers should not be prime
-+ self.assertEqual(number.isPrime(2**1279-1), True)
-+ self.assertEqual(number.isPrime(-(2**1279-1)), False) # Regression test: negative numbers should not be prime
- # test some known gmp pseudo-primes taken from
- # http://www.trnicely.net/misc/mpzspsp.html
- for composite in (43 * 127 * 211, 61 * 151 * 211, 15259 * 30517,
-- 346141L * 692281L, 1007119L * 2014237L, 3589477L * 7178953L,
-- 4859419L * 9718837L, 2730439L * 5460877L,
-- 245127919L * 490255837L, 963939391L * 1927878781L,
-- 4186358431L * 8372716861L, 1576820467L * 3153640933L):
-- self.assertEqual(number.isPrime(long(composite)), False)
-+ 346141 * 692281, 1007119 * 2014237, 3589477 * 7178953,
-+ 4859419 * 9718837, 2730439 * 5460877,
-+ 245127919 * 490255837, 963939391 * 1927878781,
-+ 4186358431 * 8372716861, 1576820467 * 3153640933):
-+ self.assertEqual(number.isPrime(int(composite)), False)
-
- def test_size(self):
- self.assertEqual(number.size(2),2)
- self.assertEqual(number.size(3),2)
- self.assertEqual(number.size(0xa2),8)
- self.assertEqual(number.size(0xa2ba40),8*3)
-- self.assertEqual(number.size(0xa2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5L), 1024)
-+ self.assertEqual(number.size(0xa2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5), 1024)
-
- def test_negative_number_roundtrip_mpzToLongObj_longObjToMPZ(self):
- """Test that mpzToLongObj and longObjToMPZ (internal functions) roundtrip negative numbers correctly."""
-- n = -100000000000000000000000000000000000L
-- e = 2L
-+ n = -100000000000000000000000000000000000
-+ e = 2
- k = number._fastmath.rsa_construct(n, e)
- self.assertEqual(n, k.n)
- self.assertEqual(e, k.e)
---- lib/Crypto/Util/_number_new.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/Util/_number_new.py
-@@ -37,11 +37,11 @@ def ceil_shift(n, b):
- This is done by right-shifting n by b bits and incrementing the result by 1
- if any '1' bits were shifted out.
- """
-- if not isinstance(n, (int, long)) or not isinstance(b, (int, long)):
-+ if not isinstance(n, int) or not isinstance(b, int):
- raise TypeError("unsupported operand type(s): %r and %r" % (type(n).__name__, type(b).__name__))
-
- assert n >= 0 and b >= 0 # I haven't tested or even thought about negative values
-- mask = (1L << b) - 1
-+ mask = (1 << b) - 1
- if n & mask:
- return (n >> b) + 1
- else:
-@@ -50,7 +50,7 @@ def ceil_shift(n, b):
- def ceil_div(a, b):
- """Return ceil(a / b) without performing any floating-point operations."""
-
-- if not isinstance(a, (int, long)) or not isinstance(b, (int, long)):
-+ if not isinstance(a, int) or not isinstance(b, int):
- raise TypeError("unsupported operand type(s): %r and %r" % (type(a).__name__, type(b).__name__))
-
- (q, r) = divmod(a, b)
-@@ -60,7 +60,7 @@ def ceil_div(a, b):
- return q
-
- def floor_div(a, b):
-- if not isinstance(a, (int, long)) or not isinstance(b, (int, long)):
-+ if not isinstance(a, int) or not isinstance(b, int):
- raise TypeError("unsupported operand type(s): %r and %r" % (type(a).__name__, type(b).__name__))
-
- (q, r) = divmod(a, b)
-@@ -72,10 +72,10 @@ def exact_log2(num):
- If no such integer exists, this function raises ValueError.
- """
-
-- if not isinstance(num, (int, long)):
-+ if not isinstance(num, int):
- raise TypeError("unsupported operand type: %r" % (type(num).__name__,))
-
-- n = long(num)
-+ n = int(num)
- if n <= 0:
- raise ValueError("cannot compute logarithm of non-positive number")
-
-@@ -87,7 +87,7 @@ def exact_log2(num):
- n >>= 1
- i -= 1
-
-- assert num == (1L << i)
-+ assert num == (1 << i)
- return i
-
- def exact_div(p, d, allow_divzero=False):
-@@ -101,7 +101,7 @@ def exact_div(p, d, allow_divzero=False):
- unless allow_divzero is true (default: False).
- """
-
-- if not isinstance(p, (int, long)) or not isinstance(d, (int, long)):
-+ if not isinstance(p, int) or not isinstance(d, int):
- raise TypeError("unsupported operand type(s): %r and %r" % (type(p).__name__, type(d).__name__))
-
- if d == 0 and allow_divzero:
---- lib/Crypto/Util/number.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/Util/number.py
-@@ -32,7 +32,7 @@ import math
- import sys
- from Crypto.Util.py3compat import *
-
--bignum = long
-+bignum = int
- try:
- from Crypto.PublicKey import _fastmath
- except ImportError:
-@@ -57,7 +57,7 @@ if _fastmath is not None and not _fastmath.HAVE_DECL_M
- _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning)
-
- # New functions
--from _number_new import *
-+from ._number_new import *
-
- # Commented out and replaced with faster versions below
- ## def long2str(n):
-@@ -136,7 +136,7 @@ def getRandomNBitInteger(N, randfunc=None):
- the future.
- """
- value = getRandomInteger (N-1, randfunc)
-- value |= 2L ** (N-1) # Ensure high bit is set
-+ value |= 2 ** (N-1) # Ensure high bit is set
- assert size(value) >= N
- return value
-
-@@ -153,8 +153,8 @@ def inverse(u, v):
- """inverse(u:long, v:long):long
- Return the inverse of u mod v.
- """
-- u3, v3 = long(u), long(v)
-- u1, v1 = 1L, 0L
-+ u3, v3 = int(u), int(v)
-+ u1, v1 = 1, 0
- while v3 > 0:
- q=divmod(u3, v3)[0]
- u1, v1 = v1, u1 - v1*q
-@@ -208,7 +208,7 @@ def _rabinMillerTest(n, rounds, randfunc=None):
-
- tested = []
- # we need to do at most n-2 rounds.
-- for i in xrange (min (rounds, n-2)):
-+ for i in range (min (rounds, n-2)):
- # randomly choose a < n and make sure it hasn't been tested yet
- a = getRandomRange (2, n, randfunc)
- while a in tested:
-@@ -219,7 +219,7 @@ def _rabinMillerTest(n, rounds, randfunc=None):
- if z == 1 or z == n_1:
- continue
- composite = 1
-- for r in xrange (b):
-+ for r in range (b):
- z = (z * z) % n
- if z == 1:
- return 0
-@@ -261,7 +261,7 @@ def getStrongPrime(N, e=0, false_positive_prob=1e-6, r
-
- # Use the accelerator if available
- if _fastmath is not None:
-- return _fastmath.getStrongPrime(long(N), long(e), false_positive_prob,
-+ return _fastmath.getStrongPrime(int(N), int(e), false_positive_prob,
- randfunc)
-
- if (N < 512) or ((N % 128) != 0):
-@@ -275,9 +275,9 @@ def getStrongPrime(N, e=0, false_positive_prob=1e-6, r
- x = (N - 512) >> 7;
- # We need to approximate the sqrt(2) in the lower_bound by an integer
- # expression because floating point math overflows with these numbers
-- lower_bound = divmod(14142135623730950489L * (2L ** (511 + 128*x)),
-- 10000000000000000000L)[0]
-- upper_bound = (1L << (512 + 128*x)) - 1
-+ lower_bound = divmod(14142135623730950489 * (2 ** (511 + 128*x)),
-+ 10000000000000000000)[0]
-+ upper_bound = (1 << (512 + 128*x)) - 1
- # Randomly choose X in calculated range
- X = getRandomRange (lower_bound, upper_bound, randfunc)
-
-@@ -291,7 +291,7 @@ def getStrongPrime(N, e=0, false_positive_prob=1e-6, r
- # sieve the field
- for prime in sieve_base:
- offset = y % prime
-- for j in xrange ((prime - offset) % prime, len (field), prime):
-+ for j in range ((prime - offset) % prime, len (field), prime):
- field[j] = 1
-
- # look for suitable p[i] starting at y
-@@ -347,7 +347,7 @@ def getStrongPrime(N, e=0, false_positive_prob=1e-6, r
- X += increment
- # abort when X has more bits than requested
- # TODO: maybe we shouldn't abort but rather start over.
-- if X >= 1L << N:
-+ if X >= 1 << N:
- raise RuntimeError ("Couln't find prime in field. "
- "Developer: Increase field_size")
- return X
-@@ -365,7 +365,7 @@ def isPrime(N, false_positive_prob=1e-6, randfunc=None
- If randfunc is omitted, then Random.new().read is used.
- """
- if _fastmath is not None:
-- return _fastmath.isPrime(long(N), false_positive_prob, randfunc)
-+ return _fastmath.isPrime(int(N), false_positive_prob, randfunc)
-
- if N < 3 or N & 1 == 0:
- return N == 2
-@@ -394,10 +394,10 @@ def long_to_bytes(n, blocksize=0):
- """
- # after much testing, this algorithm was deemed to be the fastest
- s = b('')
-- n = long(n)
-+ n = int(n)
- pack = struct.pack
- while n > 0:
-- s = pack('>I', n & 0xffffffffL) + s
-+ s = pack('>I', n & 0xffffffff) + s
- n = n >> 32
- # strip off leading zeros
- for i in range(len(s)):
-@@ -420,7 +420,7 @@ def bytes_to_long(s):
-
- This is (essentially) the inverse of long_to_bytes().
- """
-- acc = 0L
-+ acc = 0
- unpack = struct.unpack
- length = len(s)
- if length % 4:
---- lib/Crypto/Util/RFC1751.py.orig 2012-05-24 12:55:30 UTC
-+++ lib/Crypto/Util/RFC1751.py
-@@ -29,6 +29,7 @@ __revision__ = "$Id$"
-
- import binascii
- from Crypto.Util.py3compat import *
-+from functools import reduce
-
- binary={0:'0000', 1:'0001', 2:'0010', 3:'0011', 4:'0100', 5:'0101',
- 6:'0110', 7:'0111', 8:'1000', 9:'1001', 10:'1010', 11:'1011',
-@@ -36,8 +37,8 @@ binary={0:'0000', 1:'0001', 2:'0010', 3:'0011', 4:'010
-
- def _key2bin(s):
- "Convert a key into a string of binary digits"
-- kl=map(lambda x: bord(x), s)
-- kl=map(lambda x: binary[x>>4]+binary[x&15], kl)
-+ kl=[bord(x) for x in s]
-+ kl=[binary[x>>4]+binary[x&15] for x in kl]
- return ''.join(kl)
-
- def _extract(key, start, length):
-@@ -95,7 +96,7 @@ def english_to_key (s):
- p=0
- for i in range(0, 64, 2): p=p+_extract(skbin, i, 2)
- if (p&3) != _extract(skbin, 64, 2):
-- raise ValueError, "Parity error in resulting key"
-+ raise ValueError("Parity error in resulting key")
- key=key+subkey[0:8]
- return key
-
-@@ -352,13 +353,13 @@ if __name__=='__main__':
- ]
-
- for key, words in data:
-- print 'Trying key', key
-+ print('Trying key', key)
- key=binascii.a2b_hex(key)
- w2=key_to_english(key)
- if w2!=words:
-- print 'key_to_english fails on key', repr(key), ', producing', str(w2)
-+ print('key_to_english fails on key', repr(key), ', producing', str(w2))
- k2=english_to_key(words)
- if k2!=key:
-- print 'english_to_key fails on key', repr(key), ', producing', repr(k2)
-+ print('english_to_key fails on key', repr(key), ', producing', repr(k2))
-
-
diff --git a/security/py-pycrypto/files/patch-lib__Crypto__SelfTest__Util__test_number.py b/security/py-pycrypto/files/patch-lib__Crypto__SelfTest__Util__test_number.py
deleted file mode 100644
index 439f1b8e0624..000000000000
--- a/security/py-pycrypto/files/patch-lib__Crypto__SelfTest__Util__test_number.py
+++ /dev/null
@@ -1,37 +0,0 @@
---- lib/Crypto/SelfTest/Util/test_number.py.orig 2013-10-14 21:38:10 UTC
-+++ lib/Crypto/SelfTest/Util/test_number.py
-@@ -276,6 +276,11 @@ class MiscTests(unittest.TestCase):
- self.assertEqual(number.size(0xa2ba40),8*3)
- self.assertEqual(number.size(0xa2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5L), 1024)
-
-+class FastmathTests(unittest.TestCase):
-+ def setUp(self):
-+ global number
-+ from Crypto.Util import number
-+
- def test_negative_number_roundtrip_mpzToLongObj_longObjToMPZ(self):
- """Test that mpzToLongObj and longObjToMPZ (internal functions) roundtrip negative numbers correctly."""
- n = -100000000000000000000000000000000000L
-@@ -286,7 +291,21 @@ class MiscTests(unittest.TestCase):
-
- def get_tests(config={}):
- from Crypto.SelfTest.st_common import list_test_cases
-- return list_test_cases(MiscTests)
-+ tests = list_test_cases(MiscTests)
-+ try:
-+ from Crypto.PublicKey import _fastmath
-+ tests += list_test_cases(FastmathTests)
-+ except ImportError:
-+ from distutils.sysconfig import get_config_var
-+ import inspect, os.path
-+ _fm_path = os.path.normpath(os.path.dirname(os.path.abspath(
-+ inspect.getfile(inspect.currentframe())))
-+ +"/../../PublicKey/_fastmath"+get_config_var("SO"))
-+ if os.path.exists(_fm_path):
-+ raise ImportError("While the _fastmath module exists, importing "+
-+ "it failed. This may point to the gmp or mpir shared library "+
-+ "not being in the path. _fastmath was found at "+_fm_path)
-+ return tests
-
- if __name__ == '__main__':
- suite = lambda: unittest.TestSuite(get_tests())
diff --git a/security/py-pycrypto/files/patch-setup.py b/security/py-pycrypto/files/patch-setup.py
deleted file mode 100644
index 5cc99bb52080..000000000000
--- a/security/py-pycrypto/files/patch-setup.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- setup.py.orig 2013-10-14 21:38:10 UTC
-+++ setup.py
-@@ -136,6 +136,7 @@ class PCTBuildExt (build_ext):
- # 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")
- # Don't include profiling information (incompatible with
diff --git a/security/py-pycrypto/pkg-descr b/security/py-pycrypto/pkg-descr
deleted file mode 100644
index a81695406c8e..000000000000
--- a/security/py-pycrypto/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-Python Cryptography Toolkit (pycrypto)
-
-This is a collection of both secure hash functions (such as MD5 and
-SHA), and various encryption algorithms (AES, DES, ElGamal, etc.) for
-Python.