From: Mark Wooding Date: Thu, 11 May 2017 09:42:15 +0000 (+0100) Subject: algorithms.py: Cope better with algs with funny characters in their names. X-Git-Tag: 1.2.0~13 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-python/commitdiff_plain/a7f2e3893166d7ce7e9d63437d6eebcad5e9c55c 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. --- 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: