summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2010-02-18 21:35:30 -0800
committerStephen Hemminger <stephen.hemminger@vyatta.com>2010-02-18 21:35:30 -0800
commit3110c2a7fb37a43de92d1a377fc98c5a6b734bc2 (patch)
tree96dd9f4e7c83ba9d1efd8186163b172fdcbbd16b
parent0c04bdcc9add92232f58799d9ea26690897a6204 (diff)
downloadvyatta-cfg-system-3110c2a7fb37a43de92d1a377fc98c5a6b734bc2.tar.gz
vyatta-cfg-system-3110c2a7fb37a43de92d1a377fc98c5a6b734bc2.zip
Handle empty set of public keys
Bug 5362 If no keys configured; still make an empty .ssh/authorized_keys file. This handles case of keys being deleted from configuration and gives notice to user that file will be overwritten.
-rwxr-xr-xlib/Vyatta/Login/User.pm6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm
index e08a65b9..e4909b9a 100755
--- a/lib/Vyatta/Login/User.pm
+++ b/lib/Vyatta/Login/User.pm
@@ -64,9 +64,6 @@ sub _authorized_keys {
my $config = new Vyatta::Config;
$config->setLevel("system login user $user authentication public-keys");
- my @keys = $config->listNodes();
- return unless @keys;
-
# ($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell,$expire)
# = getpw*
my ( undef, undef, $uid, $gid, undef, undef, undef, $home ) =
@@ -87,7 +84,8 @@ sub _authorized_keys {
print {$auth} "# Automatically generated by Vyatta configuration\n";
print {$auth} "# Do not edit, all changes will be lost\n";
- foreach my $name (@keys) {
+
+ foreach my $name ($config->listNodes()) {
my $options = $config->returnValue("$name options");
my $type = $config->returnValue("$name type");
my $key = $config->returnValue("$name key");