Lines Matching refs:ssh
51 static int input_kex_dh_gex_request(int, u_int32_t, struct ssh *);
52 static int input_kex_dh_gex_init(int, u_int32_t, struct ssh *);
55 kexgex_server(struct ssh *ssh) in kexgex_server() argument
57 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REQUEST, in kexgex_server()
64 input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh) in input_kex_dh_gex_request() argument
66 struct kex *kex = ssh->kex; in input_kex_dh_gex_request()
72 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REQUEST, &kex_protocol_error); in input_kex_dh_gex_request()
74 if ((r = sshpkt_get_u32(ssh, &min)) != 0 || in input_kex_dh_gex_request()
75 (r = sshpkt_get_u32(ssh, &nbits)) != 0 || in input_kex_dh_gex_request()
76 (r = sshpkt_get_u32(ssh, &max)) != 0 || in input_kex_dh_gex_request()
77 (r = sshpkt_get_end(ssh)) != 0) in input_kex_dh_gex_request()
96 (void)sshpkt_disconnect(ssh, "no matching DH grp found"); in input_kex_dh_gex_request()
102 if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_GROUP)) != 0 || in input_kex_dh_gex_request()
103 (r = sshpkt_put_bignum2(ssh, dh_p)) != 0 || in input_kex_dh_gex_request()
104 (r = sshpkt_put_bignum2(ssh, dh_g)) != 0 || in input_kex_dh_gex_request()
105 (r = sshpkt_send(ssh)) != 0) in input_kex_dh_gex_request()
113 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_INIT, &input_kex_dh_gex_init); in input_kex_dh_gex_request()
120 input_kex_dh_gex_init(int type, u_int32_t seq, struct ssh *ssh) in input_kex_dh_gex_init() argument
122 struct kex *kex = ssh->kex; in input_kex_dh_gex_init()
134 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_INIT, &kex_protocol_error); in input_kex_dh_gex_init()
136 if ((r = kex_load_hostkey(ssh, &server_host_private, in input_kex_dh_gex_init()
141 if ((r = sshpkt_get_bignum2(ssh, &dh_client_pub)) != 0 || in input_kex_dh_gex_init()
142 (r = sshpkt_get_end(ssh)) != 0) in input_kex_dh_gex_init()
177 if ((r = kex->sign(ssh, server_host_private, server_host_public, in input_kex_dh_gex_init()
182 if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_REPLY)) != 0 || in input_kex_dh_gex_init()
183 (r = sshpkt_put_stringb(ssh, server_host_key_blob)) != 0 || in input_kex_dh_gex_init()
184 (r = sshpkt_put_bignum2(ssh, pub_key)) != 0 || /* f */ in input_kex_dh_gex_init()
185 (r = sshpkt_put_string(ssh, signature, slen)) != 0 || in input_kex_dh_gex_init()
186 (r = sshpkt_send(ssh)) != 0) in input_kex_dh_gex_init()
189 if ((r = kex_derive_keys(ssh, hash, hashlen, shared_secret)) != 0 || in input_kex_dh_gex_init()
190 (r = kex_send_newkeys(ssh)) != 0) in input_kex_dh_gex_init()