summaryrefslogtreecommitdiffstats
path: root/perl-install/network/smb.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/network/smb.pm')
-rw-r--r--perl-install/network/smb.pm57
1 files changed, 0 insertions, 57 deletions
diff --git a/perl-install/network/smb.pm b/perl-install/network/smb.pm
deleted file mode 100644
index d5c128b41..000000000
--- a/perl-install/network/smb.pm
+++ /dev/null
@@ -1,57 +0,0 @@
-package network::smb;
-
-use common;
-use network::network;
-
-sub check {
- my ($in) = @_;
- my $f = '/usr/bin/nmblookup';
- -e $f or $in->do_pkgs->install('samba-client');
- -e $f or $in->ask_warn('', "Mandatory package samba-client is missing"), return;
- 1;
-}
-
-
-sub find_servers() {
- my (undef, @l) = `nmblookup "*"`;
- s/\s.*\n// foreach @l;
- my @servers = grep { network::network::is_ip($_) } @l;
- my %servers;
- $servers{$_}{ip} = $_ foreach @servers;
- my ($ip);
- foreach (`nmblookup -A @servers`) {
- if (my $nb = /^Looking up status of (\S+)/ .. /^$/) {
- if ($nb == 1) {
- $ip = $1;
- } else {
- /<00>/ or next;
- $servers{$ip}{/<GROUP>/ ? 'group' : 'name'} ||= lc first(/(\S+)/);
- }
- }
- }
- values %servers;
-}
-
-sub find_exports {
- my ($server) = @_;
- my @l;
- my $name = $server->{name} ? " -L $server->{name}" : '';
- my $group = $server->{group} ? " -W $server->{group}" : '';
-
- # WARNING: using smbclient -L is ugly. It can't handle more than 15
- # characters shared names
-
- foreach (`smbclient -U% -L -I $server->{ip}$name$group`) {
- chomp;
- s/^\t//;
- my ($name, $type, $comment) = unpack "A15 A10 A*", $_;
- if ($name eq '---------' && $type eq '----' && $comment eq '-------' .. /^$/) {
- push @l, { name => $name, type => $type, comment => $comment }
- if $type eq 'Disk' && $name ne 'ADMIN$';
- }
- }
- @l;
-}
-
-1;
-