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,