*.c: Publish algorithm and crypto-group tables as `mapping' objects.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 13 Nov 2019 00:59:07 +0000 (00:59 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 25 Nov 2019 17:43:08 +0000 (17:43 +0000)
commitb115b0c0883c2af8170b0e733bb1c47b40f2647e
tree93a64f6fccd02056a1d6705543f65ef3a1f0147a
parent8ddd7c8f0137996e42ff9970e99d036a465ce9e3
*.c: Publish algorithm and crypto-group tables as `mapping' objects.

Previously, the algorithm tables were published as plain Python
dictionaries, and the group tables were published in a complicated way
through a read-only mapping object implemented in Python.

With the richer Python 3 mapping protocol, maintaining a separate custom
mapping object in Python seems much less attractive.  Also, the group
tables were read-only while the algorithm tables were mutable, which was
a rather unfortunate inconsistency.

Fix this mess by implementing a new simple mapping object, based on
Pyke's generic mapping machinery, and populating instances of it with
the necessary data.
algorithms.c
catacomb-python.h
catacomb.c
catacomb/__init__.py
ec.c
group.c
rand.c