You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2004/03/29 19:47:15 UTC

cvs commit: apache-1.3/src/modules/proxy proxy_http.c

jim         2004/03/29 09:47:15

  Modified:    src      CHANGES
               src/modules/proxy proxy_http.c
  Log:
  PR: 27542
  Submitted by:	white@extrasy.net (Alexander Prohorenko)
  Reviewed by:	jeff, jim
  
  Revision  Changes    Path
  1.1933    +4 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1932
  retrieving revision 1.1933
  diff -u -r1.1932 -r1.1933
  --- CHANGES	29 Mar 2004 17:33:52 -0000	1.1932
  +++ CHANGES	29 Mar 2004 17:47:13 -0000	1.1933
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.30
   
  +  *) Reinit socket to allow mod_proxy to continue to try
  +     connections when invalid IPs are accessed. PR 27542.
  +     [Alexander Prohorenko <white extrasy.net>]
  +   
     *) SECURITY: CAN-2004-0174 (cve.mitre.org)
        Fix starvation issue on listening sockets where a short-lived
        connection on a rarely-accessed listening socket will cause a
  
  
  
  1.106     +10 -0     apache-1.3/src/modules/proxy/proxy_http.c
  
  Index: proxy_http.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_http.c,v
  retrieving revision 1.105
  retrieving revision 1.106
  diff -u -r1.105 -r1.106
  --- proxy_http.c	17 Feb 2004 21:52:22 -0000	1.105
  +++ proxy_http.c	29 Mar 2004 17:47:15 -0000	1.106
  @@ -225,6 +225,11 @@
               i = ap_proxy_doconnect(sock, &server, r);
               if (i == 0)
                   break;
  +            /*
  +             * Even if the connection was unsuccesful we should
  +             * reinit the socket
  +             */
  +            sock = ap_psocket_ex(p, PF_INET, SOCK_STREAM, IPPROTO_TCP, 1);
           }
       }
   #else
  @@ -235,6 +240,11 @@
           i = ap_proxy_doconnect(sock, &server, r);
           if (i == 0)
               break;
  +        /*
  +         * Even if the connection was unsuccesful we should
  +         * reinit the socket
  +         */
  +        sock = ap_psocket_ex(p, PF_INET, SOCK_STREAM, IPPROTO_TCP, 1);
           j++;
       }
   #endif