diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-02-18 21:35:30 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-02-18 21:35:30 -0800 |
commit | 3110c2a7fb37a43de92d1a377fc98c5a6b734bc2 (patch) | |
tree | 96dd9f4e7c83ba9d1efd8186163b172fdcbbd16b | |
parent | 0c04bdcc9add92232f58799d9ea26690897a6204 (diff) | |
download | vyatta-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-x | lib/Vyatta/Login/User.pm | 6 |
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"); |