From 580f955664a0bafc2258bd94d7e4e6ca049cd68a Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 9 Feb 2010 13:18:31 +1100 Subject: s4-torture: allow host-only in unc lists in smbtorture Allow UNC lists like this: 192.168.2.1 192.168.2.2 192.168.2.3 the share name will be taken from the command line --- source4/libcli/cliconnect.c | 4 ++-- source4/torture/util_smb.c | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source4/libcli/cliconnect.c b/source4/libcli/cliconnect.c index 14935dadba..1a5bd607b4 100644 --- a/source4/libcli/cliconnect.c +++ b/source4/libcli/cliconnect.c @@ -238,13 +238,13 @@ bool smbcli_parse_unc(const char *unc_name, TALLOC_CTX *mem_ctx, { char *p; - *hostname = *sharename = NULL; - if (strncmp(unc_name, "\\\\", 2) && strncmp(unc_name, "//", 2)) { return false; } + *hostname = *sharename = NULL; + *hostname = talloc_strdup(mem_ctx, &unc_name[2]); p = terminate_path_at_separator(*hostname); diff --git a/source4/torture/util_smb.c b/source4/torture/util_smb.c index b35a1cb207..216927ce70 100644 --- a/source4/torture/util_smb.c +++ b/source4/torture/util_smb.c @@ -548,8 +548,11 @@ _PUBLIC_ bool torture_get_conn_index(int conn_index, return false; } - if (!smbcli_parse_unc(unc_list[conn_index % num_unc_names], - mem_ctx, host, share)) { + p = unc_list[conn_index % num_unc_names]; + if (p[0] != '/' && p[0] != '\\') { + /* allow UNC lists of hosts */ + (*host) = talloc_strdup(mem_ctx, p); + } else if (!smbcli_parse_unc(p, mem_ctx, host, share)) { DEBUG(0, ("Failed to parse UNC name %s\n", unc_list[conn_index % num_unc_names])); return false; -- cgit