summaryrefslogtreecommitdiff
path: root/usr.bin/ssh/auth2-hostbased.c
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2021-12-19 22:12:08 +0000
committerDamien Miller <djm@cvs.openbsd.org>2021-12-19 22:12:08 +0000
commitf4186891f4259c45cacca0a01e2d546642be9207 (patch)
treed273a9e226e41616f796dba43d7954b95d3dcbfd /usr.bin/ssh/auth2-hostbased.c
parent094d1e8a1be7e67e95e35ee37017ffbed5b4575a (diff)
prepare for multiple names for authmethods
allow authentication methods to have one additional name beyond their primary name. allow lookup by this synonym Use primary name for authentication decisions, e.g. for PermitRootLogin=publickey Pass actual invoked name to the authmethods, so they can tell whether they were requested via the their primary name or synonym. ok markus@
Diffstat (limited to 'usr.bin/ssh/auth2-hostbased.c')
-rw-r--r--usr.bin/ssh/auth2-hostbased.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/ssh/auth2-hostbased.c b/usr.bin/ssh/auth2-hostbased.c
index cd9523954b2..f99f93e4616 100644
--- a/usr.bin/ssh/auth2-hostbased.c
+++ b/usr.bin/ssh/auth2-hostbased.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2-hostbased.c,v 1.47 2021/07/23 03:37:52 djm Exp $ */
+/* $OpenBSD: auth2-hostbased.c,v 1.48 2021/12/19 22:12:07 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -56,7 +56,7 @@
extern ServerOptions options;
static int
-userauth_hostbased(struct ssh *ssh)
+userauth_hostbased(struct ssh *ssh, const char *method)
{
Authctxt *authctxt = ssh->authctxt;
struct sshbuf *b;
@@ -131,7 +131,7 @@ userauth_hostbased(struct ssh *ssh)
(r = sshbuf_put_u8(b, SSH2_MSG_USERAUTH_REQUEST)) != 0 ||
(r = sshbuf_put_cstring(b, authctxt->user)) != 0 ||
(r = sshbuf_put_cstring(b, authctxt->service)) != 0 ||
- (r = sshbuf_put_cstring(b, "hostbased")) != 0 ||
+ (r = sshbuf_put_cstring(b, method)) != 0 ||
(r = sshbuf_put_string(b, pkalg, alen)) != 0 ||
(r = sshbuf_put_string(b, pkblob, blen)) != 0 ||
(r = sshbuf_put_cstring(b, chost)) != 0 ||
@@ -254,6 +254,7 @@ hostbased_key_allowed(struct ssh *ssh, struct passwd *pw,
Authmethod method_hostbased = {
"hostbased",
+ NULL,
userauth_hostbased,
&options.hostbased_authentication
};