diff options
Diffstat (limited to 'perl-install/fs/remote/smb.pm')
-rw-r--r-- | perl-install/fs/remote/smb.pm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/perl-install/fs/remote/smb.pm b/perl-install/fs/remote/smb.pm index 7757eeb3f..d440fc174 100644 --- a/perl-install/fs/remote/smb.pm +++ b/perl-install/fs/remote/smb.pm @@ -1,4 +1,4 @@ -package fs::remote::smb; # $Id$ +package fs::remote::smb; use strict; use diagnostics; @@ -12,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); @@ -53,10 +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)); } |