diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/libsmb/namequery.c | 2 | ||||
-rw-r--r-- | source3/utils/nmblookup.c | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index 55f70be122..15bf58bc55 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -214,7 +214,7 @@ BOOL name_query(int fd,char *name,int name_type, nmb->header.response = False; nmb->header.nm_flags.bcast = bcast; nmb->header.nm_flags.recursion_available = False; - nmb->header.nm_flags.recursion_desired = True; + nmb->header.nm_flags.recursion_desired = recurse; nmb->header.nm_flags.trunc = False; nmb->header.nm_flags.authoritative = False; nmb->header.rcode = 0; diff --git a/source3/utils/nmblookup.c b/source3/utils/nmblookup.c index a44dad511e..1f74d7a130 100644 --- a/source3/utils/nmblookup.c +++ b/source3/utils/nmblookup.c @@ -77,7 +77,9 @@ static void usage(void) printf("Version %s\n",VERSION); printf("\t-d debuglevel set the debuglevel\n"); printf("\t-B broadcast address the address to use for broadcasts\n"); + printf("\t-U unicast address the address to use for unicast\n"); printf("\t-M searches for a master browser\n"); + printf("\t-R set recursion desired in packet\n"); printf("\t-S lookup node status as well\n"); printf("\t-r Use root port 137 (Win95 only replies to this)\n"); printf("\t-A Do a node status on <name> as an IP Address\n"); @@ -103,7 +105,8 @@ int main(int argc,char *argv[]) BOOL use_bcast = True; BOOL got_bcast = False; BOOL lookup_by_ip = False; - + BOOL recursion_desired = False; + DEBUGLEVEL = 1; *lookup = 0; @@ -113,7 +116,7 @@ int main(int argc,char *argv[]) charset_initialise(); - while ((opt = getopt(argc, argv, "d:B:U:i:s:SMrhA")) != EOF) + while ((opt = getopt(argc, argv, "d:B:U:i:s:SMrhAR")) != EOF) switch (opt) { case 'B': @@ -138,6 +141,9 @@ int main(int argc,char *argv[]) case 'S': find_status = True; break; + case 'R': + recursion_desired = True; + break; case 'd': DEBUGLEVEL = atoi(optarg); break; @@ -213,7 +219,7 @@ int main(int argc,char *argv[]) retries = 1; } - if (name_query(ServerFD,lookup,lookup_type,use_bcast,True, + if (name_query(ServerFD,lookup,lookup_type,use_bcast,recursion_desired, bcast_addr,&ip,NULL)) { printf("%s %s\n",inet_ntoa(ip),lookup); |