From: Jeremy Allison Date: Thu, 17 Apr 2008 16:24:54 +0000 (-0700) Subject: Fix the problem when -L is used with IPv6 addresses. Don't try to X-Git-Tag: samba-3.3.0pre1~2641^2~55 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c003e66ff10b23bb30aef0071ba7a3ae9579174e;p=thirdparty%2Fsamba.git Fix the problem when -L is used with IPv6 addresses. Don't try to connect on port 139 with IPv6. Found by David Holder @ Erion. Karolin please merge to 3.2-stable. Jeremy. --- diff --git a/source/client/client.c b/source/client/client.c index 882ed4dbdd8..276ffb93d8c 100644 --- a/source/client/client.c +++ b/source/client/client.c @@ -4514,6 +4514,8 @@ static int process(const char *base_directory) static int do_host_query(const char *query_host) { + struct sockaddr_storage ss; + cli = cli_cm_open(talloc_tos(), NULL, query_host, "IPC$", true, smb_encrypt); if (!cli) @@ -4521,6 +4523,12 @@ static int do_host_query(const char *query_host) browse_host(true); + if (interpret_string_addr(&ss, query_host, 0) && (ss.ss_family != AF_INET)) { + d_printf("%s is an IPv6 address -- no workgroup available\n", + query_host); + return 1; + } + if (port != 139) { /* Workgroups simply don't make sense over anything