1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

Move wins_lookup_open_socket_in() to remove a compile warning.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Jan  8 01:48:27 CET 2011 on sn-devel-104
This commit is contained in:
Jeremy Allison 2011-01-07 15:27:51 -08:00
parent 3e61c97a7e
commit 52aac4dd54

View File

@ -45,50 +45,6 @@ NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
char *buffer, size_t buflen, int *h_errnop);
/* Use our own create socket code so we don't recurse.... */
static int wins_lookup_open_socket_in(void)
{
struct sockaddr_in sock;
int val=1;
int res;
memset((char *)&sock,'\0',sizeof(sock));
#ifdef HAVE_SOCK_SIN_LEN
sock.sin_len = sizeof(sock);
#endif
sock.sin_port = 0;
sock.sin_family = AF_INET;
sock.sin_addr.s_addr = interpret_addr("0.0.0.0");
res = socket(AF_INET, SOCK_DGRAM, 0);
if (res == -1)
return -1;
if (setsockopt(res,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val)) != 0) {
close(res);
return -1;
}
#ifdef SO_REUSEPORT
if (setsockopt(res,SOL_SOCKET,SO_REUSEPORT,(char *)&val,sizeof(val)) != 0) {
close(res);
return -1;
}
#endif /* SO_REUSEPORT */
/* now we've got a socket - we need to bind it */
if (bind(res, (struct sockaddr * ) &sock,sizeof(sock)) < 0) {
close(res);
return(-1);
}
set_socket_options(res,"SO_BROADCAST");
return res;
}
static void nss_wins_init(void)
{
initialised = 1;
@ -158,6 +114,49 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count)
#ifdef HAVE_NS_API_H
/* Use our own create socket code so we don't recurse.... */
static int wins_lookup_open_socket_in(void)
{
struct sockaddr_in sock;
int val=1;
int res;
memset((char *)&sock,'\0',sizeof(sock));
#ifdef HAVE_SOCK_SIN_LEN
sock.sin_len = sizeof(sock);
#endif
sock.sin_port = 0;
sock.sin_family = AF_INET;
sock.sin_addr.s_addr = interpret_addr("0.0.0.0");
res = socket(AF_INET, SOCK_DGRAM, 0);
if (res == -1)
return -1;
if (setsockopt(res,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val)) != 0) {
close(res);
return -1;
}
#ifdef SO_REUSEPORT
if (setsockopt(res,SOL_SOCKET,SO_REUSEPORT,(char *)&val,sizeof(val)) != 0) {
close(res);
return -1;
}
#endif /* SO_REUSEPORT */
/* now we've got a socket - we need to bind it */
if (bind(res, (struct sockaddr * ) &sock,sizeof(sock)) < 0) {
close(res);
return(-1);
}
set_socket_options(res,"SO_BROADCAST");
return res;
}
static struct node_status *lookup_byaddr_backend(char *addr, int *count)
{
int fd;