Sanitize empty-string proxy hostnames at the API entry point
authorFederico Mena Quintero <federico@novell.com>
Tue, 1 Jun 2010 19:15:26 +0000 (14:15 -0500)
committerFederico Mena Quintero <federico@novell.com>
Wed, 2 Jun 2010 22:44:54 +0000 (17:44 -0500)
This way the rest of the code can assume that (proxy_host == NULL) means
that no proxy is set; it doesn't need to check for empty strings.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
camel/camel-session.c
camel/camel-tcp-stream.c

index d76ce31..40c3c21 100644 (file)
@@ -1121,8 +1121,13 @@ camel_session_set_socks_proxy (CamelSession *session, const gchar *socks_host, i
        if (session->priv->socks_proxy_host)
                g_free (session->priv->socks_proxy_host);
 
-       session->priv->socks_proxy_host = g_strdup (socks_host);
-       session->priv->socks_proxy_port = socks_port;
+       if (socks_host && socks_host[0] != '\0') {
+               session->priv->socks_proxy_host = g_strdup (socks_host);
+               session->priv->socks_proxy_port = socks_port;
+       } else {
+               session->priv->socks_proxy_host = NULL;
+               session->priv->socks_proxy_port = 0;
+       }
 }
 
 /**
index 9c37e99..c66cc8b 100644 (file)
@@ -223,8 +223,14 @@ camel_tcp_stream_set_socks_proxy (CamelTcpStream *stream, const gchar *socks_hos
        priv = stream->priv;
 
        g_free (priv->socks_host);
-       priv->socks_host = g_strdup (socks_host);
-       priv->socks_port = socks_port;
+
+       if (socks_host && socks_host[0] != '\0') {
+               priv->socks_host = g_strdup (socks_host);
+               priv->socks_port = socks_port;
+       } else {
+               priv->socks_host = NULL;
+               priv->socks_port = 0;
+       }
 }
 
 /**