*.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>
Sat, 11 Apr 2020 11:44:14 +0000 (12:44 +0100)
commita539ffb8538158c1dc7eeb4ad5264a6e995496b6
tree08bdc5fcc104c0d4a1f3994c8bb1a4d495761bd8
parent31ff254edd8d9c6927a67838ec4418ad8ba42652
*.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