diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-06-27 13:58:44 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-06-27 13:58:44 +0000 |
commit | 5ac133bac731e3f014df35126dd5ecb87837b8a6 (patch) | |
tree | 5c13ed0cb3198720ab69446badd2bdaee5b55ca1 | |
parent | c6f647dfd9dff2e9681f084b01cc7267b779f8fd (diff) | |
download | samba-5ac133bac731e3f014df35126dd5ecb87837b8a6.tar.gz samba-5ac133bac731e3f014df35126dd5ecb87837b8a6.tar.bz2 samba-5ac133bac731e3f014df35126dd5ecb87837b8a6.zip |
on sco2 socketpair_tcp needs a bind
(This used to be commit d8e5409ebb883844d9a1abc9840af1809957a444)
-rw-r--r-- | source3/lib/util_sock.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index d7bef0697e..e3673f011a 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -1158,6 +1158,7 @@ static int socketpair_tcp(int fd[2]) { int listener; struct sockaddr sock; + struct sockaddr_in sock2; socklen_t socklen = sizeof(sock); int connect_done = 0; @@ -1167,6 +1168,14 @@ static int socketpair_tcp(int fd[2]) if ((listener = socket(PF_INET, SOCK_STREAM, 0)) == -1) goto failed; + memset(&sock2, 0, sizeof(sock2)); +#ifdef HAVE_SOCK_SIN_LEN + sock2.sin_len = sizeof(sock2); +#endif + sock2.sin_family = PF_INET; + + bind(listener, (struct sockaddr *)&sock2, sizeof(sock2)); + if (listen(listener, 1) != 0) goto failed; if (getsockname(listener, &sock, &socklen) != 0) goto failed; |