summaryrefslogtreecommitdiffstats
path: root/perl-install/fs/remote/smb.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/fs/remote/smb.pm')
-rw-r--r--perl-install/fs/remote/smb.pm11
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));
}