diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-12-11 05:16:48 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-12-11 05:16:48 +0000 |
commit | b4304c5231159fc6295c445f2eb4470c179b8d5e (patch) | |
tree | 77200c33ddc6164ccf3f61df4de6309fedb7890b /source/libsmb/cliconnect.c | |
parent | cb9dbcef7cba9eb42f7b30b81c35142dc945d84f (diff) | |
download | samba-b4304c5231159fc6295c445f2eb4470c179b8d5e.tar.gz samba-b4304c5231159fc6295c445f2eb4470c179b8d5e.tar.xz samba-b4304c5231159fc6295c445f2eb4470c179b8d5e.zip |
detect attempts to connect to names of the type NAME#xx and do a
netbios lookup for name NAME with node type xx.
This affects all our client progs. Very useful :)
Diffstat (limited to 'source/libsmb/cliconnect.c')
-rw-r--r-- | source/libsmb/cliconnect.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/libsmb/cliconnect.c b/source/libsmb/cliconnect.c index 512607fc110..27034b012d3 100644 --- a/source/libsmb/cliconnect.c +++ b/source/libsmb/cliconnect.c @@ -975,11 +975,19 @@ open the client sockets BOOL cli_connect(struct cli_state *cli, const char *host, struct in_addr *ip) { extern pstring user_socket_options; + int name_type = 0x20; + char *p; fstrcpy(cli->desthost, host); + + /* allow hostnames of the form NAME#xx and do a netbios lookup */ + if ((p = strchr(cli->desthost, '#'))) { + name_type = strtol(p+1, NULL, 16); + *p = 0; + } if (!ip || is_zero_ip(*ip)) { - if (!resolve_name( cli->desthost, &cli->dest_ip, 0x20)) { + if (!resolve_name(cli->desthost, &cli->dest_ip, name_type)) { return False; } if (ip) *ip = cli->dest_ip; @@ -1328,3 +1336,5 @@ name *SMBSERVER with error %s\n", desthost, cli_errstr(cli) )); return True; } + + |