summaryrefslogtreecommitdiffstats
path: root/Spline/Socketmap/Srs.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Spline/Socketmap/Srs.pm')
-rw-r--r--Spline/Socketmap/Srs.pm12
1 files changed, 10 insertions, 2 deletions
diff --git a/Spline/Socketmap/Srs.pm b/Spline/Socketmap/Srs.pm
index 5917c00..c4a9623 100644
--- a/Spline/Socketmap/Srs.pm
+++ b/Spline/Socketmap/Srs.pm
@@ -54,7 +54,15 @@ sub post_configure_hook {
# secrets
my @secrets = ();
if (defined $prop->{secret_file}) {
- if (open(my $file, '<', $prop->{secret_file})) {
+ my $filename = $prop->{secret_file};
+ # Replace ~ and ~user:
+ $filename =~ s{^~([^/]*)}{
+ $1
+ ? (getpwnam($1))[7]
+ : (getpwuid($<))[7]
+ }ex;
+
+ if (open(my $file, '<', $filename)) {
while (<$file>) {
chomp;
push @secrets, $_;
@@ -62,7 +70,7 @@ sub post_configure_hook {
close($file);
}
else {
- $self->log(1, 'ERROR: Cannot open secret_file: "' . $prop->{secret_file} . '"');
+ $self->log(1, 'ERROR: Cannot open secret_file: "' . $filename . '"');
}
}