The branch, master has been updated via cc4e6a900aa s3:script: Remove findsmb from default installation from aa2ab7feb10 s3: VFS: Remove SMB_VFS_NTIMES(), no longer used
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit cc4e6a900aafde4ab2a93c23b2eda70a973a2e6e Author: Andreas Schneider <a...@samba.org> Date: Mon Apr 19 09:12:24 2021 +0200 s3:script: Remove findsmb from default installation This tool is the only client tool which requires perl. Distributions are removing perl from the default installation now. Also this is a wrapper around nmblookup which is obsolete in the AD world. However it might still be used by someone so move it just to examples/scripts/nmb/ Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Guenther Deschner <g...@samba.org> Autobuild-User(master): Andreas Schneider <a...@cryptomilk.org> Autobuild-Date(master): Mon Apr 19 14:37:04 UTC 2021 on sn-devel-184 ----------------------------------------------------------------------- Summary of changes: docs-xml/manpages/samba.7.xml | 7 --- docs-xml/wscript_build | 1 - .../findsmb.in => examples/scripts/nmb/findsmb | 23 +++++---- .../scripts/nmb}/findsmb.1.xml | 54 +++++++++++----------- source3/script/wscript_build | 13 ------ 5 files changed, 38 insertions(+), 60 deletions(-) rename source3/script/findsmb.in => examples/scripts/nmb/findsmb (95%) rename {docs-xml/manpages => examples/scripts/nmb}/findsmb.1.xml (82%) Changeset truncated at 500 lines: diff --git a/docs-xml/manpages/samba.7.xml b/docs-xml/manpages/samba.7.xml index 836ed23619f..627ba636802 100644 --- a/docs-xml/manpages/samba.7.xml +++ b/docs-xml/manpages/samba.7.xml @@ -186,13 +186,6 @@ can be used to maintain the local user database on a Samba server.</para></listitem></varlistentry> - <varlistentry> - <term><citerefentry><refentrytitle>findsmb</refentrytitle> - <manvolnum>1</manvolnum></citerefentry></term> - <listitem><para>The <command>findsmb</command> command - can be used to find SMB servers on the local network. - </para></listitem></varlistentry> - <varlistentry> <term><citerefentry><refentrytitle>net</refentrytitle> <manvolnum>8</manvolnum></citerefentry></term> diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build index 37094147e0b..c2986ed6cd5 100644 --- a/docs-xml/wscript_build +++ b/docs-xml/wscript_build @@ -5,7 +5,6 @@ manpages=''' manpages/cifsdd.8 manpages/dbwrap_tool.1 manpages/eventlogadm.8 - manpages/findsmb.1 manpages/idmap_ad.8 manpages/idmap_autorid.8 manpages/idmap_hash.8 diff --git a/source3/script/findsmb.in b/examples/scripts/nmb/findsmb similarity index 95% rename from source3/script/findsmb.in rename to examples/scripts/nmb/findsmb index 38a6e2a1604..7c58917f55a 100755 --- a/source3/script/findsmb.in +++ b/examples/scripts/nmb/findsmb @@ -1,4 +1,4 @@ -#!@PERL@ +#!/usr/bin/env perl # # Prints info on all smb responding machines on a subnet. # This script needs to be run on a machine without nmbd running and be @@ -13,14 +13,14 @@ # 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 = "@BINDIR@"; +$SAMBABIN = "/usr/bin"; for ($i = 0; $i < 2; $i++) { # test for -d and -r options $_ = shift; @@ -38,7 +38,7 @@ if ($_) { # set broadcast address if it was specified ###################################################################### # do numeric sort on last field of IP address -sub ipsort +sub ipsort { @t1 = split(/\./,$a); @t2 = split(/\./,$b); @@ -48,7 +48,7 @@ sub ipsort # look for all machines that respond to a name lookup -open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*' --debuglevel=0|") || +open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*' --debuglevel=0|") || die("Can't run nmblookup '*'.\n"); # get rid of all lines that are not a response IP address, @@ -68,10 +68,10 @@ foreach $ip (@ipaddrs) # loop through each IP address found # find the netbios names registered by each machine - open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip --debuglevel=0|") || + open(NMBLOOKUP,"$SAMBABIN/nmblookup $R_OPTION -A $ip --debuglevel=0|") || die("Can't get nmb name list.\n"); @nmblookup = <NMBLOOKUP>; - close NMBLOOKUP; + close NMBLOOKUP; # get the first <00> name @@ -80,7 +80,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found if ($_) { # we have a netbios name if (/GROUP/) { # is it a group name - ($name, $aliases, $type, $length, @addresses) = + ($name, $aliases, $type, $length, @addresses) = gethostbyaddr(pack('C4',split('\.',$ip)),2); if (! $name) { # could not get name $name = "unknown nis name"; @@ -92,7 +92,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found /(.{1,15})\s+<00>\s+/; $name = $1; $name =~ s/^\s+//g; - } + } # do an smbclient command on the netbios name. @@ -146,7 +146,7 @@ foreach $ip (@ipaddrs) # loop through each IP address found } else { # no netbios name found # try getting the host name - ($name, $aliases, $type, $length, @addresses) = + ($name, $aliases, $type, $length, @addresses) = gethostbyaddr(pack('C4',split('\.',$ip)),2); if (! $name) { # could not get name $name = "unknown nis name"; @@ -157,5 +157,4 @@ foreach $ip (@ipaddrs) # loop through each IP address found } print "$ip".' 'x(16-length($ip))."$name\n"; } -} - +} diff --git a/docs-xml/manpages/findsmb.1.xml b/examples/scripts/nmb/findsmb.1.xml similarity index 82% rename from docs-xml/manpages/findsmb.1.xml rename to examples/scripts/nmb/findsmb.1.xml index 63233e218e5..6b35410d84d 100644 --- a/docs-xml/manpages/findsmb.1.xml +++ b/examples/scripts/nmb/findsmb.1.xml @@ -13,7 +13,7 @@ <refnamediv> <refname>findsmb</refname> - <refpurpose>list info about machines that respond to SMB + <refpurpose>list info about machines that respond to SMB name queries on a subnet</refpurpose> </refnamediv> @@ -26,19 +26,19 @@ <refsect1> <title>DESCRIPTION</title> - + <para>This perl script is part of the <citerefentry> <refentrytitle>samba</refentrytitle><manvolnum>7</manvolnum></citerefentry> suite.</para> <para><command>findsmb</command> is a perl script that - prints out several pieces of information about machines + prints out several pieces of information about machines on a subnet that respond to SMB name query requests. It uses <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum></citerefentry> to obtain this information. </para> -</refsect1> +</refsect1> <refsect1> <title>OPTIONS</title> @@ -49,16 +49,16 @@ <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. + because it is specific to Windows 95 and Windows 95 machines only. If set, <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry> will be called with <constant>-B</constant> option.</para></listitem> </varlistentry> <varlistentry> <term>subnet broadcast address</term> <listitem><para>Without this option, <command>findsmb - </command> will probe the subnet of the machine where + </command> will probe the subnet of the machine where <citerefentry><refentrytitle>findsmb</refentrytitle><manvolnum>1</manvolnum></citerefentry> - is run. This value is passed to + is run. This value is passed to <citerefentry><refentrytitle>nmblookup</refentrytitle><manvolnum>1</manvolnum></citerefentry> as part of the <constant>-B</constant> option.</para></listitem> </varlistentry> @@ -68,38 +68,38 @@ <refsect1> <title>EXAMPLES</title> - <para>The output of <command>findsmb</command> lists the following - information for all machines that respond to the initial - <command>nmblookup</command> for any name: IP address, NetBIOS name, + <para>The output of <command>findsmb</command> lists the following + information for all machines that respond to the initial + <command>nmblookup</command> for any name: IP address, NetBIOS name, Workgroup name, operating system, and SMB server version.</para> - <para>There will be a '+' in front of the workgroup name for - machines that are 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. - Machines that are running Windows for Workgroups, Windows 95 or - Windows 98 will - not show any information about the operating system or server + <para>There will be a '+' in front of the workgroup name for + machines that are 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. + Machines that are running Windows for Workgroups, Windows 95 or + Windows 98 will + not show any information about the operating system or server version.</para> <para>The command with <constant>-r</constant> option must be run on a system without <citerefentry> <refentrytitle>nmbd</refentrytitle><manvolnum>8</manvolnum> - </citerefentry> running. + </citerefentry> 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, + 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 and with <constant>-r</constant> option on a machine without <command>nmbd</command> running.</para> - <para>For example, running <command>findsmb</command> + <para>For example, running <command>findsmb</command> without <constant>-r</constant> option set would yield output similar to the following</para> <programlisting> -IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION ---------------------------------------------------------------------- +IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION +--------------------------------------------------------------------- 192.168.35.10 MINESET-TEST1 [DMVENGR] 192.168.35.55 LINUXBOX *[MYGROUP] [Unix] [Samba 2.0.6] 192.168.35.56 HERBNT2 [HERB-NT] @@ -135,10 +135,10 @@ IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION <refsect1> <title>AUTHOR</title> - - <para>The original Samba software and related utilities + + <para>The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed - by the Samba Team as an Open Source project similar + by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.</para> </refsect1> diff --git a/source3/script/wscript_build b/source3/script/wscript_build index 40ecdd7ef50..56c904fe349 100644 --- a/source3/script/wscript_build +++ b/source3/script/wscript_build @@ -10,16 +10,3 @@ bld.INSTALL_FILES('${BINDIR}', bld.SAMBA_SCRIPT('smbaddshare', pattern='smbaddshare', installdir='.') bld.SAMBA_SCRIPT('smbchangeshare', pattern='smbchangeshare', installdir='.') bld.SAMBA_SCRIPT('smbdeleteshare', pattern='smbdeleteshare', installdir='.') - -sed_expr1 = 's#@PERL@#/usr/bin/env perl#' -sed_expr2 = 's#@BINDIR@#${BINDIR}#' - -bld.SAMBA_GENERATOR('findsmb-script', - source='findsmb.in', - target='findsmb', - rule='sed -e "%s" -e "%s" ${SRC} > ${TGT}' % (sed_expr1, sed_expr2)) - -bld.INSTALL_FILES('${BINDIR}', - 'findsmb', - destname='findsmb', - chmod=MODE_755) -- Samba Shared Repository