summaryrefslogtreecommitdiff
path: root/source3/client
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-03-16 20:59:47 +0000
committerJeremy Allison <jra@samba.org>1998-03-16 20:59:47 +0000
commitc54af0f8b20e3f93c59da6a817920e1de6c4a870 (patch)
treeb0da64f4bb04846bdf9562ecb445b22fbd6f1885 /source3/client
parent14d6ee34de8935cb3ef59820fabf98d588dab11f (diff)
downloadsamba-c54af0f8b20e3f93c59da6a817920e1de6c4a870.tar.gz
samba-c54af0f8b20e3f93c59da6a817920e1de6c4a870.tar.bz2
samba-c54af0f8b20e3f93c59da6a817920e1de6c4a870.zip
Adding the same change as was added to 1.9.18 branch to add the
"name resolve order" parameter. source/Makefile: Re-ordered link for name resolve order code. source/clientgen.c: source/clientutil.c: Added calls to resolve_name(). source/includes.h: Added HPUX zombie fix. source/loadparm.c: Added new name resolve order parameter. source/namequery.c: Re-wrote to include parsing of lmhosts file, new resolve_name() function requested by John. source/nmbd.c: Tell resolve_name not to do WINS lookups if we are the WINS server. source/nmbd_lmhosts.c: Call lmhosts parsing functions in namequery.c source/password.c: Call resolve_name() to lookup security=server name. source/reply.c: source/time.c: source/trans2.c: "fake directory create times" fix from Jim Hague - hague@research.canon.com.au. source/util.c: Removed isalnum() test in Get_Hostname() that seems to cause problems on many systems. Jeremy. (This used to be commit 7f118970da7c43eaddcf92dc056d3e849f1e7d5c)
Diffstat (limited to 'source3/client')
-rw-r--r--source3/client/client.c12
-rw-r--r--source3/client/clientutil.c34
2 files changed, 13 insertions, 33 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index da44f344dd..679114fa2b 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -3500,6 +3500,7 @@ static void usage(char *pname)
DEBUG(0,("\t-m max protocol set the max protocol level\n"));
DEBUG(0,("\t-L host get a list of shares available on a host\n"));
DEBUG(0,("\t-I dest IP use this IP to connect to\n"));
+ DEBUG(0,("\t-R name resolve order use these name resolution services only\n"));
DEBUG(0,("\t-E write messages to stderr instead of stdout\n"));
DEBUG(0,("\t-U username set the network username\n"));
DEBUG(0,("\t-W workgroup set the workgroup name\n"));
@@ -3528,6 +3529,7 @@ static void usage(char *pname)
extern char tar_type;
static pstring servicesf = CONFIGFILE;
pstring term_code;
+ pstring new_name_resolve_order;
char *p;
#ifdef KANJI
@@ -3539,6 +3541,8 @@ static void usage(char *pname)
*query_host = 0;
*base_directory = 0;
+ *new_name_resolve_order = 0;
+
DEBUGLEVEL = 2;
setup_logging(pname,True);
@@ -3624,7 +3628,7 @@ static void usage(char *pname)
}
while ((opt =
- getopt(argc, argv,"s:B:O:M:S:i:Nn:d:Pp:l:hI:EB:U:L:t:m:W:T:D:c:")) != EOF)
+ getopt(argc, argv,"s:B:O:R:M:S:i:Nn:d:Pp:l:hI:EB:U:L:t:m:W:T:D:c:")) != EOF)
switch (opt)
{
case 'm':
@@ -3633,6 +3637,9 @@ static void usage(char *pname)
case 'O':
strcpy(user_socket_options,optarg);
break;
+ case 'R':
+ pstrcpy(new_name_resolve_order, optarg);
+ break;
case 'S':
strcpy(desthost,optarg);
strupper(desthost);
@@ -3760,6 +3767,9 @@ static void usage(char *pname)
get_myname((*myname)?NULL:myname,NULL);
strupper(myname);
+ if(*new_name_resolve_order)
+ lp_set_name_resolve_order(new_name_resolve_order);
+
if (tar_type) {
recurse=True;
diff --git a/source3/client/clientutil.c b/source3/client/clientutil.c
index 8d5e11e4d8..2afac354c2 100644
--- a/source3/client/clientutil.c
+++ b/source3/client/clientutil.c
@@ -29,8 +29,6 @@
#define REGISTER 0
#endif
-#define USENMB
-
pstring service="";
pstring desthost="";
extern pstring myname;
@@ -863,7 +861,6 @@ BOOL cli_open_sockets(int port )
char *host;
pstring service2;
extern int Client;
- BOOL failed = True;
if (port == 0) port=last_port;
last_port=port;
@@ -894,37 +891,10 @@ BOOL cli_open_sockets(int port )
if (!have_ip)
{
- struct hostent *hp;
-
- if ((hp = Get_Hostbyname(host)))
- {
- putip((char *)&dest_ip,(char *)hp->h_addr);
- failed = False;
- }
- else
+ if(!resolve_name( host, &dest_ip))
{
-#ifdef USENMB
- /* Try and resolve the name with the netbios server */
- int bcast, count;
- struct in_addr *ip_list;
-
- if ((bcast = open_socket_in(SOCK_DGRAM, 0, 3,
- interpret_addr(lp_socket_address()))) != -1) {
- set_socket_options(bcast, "SO_BROADCAST");
-
- if ((ip_list = name_query(bcast, host, name_type, True, True, *iface_bcast(dest_ip),
- &count,0)) != NULL) {
- dest_ip = ip_list[0];
- free(ip_list);
- failed = False;
- }
- close (bcast);
- }
-#endif
- if (failed) {
- DEBUG(0,("Get_Hostbyname: Unknown host %s.\n",host));
+ DEBUG(0,("cli_open_sockets: Unknown host %s.\n",host));
return False;
- }
}
}