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

Reply via email to