httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject cvs commit: apache-1.3/src/main buff.c http_main.c
Date Sun, 19 Oct 2003 18:00:35 GMT
jim         2003/10/19 11:00:35

  Modified:    .        STATUS
               src      CHANGES
               src/main buff.c http_main.c
  Log:
  In ap_bclose(), we always use ap_pclosesocket() when the fd
  points to a socket and ap_bclosef() it it's a file (we stay
  aware of Windows handles however). Also, we stay consistent
  and use closesocket() whenever we wish to close a socket
  directly. For Unix, closesocket() is simply a macro define to
  close, but it makes a big difference for other OSs.
  
  PR: 22805
  Submitted by:	bnicholes, jeff
  
  Revision  Changes    Path
  1.1058    +1 -10     apache-1.3/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.1057
  retrieving revision 1.1058
  diff -u -r1.1057 -r1.1058
  --- STATUS	19 Oct 2003 13:20:57 -0000	1.1057
  +++ STATUS	19 Oct 2003 18:00:34 -0000	1.1058
  @@ -45,15 +45,6 @@
   
   RELEASE SHOWSTOPPERS:
   
  -   * Bugz: #22805
  -       Jim is considering just the buff.c patches in addition
  -       to cleanup of http_main.c where we wrap close/closesocket
  -       around '#ifdef BEOS' which does not seem correct. Under
  -       Unix, we define closesocket as close, and isn't closesocket
  -       what we should be using for Win32 and Netware as well?
  -       Message-Id: <E6C56E6C-FFFF-11D7-96F5-000393D76AB8@jagunet.com>.
  -        +1: jim, bnicholes, jeff
  -
      * isn't ap_die() broken with recognizing recursive errors
          Message-Id: <3F8C56E3.8050501@attglobal.net>
           +1: jeff, jim
  
  
  
  1.1908    +8 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1907
  retrieving revision 1.1908
  diff -u -r1.1907 -r1.1908
  --- CHANGES	18 Oct 2003 14:15:58 -0000	1.1907
  +++ CHANGES	19 Oct 2003 18:00:34 -0000	1.1908
  @@ -1,5 +1,13 @@
   Changes with Apache 1.3.29
   
  +  *) Within ap_bclose(), ap_pclosesocket() is now called consistently
  +     for sockets and ap_pclosef() for files. Also, closesocket()
  +     is used consistenly to close socket fd's. The previous
  +     confusion between socket and file fd's would cause problems
  +     with some applications now that we proactively close fd's to
  +     prevent leakage. PR 22805
  +     [Radu Greab <rgreab@fx.ro>, Jim Jagielski]
  + 
     *) If a request fails and the client will be redirected to another URL
        due to ErrorDocument, see if we need to drop the connection after
        sending the 302 response.  This fixes a problem where Apache treated
  
  
  
  1.111     +5 -16     apache-1.3/src/main/buff.c
  
  Index: buff.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/buff.c,v
  retrieving revision 1.110
  retrieving revision 1.111
  diff -u -r1.110 -r1.111
  --- buff.c	3 Feb 2003 17:13:20 -0000	1.110
  +++ buff.c	19 Oct 2003 18:00:35 -0000	1.111
  @@ -1497,7 +1497,6 @@
   	rc1 = ap_bflush(fb);
       else
   	rc1 = 0;
  -#if defined(WIN32) || defined(NETWARE) || defined(CYGWIN_WINSOCK) 
       if (fb->flags & B_SOCKET) {
   	rc2 = ap_pclosesocket(fb->pool, fb->fd);
   	if (fb->fd_in != fb->fd) {
  @@ -1506,24 +1505,13 @@
   	else {
   	    rc3 = 0;
   	}
  -    }
  -#if !defined(NETWARE) && !defined(CYGWIN_WINSOCK) 
  -    else if (fb->hFH != INVALID_HANDLE_VALUE) {
  +    } else {
  +#if defined(WIN32)
  +    if (fb->hFH != INVALID_HANDLE_VALUE) {
           rc2 = ap_pcloseh(fb->pool, fb->hFH);
           rc3 = 0;
       }
  -#endif
       else {
  -#elif defined(BEOS)
  -    if (fb->flags & B_SOCKET) {
  -	rc2 = ap_pclosesocket(fb->pool, fb->fd);
  -	if (fb->fd_in != fb->fd) {
  -	    rc3 = ap_pclosesocket(fb->pool, fb->fd_in);
  -	}
  -	else {
  -	    rc3 = 0;
  -	}
  -    } else {
   #endif
   	rc2 = ap_pclosef(fb->pool, fb->fd);
   	if (fb->fd_in != fb->fd) {
  @@ -1532,7 +1520,8 @@
   	else {
   	    rc3 = 0;
   	}
  -#if defined(WIN32) || defined (BEOS) || defined(NETWARE) || defined(CYGWIN_WINSOCK) 
  +    }
  +#if defined(WIN32)
       }
   #endif
   
  
  
  
  1.605     +0 -20     apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.604
  retrieving revision 1.605
  diff -u -r1.604 -r1.605
  --- http_main.c	23 May 2003 15:25:24 -0000	1.604
  +++ http_main.c	19 Oct 2003 18:00:35 -0000	1.605
  @@ -3703,11 +3703,7 @@
   #ifndef _OSD_POSIX
   	ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf,
   		    "make_sock: for %s, setsockopt: (SO_REUSEADDR)", addr);
  -#ifdef BEOS
   	closesocket(s);
  -#else
  -	close(s);
  -#endif
   	ap_unblock_alarms();
   	exit(1);
   #endif /*_OSD_POSIX*/
  @@ -3717,11 +3713,7 @@
       if (setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (char *) &one, sizeof(int)) < 0)
{
   	ap_log_error(APLOG_MARK, APLOG_CRIT, server_conf,
   		    "make_sock: for %s, setsockopt: (SO_KEEPALIVE)", addr);
  -#ifdef BEOS
   	closesocket(s);
  -#else
  -	close(s);
  -#endif
   
   	ap_unblock_alarms();
   	exit(1);
  @@ -3776,11 +3768,7 @@
   	    GETUSERMODE();
   #endif
   
  -#ifdef BEOS
   	closesocket(s);
  -#else
  -	close(s);
  -#endif
   	ap_unblock_alarms();
   	exit(1);
       }
  @@ -3792,11 +3780,7 @@
       if (listen(s, ap_listenbacklog) == -1) {
   	ap_log_error(APLOG_MARK, APLOG_ERR, server_conf,
   	    "make_sock: unable to listen for connections on %s", addr);
  -#ifdef BEOS
   	closesocket(s);
  -#else
  -	close(s);
  -#endif
   	ap_unblock_alarms();
   	exit(1);
       }
  @@ -3846,11 +3830,7 @@
   	    "larger than FD_SETSIZE (%u) "
   	    "found, you probably need to rebuild Apache with a "
   	    "larger FD_SETSIZE", addr, s, FD_SETSIZE);
  -#ifdef BEOS
   	closesocket(s);
  -#else
  -	close(s);
  -#endif
   	exit(1);
       }
   #endif
  
  
  

Mime
View raw message