manoj       99/11/02 13:49:28

  Modified:    src/lib/apr/network_io/beos sockets.c
               src/lib/apr/network_io/unix sockets.c
               src/lib/apr/network_io/win32 sockets.c
  Log:
  Another APR socket bug. We weren't properly setting local_addr. This
  also makes vhosts work again.
  
  My previous APR socket commit made restarts work again, BTW.
  
  Revision  Changes    Path
  1.15      +2 -0      apache-2.0/src/lib/apr/network_io/beos/sockets.c
  
  Index: sockets.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/network_io/beos/sockets.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -d -u -r1.14 -r1.15
  --- sockets.c 1999/11/02 21:21:51     1.14
  +++ sockets.c 1999/11/02 21:49:25     1.15
  @@ -148,6 +148,8 @@
       (*new)->cntxt = connection_context;
       (*new)->local_addr = (struct sockaddr_in *)ap_palloc((*new)->cntxt, 
                    sizeof(struct sockaddr_in));
  +    memcpy((*new)->local_addr, sock->local_addr, sizeof(struct sockaddr_in));
  +
       (*new)->remote_addr = (struct sockaddr_in *)ap_palloc((*new)->cntxt, 
                    sizeof(struct sockaddr_in));
       (*new)->addr_len = sizeof(struct sockaddr_in);
  
  
  
  1.23      +2 -0      apache-2.0/src/lib/apr/network_io/unix/sockets.c
  
  Index: sockets.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/network_io/unix/sockets.c,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -d -u -r1.22 -r1.23
  --- sockets.c 1999/11/02 21:21:53     1.22
  +++ sockets.c 1999/11/02 21:49:26     1.23
  @@ -202,6 +202,8 @@
       (*new)->cntxt = connection_context;
       (*new)->local_addr = (struct sockaddr_in *)ap_palloc((*new)->cntxt, 
                    sizeof(struct sockaddr_in));
  +    memcpy((*new)->local_addr, sock->local_addr, sizeof(struct sockaddr_in));
  +
       (*new)->remote_addr = (struct sockaddr_in *)ap_palloc((*new)->cntxt, 
                    sizeof(struct sockaddr_in));
       (*new)->addr_len = sizeof(struct sockaddr_in);
  
  
  
  1.15      +2 -0      apache-2.0/src/lib/apr/network_io/win32/sockets.c
  
  Index: sockets.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/network_io/win32/sockets.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -d -u -r1.14 -r1.15
  --- sockets.c 1999/11/02 21:21:54     1.14
  +++ sockets.c 1999/11/02 21:49:27     1.15
  @@ -165,6 +165,8 @@
       (*new)->cntxt = connection_context;
       (*new)->local_addr = (struct sockaddr_in *)ap_palloc((*new)->cntxt, 
                    sizeof(struct sockaddr_in));
  +    memcpy((*new)->local_addr, sock->local_addr, sizeof(struct sockaddr_in));
  +
       (*new)->addr_len = sizeof(struct sockaddr_in);
   
       (*new)->sock = accept(sock->sock, (struct sockaddr *)(*new)->local_addr,
  
  
  

Reply via email to