Nikos Mavrogiannopoulos n.mavrogiannopoulos@gmail.com writes:
It would be nice if the new interface is api compatible with the old one; especially if that would be possible with macros such as the one you show, so that compatibility bloat doesn't need to be included in the library.
[...]
I thought that this was used to keep API compatibility. I don't think it makes sense to introduce new APIs that are close to old APIs. There is already a new API.
You have a good point there.
I really not sure about the best way to go about it. Another option might be to purge all deprecated stuff from dsa.h, and put it into a new file dsa-compat.h. Main practical advantage would be that dsa-compat.h can then also tweak the name mangling of dsa_generate_keypair, so that if you include this file, it refers to a function compatible with the previous version.
Then applications that want to stick to the old interface (in order to support both old and new nettle) could get that reasonably easy, with a
#include <nettle/dsa.h> #if HAVE_NETTLE_DSA_COMPAT_H #include <nettle/dsa-compat.h> #endif
And speaking of *-compat.h files, does anybody use rsa-compat.h (RSAREF-compatible interface) or des-compat.h (libdes-compatible interface)?
Regards, /Niels