mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-28 16:24:39 +02:00
upstream: adapt ssh_api.c code for kex-strict
from markus@ ok me OpenBSD-Commit-ID: 4d9f256852af2a5b882b12cae9447f8f00f933ac
This commit is contained in:
parent
42ba34aba8
commit
602f4beeed
14
ssh_api.c
14
ssh_api.c
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: ssh_api.c,v 1.27 2021/04/03 06:18:41 djm Exp $ */
|
/* $OpenBSD: ssh_api.c,v 1.28 2024/01/09 21:39:14 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012 Markus Friedl. All rights reserved.
|
* Copyright (c) 2012 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@ -82,6 +82,7 @@ int
|
|||||||
ssh_init(struct ssh **sshp, int is_server, struct kex_params *kex_params)
|
ssh_init(struct ssh **sshp, int is_server, struct kex_params *kex_params)
|
||||||
{
|
{
|
||||||
char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT };
|
char *myproposal[PROPOSAL_MAX] = { KEX_CLIENT };
|
||||||
|
char *populated[PROPOSAL_MAX];
|
||||||
struct ssh *ssh;
|
struct ssh *ssh;
|
||||||
char **proposal;
|
char **proposal;
|
||||||
static int called;
|
static int called;
|
||||||
@ -99,10 +100,19 @@ ssh_init(struct ssh **sshp, int is_server, struct kex_params *kex_params)
|
|||||||
|
|
||||||
/* Initialize key exchange */
|
/* Initialize key exchange */
|
||||||
proposal = kex_params ? kex_params->proposal : myproposal;
|
proposal = kex_params ? kex_params->proposal : myproposal;
|
||||||
if ((r = kex_ready(ssh, proposal)) != 0) {
|
kex_proposal_populate_entries(ssh, populated,
|
||||||
|
proposal[PROPOSAL_KEX_ALGS],
|
||||||
|
proposal[PROPOSAL_ENC_ALGS_CTOS],
|
||||||
|
proposal[PROPOSAL_MAC_ALGS_CTOS],
|
||||||
|
proposal[PROPOSAL_COMP_ALGS_CTOS],
|
||||||
|
proposal[PROPOSAL_SERVER_HOST_KEY_ALGS]);
|
||||||
|
r = kex_ready(ssh, populated);
|
||||||
|
kex_proposal_free_entries(populated);
|
||||||
|
if (r != 0) {
|
||||||
ssh_free(ssh);
|
ssh_free(ssh);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssh->kex->server = is_server;
|
ssh->kex->server = is_server;
|
||||||
if (is_server) {
|
if (is_server) {
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
|
Loading…
x
Reference in New Issue
Block a user