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);

Reply via email to