diff options
Diffstat (limited to 'perl-install/fs/remote/smb.pm')
| -rw-r--r-- | perl-install/fs/remote/smb.pm | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/perl-install/fs/remote/smb.pm b/perl-install/fs/remote/smb.pm index 933941326..d440fc174 100644 --- a/perl-install/fs/remote/smb.pm +++ b/perl-install/fs/remote/smb.pm @@ -1,11 +1,10 @@ -package fs::remote::smb; # $Id$ +package fs::remote::smb; use strict; use diagnostics; use common; use fs::mount_options; -use network::network; use fs::remote; @@ -13,7 +12,7 @@ our @ISA = 'fs::remote'; sub to_fstab_entry { my ($class, $e) = @_; - my $part = $class->to_fstab_entry_raw($e, 'smbfs'); + my $part = $class->to_fstab_entry_raw($e, 'cifs'); if ($e->{server}{username}) { my ($options, $unknown) = fs::mount_options::unpack($part); $options->{"$_="} = $e->{server}{$_} foreach qw(username password domain); @@ -54,9 +53,11 @@ sub smbclient { } sub find_servers { - my (undef, @l) = `nmblookup "*"`; + my (undef, @l) = `nmblookup "*"; nmblookup -M -- -`; s/\s.*\n// foreach @l; + require network::network; my @servers = grep { network::network::is_ip($_) } @l; + return unless @servers; my %servers; $servers{$_}{ip} = $_ foreach @servers; my ($ip, $browse); @@ -124,7 +125,7 @@ sub fstab_entry_to_credentials { my ($options, $unknown) = fs::mount_options::unpack($part); $options->{'username='} && $options->{'password='} or return; - my %h = map { $_ => delete $options->{"$_="} } qw(username domain password); + my %h = map { $_ => delete $options->{"$_="} } qw(username password); $h{file} = $options->{'credentials='} = to_credentials($server_name, $h{username}); fs::mount_options::pack_($part, $options, $unknown), \%h; } @@ -137,7 +138,7 @@ sub remove_bad_credentials { sub save_credentials { my ($credentials) = @_; my $file = $credentials->{file}; - output_with_perm("$::prefix$file", 0640, map { "$_ = $credentials->{$_}\n" } qw(username domain password)); + output_with_perm("$::prefix$file", 0640, map { "$_=$credentials->{$_}\n" } qw(username password)); } |
