summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/sshconnect2.c
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2018-10-11 03:48:04 +0000
committerdjm <djm@openbsd.org>2018-10-11 03:48:04 +0000
commit8595191a4836b319f5e7bd1b05f50371cfa55b1a (patch)
tree44944412e0903075be89987e0686b285755ac8ac /usr.bin/ssh/sshconnect2.c
parenttypo in plain RSA algorithm counterpart names for certificates; (diff)
downloadwireguard-openbsd-8595191a4836b319f5e7bd1b05f50371cfa55b1a.tar.xz
wireguard-openbsd-8595191a4836b319f5e7bd1b05f50371cfa55b1a.zip
don't send new-style rsa-sha2-*-cert-v01@openssh.com names to older
OpenSSH that can't handle them. spotted by Adam Eijdenberg; ok dtucker
Diffstat (limited to 'usr.bin/ssh/sshconnect2.c')
-rw-r--r--usr.bin/ssh/sshconnect2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/ssh/sshconnect2.c b/usr.bin/ssh/sshconnect2.c
index f104408375e..d5146509990 100644
--- a/usr.bin/ssh/sshconnect2.c
+++ b/usr.bin/ssh/sshconnect2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.287 2018/09/14 05:26:27 djm Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.288 2018/10/11 03:48:04 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2008 Damien Miller. All rights reserved.
@@ -1080,7 +1080,8 @@ key_sig_algorithm(struct ssh *ssh, const struct sshkey *key)
* newer (SHA2) algorithms.
*/
if (ssh == NULL || ssh->kex->server_sig_algs == NULL ||
- (key->type != KEY_RSA && key->type != KEY_RSA_CERT)) {
+ (key->type != KEY_RSA && key->type != KEY_RSA_CERT) ||
+ (key->type == KEY_RSA_CERT && (datafellows & SSH_BUG_SIGTYPE))) {
/* Filter base key signature alg against our configuration */
return match_list(sshkey_ssh_name(key),
options.pubkey_key_types, NULL);