Tom Donovan wrote:
>
> I see that apr_os_sock_put() set remote_addr_unknown=1 in earlier APR
> versions too.
It's actually apr_os_sock_make() and although it set unknown=1 where there
was no remote addr, it assumed unknown from alloc_socket() was 0.
Try the attached patch please?
Bill
Index: network_io/win32/sockets.c
===================================================================
--- network_io/win32/sockets.c (revision 492717)
+++ network_io/win32/sockets.c (working copy)
@@ -451,10 +451,8 @@
(*apr_sock)->remote_addr->pool = cont;
/* 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);
+ (*apr_sock)->remote_addr_unknown = 0;
}
- else {
- (*apr_sock)->remote_addr_unknown = 1;
- }
apr_pool_cleanup_register((*apr_sock)->pool, (void *)(*apr_sock),
socket_cleanup, apr_pool_cleanup_null);