r7754: fixed the local port of accepted sockets in socket_wrapper. This fixes
authorAndrew Tridgell <tridge@samba.org>
Sun, 19 Jun 2005 12:34:59 +0000 (12:34 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:18:31 +0000 (13:18 -0500)
the problem with the ldap tests in 'make test'

source/lib/socket_wrapper/socket_wrapper.c

index 882ef462eaed7958942749eef91f198e8eb83598..42bac4bfaee87d9c2e1ecf443b85a9e3d779d98b 100644 (file)
@@ -242,11 +242,10 @@ int swrap_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
        memset(child_si, 0, sizeof(*child_si));
 
        child_si->fd = fd;
+       child_si->bound = 1;
 
-       if (addr && addrlen) {
-               child_si->myname_len = *addrlen;
-               child_si->myname = sockaddr_dup(addr, *addrlen);
-       }
+       child_si->myname_len = parent_si->myname_len;
+       child_si->myname = sockaddr_dup(parent_si->myname, parent_si->myname_len);
 
        child_si->peername_len = *addrlen;
        child_si->peername = sockaddr_dup(addr, *addrlen);