diff options
author | Jeremy Allison <jra@samba.org> | 2007-10-24 14:16:54 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-10-24 14:16:54 -0700 |
commit | f88b7a076be74a29a3bf876b4e2705f4a1ecf42b (patch) | |
tree | 2d5167540fcbe1ad245fce697924b18216b2d142 /source3/web | |
parent | e01cbcb28e63abb0f681a5a168fc2445744eec93 (diff) | |
download | samba-f88b7a076be74a29a3bf876b4e2705f4a1ecf42b.tar.gz samba-f88b7a076be74a29a3bf876b4e2705f4a1ecf42b.tar.bz2 samba-f88b7a076be74a29a3bf876b4e2705f4a1ecf42b.zip |
This is a large patch (sorry). Migrate from struct in_addr
to struct sockaddr_storage in most places that matter (ie.
not the nmbd and NetBIOS lookups). This passes make test
on an IPv4 box, but I'll have to do more work/testing on
IPv6 enabled boxes. This should now give us a framework
for testing and finishing the IPv6 migration. It's at
the state where someone with a working IPv6 setup should
(theorecically) be able to type :
smbclient //ipv6-address/share
and have it work.
Jeremy.
(This used to be commit 98e154c3125d5732c37a72d74b0eb5cd7b6155fd)
Diffstat (limited to 'source3/web')
-rw-r--r-- | source3/web/diagnose.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/source3/web/diagnose.c b/source3/web/diagnose.c index df3b34dd16..221ce83f82 100644 --- a/source3/web/diagnose.c +++ b/source3/web/diagnose.c @@ -36,16 +36,18 @@ bool nmbd_running(void) { struct in_addr loopback_ip; int fd, count, flags; - struct in_addr *ip_list; + struct sockaddr_storage *ss_list; + struct sockaddr_storage ss; loopback_ip.s_addr = htonl(INADDR_LOOPBACK); + in_addr_to_sockaddr_storage(&ss, loopback_ip); if ((fd = open_socket_in(SOCK_DGRAM, 0, 3, - interpret_addr("127.0.0.1"), True)) != -1) { - if ((ip_list = name_query(fd, "__SAMBA__", 0, - True, True, loopback_ip, + &ss, True)) != -1) { + if ((ss_list = name_query(fd, "__SAMBA__", 0, + True, True, &ss, &count, &flags, NULL)) != NULL) { - SAFE_FREE(ip_list); + SAFE_FREE(ss_list); close(fd); return True; } @@ -63,13 +65,15 @@ bool smbd_running(void) struct in_addr loopback_ip; NTSTATUS status; struct cli_state *cli; + struct sockaddr_storage ss; loopback_ip.s_addr = htonl(INADDR_LOOPBACK); + in_addr_to_sockaddr_storage(&ss, loopback_ip); if ((cli = cli_initialise()) == NULL) return False; - status = cli_connect(cli, global_myname(), &loopback_ip); + status = cli_connect(cli, global_myname(), &ss); if (!NT_STATUS_IS_OK(status)) { cli_shutdown(cli); return False; |