From: Jakub Bogusz Date: Sun, 18 Apr 2004 20:59:55 +0000 (+0000) Subject: - apr changes from httpd-2.0.47-metuxmpm-r7.diff X-Git-Tag: auto/ac/apr-0_9_5-6~1 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=ca043f9e9e63bb670debc5b12efd75fdd0d0b78d;p=packages%2Fapr.git - apr changes from httpd-2.0.47-metuxmpm-r7.diff Changed files: apr-metuxmpm.patch -> 1.1 --- diff --git a/apr-metuxmpm.patch b/apr-metuxmpm.patch new file mode 100644 index 0000000..e1003ee --- /dev/null +++ b/apr-metuxmpm.patch @@ -0,0 +1,40 @@ +--- apr-httpd-2.0.49/network_io/unix/sockets.c.orig 2004-02-13 10:33:51.000000000 +0100 ++++ apr-httpd-2.0.49/network_io/unix/sockets.c 2004-04-18 22:49:53.089901496 +0200 +@@ -372,7 +372,36 @@ + set_socket_vars(*sock, APR_INET, SOCK_STREAM, 0); + (*sock)->timeout = -1; + } +- (*sock)->local_port_unknown = (*sock)->local_interface_unknown = 1; ++/* (*sock)->local_port_unknown = (*sock)->local_interface_unknown = 1; */ ++ if (1) ++ { ++ /* fixup socket's peer information. ++ we need it for the muxmpm. enrico weigelt, metux ITS ++ ++ */ ++ /* XXX next line looks bogus w.r.t. AF_INET6 support */ ++ ++ /* adjust remote address */ ++ (*sock)->remote_addr->salen = sizeof((*sock)->remote_addr->sa); ++ getpeername( ++ *thesock, ++ (struct sockaddr*)&((*sock)->remote_addr->sa), ++ &((*sock)->remote_addr->salen) ++ ); ++ (*sock)->remote_addr->port = ntohs((*sock)->remote_addr->sa.sin.sin_port); ++ ++ /* XXX assumes sin_port and sin6_port at same offset */ ++ ++ /* adjust local address */ ++ getsockname( ++ *thesock, ++ (struct sockaddr*)&((*sock)->local_addr->sa), ++ &((*sock)->local_addr->salen) ++ ); ++ (*sock)->local_addr->port = ntohs((*sock)->local_addr->sa.sin.sin_port); ++ (*sock)->local_port_unknown = (*sock)->local_interface_unknown = 0; ++ } ++ + (*sock)->remote_addr_unknown = 1; + (*sock)->socketdes = *thesock; + return APR_SUCCESS;