After much messing around working out why this function: gnutls_srp_base64_decode_alloc is declared in <gnutls/gnutls.h> but not actually present in libgnutls.so, I have discovered that GnuTLS in Fedora uses a "special" version of the library with all the SRP functions removed.
Apparently this is because of some patent issue, see this posting and its follow-ups: http://lists.gnupg.org/pipermail/gnutls-dev/2005-January/000812.html
I really think this should at least be documented. Nothing in /usr/share/doc/gnutls-1.6.3 mentions it. The functions ought to be removed from the header file if they are not in the library.
There are questions about whether the SRP code really infringes on any patent. And as an example Debian's GnuTLS ships with the SRP functions intact.
Rich.
On Wed, 2007-12-12 at 11:11 +0000, Richard W.M. Jones wrote:
There are questions about whether the SRP code really infringes on any patent. And as an example Debian's GnuTLS ships with the SRP functions intact.
I consulted with RH Legal on this one not too long ago, and they confirmed that we should not be shipping SRP in anything.
Debian isn't a good reference example for patent compliance, keep in mind that they still ship mp3.
~spot