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:
parent
e3293c7181
commit
80120a79bc
@ -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>
|
||||
|
@ -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
|
||||
#
|
||||
@ -13,21 +13,28 @@
|
||||
# local master browsers for that workgroup. There will be an "*" in front
|
||||
# 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 ($_) {
|
||||
$BCAST = "-B $_";
|
||||
}
|
||||
} 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
|
||||
{
|
||||
@t1 = split(/\./,$a);
|
||||
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user