1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-01 05:47:28 +03:00

Patch from ab, to make findsmb omit -r most of the time.

(original mail follows)
--
From:	Alexander Bokovoy <a.bokovoy@sam-solutions.net>
Greetings!

I propose to make an optional argument '-r' for findsmb utility to pass
'-r' option to nmblookup optionally and default to omit it. The reason is
to have findsmb working more user-friendly in contemporary office
environments where Windows 95/98 boxes are rare and also to allow usage of
the utility under non-priviledged accounts when Windows95/98 boxes are in
minority or even absent in network neighbourhood.

An attached patch provides this change for HEAD together with
documentation changes.

--
/ Alexander Bokovoy
(This used to be commit d0bebea521e12fb9cef66feecd969216607ef63d)
This commit is contained in:
Andrew Bartlett 2003-01-13 12:54:59 +00:00
parent e3293c7181
commit 80120a79bc
2 changed files with 29 additions and 11 deletions

View File

@ -39,6 +39,15 @@
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-r</term>
<listitem><para>Controls whether <command>findsmb</command> takes
bugs in Windows95 into account when trying to find a Netbios name
registered of the remote machine. This option is disabled by default
because it is specific to Windows 95 and Windows 95 machines only.
If set, <ulink url="nmblookup.1.html"><command>nmblookup</command></ulink>
will be called with <constant>-B<constant> option.</para></listitem>
</varlistentry>
<varlistentry>
<term>subnet broadcast address</term>
<listitem><para>Without this option, <command>findsmb
@ -66,15 +75,17 @@
not show any information about the operating system or server
version.</para>
<para>The command must be run on a system without <ulink
<para>The command with <constant>-r</constant> option
must be run on a system without <ulink
url="nmbd.8.html"><command>nmbd</command></ulink> running.
If <command>nmbd</command> is running on the system, you will
only get the IP address and the DNS name of the machine. To
get proper responses from Windows 95 and Windows 98 machines,
the command must be run as root. </para>
the command must be run as root and with <constant>-r</constant>
option on a machine without <command>nmbd</command> running.</para>
<para>For example, running <command>findsmb</command> on a machine
without <command>nmbd</command> running would yield output similar
<para>For example, running <command>findsmb</command> without
<constant>-r</constant> option set would yield output similar
to the following</para>
<screen><computeroutput>

View File

@ -5,7 +5,7 @@
# run as root to get correct info from WIN95 clients.
#
# syntax:
# findsmb [subnet broadcast address]
# findsmb [-d|-D] [-r] [subnet broadcast address]
#
# with no agrument it will list machines on the current subnet
#
@ -14,18 +14,25 @@
# of the workgroup name for machines that are the domain master browser for
# that workgroup.
#
# Options:
#
# -d|-D enable debug
# -r add -r option to nmblookup when finding netbios name
#
$SAMBABIN = "@prefix@/bin";
for ($i = 0; $i < 2; $i++) { # test for -d option and broadcast address
for ($i = 0; $i < 2; $i++) { # test for -d and -r options
$_ = shift;
if (m/-d|-D/) {
$DEBUG = 1;
} else {
if ($_) {
} else (m/-r/) {
$R_OPTION = "-r";
}
}
if ($_) { # set broadcast address if it was specified
$BCAST = "-B $_";
}
}
}
sub ipsort # do numeric sort on last field of IP address
@ -56,7 +63,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found
# find the netbios names registered by each machine
open(NMBLOOKUP,"$SAMBABIN/nmblookup -r -A $ip|") ||
open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip|") ||
die("Can't get nmb name list.\n");
@nmblookup = <NMBLOOKUP>;
close NMBLOOKUP;