]> git.pld-linux.org Git - packages/apr-compat.git/blob - apr-metuxmpm.patch
- drop obsolete files
[packages/apr-compat.git] / apr-metuxmpm.patch
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.045806 seconds and 3 git commands to generate.