aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2024-01-20 10:10:06 -0800
committerRobin H. Johnson <robbat2@gentoo.org>2024-01-20 10:16:59 -0800
commit88640bdc0ed8bab49c676af06735124db3de7e41 (patch)
treee06b37c6d6a6178a7d1dc1625659f9ce7e25983d
parentdoc: how to debug failing tests (diff)
downloadgitolite-gentoo-88640bdc0ed8bab49c676af06735124db3de7e41.tar.gz
gitolite-gentoo-88640bdc0ed8bab49c676af06735124db3de7e41.tar.bz2
gitolite-gentoo-88640bdc0ed8bab49c676af06735124db3de7e41.zip
fix: ensure keydir exists before loading metadata
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-rw-r--r--src/lib/Gitolite/Conf/Load.pm9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/Gitolite/Conf/Load.pm b/src/lib/Gitolite/Conf/Load.pm
index cc54d7a..8c89759 100644
--- a/src/lib/Gitolite/Conf/Load.pm
+++ b/src/lib/Gitolite/Conf/Load.pm
@@ -247,9 +247,12 @@ sub env_options {
push @pubkeys, $f if -f $f;
}
# This catches the base 'user.pub', 'user@host.pub', exact matches
- push @pubkeys, `find $rc{GL_ADMIN_BASE}/keydir -type f -name "${user}.pub"`;
- # this catches 'user@host@NN.pub' variant, for email-named users with multiple keys
- push @pubkeys, `find $rc{GL_ADMIN_BASE}/keydir -type f -name "${user}@*.pub"` if $user =~ m/@/;
+ my $keydir = $rc{GL_ADMIN_BASE}.'/keydir/';
+ if(-d $keydir) {
+ push @pubkeys, `find "$keydir" -type f -name "${user}.pub"`;
+ # this catches 'user@host@NN.pub' variant, for email-named users with multiple keys
+ push @pubkeys, `find "$keydir" -type f -name "${user}@*.pub"` if $user =~ m/@/;
+ }
chomp(@pubkeys);
return if $#pubkeys <= 0;