added -U option to nmblookup. This is similar to -B except that it
authorAndrew Tridgell <tridge@samba.org>
Sun, 26 Oct 1997 07:50:28 +0000 (07:50 +0000)
committerAndrew Tridgell <tridge@samba.org>
Sun, 26 Oct 1997 07:50:28 +0000 (07:50 +0000)
forces the client to send a unicast instead of a broadcast netbios
packet. This is useful for diagnostics.
(This used to be commit 57e0fac61414c032df35c8a4c0ba4d3a9f55c5b8)

source3/utils/nmblookup.c

index d26d19969578bd8a0238fdb7ef837d366287540a..a44dad511e27a0fd022931a9ed7b652a9e540617 100644 (file)
@@ -100,6 +100,7 @@ int main(int argc,char *argv[])
   int i;
   static pstring servicesf = CONFIGFILE;
   struct in_addr bcast_addr;
+  BOOL use_bcast = True;
   BOOL got_bcast = False;
   BOOL lookup_by_ip = False;
   
@@ -112,13 +113,20 @@ int main(int argc,char *argv[])
 
   charset_initialise();
 
-  while ((opt = getopt(argc, argv, "d:B:i:s:SMrhA")) != EOF)
+  while ((opt = getopt(argc, argv, "d:B:U:i:s:SMrhA")) != EOF)
     switch (opt)
       {
       case 'B':
        iface_set_default(NULL,optarg,NULL);
        bcast_addr = *interpret_addr2(optarg);
        got_bcast = True;
+       use_bcast = True;
+       break;
+      case 'U':
+       iface_set_default(NULL,optarg,NULL);
+       bcast_addr = *interpret_addr2(optarg);
+       got_bcast = True;
+       use_bcast = False;
        break;
       case 'i':
        fstrcpy(scope,optarg);
@@ -172,7 +180,6 @@ int main(int argc,char *argv[])
 
   for (i=optind;i<argc;i++)
   {
-      BOOL bcast = True;
       int retries = 2;
       char *p;
       struct in_addr ip;
@@ -203,12 +210,11 @@ int main(int argc,char *argv[])
       if (p) {
        *p = 0;
        sscanf(p+1,"%x",&lookup_type);
-       bcast = False;
        retries = 1;
       }
 
-      if (name_query(ServerFD,lookup,lookup_type,bcast,True,
-                  bcast_addr,&ip,NULL)) 
+      if (name_query(ServerFD,lookup,lookup_type,use_bcast,True,
+                    bcast_addr,&ip,NULL)) 
       {
         printf("%s %s\n",inet_ntoa(ip),lookup);