[Xfce4-commits] <midori:master> Drop OpenSSL support from socket code

Christian Dywan noreply at xfce.org
Sun Feb 19 20:24:02 CET 2012


Updating branch refs/heads/master
         to d2fe0791e1e50e285d9b68862742e7151775eaef (commit)
       from c6b15ff4dcac0b432f081d45e8eb8d85354fc239 (commit)

commit d2fe0791e1e50e285d9b68862742e7151775eaef
Author: Christian Dywan <christian at twotoasts.de>
Date:   Sun Feb 19 20:21:37 2012 +0100

    Drop OpenSSL support from socket code

 midori/socket.c      |  223 --------------------------------------------------
 midori/socket.h      |   20 -----
 midori/wscript_build |    2 +-
 wscript              |    2 -
 4 files changed, 1 insertions(+), 246 deletions(-)

diff --git a/midori/socket.c b/midori/socket.c
index 2971834..73b5cfd 100644
--- a/midori/socket.c
+++ b/midori/socket.c
@@ -54,9 +54,6 @@
 #endif
 
 #include "socket.h"
-#if USE_SSL
-#  include <openssl/ssl.h>
-#endif
 
 #ifdef G_ENABLE_DEBUG
 #  define debug_print g_debug
@@ -562,10 +559,6 @@ gboolean sock_has_read_data(SockInfo *sock)
 #ifdef G_OS_WIN32
 	gulong val;
 
-#if USE_SSL
-	if (sock->ssl)
-		return TRUE;
-#endif
 	if (ioctlsocket(sock->sock, FIONREAD, &val) < 0) {
 		g_warning("sock_has_read_data(): ioctlsocket() failed: %d\n",
 			  WSAGetLastError());
@@ -595,22 +588,6 @@ static gboolean sock_check(GSource *source)
 	fd_set fds;
 	GIOCondition condition = sock->condition;
 
-#if USE_SSL
-	if (sock->ssl) {
-		if (condition & G_IO_IN) {
-			if (SSL_pending(sock->ssl) > 0)
-				return TRUE;
-			if (SSL_want_write(sock->ssl))
-				condition |= G_IO_OUT;
-		}
-
-		if (condition & G_IO_OUT) {
-			if (SSL_want_read(sock->ssl))
-				condition |= G_IO_IN;
-		}
-	}
-#endif
-
 	FD_ZERO(&fds);
 	FD_SET(sock->sock, &fds);
 
@@ -647,19 +624,6 @@ guint sock_add_watch(SockInfo *sock, GIOCondition condition, SockFunc func,
 	sock->callback = func;
 	sock->condition = condition;
 	sock->data = data;
-
-#if USE_SSL
-	if (sock->ssl) {
-		GSource *source;
-
-		source = g_source_new(&sock_watch_funcs, sizeof(SockSource));
-		((SockSource *)source)->sock = sock;
-		g_source_set_priority(source, G_PRIORITY_DEFAULT);
-		g_source_set_can_recurse(source, FALSE);
-		return g_source_attach(source, NULL);
-	}
-#endif
-
 	return g_io_add_watch(sock->sock_ch, condition, sock_watch_cb, sock);
 }
 
@@ -1375,10 +1339,6 @@ gint sock_read(SockInfo *sock, gchar *buf, gint len)
 {
 	g_return_val_if_fail(sock != NULL, -1);
 
-#if USE_SSL
-	if (sock->ssl)
-		return ssl_read(sock->ssl, buf, len);
-#endif
 	return fd_read(sock->sock, buf, len);
 }
 
@@ -1394,44 +1354,10 @@ gint fd_read(gint fd, gchar *buf, gint len)
 #endif
 }
 
-#if USE_SSL
-gint ssl_read(SSL *ssl, gchar *buf, gint len)
-{
-	gint err, ret;
-
-	if (SSL_pending(ssl) == 0) {
-		if (fd_check_io(SSL_get_rfd(ssl), G_IO_IN) < 0)
-			return -1;
-	}
-
-	ret = SSL_read(ssl, buf, len);
-
-	switch ((err = SSL_get_error(ssl, ret))) {
-	case SSL_ERROR_NONE:
-		return ret;
-	case SSL_ERROR_WANT_READ:
-	case SSL_ERROR_WANT_WRITE:
-		errno = EAGAIN;
-		return -1;
-	case SSL_ERROR_ZERO_RETURN:
-		return 0;
-	default:
-		g_warning("SSL_read() returned error %d, ret = %d\n", err, ret);
-		if (ret == 0)
-			return 0;
-		return -1;
-	}
-}
-#endif
-
 gint sock_write(SockInfo *sock, const gchar *buf, gint len)
 {
 	g_return_val_if_fail(sock != NULL, -1);
 
-#if USE_SSL
-	if (sock->ssl)
-		return ssl_write(sock->ssl, buf, len);
-#endif
 	return fd_write(sock->sock, buf, len);
 }
 
@@ -1459,34 +1385,10 @@ gint fd_write(gint fd, const gchar *buf, gint len)
 #endif
 }
 
-#if USE_SSL
-gint ssl_write(SSL *ssl, const gchar *buf, gint len)
-{
-	gint ret;
-
-	ret = SSL_write(ssl, buf, len);
-
-	switch (SSL_get_error(ssl, ret)) {
-	case SSL_ERROR_NONE:
-		return ret;
-	case SSL_ERROR_WANT_READ:
-	case SSL_ERROR_WANT_WRITE:
-		errno = EAGAIN;
-		return -1;
-	default:
-		return -1;
-	}
-}
-#endif
-
 gint sock_write_all(SockInfo *sock, const gchar *buf, gint len)
 {
 	g_return_val_if_fail(sock != NULL, -1);
 
-#if USE_SSL
-	if (sock->ssl)
-		return ssl_write_all(sock->ssl, buf, len);
-#endif
 	return fd_write_all(sock->sock, buf, len);
 }
 
@@ -1506,24 +1408,6 @@ gint fd_write_all(gint fd, const gchar *buf, gint len)
 	return wrlen;
 }
 
-#if USE_SSL
-gint ssl_write_all(SSL *ssl, const gchar *buf, gint len)
-{
-	gint n, wrlen = 0;
-
-	while (len) {
-		n = ssl_write(ssl, buf, len);
-		if (n <= 0)
-			return -1;
-		len -= n;
-		wrlen += n;
-		buf += n;
-	}
-
-	return wrlen;
-}
-#endif
-
 gint fd_recv(gint fd, gchar *buf, gint len, gint flags)
 {
 #ifdef G_OS_WIN32
@@ -1570,38 +1454,10 @@ gint fd_gets(gint fd, gchar *buf, gint len)
 	return bp - buf;
 }
 
-#if USE_SSL
-gint ssl_gets(SSL *ssl, gchar *buf, gint len)
-{
-	gchar *newline, *bp = buf;
-	gint n;
-
-	if (--len < 1)
-		return -1;
-	do {
-		if ((n = ssl_peek(ssl, bp, len)) <= 0)
-			return -1;
-		if ((newline = memchr(bp, '\n', n)) != NULL)
-			n = newline - bp + 1;
-		if ((n = ssl_read(ssl, bp, n)) < 0)
-			return -1;
-		bp += n;
-		len -= n;
-	} while (!newline && len);
-
-	*bp = '\0';
-	return bp - buf;
-}
-#endif
-
 gint sock_gets(SockInfo *sock, gchar *buf, gint len)
 {
 	g_return_val_if_fail(sock != NULL, -1);
 
-#if USE_SSL
-	if (sock->ssl)
-		return ssl_gets(sock->ssl, buf, len);
-#endif
 	return fd_gets(sock->sock, buf, len);
 }
 
@@ -1630,42 +1486,11 @@ gint fd_getline(gint fd, gchar **line)
 		return (gint)size;
 }
 
-#if USE_SSL
-gint ssl_getline(SSL *ssl, gchar **line)
-{
-	gchar buf[BUFFSIZE];
-	gchar *str = NULL;
-	gint len;
-	gulong size = 0;
-	gulong cur_offset = 0;
-
-	while ((len = ssl_gets(ssl, buf, sizeof(buf))) > 0) {
-		size += len;
-		str = g_realloc(str, size + 1);
-		memcpy(str + cur_offset, buf, len + 1);
-		cur_offset += len;
-		if (buf[len - 1] == '\n')
-			break;
-	}
-
-	*line = str;
-
-	if (!str)
-		return -1;
-	else
-		return (gint)size;
-}
-#endif
-
 gint sock_getline(SockInfo *sock, gchar **line)
 {
 	g_return_val_if_fail(sock != NULL, -1);
 	g_return_val_if_fail(line != NULL, -1);
 
-#if USE_SSL
-	if (sock->ssl)
-		return ssl_getline(sock->ssl, line);
-#endif
 	return fd_getline(sock->sock, line);
 }
 
@@ -1679,44 +1504,10 @@ gint sock_puts(SockInfo *sock, const gchar *buf)
 }
 
 /* peek at the socket data without actually reading it */
-#if USE_SSL
-gint ssl_peek(SSL *ssl, gchar *buf, gint len)
-{
-	gint err, ret;
-
-	if (SSL_pending(ssl) == 0) {
-		if (fd_check_io(SSL_get_rfd(ssl), G_IO_IN) < 0)
-			return -1;
-	}
-
-	ret = SSL_peek(ssl, buf, len);
-
-	switch ((err = SSL_get_error(ssl, ret))) {
-	case SSL_ERROR_NONE:
-		return ret;
-	case SSL_ERROR_WANT_READ:
-	case SSL_ERROR_WANT_WRITE:
-		errno = EAGAIN;
-		return -1;
-	case SSL_ERROR_ZERO_RETURN:
-		return 0;
-	default:
-		g_warning("SSL_peek() returned error %d, ret = %d\n", err, ret);
-		if (ret == 0)
-			return 0;
-		return -1;
-	}
-}
-#endif
-
 gint sock_peek(SockInfo *sock, gchar *buf, gint len)
 {
 	g_return_val_if_fail(sock != NULL, -1);
 
-#if USE_SSL
-	if (sock->ssl)
-		return ssl_peek(sock->ssl, buf, len);
-#endif
 	return fd_recv(sock->sock, buf, len, MSG_PEEK);
 }
 
@@ -1727,11 +1518,6 @@ gint sock_close(SockInfo *sock)
 	if (!sock)
 		return 0;
 
-#if USE_SSL
-	if (sock->ssl)
-		ssl_done_socket(sock);
-#endif
-
 	if (sock->sock_ch) {
 		g_io_channel_shutdown(sock->sock_ch, FALSE, NULL);
 		g_io_channel_unref(sock->sock_ch);
@@ -1759,13 +1545,4 @@ gint fd_close(gint fd)
 #endif
 }
 
-#if USE_SSL
-void ssl_done_socket(SockInfo *sockinfo)
-{
-	if (sockinfo->ssl) {
-		SSL_free(sockinfo->ssl);
-	}
-}
-#endif
-
 #endif
diff --git a/midori/socket.h b/midori/socket.h
index 45ae384..d4054f4 100644
--- a/midori/socket.h
+++ b/midori/socket.h
@@ -20,10 +20,6 @@
 
 typedef struct _SockInfo	SockInfo;
 
-#if USE_SSL
-#  include <openssl/ssl.h>
-#endif
-
 typedef enum
 {
 	CONN_READY,
@@ -42,11 +38,6 @@ typedef gboolean (*SockFunc)		(SockInfo	*sock,
 struct _SockInfo
 {
 	gint sock;
-#if USE_SSL
-	SSL *ssl;
-#else
-	gpointer ssl;
-#endif
 	GIOChannel *sock_ch;
 
 	gchar *hostname;
@@ -111,15 +102,4 @@ gint fd_gets		(gint sock, gchar *buf, gint len);
 gint fd_getline		(gint sock, gchar **line);
 gint fd_close		(gint sock);
 
-/* Functions for SSL */
-#if USE_SSL
-gint ssl_read		(SSL *ssl, gchar *buf, gint len);
-gint ssl_write		(SSL *ssl, const gchar *buf, gint len);
-gint ssl_write_all	(SSL *ssl, const gchar *buf, gint len);
-gint ssl_gets		(SSL *ssl, gchar *buf, gint len);
-gint ssl_getline	(SSL *ssl, gchar **line);
-gint ssl_peek		(SSL *ssl, gchar *buf, gint len);
-void ssl_done_socket	(SockInfo	*sockinfo);
-#endif
-
 #endif /* __SYLPH_SOCKET_H__ */
diff --git a/midori/wscript_build b/midori/wscript_build
index 45b3486..51527bb 100644
--- a/midori/wscript_build
+++ b/midori/wscript_build
@@ -7,7 +7,7 @@ import platform
 
 progressive = True
 libs = 'M UNIQUE LIBSOUP GMODULE GTHREAD LIBIDN GIO GTK SQLITE ' \
-       'LIBNOTIFY WEBKIT JAVASCRIPTCOREGTK LIBXML X11 XSS WS2_32 OPENSSL HILDON' \
+       'LIBNOTIFY WEBKIT JAVASCRIPTCOREGTK LIBXML X11 XSS WS2_32 HILDON' \
        'HILDON_FM'
 
 if progressive or Options.commands['check']:
diff --git a/wscript b/wscript
index 08d0305..329f0ac 100644
--- a/wscript
+++ b/wscript
@@ -275,8 +275,6 @@ def configure (conf):
     if not conf.env['HAVE_UNIQUE']:
         if Options.platform == 'win32':
             conf.check (lib='ws2_32')
-        check_pkg ('openssl', mandatory=False)
-        conf.define ('USE_SSL', [0,1][conf.env['HAVE_OPENSSL'] == 1])
         conf.define ('HAVE_NETDB_H', [0,1][conf.check (header_name='netdb.h')])
         conf.check (header_name='sys/wait.h')
         conf.check (header_name='sys/select.h')


More information about the Xfce4-commits mailing list