Removed the module registration interface
authorWerner Koch <wk@gnupg.org>
Thu, 15 Sep 2011 16:08:55 +0000 (18:08 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 15 Sep 2011 16:08:55 +0000 (18:08 +0200)
commite0fe4a5c862a1646066044dfe8e99264e2331752
tree1cf303ee9980a49105c2178096d150affcc138ba
parentfc9eec3626fcb9a3d4043d779462c4fc39cd51ae
Removed the module registration interface

The module registration interface is not widely used but complicates
the internal operation of Libgcrypt a lot.  It also does not allow for
efficient implementation of new algorithm or cipher modes.  Further the
required locking of all access to internal module data or functions
would make it hard to come up with a deadlock free pthread_atfork
implementation.  Thus we remove the entire subsystem.

Note that the module system is still used internally but it is now
possible to change it without breaking the ABI.

In case a feature to add more algorithms demanded in the future, we
may add one by dlopening modules at startup time from a dedicated
directory.
17 files changed:
NEWS
cipher/ChangeLog
cipher/cipher.c
cipher/md.c
cipher/pubkey.c
doc/gcrypt.texi
src/ChangeLog
src/Makefile.am
src/gcrypt-module.h
src/gcrypt.h.in
src/libgcrypt.def
src/libgcrypt.vers
src/visibility.c
src/visibility.h
tests/ChangeLog
tests/Makefile.am
tests/register.c [deleted file]