summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-02-09 13:18:31 +1100
committerAndrew Tridgell <tridge@samba.org>2010-02-09 14:46:09 +1100
commit580f955664a0bafc2258bd94d7e4e6ca049cd68a (patch)
tree94e5df56419af0569a0b601050305756fa53cbbb
parent3f2415c9bf9342aeb5a70901018527ed1f109754 (diff)
downloadsamba-580f955664a0bafc2258bd94d7e4e6ca049cd68a.tar.gz
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
-rw-r--r--source4/libcli/cliconnect.c4
-rw-r--r--source4/torture/util_smb.c7
2 files changed, 7 insertions, 4 deletions
diff --git a/source4/libcli/cliconnect.c b/source4/libcli/cliconnect.c
index 14935dadbab..1a5bd607b48 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 b35a1cb2076..216927ce70d 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;