Package: gkrellm Version: 2.2.5-1 Severity: serious
Hi, Gkrellm is under the GPL license which is considered not compatible with openssl's license (see [1], [2], [3]). Therefore it should not be linked with this library. However I have recently sent a patch upstream which was integrated in the 2.2.6 version for gkrellm to be able to be linked with gnutls (attaced to this mail). So, could you please use this version and link with gnutls? Thanks. Regards, Samuel. [1] http://www.gnome.org/~markmc/openssl-and-the-gpl.html [2] http://lists.debian.org/debian-legal/2002/04/msg00072.html [3] http://www.openssl.org/support/faq.html#LEGAL2 -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.11 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages gkrellm depends on: ii gkrellm-common 2.2.5-1 multiple stacked system monitors: ii libatk1.0-0 1.8.0-4 The ATK accessibility toolkit ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libglib2.0-0 2.6.4-1 The GLib library of C routines ii libgtk2.0-0 2.6.4-3 The GTK+ graphical user interface ii libice6 4.3.0.dfsg.1-13 Inter-Client Exchange library ii libpango1.0-0 1.8.1-1 Layout and rendering of internatio ii libsm6 4.3.0.dfsg.1-13 X Window System Session Management ii libssl0.9.7 0.9.7g-1 SSL shared libraries ii libx11-6 4.3.0.dfsg.1-13 X Window System protocol client li ii xlibs 4.3.0.dfsg.1-13 X Keyboard Extension (XKB) configu -- no debconf information
diff -ru ../gkrellm-2.2.5.orig/src/configure ./src/configure --- ../gkrellm-2.2.5.orig/src/configure 2005-05-06 22:57:44.000000000 +0200 +++ ./src/configure 2005-05-06 23:39:38.000000000 +0200 @@ -7,6 +7,10 @@ for i do + if [ "$i" = "--without-gnutls" ] + then + without_gnutls=yes + fi if [ "$i" = "--without-ssl" ] then without_ssl=yes @@ -24,6 +28,46 @@ exec 5>./configure.log +if [ "$without_gnutls" != "yes" ] +then +# echo "Checking for gnutls... " 1>& 2 +echo "Checking for gnutls... " 1>& 5 + +cat << EOF > test.c +#include <gnutls/openssl.h> + +int main() + { + SSL_METHOD *ssl_method = NULL; + + SSLeay_add_ssl_algorithms(); + SSL_load_error_strings(); + if ((ssl_method = SSLv23_client_method()) == NULL) + return 1; + return 0; + } +EOF + +$CC ${PKG_INCLUDE} -c test.c -o test.o 2>& 5 +$CC test.o -o test ${PKG_LIBS} -lgnutls-openssl 2>& 5 + +if [ -e ./test ] && ./test +then +# echo 'Defining HAVE_GNUTLS' 1>& 2 + echo 'Defining HAVE_GNUTLS' 1>& 5 + echo '#define HAVE_GNUTLS 1' >> configure.h + echo '#define HAVE_SSL 1' >> configure.h + without_ssl=yes +else +# echo "Not found, mail check will not have gnutls support..." 1>& 2 + echo "Not found, mail check will not have gnutls support..." 1>& 5 +fi +fi +# end of gnutls check + +rm -f test test.o test.c + + if [ "$without_ssl" != "yes" ] then # echo "Checking for ssl... " 1>& 2 diff -ru ../gkrellm-2.2.5.orig/src/mail.c ./src/mail.c --- ../gkrellm-2.2.5.orig/src/mail.c 2005-05-06 22:57:44.000000000 +0200 +++ ./src/mail.c 2005-05-06 23:57:59.000000000 +0200 @@ -37,6 +37,12 @@ #define HAVE_MD5_H #endif +#if defined(HAVE_GNUTLS) +#include <gnutls/openssl.h> +#define MD5Init MD5_Init +#define MD5Update MD5_Update +#define MD5Final MD5_Final +#else #if defined(HAVE_SSL) #include <openssl/ssl.h> #include <openssl/md5.h> @@ -50,6 +56,7 @@ #include "md5.h" #endif #endif +#endif #include "ntlm.h" @@ -641,8 +648,10 @@ tcp_close(ConnInfo *conn) { #ifdef HAVE_SSL +#ifndef HAVE_GNUTLS SSL_SESSION *session; #endif +#endif if (conn->fd != -1) { @@ -656,9 +665,11 @@ #ifdef HAVE_SSL if (conn->ssl) { +#ifndef HAVE_GNUTLS session = SSL_get_session(conn->ssl); if (session) SSL_CTX_remove_session(conn->ssl_ctx, session); +#endif SSL_free(conn->ssl); conn->ssl = NULL; } @@ -707,7 +718,7 @@ SSL_load_error_strings(); if (mbox->account->use_ssl == SSL_TRANSPORT) - ssl_method = SSLv2_client_method(); + ssl_method = SSLv23_client_method(); else ssl_method = TLSv1_client_method(); if (ssl_method == NULL) @@ -724,7 +735,9 @@ return tcp_shutdown(conn, mbox, N_("Cannot initialize SSL handler."), FALSE); +#ifndef HAVE_GNUTLS SSL_clear(conn->ssl); +#endif SSL_set_fd(conn->ssl, conn->fd); SSL_set_connect_state(conn->ssl); diff -ru ../gkrellm-2.2.5.orig/src/Makefile ./src/Makefile --- ../gkrellm-2.2.5.orig/src/Makefile 2005-05-06 22:57:44.000000000 +0200 +++ ./src/Makefile 2005-05-06 23:42:45.000000000 +0200 @@ -19,6 +19,12 @@ LINK_FLAGS ?= -Wl,-E SMC_LIBS ?= -L/usr/X11R6/lib -lSM -lICE +ifeq ($(without-gnutls),1) + CONFIGURE_ARGS += --without-gnutls +endif +ifeq ($(without-gnutls),yes) + CONFIGURE_ARGS += --without-gnutls +endif ifeq ($(without-ssl),1) CONFIGURE_ARGS += --without-ssl endif @@ -28,13 +34,18 @@ DUMMY_VAR := $(shell ./configure $(CONFIGURE_ARGS)) +HAVE_GNUTLS = $(shell grep -c HAVE_GNUTLS configure.h) HAVE_SSL = $(shell grep -c HAVE_SSL configure.h) +ifeq ($(HAVE_GNUTLS),1) + SSL_LIBS ?= -lgnutls-openssl +else ifeq ($(HAVE_SSL),1) SSL_LIBS ?= -lssl -lcrypto else EXTRAOBJS ?= md5c.o endif +endif CC ?= gcc STRIP ?= -s