summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-04-12 12:52:42 +0200
committerVolker Lendecke <vl@samba.org>2009-04-12 14:51:15 +0200
commit602059a6ab8c4939dd453566415321b2b85706f4 (patch)
treedbaa2a712e4ebc45e279a06b83c56f5437687b01 /source3/libsmb
parentb742b4547e9a5adb4c235995751bae5649be3031 (diff)
downloadsamba-602059a6ab8c4939dd453566415321b2b85706f4.tar.gz
samba-602059a6ab8c4939dd453566415321b2b85706f4.tar.bz2
samba-602059a6ab8c4939dd453566415321b2b85706f4.zip
Fix a bug in smbclient not sending the correct called name
Jeremy, I think the ability to say smbclient //foo/bar -I <ip-address> -p 139 making the called name to "foo" got lost with 3d2d0203. Was this removed deliberately? If so, please revert this patch. If not, please merge appropriately. Thanks, Volker
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/clidfs.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index 430807eb7f..98b96cfc56 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -94,6 +94,7 @@ static struct cli_state *do_connect(TALLOC_CTX *ctx,
{
struct cli_state *c = NULL;
struct nmb_name called, calling;
+ const char *called_str;
const char *server_n;
struct sockaddr_storage ss;
char *servicename;
@@ -111,6 +112,7 @@ static struct cli_state *do_connect(TALLOC_CTX *ctx,
sharename = servicename;
if (*sharename == '\\') {
sharename += 2;
+ called_str = sharename;
if (server == NULL) {
server = sharename;
}
@@ -120,6 +122,8 @@ static struct cli_state *do_connect(TALLOC_CTX *ctx,
}
*sharename = 0;
sharename++;
+ } else {
+ called_str = server;
}
server_n = server;
@@ -127,7 +131,7 @@ static struct cli_state *do_connect(TALLOC_CTX *ctx,
zero_sockaddr(&ss);
make_nmb_name(&calling, global_myname(), 0x0);
- make_nmb_name(&called , server, name_type);
+ make_nmb_name(&called , called_str, name_type);
again:
zero_sockaddr(&ss);