Lines Matching refs:kex

42 #include <signal.h>	/* for sig_atomic_t in kex.h */
54 #include "kex.h"
86 struct kex *kex = ssh->kex;
102 debug2("%s: Identifying %s", __func__, kex->name);
103 oid = ssh_gssapi_id_kex(NULL, kex->name, kex->kex_type);
112 switch (kex->kex_type) {
114 kex->dh = dh_new_group1();
117 kex->dh = dh_new_group14();
122 kex->min = packet_get_int();
123 kex->nbits = packet_get_int();
124 kex->max = packet_get_int();
125 min = MAX(DH_GRP_MIN, kex->min);
126 max = MIN(DH_GRP_MAX, kex->max);
127 nbits = MAX(DH_GRP_MIN, kex->nbits);
130 if (kex->max < kex->min || kex->nbits < kex->min ||
131 kex->max < kex->nbits)
133 kex->min, kex->nbits, kex->max);
134 kex->dh = PRIVSEP(choose_dh(min, nbits, max));
135 if (kex->dh == NULL)
140 packet_put_bignum2(kex->dh->p);
141 packet_put_bignum2(kex->dh->g);
147 fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
150 dh_gen_key(kex->dh, kex->we_need * 8);
215 if (!dh_pub_is_valid(kex->dh, dh_client_pub))
218 klen = DH_size(kex->dh);
220 kout = DH_compute_key(kbuf, dh_client_pub, kex->dh);
235 switch (kex->kex_type) {
239 kex->client_version_string, kex->server_version_string,
240 buffer_ptr(kex->peer), buffer_len(kex->peer),
241 buffer_ptr(kex->my), buffer_len(kex->my),
243 dh_client_pub, kex->dh->pub_key, shared_secret,
248 kex->hash_alg,
249 kex->client_version_string, kex->server_version_string,
250 buffer_ptr(kex->peer), buffer_len(kex->peer),
251 buffer_ptr(kex->my), buffer_len(kex->my),
253 kex->min, kex->nbits, kex->max,
254 kex->dh->p, kex->dh->g,
256 kex->dh->pub_key,
261 fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type);
266 if (kex->session_id == NULL) {
267 kex->session_id_len = hashlen;
268 kex->session_id = xmalloc(kex->session_id_len);
269 memcpy(kex->session_id, hash, kex->session_id_len);
279 packet_put_bignum2(kex->dh->pub_key);
298 DH_free(kex->dh);