version 1.283, 2018/07/31 03:07:24 |
version 1.284, 2018/08/13 02:41:05 |
|
|
|
|
if ((s = kex_names_cat(options.kex_algorithms, "ext-info-c")) == NULL) |
if ((s = kex_names_cat(options.kex_algorithms, "ext-info-c")) == NULL) |
fatal("%s: kex_names_cat", __func__); |
fatal("%s: kex_names_cat", __func__); |
myproposal[PROPOSAL_KEX_ALGS] = compat_kex_proposal(s, datafellows); |
myproposal[PROPOSAL_KEX_ALGS] = compat_kex_proposal(s); |
myproposal[PROPOSAL_ENC_ALGS_CTOS] = |
myproposal[PROPOSAL_ENC_ALGS_CTOS] = |
compat_cipher_proposal(options.ciphers, datafellows); |
compat_cipher_proposal(options.ciphers); |
myproposal[PROPOSAL_ENC_ALGS_STOC] = |
myproposal[PROPOSAL_ENC_ALGS_STOC] = |
compat_cipher_proposal(options.ciphers, datafellows); |
compat_cipher_proposal(options.ciphers); |
myproposal[PROPOSAL_COMP_ALGS_CTOS] = |
myproposal[PROPOSAL_COMP_ALGS_CTOS] = |
myproposal[PROPOSAL_COMP_ALGS_STOC] = options.compression ? |
myproposal[PROPOSAL_COMP_ALGS_STOC] = options.compression ? |
"zlib@openssh.com,zlib,none" : "none,zlib@openssh.com,zlib"; |
"zlib@openssh.com,zlib,none" : "none,zlib@openssh.com,zlib"; |
|
|
fatal("%s: kex_assemble_namelist", __func__); |
fatal("%s: kex_assemble_namelist", __func__); |
free(all_key); |
free(all_key); |
myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = |
myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = |
compat_pkalg_proposal(options.hostkeyalgorithms, |
compat_pkalg_proposal(options.hostkeyalgorithms); |
datafellows); |
|
} else { |
} else { |
/* Enforce default */ |
/* Enforce default */ |
options.hostkeyalgorithms = xstrdup(KEX_DEFAULT_PK_ALG); |
options.hostkeyalgorithms = xstrdup(KEX_DEFAULT_PK_ALG); |
/* Prefer algorithms that we already have keys for */ |
/* Prefer algorithms that we already have keys for */ |
myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = |
myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = |
compat_pkalg_proposal( |
compat_pkalg_proposal( |
order_hostkeyalgs(host, hostaddr, port), datafellows); |
order_hostkeyalgs(host, hostaddr, port)); |
} |
} |
|
|
if (options.rekey_limit || options.rekey_interval) |
if (options.rekey_limit || options.rekey_interval) |
|
|
|
|
/* remove ext-info from the KEX proposals for rekeying */ |
/* remove ext-info from the KEX proposals for rekeying */ |
myproposal[PROPOSAL_KEX_ALGS] = |
myproposal[PROPOSAL_KEX_ALGS] = |
compat_kex_proposal(options.kex_algorithms, datafellows); |
compat_kex_proposal(options.kex_algorithms); |
if ((r = kex_prop2buf(kex->my, myproposal)) != 0) |
if ((r = kex_prop2buf(kex->my, myproposal)) != 0) |
fatal("kex_prop2buf: %s", ssh_err(r)); |
fatal("kex_prop2buf: %s", ssh_err(r)); |
|
|