httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@hyperreal.org>
Subject cvs commit: apache/src http_main.c
Date Sun, 20 Jul 1997 18:18:59 GMT
dgaudet     97/07/20 11:18:59

  Modified:    src       Tag: APACHE_1_2_X  http_main.c
  Log:
  PR#832: Fix Solaris -HUP problem introduced in 1.2.1.
  
  Reviewed by:	Roy Fielding, (and it's been in 1.3 for a few weeks)
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.149.2.5 +33 -20    apache/src/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.149.2.4
  retrieving revision 1.149.2.5
  diff -C3 -r1.149.2.4 -r1.149.2.5
  *** http_main.c	1997/06/29 18:08:37	1.149.2.4
  --- http_main.c	1997/07/20 18:18:56	1.149.2.5
  ***************
  *** 1971,1976 ****
  --- 1971,2002 ----
        return 0;
    }
    
  + 
  + static void sock_bind (int s, const struct sockaddr_in *server)
  + {
  + #ifdef MPE
  + /* MPE requires CAP=PM and GETPRIVMODE to bind to ports less than 1024 */
  +     if (ntohs(server->sin_port) < 1024) GETPRIVMODE();
  + #endif
  +     if(bind(s, (struct sockaddr *)server,sizeof(struct sockaddr_in)) == -1)
  +     {
  +         perror("bind");
  + #ifdef MPE
  +         if (ntohs(server->sin_port) < 1024) GETUSERMODE();
  + #endif
  + 	if (server->sin_addr.s_addr != htonl(INADDR_ANY))
  + 	    fprintf(stderr,"httpd: could not bind to address %s port %d\n",
  + 		    inet_ntoa(server->sin_addr), ntohs(server->sin_port));
  + 	else
  + 	    fprintf(stderr,"httpd: could not bind to port %d\n",
  + 		    ntohs(server->sin_port));
  +         exit(1);
  +     }
  + #ifdef MPE
  +     if (ntohs(server->sin_port) < 1024) GETUSERMODE();
  + #endif
  + }
  + 
    static int make_sock(pool *pconf, const struct sockaddr_in *server)
    {
        int s;
  ***************
  *** 1982,1987 ****
  --- 2008,2017 ----
            exit(1);
        }
    
  + #ifdef SOLARIS2
  +     sock_bind (s, server);
  + #endif
  + 	
        s = ap_slack(s, AP_SLACK_HIGH);
    
        note_cleanups_for_fd(pconf, s); /* arrange to close on exec or restart */
  ***************
  *** 2031,2057 ****
    	}
        }
    
  ! #ifdef MPE
  ! /* MPE requires CAP=PM and GETPRIVMODE to bind to ports less than 1024 */
  !     if (ntohs(server->sin_port) < 1024) GETPRIVMODE();
  ! #endif
  !     if(bind(s, (struct sockaddr *)server,sizeof(struct sockaddr_in)) == -1)
  !     {
  !         perror("bind");
  ! #ifdef MPE
  !         if (ntohs(server->sin_port) < 1024) GETUSERMODE();
  ! #endif
  ! 	if (server->sin_addr.s_addr != htonl(INADDR_ANY))
  ! 	    fprintf(stderr,"httpd: could not bind to address %s port %d\n",
  ! 		    inet_ntoa(server->sin_addr), ntohs(server->sin_port));
  ! 	else
  ! 	    fprintf(stderr,"httpd: could not bind to port %d\n",
  ! 		    ntohs(server->sin_port));
  !         exit(1);
  !     }
  ! #ifdef MPE
  !     if (ntohs(server->sin_port) < 1024) GETUSERMODE();
    #endif
        listen(s, 512);
        return s;
    }
  --- 2061,2070 ----
    	}
        }
    
  ! #ifndef SOLARIS2
  !     sock_bind (s, server);
    #endif
  + 
        listen(s, 512);
        return s;
    }
  
  
  

Mime
View raw message