Remove a superfluous comment in OnLogCommand()
[privoxy.git] / gateway.c
index 851665a..f36ed01 100644 (file)
--- a/gateway.c
+++ b/gateway.c
@@ -1,4 +1,4 @@
-const char gateway_rcs[] = "$Id: gateway.c,v 1.78 2011/09/18 14:42:43 fabiankeil Exp $";
+const char gateway_rcs[] = "$Id: gateway.c,v 1.86 2012/03/09 17:55:50 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/gateway.c,v $
@@ -793,12 +793,12 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
 
    c->vn          = 4;
    c->cd          = 1;
-   c->dstport[0]  = (unsigned char)((target_port       >> 8  ) & 0xff);
-   c->dstport[1]  = (unsigned char)((target_port             ) & 0xff);
-   c->dstip[0]    = (unsigned char)((web_server_addr   >> 24 ) & 0xff);
-   c->dstip[1]    = (unsigned char)((web_server_addr   >> 16 ) & 0xff);
-   c->dstip[2]    = (unsigned char)((web_server_addr   >>  8 ) & 0xff);
-   c->dstip[3]    = (unsigned char)((web_server_addr         ) & 0xff);
+   c->dstport[0]  = (unsigned char)((target_port       >> 8 ) & 0xff);
+   c->dstport[1]  = (unsigned char)((target_port            ) & 0xff);
+   c->dstip[0]    = (unsigned char)((web_server_addr   >> 24) & 0xff);
+   c->dstip[1]    = (unsigned char)((web_server_addr   >> 16) & 0xff);
+   c->dstip[2]    = (unsigned char)((web_server_addr   >>  8) & 0xff);
+   c->dstip[3]    = (unsigned char)((web_server_addr        ) & 0xff);
 
    /* pass the request to the socks server */
    sfd = connect_to(fwd->gateway_host, fwd->gateway_port, csp);
@@ -808,6 +808,13 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
       /* The error an its reason have already been logged by connect_to()  */
       return(JB_INVALID_SOCKET);
    }
+   else if (write_socket(sfd, (char *)c, csiz))
+   {
+      errstr = "SOCKS4 negotiation write failed.";
+      log_error(LOG_LEVEL_CONNECT, "socks4_connect: %s", errstr);
+      err = 1;
+      close_socket(sfd);
+   }
    else if (!data_is_available(sfd, csp->config->socket_timeout))
    {
       if (socket_is_still_alive(sfd))
@@ -822,13 +829,6 @@ static jb_socket socks4_connect(const struct forward_spec * fwd,
       err = 1;
       close_socket(sfd);
    }
-   else if (write_socket(sfd, (char *)c, csiz))
-   {
-      errstr = "SOCKS4 negotiation write failed.";
-      log_error(LOG_LEVEL_CONNECT, "socks4_connect: %s", errstr);
-      err = 1;
-      close_socket(sfd);
-   }
    else if (read_socket(sfd, buf, sizeof(buf)) != sizeof(*s))
    {
       errstr = "SOCKS4 negotiation read failed.";
@@ -943,7 +943,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
 {
    int err = 0;
    char cbuf[300];
-   char sbuf[30];
+   char sbuf[10];
    size_t client_pos = 0;
    int server_size = 0;
    size_t hostlen = 0;
@@ -1090,20 +1090,11 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
    }
 
    server_size = read_socket(sfd, sbuf, sizeof(sbuf));
-   if (server_size < 3)
+   if (server_size != sizeof(sbuf))
    {
       errstr = "SOCKS5 negotiation read failed";
-      err = 1;
    }
-   else if (server_size > 20)
-   {
-      /* This is somewhat unexpected but doesn't really matter. */
-      log_error(LOG_LEVEL_CONNECT, "socks5_connect: read %d bytes "
-         "from socks server. Would have accepted up to %d.",
-         server_size, sizeof(sbuf));
-   }
-
-   if (!err)
+   else
    {
       if (sbuf[0] != '\x05')
       {