summaryrefslogtreecommitdiff
path: root/network_io/os2
diff options
context:
space:
mode:
authortrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2002-10-25 17:15:37 +0000
committertrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2002-10-25 17:15:37 +0000
commit5500d1d2687dffe4e3abcb811688d494234ab9bc (patch)
tree971b0ec0d787766d88ac94950c7c4be0bb21a3d3 /network_io/os2
parentd727d0c770bb720f60e736917f952ccbb316b768 (diff)
downloadlibapr-5500d1d2687dffe4e3abcb811688d494234ab9bc.tar.gz
Fix a problem retrieving the remote socket address for sockets
created via apr_os_sock_put() or apr_s_sock_make() git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@63985 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io/os2')
-rw-r--r--network_io/os2/sockets.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/network_io/os2/sockets.c b/network_io/os2/sockets.c
index 7148cee83..9a704b8f4 100644
--- a/network_io/os2/sockets.c
+++ b/network_io/os2/sockets.c
@@ -283,6 +283,9 @@ APR_DECLARE(apr_status_t) apr_os_sock_make(apr_socket_t **apr_sock,
/* XXX IPv6 - this assumes sin_port and sin6_port at same offset */
(*apr_sock)->remote_addr->port = ntohs((*apr_sock)->remote_addr->sa.sin.sin_port);
}
+ else {
+ (*apr_sock)->remote_addr_unknown = 1;
+ }
apr_pool_cleanup_register((*apr_sock)->cntxt, (void *)(*apr_sock),
socket_cleanup, apr_pool_cleanup_null);
@@ -302,6 +305,7 @@ APR_DECLARE(apr_status_t) apr_os_sock_put(apr_socket_t **sock, apr_os_sock_t *th
}
(*sock)->local_port_unknown = (*sock)->local_interface_unknown = 1;
+ (*sock)->remote_addr_unknown = 1;
(*sock)->socketdes = *thesock;
return APR_SUCCESS;
}