]> spindle.queued.net Git - midori/commitdiff
Drop OpenSSL support from socket code
authorChristian Dywan <christian@twotoasts.de>
Sun, 19 Feb 2012 19:21:37 +0000 (20:21 +0100)
committerChristian Dywan <christian@twotoasts.de>
Sun, 19 Feb 2012 19:21:37 +0000 (20:21 +0100)
midori/socket.c
midori/socket.h
midori/wscript_build
wscript

index 2971834cb4fab3f29ee5e52f6b4571c589d49581..73b5cfdf562f465a60e0ea718e45580a2f196b51 100644 (file)
@@ -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
index 45ae384eae96f50921fa4b7a7733549c087ad9a7..d4054f44ebb09c3daab581f129bc1a5fbbf064c0 100644 (file)
 
 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__ */
index 45b3486c74f5ce921097c2f8df81190f4b8195dc..51527bbccb4cce7102b1038c83873b334a535905 100644 (file)
@@ -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 08d03055457ba7c4be789353de3265434bea3708..329f0ac5d2d87fc2bec137aed288f99c51e1fbf5 100644 (file)
--- 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')