Convert some idioms over to py3k-compatible idioms

- Import print_function from __future__ and use print(..) instead of `print ..`.
- Use repr instead of backticks when the object needs to be dumped, unless
  print(..) can do it lazily. Use str instead of backticks as appropriate
  for simplification reasons.

This doesn't fully convert these modules over py3k. It just gets over some of
the trivial compatibility hurdles.
This commit is contained in:
Enji Cooper 2017-09-24 00:14:48 +00:00
parent 1cf297ed69
commit d86680b073
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=323960
2 changed files with 57 additions and 54 deletions

View File

@ -30,6 +30,7 @@
# $FreeBSD$
#
from __future__ import print_function
import array
import dpkt
from fcntl import ioctl
@ -174,9 +175,9 @@ def __init__(self, cipher=0, key=None, mac=0, mackey=None,
if not cipher and not mac:
raise ValueError('one of cipher or mac MUST be specified.')
ses.crid = crid
#print `ses`
#print(ses)
s = array.array('B', ses.pack_hdr())
#print `s`
#print(s)
ioctl(_cryptodev, CIOCGSESSION2, s, 1)
ses.unpack(s)
@ -206,7 +207,7 @@ def _doop(self, op, src, iv):
ivbuf = array.array('B', iv)
cop.iv = ivbuf.buffer_info()[0]
#print 'cop:', `cop`
#print('cop:', cop)
ioctl(_cryptodev, CIOCCRYPT, str(cop))
s = s.tostring()
@ -234,7 +235,8 @@ def _doaead(self, op, src, aad, iv, tag=None):
if tag is None:
tag = array.array('B', [0] * self._maclen)
else:
assert len(tag) == self._maclen, `len(tag), self._maclen`
assert len(tag) == self._maclen, \
'%d != %d' % (len(tag), self._maclen)
tag = array.array('B', tag)
caead.tag = tag.buffer_info()[0]
@ -288,8 +290,8 @@ def alarmhandle(a, b, exit=exit):
signal.signal(signal.SIGALRM, oldalarm)
print 'time:', end - start
print 'perf MB/sec:', (reps * size) / (end - start) / 1024 / 1024
print('time:', end - start)
print('perf MB/sec:', (reps * size) / (end - start) / 1024 / 1024)
def encrypt(self, data, iv, aad=None):
if aad is None:
@ -332,7 +334,7 @@ def __iter__(self):
if i[0] == '[':
yield i[1:].split(']', 1)[0], self.fielditer()
else:
raise ValueError('unknown line: %s' % `i`)
raise ValueError('unknown line: %r' % repr(i))
def eatblanks(self):
while True:
@ -362,12 +364,12 @@ def fielditer(self):
if line == 'FAIL':
f, v = 'FAIL', ''
else:
print 'line:', `line`
print('line:', repr(line))
raise
v = v.strip()
if f in values:
raise ValueError('already present: %s' % `f`)
raise ValueError('already present: %r' % repr(f))
values[f] = v
line = self.fp.readline().strip()
if not line:
@ -377,7 +379,7 @@ def fielditer(self):
remain = self.fields.copy() - set(values.keys())
# XXX - special case GCM decrypt
if remain and not ('FAIL' in values and 'PT' in remain):
raise ValueError('not all fields found: %s' % `remain`)
raise ValueError('not all fields found: %r' % repr(remain))
yield values
@ -388,22 +390,22 @@ def _spdechex(s):
if True:
try:
crid = Crypto.findcrid('aesni0')
print 'aesni:', crid
print('aesni:', crid)
except IOError:
print 'aesni0 not found'
print('aesni0 not found')
for i in xrange(10):
try:
name = Crypto.getcridname(i)
print '%2d: %s' % (i, `name`)
print('%2d: %r' % (i, repr(name)))
except IOError:
pass
elif False:
kp = KATParser('/usr/home/jmg/aesni.testing/format tweak value input - data unit seq no/XTSGenAES128.rsp', [ 'COUNT', 'DataUnitLen', 'Key', 'DataUnitSeqNumber', 'PT', 'CT' ])
for mode, ni in kp:
print `i`, `ni`
print(i, ni)
for j in ni:
print `j`
print(j)
elif False:
key = _spdechex('c939cc13397c1d37de6ae0e1cb7c423c')
iv = _spdechex('00000000000000000000000000000001')
@ -414,15 +416,15 @@ def _spdechex(s):
c = Crypto(CRYPTO_AES_ICM, key)
enc = c.encrypt(pt, iv)
print 'enc:', enc.encode('hex')
print ' ct:', ct.encode('hex')
print('enc:', enc.encode('hex'))
print(' ct:', ct.encode('hex'))
assert ct == enc
dec = c.decrypt(ct, iv)
print 'dec:', dec.encode('hex')
print ' pt:', pt.encode('hex')
print('dec:', dec.encode('hex'))
print(' pt:', pt.encode('hex'))
assert pt == dec
elif False:
@ -435,15 +437,15 @@ def _spdechex(s):
c = Crypto(CRYPTO_AES_ICM, key)
enc = c.encrypt(pt, iv)
print 'enc:', enc.encode('hex')
print ' ct:', ct.encode('hex')
print('enc:', enc.encode('hex'))
print(' ct:', ct.encode('hex'))
assert ct == enc
dec = c.decrypt(ct, iv)
print 'dec:', dec.encode('hex')
print ' pt:', pt.encode('hex')
print('dec:', dec.encode('hex'))
print(' pt:', pt.encode('hex'))
assert pt == dec
elif False:
@ -455,15 +457,15 @@ def _spdechex(s):
enc = c.encrypt(pt, iv)
print 'enc:', enc.encode('hex')
print ' ct:', ct.encode('hex')
print('enc:', enc.encode('hex'))
print(' ct:', ct.encode('hex'))
assert ct == enc
dec = c.decrypt(ct, iv)
print 'dec:', dec.encode('hex')
print ' pt:', pt.encode('hex')
print('dec:', dec.encode('hex'))
print(' pt:', pt.encode('hex'))
assert pt == dec
elif False:
@ -481,26 +483,26 @@ def _spdechex(s):
enc, enctag = c.encrypt(pt, iv, aad=aad)
print 'enc:', enc.encode('hex')
print ' ct:', ct.encode('hex')
print('enc:', enc.encode('hex'))
print(' ct:', ct.encode('hex'))
assert enc == ct
print 'etg:', enctag.encode('hex')
print 'tag:', tag.encode('hex')
print('etg:', enctag.encode('hex'))
print('tag:', tag.encode('hex'))
assert enctag == tag
# Make sure we get EBADMSG
#enctag = enctag[:-1] + 'a'
dec, dectag = c.decrypt(ct, iv, aad=aad, tag=enctag)
print 'dec:', dec.encode('hex')
print ' pt:', pt.encode('hex')
print('dec:', dec.encode('hex'))
print(' pt:', pt.encode('hex'))
assert dec == pt
print 'dtg:', dectag.encode('hex')
print 'tag:', tag.encode('hex')
print('dtg:', dectag.encode('hex'))
print('tag:', tag.encode('hex'))
assert dectag == tag
elif False:
@ -517,13 +519,13 @@ def _spdechex(s):
enc, enctag = c.encrypt(pt, iv, aad=aad)
print 'enc:', enc.encode('hex')
print ' ct:', ct.encode('hex')
print('enc:', enc.encode('hex'))
print(' ct:', ct.encode('hex'))
assert enc == ct
print 'etg:', enctag.encode('hex')
print 'tag:', tag.encode('hex')
print('etg:', enctag.encode('hex'))
print('tag:', tag.encode('hex'))
assert enctag == tag
elif False:
for i in xrange(100000):
@ -550,9 +552,9 @@ def _spdechex(s):
else:
key = '1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382'.decode('hex')
print 'XTS %d testing:' % (len(key) * 8)
print('XTS %d testing:' % (len(key) * 8))
c = Crypto(CRYPTO_AES_XTS, key)
for i in [ 8192, 192*1024]:
print 'block size: %d' % i
print('block size: %d' % i)
c.perftest(COP_ENCRYPT, i)
c.perftest(COP_DECRYPT, i)

View File

@ -29,6 +29,7 @@
# $FreeBSD$
#
from __future__ import print_function
import cryptodev
import itertools
import os
@ -57,17 +58,17 @@ class GendCryptoTestCase(unittest.TestCase):
###############
##### AES #####
###############
@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % `cname`)
@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % (cname))
def test_xts(self):
for i in katg('XTSTestVectors/format tweak value input - data unit seq no', '*.rsp'):
self.runXTS(i, cryptodev.CRYPTO_AES_XTS)
@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % `cname`)
@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % (cname))
def test_cbc(self):
for i in katg('KAT_AES', 'CBC[GKV]*.rsp'):
self.runCBC(i)
@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % `cname`)
@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % (cname))
def test_gcm(self):
for i in katg('gcmtestvectors', 'gcmEncrypt*'):
self.runGCM(i, 'ENCRYPT')
@ -88,7 +89,7 @@ def runGCM(self, fname, mode):
swapptct = True
curfun = Crypto.decrypt
else:
raise RuntimeError('unknown mode: %s' % `mode`)
raise RuntimeError('unknown mode: %r' % repr(mode))
for bogusmode, lines in cryptodev.KATParser(fname,
[ 'Count', 'Key', 'IV', 'CT', 'AAD', 'Tag', 'PT', ]):
@ -116,8 +117,8 @@ def runGCM(self, fname, mode):
rtag = rtag[:len(tag)]
data['rct'] = rct.encode('hex')
data['rtag'] = rtag.encode('hex')
self.assertEqual(rct, ct, `data`)
self.assertEqual(rtag, tag, `data`)
self.assertEqual(rct, ct, repr(data))
self.assertEqual(rtag, tag, repr(data))
else:
if len(tag) != 16:
continue
@ -130,7 +131,7 @@ def runGCM(self, fname, mode):
data['rpt'] = rpt.encode('hex')
data['rtag'] = rtag.encode('hex')
self.assertEqual(rpt, pt,
`data`)
repr(data))
def runCBC(self, fname):
curfun = None
@ -143,7 +144,7 @@ def runCBC(self, fname):
swapptct = True
curfun = Crypto.decrypt
else:
raise RuntimeError('unknown mode: %s' % `mode`)
raise RuntimeError('unknown mode: %r' % repr(mode))
for data in lines:
curcnt = int(data['COUNT'])
@ -171,7 +172,7 @@ def runXTS(self, fname, meth):
swapptct = True
curfun = Crypto.decrypt
else:
raise RuntimeError('unknown mode: %s' % `mode`)
raise RuntimeError('unknown mode: %r' % repr(mode))
for data in lines:
curcnt = int(data['COUNT'])
@ -194,7 +195,7 @@ def runXTS(self, fname, meth):
###############
##### DES #####
###############
@unittest.skipIf(cname not in desmodules, 'skipping DES on %s' % `cname`)
@unittest.skipIf(cname not in desmodules, 'skipping DES on %s' % (cname))
def test_tdes(self):
for i in katg('KAT_TDES', 'TCBC[a-z]*.rsp'):
self.runTDES(i)
@ -210,7 +211,7 @@ def runTDES(self, fname):
swapptct = True
curfun = Crypto.decrypt
else:
raise RuntimeError('unknown mode: %s' % `mode`)
raise RuntimeError('unknown mode: %r' % repr(mode))
for data in lines:
curcnt = int(data['COUNT'])
@ -230,14 +231,14 @@ def runTDES(self, fname):
###############
##### SHA #####
###############
@unittest.skipIf(cname not in shamodules, 'skipping SHA on %s' % `cname`)
@unittest.skipIf(cname not in shamodules, 'skipping SHA on %s' % str(cname))
def test_sha(self):
# SHA not available in software
pass
#for i in iglob('SHA1*'):
# self.runSHA(i)
@unittest.skipIf(cname not in shamodules, 'skipping SHA on %s' % `cname`)
@unittest.skipIf(cname not in shamodules, 'skipping SHA on %s' % str(cname))
def test_sha1hmac(self):
for i in katg('hmactestvectors', 'HMAC.rsp'):
self.runSHA1HMAC(i)