diff options
Diffstat (limited to 'Spline/Socketmap/Srs.pm')
-rw-r--r-- | Spline/Socketmap/Srs.pm | 12 |
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 . '"'); } } |