summaryrefslogtreecommitdiffstats
path: root/source/smbwrapper/smbw.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-10-04 10:46:52 +0000
committerAndrew Tridgell <tridge@samba.org>1998-10-04 10:46:52 +0000
commit147d49dade3901835b5d60b02c495bea544ff5e9 (patch)
treee42840e7a4e63ea89359820aa329e9c24da48180 /source/smbwrapper/smbw.c
parent7bd738c30a09a211fd14a8544309efeec17c66f5 (diff)
downloadsamba-147d49dade3901835b5d60b02c495bea544ff5e9.tar.gz
samba-147d49dade3901835b5d60b02c495bea544ff5e9.tar.xz
samba-147d49dade3901835b5d60b02c495bea544ff5e9.zip
use *SMBSERVER convention in smbwrapper to allow us to connect to
servers that we don't know the netbios name of.
Diffstat (limited to 'source/smbwrapper/smbw.c')
-rw-r--r--source/smbwrapper/smbw.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/smbwrapper/smbw.c b/source/smbwrapper/smbw.c
index 0abe823e299..054b694c415 100644
--- a/source/smbwrapper/smbw.c
+++ b/source/smbwrapper/smbw.c
@@ -360,21 +360,27 @@ struct smbw_server *smbw_server(char *server, char *share)
return NULL;
}
+ make_nmb_name(&calling, global_myname, 0x0, "");
+ make_nmb_name(&called , server, 0x20, "");
+
+ again:
/* have to open a new connection */
if (!cli_initialise(&c) || !cli_connect(&c, server, NULL)) {
errno = ENOENT;
return NULL;
}
- make_nmb_name(&calling, global_myname, 0x0, "");
- make_nmb_name(&called , server, 0x20, "");
-
if (!cli_session_request(&c, &calling, &called)) {
cli_shutdown(&c);
+ if (strcmp(called.name, "*SMBSERVER")) {
+ make_nmb_name(&called , "*SMBSERVER", 0x20, "");
+ goto again;
+ }
errno = ENOENT;
return NULL;
}
+
if (!cli_negprot(&c)) {
cli_shutdown(&c);
errno = ENOENT;