enh: get_group_keys: return the keyhome to avoid hardcoding it on several places

This commit is contained in:
Stéphane Lesimple 2021-02-15 11:20:15 +00:00 committed by Stéphane Lesimple
parent 02b76d301a
commit c88be2def1
2 changed files with 3 additions and 2 deletions

View file

@ -46,9 +46,10 @@ sub get_group_keys {
$fnret or return $fnret;
$group = $fnret->value->{'group'}; # untainted version
my $shortGroup = $fnret->value->{'shortGroup'};
my $keyhome = $fnret->value->{'keyhome'};
$fnret = _get_pub_keys_from_directory(
dir => '/home/keykeeper/' . $group,
dir => $keyhome,
pattern => qr/^id_([a-z0-9]+)_\Q$shortGroup\E/,
listOnly => $listOnly,
forceKey => $forceKey,

View file

@ -55,7 +55,7 @@ sub is_group_existing {
my ($groupname, $passwd, $gid, $members) = @{$_cache_getgrnam{$group}};
if ($groupname) {
my (undef, $shortGroup) = $group =~ m{^(key)?(.+)};
return R('OK', value => {group => $group, shortGroup => $shortGroup, gid => $gid, members => [split(/ /, $members)]});
return R('OK', value => {group => $group, shortGroup => $shortGroup, gid => $gid, keyhome => "/home/keykeeper/$group", members => [split(/ /, $members)]});
}
return R('KO_GROUP_NOT_FOUND', msg => "Group '$group' doesn't exist");
}