summaryrefslogtreecommitdiff
path: root/source3/utils/nmblookup.c
diff options
context:
space:
mode:
authorChristopher R. Hertel <crh@samba.org>1997-10-04 01:07:47 +0000
committerChristopher R. Hertel <crh@samba.org>1997-10-04 01:07:47 +0000
commite722d7077695242a7d6c0749b9a63741f660382a (patch)
treee436c68df014372bf673b6846c20131291de8995 /source3/utils/nmblookup.c
parent3c5998e29be2ce035d71b211aa992e38b5cf7904 (diff)
downloadsamba-e722d7077695242a7d6c0749b9a63741f660382a.tar.gz
samba-e722d7077695242a7d6c0749b9a63741f660382a.tar.bz2
samba-e722d7077695242a7d6c0749b9a63741f660382a.zip
nmblookup.c:
I've added a -r option. When specified, nmblookup will attempt to bind to port 137. In order for this to work, the user must be root and the port must be available (i.e., nmbd not running). If either condition is not met, nmblookup will default to normal behavior; it will try to bind to a free port above 7999. I also removed an artifact. The -p <port> option was being accepted but falling through to the default, which was the usage message. I removed "p:" from the getopt() list. params.c: Rewritten. The scanning is much more linear, and I found and fixed a few bugs. I don't like the way that the scratch buffer is handled, but I believe that it is an improvement over the previous version. Chris -)----- (This used to be commit 09dc951f2acd67da9d895e8e00c01e7abbbe0960)
Diffstat (limited to 'source3/utils/nmblookup.c')
-rw-r--r--source3/utils/nmblookup.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source3/utils/nmblookup.c b/source3/utils/nmblookup.c
index aebbc4292c..36905aa5ae 100644
--- a/source3/utils/nmblookup.c
+++ b/source3/utils/nmblookup.c
@@ -35,6 +35,8 @@ extern struct in_addr ipzero;
int ServerFD= -1;
+int RootPort = 0;
+
/****************************************************************************
open the socket communication
**************************************************************************/
@@ -49,7 +51,10 @@ static BOOL open_sockets(void)
return False;
}
- ServerFD = open_socket_in(SOCK_DGRAM, 0,3,interpret_addr(lp_socket_address()));
+ ServerFD = open_socket_in( SOCK_DGRAM,
+ (RootPort ? 137 :0),
+ 3,
+ interpret_addr(lp_socket_address()) );
if (ServerFD == -1)
return(False);
@@ -113,7 +118,7 @@ int main(int argc,char *argv[])
charset_initialise();
- while ((opt = getopt(argc, argv, "p:d:B:i:s:SMh")) != EOF)
+ while ((opt = getopt(argc, argv, "d:B:i:s:SMrh")) != EOF)
switch (opt)
{
case 'B':
@@ -137,6 +142,9 @@ int main(int argc,char *argv[])
case 's':
pstrcpy(servicesf, optarg);
break;
+ case 'r':
+ RootPort = -1;
+ break;
case 'h':
usage();
exit(0);