Lines Matching defs:ssh

41 static int input_kex_gen_init(int, u_int32_t, struct ssh *);
42 static int input_kex_gen_reply(int type, u_int32_t seq, struct ssh *ssh);
96 kex_gen_client(struct ssh *ssh)
98 struct kex *kex = ssh->kex;
129 if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_ECDH_INIT)) != 0 ||
130 (r = sshpkt_put_stringb(ssh, kex->client_pub)) != 0 ||
131 (r = sshpkt_send(ssh)) != 0)
134 ssh_dispatch_set(ssh, SSH2_MSG_KEX_ECDH_REPLY, &input_kex_gen_reply);
139 input_kex_gen_reply(int type, u_int32_t seq, struct ssh *ssh)
141 struct kex *kex = ssh->kex;
152 ssh_dispatch_set(ssh, SSH2_MSG_KEX_ECDH_REPLY, &kex_protocol_error);
155 if ((r = sshpkt_getb_froms(ssh, &server_host_key_blob)) != 0)
164 if ((r = kex_verify_host_key(ssh, server_host_key)) != 0)
169 if ((r = sshpkt_getb_froms(ssh, &server_blob)) != 0 ||
170 (r = sshpkt_get_string(ssh, &signature, &slen)) != 0 ||
171 (r = sshpkt_get_end(ssh)) != 0)
222 kex->hostkey_alg, ssh->compat, NULL)) != 0)
225 if ((r = kex_derive_keys(ssh, hash, hashlen, shared_secret)) != 0 ||
226 (r = kex_send_newkeys(ssh)) != 0)
264 kex_gen_server(struct ssh *ssh)
267 ssh_dispatch_set(ssh, SSH2_MSG_KEX_ECDH_INIT, &input_kex_gen_init);
272 input_kex_gen_init(int type, u_int32_t seq, struct ssh *ssh)
274 struct kex *kex = ssh->kex;
285 ssh_dispatch_set(ssh, SSH2_MSG_KEX_ECDH_INIT, &kex_protocol_error);
287 if ((r = kex_load_hostkey(ssh, &server_host_private,
291 if ((r = sshpkt_getb_froms(ssh, &client_pubkey)) != 0 ||
292 (r = sshpkt_get_end(ssh)) != 0)
352 if ((r = kex->sign(ssh, server_host_private, server_host_public,
357 if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_ECDH_REPLY)) != 0 ||
358 (r = sshpkt_put_stringb(ssh, server_host_key_blob)) != 0 ||
359 (r = sshpkt_put_stringb(ssh, server_pubkey)) != 0 ||
360 (r = sshpkt_put_string(ssh, signature, slen)) != 0 ||
361 (r = sshpkt_send(ssh)) != 0)
364 if ((r = kex_derive_keys(ssh, hash, hashlen, shared_secret)) != 0 ||
365 (r = kex_send_newkeys(ssh)) != 0)