summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sharpe <sharpe@samba.org>2002-09-28 03:38:37 +0000
committerRichard Sharpe <sharpe@samba.org>2002-09-28 03:38:37 +0000
commit6fa3f56e0a6fc08f9e7ec9353e280a7295b30bf0 (patch)
treedd573ff03093f6df287c752d43dbf4b873fe1059
parentbc828246dbe367252232e5baa54ee9fc9d53ca69 (diff)
downloadsamba-6fa3f56e0a6fc08f9e7ec9353e280a7295b30bf0.tar.gz
samba-6fa3f56e0a6fc08f9e7ec9353e280a7295b30bf0.tar.bz2
samba-6fa3f56e0a6fc08f9e7ec9353e280a7295b30bf0.zip
Commit a fix to smbclient so that it will connect to EMCs and NetApp's machines.
(This used to be commit 1e4ac9615d26bfbf90e3a45f088564f448f689ce)
-rw-r--r--source3/client/client.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index eb6b572760..de6bf0e1b0 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -2436,9 +2436,24 @@ static struct cli_state *do_connect(const char *server, const char *share)
if (!cli_send_tconX(c, sharename, "?????",
password, strlen(password)+1)) {
- d_printf("tree connect failed: %s\n", cli_errstr(c));
- cli_shutdown(c);
- return NULL;
+ pstring share;
+
+ /*
+ * Some servers require \\server\share for the share
+ * while others are happy with share as we gave above
+ * Lets see if we give it the long form if it works
+ */
+ pstrcpy(share, "\\\\");
+ pstrcat(share, server);
+ pstrcat(share, "\\");
+ pstrcat(share, sharename);
+ if (!cli_send_tconX(c, share, "?????", password,
+ strlen(password) + 1)) {
+
+ d_printf("tree connect failed: %s\n", cli_errstr(c));
+ cli_shutdown(c);
+ return NULL;
+ }
}
DEBUG(4,(" tconx ok\n"));