From a7f2e3893166d7ce7e9d63437d6eebcad5e9c55c Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Thu, 11 May 2017 10:42:15 +0100 Subject: [PATCH] algorithms.py: Cope better with algs with funny characters in their names. Defend against `/' in names when making include-file names, and defend against `/' and `-' when forming identifier names. --- algorithms.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/algorithms.py b/algorithms.py index a7a2caa..4a47dc7 100644 --- a/algorithms.py +++ b/algorithms.py @@ -52,16 +52,16 @@ print '/* algorithms.h [generated] */' print for i in prps: - print '#include ' % i + print '#include ' % i.replace('/', '-') for j in pmodes: - print '#include ' % (i, j) + print '#include ' % (i.replace('/', '-'), j) for i in streamciphers: - print '#include ' % i + print '#include ' % i.replace('/', '-') print for i in hashes: - print '#include ' % i + print '#include ' % i.replace('/', '-') for j in hmodes: - print '#include ' % (i, j) + print '#include ' % (i.replace('/', '-'), j) print print '#define PRPS(_) \\' @@ -72,13 +72,15 @@ print print '#define RNGS(_) \\' for i in (cross(prps, ['ofb', 'counter'])): - print ('\t_("%(prim)s-%(mode)s", %(prim)s_keysz, ' + - '%(prim)s_%(mode)srand, RNG_PLAIN, 0) \\') % \ - {'prim': i[0], 'mode': i[1]} + print ('\t_("%(prim)s-%(mode)s", %(primid)s_keysz, ' + + '%(primid)s_%(mode)srand, RNG_PLAIN, 0) \\') % \ + {'prim': i[0], 'mode': i[1], + 'primid': i[0].replace('-', '_').replace('/', '_')} for i in (cross(hashes, 'mgf')): - print ('\t_("%(prim)s-%(mode)s", %(prim)s_%(mode)skeysz, ' + - '%(prim)s_%(mode)srand, RNG_PLAIN, 0) \\') % \ - {'prim': i[0], 'mode': i[1]} + print ('\t_("%(prim)s-%(mode)s", %(primid)s_%(mode)skeysz, ' + + '%(primid)s_%(mode)srand, RNG_PLAIN, 0) \\') % \ + {'prim': i[0], 'mode': i[1], + 'primid': i[0].replace('-', '_').replace('/', '_')} print '\t_("rc4", rc4_keysz, rc4_rand, 0, 0) \\' print '\t_("seal", seal_keysz, seal_rand, RNG_SEAL, 0) \\' for i in latindances: -- 2.11.0