Lines Matching refs:ssh
56 static int input_kex_dh_gex_request(int, u_int32_t, struct ssh *);
57 static int input_kex_dh_gex_init(int, u_int32_t, struct ssh *);
60 kexgex_server(struct ssh *ssh) in kexgex_server() argument
62 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REQUEST, in kexgex_server()
69 input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh) in input_kex_dh_gex_request() argument
71 struct kex *kex = ssh->kex; in input_kex_dh_gex_request()
77 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REQUEST, &kex_protocol_error); in input_kex_dh_gex_request()
79 if ((r = sshpkt_get_u32(ssh, &min)) != 0 || in input_kex_dh_gex_request()
80 (r = sshpkt_get_u32(ssh, &nbits)) != 0 || in input_kex_dh_gex_request()
81 (r = sshpkt_get_u32(ssh, &max)) != 0 || in input_kex_dh_gex_request()
82 (r = sshpkt_get_end(ssh)) != 0) in input_kex_dh_gex_request()
101 (void)sshpkt_disconnect(ssh, "no matching DH grp found"); in input_kex_dh_gex_request()
107 if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_GROUP)) != 0 || in input_kex_dh_gex_request()
108 (r = sshpkt_put_bignum2(ssh, dh_p)) != 0 || in input_kex_dh_gex_request()
109 (r = sshpkt_put_bignum2(ssh, dh_g)) != 0 || in input_kex_dh_gex_request()
110 (r = sshpkt_send(ssh)) != 0) in input_kex_dh_gex_request()
118 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_INIT, &input_kex_dh_gex_init); in input_kex_dh_gex_request()
125 input_kex_dh_gex_init(int type, u_int32_t seq, struct ssh *ssh) in input_kex_dh_gex_init() argument
127 struct kex *kex = ssh->kex; in input_kex_dh_gex_init()
139 ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_INIT, &kex_protocol_error); in input_kex_dh_gex_init()
141 if ((r = kex_load_hostkey(ssh, &server_host_private, in input_kex_dh_gex_init()
146 if ((r = sshpkt_get_bignum2(ssh, &dh_client_pub)) != 0 || in input_kex_dh_gex_init()
147 (r = sshpkt_get_end(ssh)) != 0) in input_kex_dh_gex_init()
182 if ((r = kex->sign(ssh, server_host_private, server_host_public, in input_kex_dh_gex_init()
187 if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_REPLY)) != 0 || in input_kex_dh_gex_init()
188 (r = sshpkt_put_stringb(ssh, server_host_key_blob)) != 0 || in input_kex_dh_gex_init()
189 (r = sshpkt_put_bignum2(ssh, pub_key)) != 0 || /* f */ in input_kex_dh_gex_init()
190 (r = sshpkt_put_string(ssh, signature, slen)) != 0 || in input_kex_dh_gex_init()
191 (r = sshpkt_send(ssh)) != 0) in input_kex_dh_gex_init()
194 if ((r = kex_derive_keys(ssh, hash, hashlen, shared_secret)) != 0 || in input_kex_dh_gex_init()
195 (r = kex_send_newkeys(ssh)) != 0) in input_kex_dh_gex_init()