]> git.pld-linux.org Git - packages/apr-compat.git/blame - apr-metuxmpm.patch
- up to 1.2.9
[packages/apr-compat.git] / apr-metuxmpm.patch
CommitLineData
0dfe343b
JB
1--- apr-httpd-2.0.49/network_io/unix/sockets.c.orig 2004-02-13 10:33:51.000000000 +0100
2+++ apr-httpd-2.0.49/network_io/unix/sockets.c 2004-04-18 22:49:53.089901496 +0200
3@@ -372,7 +372,36 @@
4 set_socket_vars(*sock, APR_INET, SOCK_STREAM, 0);
5 (*sock)->timeout = -1;
6 }
7- (*sock)->local_port_unknown = (*sock)->local_interface_unknown = 1;
8+/* (*sock)->local_port_unknown = (*sock)->local_interface_unknown = 1; */
9+ if (1)
10+ {
11+ /* fixup socket's peer information.
12+ we need it for the muxmpm. enrico weigelt, metux ITS
13+ <weigelt@metux.de>
14+ */
15+ /* XXX next line looks bogus w.r.t. AF_INET6 support */
16+
17+ /* adjust remote address */
18+ (*sock)->remote_addr->salen = sizeof((*sock)->remote_addr->sa);
19+ getpeername(
20+ *thesock,
21+ (struct sockaddr*)&((*sock)->remote_addr->sa),
22+ &((*sock)->remote_addr->salen)
23+ );
24+ (*sock)->remote_addr->port = ntohs((*sock)->remote_addr->sa.sin.sin_port);
25+
26+ /* XXX assumes sin_port and sin6_port at same offset */
27+
28+ /* adjust local address */
29+ getsockname(
30+ *thesock,
31+ (struct sockaddr*)&((*sock)->local_addr->sa),
32+ &((*sock)->local_addr->salen)
33+ );
34+ (*sock)->local_addr->port = ntohs((*sock)->local_addr->sa.sin.sin_port);
35+ (*sock)->local_port_unknown = (*sock)->local_interface_unknown = 0;
36+ }
37+
38 (*sock)->remote_addr_unknown = 1;
39 (*sock)->socketdes = *thesock;
40 return APR_SUCCESS;
This page took 0.077118 seconds and 4 git commands to generate.