mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 17:38:00 +00:00
Add support for diffie-hellman-group-exchange-sha256. Tested against a
patched OpenSSH server. This is controlled by the same user settings as diffie-hellman-group-exchange-sha1, which may not be optimal, especially given that they're both referred to as dh-gex-sha1 in saved sessions. [originally from svn r6272]
This commit is contained in:
parent
7d800b7c2a
commit
9131914278
2
Recipe
2
Recipe
@ -213,7 +213,7 @@ NONSSH = telnet raw rlogin ldisc pinger
|
||||
# SSH back end (putty, plink, pscp, psftp).
|
||||
SSH = ssh sshcrc sshdes sshmd5 sshrsa sshrand sshsha sshblowf
|
||||
+ sshdh sshcrcda sshpubk sshzlib sshdss x11fwd portfwd
|
||||
+ sshaes sshsh512 sshbn wildcard pinger ssharcf
|
||||
+ sshaes sshsh256 sshsh512 sshbn wildcard pinger ssharcf
|
||||
WINSSH = SSH winnoise winpgntc
|
||||
UXSSH = SSH uxnoise uxagentc
|
||||
MACSSH = SSH macnoise
|
||||
|
4
ssh.c
4
ssh.c
@ -705,7 +705,7 @@ struct ssh_tag {
|
||||
void *cs_comp_ctx, *sc_comp_ctx;
|
||||
const struct ssh_kex *kex;
|
||||
const struct ssh_signkey *hostkey;
|
||||
unsigned char v2_session_id[20];
|
||||
unsigned char v2_session_id[32];
|
||||
int v2_session_id_len;
|
||||
void *kex_ctx;
|
||||
|
||||
@ -4994,7 +4994,7 @@ static int do_ssh2_transport(Ssh ssh, void *vin, int inlen,
|
||||
char *hostkeydata, *sigdata, *keystr, *fingerprint;
|
||||
int hostkeylen, siglen;
|
||||
void *hkey; /* actual host key */
|
||||
unsigned char exchange_hash[20];
|
||||
unsigned char exchange_hash[32];
|
||||
int n_preferred_kex;
|
||||
const struct ssh_kexes *preferred_kex[KEX_MAX];
|
||||
int n_preferred_ciphers;
|
||||
|
6
sshdh.c
6
sshdh.c
@ -74,12 +74,18 @@ const struct ssh_kexes ssh_diffiehellman_group14 = {
|
||||
group14_list
|
||||
};
|
||||
|
||||
static const struct ssh_kex ssh_diffiehellman_gex_sha256 = {
|
||||
"diffie-hellman-group-exchange-sha256", NULL,
|
||||
NULL, NULL, 0, 0, &ssh_sha256
|
||||
};
|
||||
|
||||
static const struct ssh_kex ssh_diffiehellman_gex_sha1 = {
|
||||
"diffie-hellman-group-exchange-sha1", NULL,
|
||||
NULL, NULL, 0, 0, &ssh_sha1
|
||||
};
|
||||
|
||||
static const struct ssh_kex *const gex_list[] = {
|
||||
&ssh_diffiehellman_gex_sha256,
|
||||
&ssh_diffiehellman_gex_sha1
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user