summaryrefslogtreecommitdiffstats
path: root/perl-install/fs/remote/davfs.pm
diff options
context:
space:
mode:
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()));