From f88b7a076be74a29a3bf876b4e2705f4a1ecf42b Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 24 Oct 2007 14:16:54 -0700 Subject: 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) --- source3/web/diagnose.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'source3/web/diagnose.c') 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; -- cgit