summaryrefslogtreecommitdiff
path: root/source3/web/diagnose.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/web/diagnose.c')
-rw-r--r--source3/web/diagnose.c16
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;