diff options
Diffstat (limited to 'ssh-keysign.c')
| -rw-r--r-- | ssh-keysign.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/ssh-keysign.c b/ssh-keysign.c index 955f7b0abad9..8d6bcda10919 100644 --- a/ssh-keysign.c +++ b/ssh-keysign.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keysign.c,v 1.75 2025/02/15 01:48:30 djm Exp $ */ +/* $OpenBSD: ssh-keysign.c,v 1.78 2025/09/25 06:25:38 djm Exp $ */ /* * Copyright (c) 2002 Markus Friedl. All rights reserved. * @@ -26,9 +26,7 @@ #include "includes.h" #include <fcntl.h> -#ifdef HAVE_PATHS_H #include <paths.h> -#endif #include <pwd.h> #include <stdarg.h> #include <stdio.h> @@ -131,8 +129,10 @@ valid_request(struct passwd *pw, char *host, struct sshkey **ret, char **pkalgp, /* client host name, handle trailing dot */ if ((r = sshbuf_get_cstring(b, &p, &len)) != 0) fatal_fr(r, "parse hostname"); - debug2_f("check expect chost %s got %s", host, p); - if (strlen(host) != len - 1) + debug2_f("check expect chost \"%s\" got \"%s\"", host, p); + if (len == 0) + fail++; + else if (strlen(host) != len - 1) fail++; else if (p[len - 1] != '.') fail++; @@ -200,12 +200,8 @@ main(int argc, char **argv) i = 0; /* XXX This really needs to read sshd_config for the paths */ -#ifdef WITH_DSA - key_fd[i++] = open(_PATH_HOST_DSA_KEY_FILE, O_RDONLY); -#endif key_fd[i++] = open(_PATH_HOST_ECDSA_KEY_FILE, O_RDONLY); key_fd[i++] = open(_PATH_HOST_ED25519_KEY_FILE, O_RDONLY); - key_fd[i++] = open(_PATH_HOST_XMSS_KEY_FILE, O_RDONLY); key_fd[i++] = open(_PATH_HOST_RSA_KEY_FILE, O_RDONLY); if ((pw = getpwuid(getuid())) == NULL) |
