summaryrefslogtreecommitdiffstats
path: root/perl-install/fs/remote/davfs.pm
diff options
context:
space:
mode:
authorAurélien Lefebvre <alefebvre@mandriva.com>2009-08-17 12:49:43 +0000
committerAurélien Lefebvre <alefebvre@mandriva.com>2009-08-17 12:49:43 +0000
commit178a5b2b34a1fb642740b51ae8b042b6e20a2231 (patch)
treef9eb7d42f36a8ac34e185f4235055771a8f58227 /perl-install/fs/remote/davfs.pm
parent20b45a155458c3714496a1ffa6a87201140d76d5 (diff)
downloaddrakx-178a5b2b34a1fb642740b51ae8b042b6e20a2231.tar
drakx-178a5b2b34a1fb642740b51ae8b042b6e20a2231.tar.gz
drakx-178a5b2b34a1fb642740b51ae8b042b6e20a2231.tar.bz2
drakx-178a5b2b34a1fb642740b51ae8b042b6e20a2231.tar.xz
drakx-178a5b2b34a1fb642740b51ae8b042b6e20a2231.zip
- diskdrake : store credentials in davfs2 secret file before mounting
Diffstat (limited to 'perl-install/fs/remote/davfs.pm')
-rw-r--r--perl-install/fs/remote/davfs.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/perl-install/fs/remote/davfs.pm b/perl-install/fs/remote/davfs.pm
index a35955827..8c2062c19 100644
--- a/perl-install/fs/remote/davfs.pm
+++ b/perl-install/fs/remote/davfs.pm
@@ -26,6 +26,22 @@ sub save_credentials {
map { to_double_quoted($_->{mntpoint}, $_->{username}, $_->{password}, $_->{comment}) . "\n" } @$credentials);
}
+sub mountpoint_credentials_save {
+ my ($mntpoint, $mount_opt) = @_;
+ my @entries = read_credentials_raw();
+ my $entry = find { $mntpoint eq $_->{mntpoint} } @entries;
+ die "mountpoint not found" if !$entry;
+ my %h;
+ foreach (@$mount_opt) {
+ my @var = split(/=/);
+ $h{$var[0]} = $var[1];
+ }
+ foreach my $key qw(username password) {
+ $entry->{$key} = $h{$key};
+ }
+ save_credentials(\@entries);
+}
+
sub read_credentials_raw {
from_double_quoted(cat_(secrets_file()));