LICENSE ISSUES:
-COPYING.LIB (GNU Lesser GPL) applies to the whole gnutls library
-except for the SRP and OPENPGP parts, which are under the GPL.
+The latest release of the gnutls library is covered under the GNU Lesser
+GPL License, unlike previously released versions which were licensed under
+the GPL.
+
+The LGPL license (found in COPYING.LIB) applies to all parts of the gnutls
+library except for the "OPENPGP authentication" part, and the "SRP
+authentication" part, which stay GPL (see the COPYING file). Both of these
+parts can be disabled at compile time.
In order to create a library under the LGPL run the configure script with
the following parameters:
binary compatible. In the LGPL case the functions are replaced with
stubs that always fail.
+The rationale behind this license change is that given the fact that other
+free libraries with similar functionality exist, keeping the gnutls library
+GPL would not give any practical advantage to Free software developers.
+
+Please note that in many cases it is better for a library to be licensed
+under the GPL, so that it provides an advantage for free software projects.
+The Lesser GPL is so named because it does less to protect the freedom of
+the users of the code that it covers.
+See http://www.gnu.org/philosophy/why-not-lgpl.html for more explanation.
+
BUGS:
if test x$ac_enable_srp != xno; then
AC_MSG_RESULT(no)
AC_DEFINE(ENABLE_SRP)
+ LIBGNUTLS_MODULES="$LIBGNUTLS_MODULES srp-authentication"
else
AC_MSG_RESULT(yes)
fi
if test x$ac_enable_anon != xno; then
AC_MSG_RESULT(no)
AC_DEFINE(ENABLE_ANON)
+ LIBGNUTLS_MODULES="$LIBGNUTLS_MODULES anonymous-authentication"
else
AC_MSG_RESULT(yes)
fi
)
if test x$ac_enable_openpgp != xno; then
AC_MSG_RESULT(no)
- AM_PATH_LIBOPENCDK( 0.1.0, AC_DEFINE(HAVE_LIBOPENCDK),
+ AM_PATH_LIBOPENCDK( 0.1.0, AC_DEFINE(HAVE_LIBOPENCDK)
+ LIBGNUTLS_MODULES="$LIBGNUTLS_MODULES openpgp-authentication",
AC_MSG_WARN([[
***
*** libopencdk was not found. You will not be able to use OpenPGP keys with gnutls.
LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBOPENCDK_CFLAGS -I${includedir}"
AC_SUBST(LIBGNUTLS_LIBS)
AC_SUBST(LIBGNUTLS_CFLAGS)
+AC_SUBST(LIBGNUTLS_MODULES)
if test $ac_cv_c_compiler_gnu != no; then
int proc_anon_server_kx( GNUTLS_STATE, opaque*, int);
int proc_anon_client_kx( GNUTLS_STATE, opaque*, int);
-MOD_AUTH_STRUCT anon_auth_struct = {
+const MOD_AUTH_STRUCT anon_auth_struct = {
"ANON",
NULL,
NULL,
static int proc_dhe_server_kx(GNUTLS_STATE, opaque *, int);
static int proc_dhe_client_kx(GNUTLS_STATE, opaque *, int);
-MOD_AUTH_STRUCT dhe_rsa_auth_struct = {
+const MOD_AUTH_STRUCT dhe_rsa_auth_struct = {
"DHE_RSA",
_gnutls_gen_cert_server_certificate,
_gnutls_gen_cert_client_certificate,
_gnutls_proc_cert_cert_req /* proc server cert request */
};
-MOD_AUTH_STRUCT dhe_dss_auth_struct = {
+const MOD_AUTH_STRUCT dhe_dss_auth_struct = {
"DHE_DSS",
_gnutls_gen_cert_server_certificate,
_gnutls_gen_cert_client_certificate,
int proc_rsa_client_kx(GNUTLS_STATE, opaque *, int);
-MOD_AUTH_STRUCT rsa_auth_struct = {
+const MOD_AUTH_STRUCT rsa_auth_struct = {
"RSA",
_gnutls_gen_cert_server_certificate,
_gnutls_gen_cert_client_certificate,
int proc_srp_server_kx2(GNUTLS_STATE, opaque *, int);
int proc_srp_client_kx0(GNUTLS_STATE, opaque *, int);
-MOD_AUTH_STRUCT srp_auth_struct = {
+const MOD_AUTH_STRUCT srp_auth_struct = {
"SRP",
NULL,
NULL,
gnutls_libs="@LIBGNUTLS_LIBS@"
gnutls_cflags="@LIBGNUTLS_CFLAGS@"
-
+gnutls_modules="@LIBGNUTLS_MODULES@"
usage()
{
[--version]
[--libs]
[--cflags]
+ [--modules]
EOF
exit $1
}
--libs)
echo_libs=yes
;;
+ --modules)
+ echo_modules=yes
+ ;;
*)
usage 1 1>&2
;;
echo ${gnutls_libs}
fi
+if test "$echo_modules" = "yes"; then
+ echo ${gnutls_modules}
+fi
+
fprintf(stderr, "Error in the arguments.\n");
return -1;
}
+
+ gnutls_global_init();
+ fprintf(stderr, "Generating prime...");
+// gcry_control (GCRYCTL_SET_VERBOSITY, (int)0);
+
/* this is an emulation of Michael Wiener's table
* bad emulation.
*/
printf("\n};\n");
free(tmp);
+ gnutls_global_deinit();
+
return 0;
}