Lines Matching refs:key_state

923                                                    * key_state)  in kex_method_diffie_hellman_group1_sha1_key_exchange()  argument
947 if(key_state->state == libssh2_NB_state_idle) { in kex_method_diffie_hellman_group1_sha1_key_exchange()
949 key_state->p = _libssh2_bn_init_from_bin(); /* SSH2 defined value in kex_method_diffie_hellman_group1_sha1_key_exchange()
951 key_state->g = _libssh2_bn_init(); /* SSH2 defined value (2) */ in kex_method_diffie_hellman_group1_sha1_key_exchange()
954 _libssh2_bn_set_word(key_state->g, 2); in kex_method_diffie_hellman_group1_sha1_key_exchange()
955 _libssh2_bn_from_bin(key_state->p, 128, p_value); in kex_method_diffie_hellman_group1_sha1_key_exchange()
960 key_state->state = libssh2_NB_state_created; in kex_method_diffie_hellman_group1_sha1_key_exchange()
963 ret = diffie_hellman_sha_algo(session, key_state->g, key_state->p, 128, 1, in kex_method_diffie_hellman_group1_sha1_key_exchange()
966 NULL, 0, &key_state->exchange_state); in kex_method_diffie_hellman_group1_sha1_key_exchange()
971 _libssh2_bn_free(key_state->p); in kex_method_diffie_hellman_group1_sha1_key_exchange()
972 key_state->p = NULL; in kex_method_diffie_hellman_group1_sha1_key_exchange()
973 _libssh2_bn_free(key_state->g); in kex_method_diffie_hellman_group1_sha1_key_exchange()
974 key_state->g = NULL; in kex_method_diffie_hellman_group1_sha1_key_exchange()
975 key_state->state = libssh2_NB_state_idle; in kex_method_diffie_hellman_group1_sha1_key_exchange()
998 * key_state, in kex_method_diffie_hellman_group14_key_exchange() argument
1040 if(key_state->state == libssh2_NB_state_idle) { in kex_method_diffie_hellman_group14_key_exchange()
1041 key_state->p = _libssh2_bn_init_from_bin(); /* SSH2 defined value in kex_method_diffie_hellman_group14_key_exchange()
1043 key_state->g = _libssh2_bn_init(); /* SSH2 defined value (2) */ in kex_method_diffie_hellman_group14_key_exchange()
1047 _libssh2_bn_set_word(key_state->g, 2); in kex_method_diffie_hellman_group14_key_exchange()
1048 _libssh2_bn_from_bin(key_state->p, 256, p_value); in kex_method_diffie_hellman_group14_key_exchange()
1053 key_state->state = libssh2_NB_state_created; in kex_method_diffie_hellman_group14_key_exchange()
1055 ret = hashfunc(session, key_state->g, key_state->p, in kex_method_diffie_hellman_group14_key_exchange()
1057 SSH_MSG_KEXDH_REPLY, NULL, 0, &key_state->exchange_state); in kex_method_diffie_hellman_group14_key_exchange()
1062 key_state->state = libssh2_NB_state_idle; in kex_method_diffie_hellman_group14_key_exchange()
1063 _libssh2_bn_free(key_state->p); in kex_method_diffie_hellman_group14_key_exchange()
1064 key_state->p = NULL; in kex_method_diffie_hellman_group14_key_exchange()
1065 _libssh2_bn_free(key_state->g); in kex_method_diffie_hellman_group14_key_exchange()
1066 key_state->g = NULL; in kex_method_diffie_hellman_group14_key_exchange()
1079 * key_state) in kex_method_diffie_hellman_group14_sha1_key_exchange() argument
1083 key_state, 1, in kex_method_diffie_hellman_group14_sha1_key_exchange()
1096 * key_state) in kex_method_diffie_hellman_group14_sha256_key_exchange() argument
1100 key_state, 256, in kex_method_diffie_hellman_group14_sha256_key_exchange()
1111 * key_state) in kex_method_diffie_hellman_group16_sha512_key_exchange() argument
1162 if(key_state->state == libssh2_NB_state_idle) { in kex_method_diffie_hellman_group16_sha512_key_exchange()
1163 key_state->p = _libssh2_bn_init_from_bin(); /* SSH2 defined value in kex_method_diffie_hellman_group16_sha512_key_exchange()
1165 key_state->g = _libssh2_bn_init(); /* SSH2 defined value (2) */ in kex_method_diffie_hellman_group16_sha512_key_exchange()
1169 _libssh2_bn_set_word(key_state->g, 2); in kex_method_diffie_hellman_group16_sha512_key_exchange()
1170 _libssh2_bn_from_bin(key_state->p, 512, p_value); in kex_method_diffie_hellman_group16_sha512_key_exchange()
1175 key_state->state = libssh2_NB_state_created; in kex_method_diffie_hellman_group16_sha512_key_exchange()
1178 ret = diffie_hellman_sha_algo(session, key_state->g, key_state->p, 512, in kex_method_diffie_hellman_group16_sha512_key_exchange()
1181 NULL, 0, &key_state->exchange_state); in kex_method_diffie_hellman_group16_sha512_key_exchange()
1186 key_state->state = libssh2_NB_state_idle; in kex_method_diffie_hellman_group16_sha512_key_exchange()
1187 _libssh2_bn_free(key_state->p); in kex_method_diffie_hellman_group16_sha512_key_exchange()
1188 key_state->p = NULL; in kex_method_diffie_hellman_group16_sha512_key_exchange()
1189 _libssh2_bn_free(key_state->g); in kex_method_diffie_hellman_group16_sha512_key_exchange()
1190 key_state->g = NULL; in kex_method_diffie_hellman_group16_sha512_key_exchange()
1201 * key_state) in kex_method_diffie_hellman_group18_sha512_key_exchange() argument
1295 if(key_state->state == libssh2_NB_state_idle) { in kex_method_diffie_hellman_group18_sha512_key_exchange()
1296 key_state->p = _libssh2_bn_init_from_bin(); /* SSH2 defined value in kex_method_diffie_hellman_group18_sha512_key_exchange()
1298 key_state->g = _libssh2_bn_init(); /* SSH2 defined value (2) */ in kex_method_diffie_hellman_group18_sha512_key_exchange()
1302 _libssh2_bn_set_word(key_state->g, 2); in kex_method_diffie_hellman_group18_sha512_key_exchange()
1303 _libssh2_bn_from_bin(key_state->p, 1024, p_value); in kex_method_diffie_hellman_group18_sha512_key_exchange()
1308 key_state->state = libssh2_NB_state_created; in kex_method_diffie_hellman_group18_sha512_key_exchange()
1311 ret = diffie_hellman_sha_algo(session, key_state->g, key_state->p, 1024, in kex_method_diffie_hellman_group18_sha512_key_exchange()
1314 NULL, 0, &key_state->exchange_state); in kex_method_diffie_hellman_group18_sha512_key_exchange()
1319 key_state->state = libssh2_NB_state_idle; in kex_method_diffie_hellman_group18_sha512_key_exchange()
1320 _libssh2_bn_free(key_state->p); in kex_method_diffie_hellman_group18_sha512_key_exchange()
1321 key_state->p = NULL; in kex_method_diffie_hellman_group18_sha512_key_exchange()
1322 _libssh2_bn_free(key_state->g); in kex_method_diffie_hellman_group18_sha512_key_exchange()
1323 key_state->g = NULL; in kex_method_diffie_hellman_group18_sha512_key_exchange()
1334 (LIBSSH2_SESSION * session, key_exchange_state_low_t * key_state) in kex_method_diffie_hellman_group_exchange_sha1_key_exchange() argument
1339 if(key_state->state == libssh2_NB_state_idle) { in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1340 key_state->p = _libssh2_bn_init_from_bin(); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1341 key_state->g = _libssh2_bn_init_from_bin(); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1344 key_state->request[0] = SSH_MSG_KEX_DH_GEX_REQUEST; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1345 _libssh2_htonu32(key_state->request + 1, LIBSSH2_DH_GEX_MINGROUP); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1346 _libssh2_htonu32(key_state->request + 5, LIBSSH2_DH_GEX_OPTGROUP); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1347 _libssh2_htonu32(key_state->request + 9, LIBSSH2_DH_GEX_MAXGROUP); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1348 key_state->request_len = 13; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1353 key_state->request[0] = SSH_MSG_KEX_DH_GEX_REQUEST_OLD; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1354 _libssh2_htonu32(key_state->request + 1, LIBSSH2_DH_GEX_OPTGROUP); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1355 key_state->request_len = 5; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1361 key_state->state = libssh2_NB_state_created; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1364 if(key_state->state == libssh2_NB_state_created) { in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1365 rc = _libssh2_transport_send(session, key_state->request, in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1366 key_state->request_len, NULL, 0); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1376 key_state->state = libssh2_NB_state_sent; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1379 if(key_state->state == libssh2_NB_state_sent) { in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1381 &key_state->data, &key_state->data_len, in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1382 0, NULL, 0, &key_state->req_state); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1392 key_state->state = libssh2_NB_state_sent1; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1395 if(key_state->state == libssh2_NB_state_sent1) { in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1401 if(key_state->data_len < 9) { in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1407 buf.data = key_state->data; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1409 buf.len = key_state->data_len; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1425 _libssh2_bn_from_bin(key_state->p, p_len, p); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1426 _libssh2_bn_from_bin(key_state->g, g_len, g); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1428 ret = diffie_hellman_sha_algo(session, key_state->g, key_state->p, in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1433 key_state->data + 1, in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1434 key_state->data_len - 1, in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1435 &key_state->exchange_state); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1440 LIBSSH2_FREE(session, key_state->data); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1444 key_state->state = libssh2_NB_state_idle; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1445 _libssh2_bn_free(key_state->g); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1446 key_state->g = NULL; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1447 _libssh2_bn_free(key_state->p); in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1448 key_state->p = NULL; in kex_method_diffie_hellman_group_exchange_sha1_key_exchange()
1461 (LIBSSH2_SESSION * session, key_exchange_state_low_t * key_state) in kex_method_diffie_hellman_group_exchange_sha256_key_exchange() argument
1466 if(key_state->state == libssh2_NB_state_idle) { in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1467 key_state->p = _libssh2_bn_init(); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1468 key_state->g = _libssh2_bn_init(); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1471 key_state->request[0] = SSH_MSG_KEX_DH_GEX_REQUEST; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1472 _libssh2_htonu32(key_state->request + 1, LIBSSH2_DH_GEX_MINGROUP); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1473 _libssh2_htonu32(key_state->request + 5, LIBSSH2_DH_GEX_OPTGROUP); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1474 _libssh2_htonu32(key_state->request + 9, LIBSSH2_DH_GEX_MAXGROUP); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1475 key_state->request_len = 13; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1480 key_state->request[0] = SSH_MSG_KEX_DH_GEX_REQUEST_OLD; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1481 _libssh2_htonu32(key_state->request + 1, LIBSSH2_DH_GEX_OPTGROUP); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1482 key_state->request_len = 5; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1488 key_state->state = libssh2_NB_state_created; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1491 if(key_state->state == libssh2_NB_state_created) { in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1492 rc = _libssh2_transport_send(session, key_state->request, in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1493 key_state->request_len, NULL, 0); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1504 key_state->state = libssh2_NB_state_sent; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1507 if(key_state->state == libssh2_NB_state_sent) { in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1509 &key_state->data, &key_state->data_len, in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1510 0, NULL, 0, &key_state->req_state); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1520 key_state->state = libssh2_NB_state_sent1; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1523 if(key_state->state == libssh2_NB_state_sent1) { in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1529 if(key_state->data_len < 9) { in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1535 buf.data = key_state->data; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1537 buf.len = key_state->data_len; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1553 _libssh2_bn_from_bin(key_state->p, p_len, p); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1554 _libssh2_bn_from_bin(key_state->g, g_len, g); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1556 ret = diffie_hellman_sha_algo(session, key_state->g, key_state->p, in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1561 key_state->data + 1, in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1562 key_state->data_len - 1, in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1563 &key_state->exchange_state); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1568 LIBSSH2_FREE(session, key_state->data); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1572 key_state->state = libssh2_NB_state_idle; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1573 _libssh2_bn_free(key_state->g); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1574 key_state->g = NULL; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1575 _libssh2_bn_free(key_state->p); in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
1576 key_state->p = NULL; in kex_method_diffie_hellman_group_exchange_sha256_key_exchange()
2221 (LIBSSH2_SESSION * session, key_exchange_state_low_t * key_state) in kex_method_ecdh_key_exchange() argument
2228 if(key_state->state == libssh2_NB_state_idle) { in kex_method_ecdh_key_exchange()
2230 key_state->public_key_oct = NULL; in kex_method_ecdh_key_exchange()
2231 key_state->state = libssh2_NB_state_created; in kex_method_ecdh_key_exchange()
2234 if(key_state->state == libssh2_NB_state_created) { in kex_method_ecdh_key_exchange()
2243 rc = _libssh2_ecdsa_create_key(session, &key_state->private_key, in kex_method_ecdh_key_exchange()
2244 &key_state->public_key_oct, in kex_method_ecdh_key_exchange()
2245 &key_state->public_key_oct_len, type); in kex_method_ecdh_key_exchange()
2253 key_state->request[0] = SSH2_MSG_KEX_ECDH_INIT; in kex_method_ecdh_key_exchange()
2254 s = key_state->request + 1; in kex_method_ecdh_key_exchange()
2255 _libssh2_store_str(&s, (const char *)key_state->public_key_oct, in kex_method_ecdh_key_exchange()
2256 key_state->public_key_oct_len); in kex_method_ecdh_key_exchange()
2257 key_state->request_len = key_state->public_key_oct_len + 5; in kex_method_ecdh_key_exchange()
2262 key_state->state = libssh2_NB_state_sent; in kex_method_ecdh_key_exchange()
2265 if(key_state->state == libssh2_NB_state_sent) { in kex_method_ecdh_key_exchange()
2266 rc = _libssh2_transport_send(session, key_state->request, in kex_method_ecdh_key_exchange()
2267 key_state->request_len, NULL, 0); in kex_method_ecdh_key_exchange()
2277 key_state->state = libssh2_NB_state_sent1; in kex_method_ecdh_key_exchange()
2280 if(key_state->state == libssh2_NB_state_sent1) { in kex_method_ecdh_key_exchange()
2282 &key_state->data, &key_state->data_len, in kex_method_ecdh_key_exchange()
2283 0, NULL, 0, &key_state->req_state); in kex_method_ecdh_key_exchange()
2293 key_state->state = libssh2_NB_state_sent2; in kex_method_ecdh_key_exchange()
2296 if(key_state->state == libssh2_NB_state_sent2) { in kex_method_ecdh_key_exchange()
2300 ret = ecdh_sha2_nistp(session, type, key_state->data, in kex_method_ecdh_key_exchange()
2301 key_state->data_len, in kex_method_ecdh_key_exchange()
2302 (unsigned char *)key_state->public_key_oct, in kex_method_ecdh_key_exchange()
2303 key_state->public_key_oct_len, in kex_method_ecdh_key_exchange()
2304 key_state->private_key, in kex_method_ecdh_key_exchange()
2305 &key_state->exchange_state); in kex_method_ecdh_key_exchange()
2311 LIBSSH2_FREE(session, key_state->data); in kex_method_ecdh_key_exchange()
2316 if(key_state->public_key_oct) { in kex_method_ecdh_key_exchange()
2317 LIBSSH2_FREE(session, key_state->public_key_oct); in kex_method_ecdh_key_exchange()
2318 key_state->public_key_oct = NULL; in kex_method_ecdh_key_exchange()
2321 if(key_state->private_key) { in kex_method_ecdh_key_exchange()
2322 _libssh2_ecdsa_free(key_state->private_key); in kex_method_ecdh_key_exchange()
2323 key_state->private_key = NULL; in kex_method_ecdh_key_exchange()
2326 key_state->state = libssh2_NB_state_idle; in kex_method_ecdh_key_exchange()
2828 (LIBSSH2_SESSION * session, key_exchange_state_low_t * key_state) in kex_method_curve25519_key_exchange() argument
2833 if(key_state->state == libssh2_NB_state_idle) { in kex_method_curve25519_key_exchange()
2835 key_state->public_key_oct = NULL; in kex_method_curve25519_key_exchange()
2836 key_state->state = libssh2_NB_state_created; in kex_method_curve25519_key_exchange()
2839 if(key_state->state == libssh2_NB_state_created) { in kex_method_curve25519_key_exchange()
2853 &key_state->curve25519_public_key, in kex_method_curve25519_key_exchange()
2854 &key_state->curve25519_private_key); in kex_method_curve25519_key_exchange()
2862 key_state->request[0] = SSH2_MSG_KEX_ECDH_INIT; in kex_method_curve25519_key_exchange()
2863 s = key_state->request + 1; in kex_method_curve25519_key_exchange()
2864 _libssh2_store_str(&s, (const char *)key_state->curve25519_public_key, in kex_method_curve25519_key_exchange()
2866 key_state->request_len = LIBSSH2_ED25519_KEY_LEN + 5; in kex_method_curve25519_key_exchange()
2871 key_state->state = libssh2_NB_state_sent; in kex_method_curve25519_key_exchange()
2874 if(key_state->state == libssh2_NB_state_sent) { in kex_method_curve25519_key_exchange()
2875 rc = _libssh2_transport_send(session, key_state->request, in kex_method_curve25519_key_exchange()
2876 key_state->request_len, NULL, 0); in kex_method_curve25519_key_exchange()
2886 key_state->state = libssh2_NB_state_sent1; in kex_method_curve25519_key_exchange()
2889 if(key_state->state == libssh2_NB_state_sent1) { in kex_method_curve25519_key_exchange()
2891 &key_state->data, &key_state->data_len, in kex_method_curve25519_key_exchange()
2892 0, NULL, 0, &key_state->req_state); in kex_method_curve25519_key_exchange()
2902 key_state->state = libssh2_NB_state_sent2; in kex_method_curve25519_key_exchange()
2905 if(key_state->state == libssh2_NB_state_sent2) { in kex_method_curve25519_key_exchange()
2907 ret = curve25519_sha256(session, key_state->data, key_state->data_len, in kex_method_curve25519_key_exchange()
2908 key_state->curve25519_public_key, in kex_method_curve25519_key_exchange()
2909 key_state->curve25519_private_key, in kex_method_curve25519_key_exchange()
2910 &key_state->exchange_state); in kex_method_curve25519_key_exchange()
2916 LIBSSH2_FREE(session, key_state->data); in kex_method_curve25519_key_exchange()
2921 if(key_state->curve25519_public_key) { in kex_method_curve25519_key_exchange()
2922 _libssh2_explicit_zero(key_state->curve25519_public_key, in kex_method_curve25519_key_exchange()
2924 LIBSSH2_FREE(session, key_state->curve25519_public_key); in kex_method_curve25519_key_exchange()
2925 key_state->curve25519_public_key = NULL; in kex_method_curve25519_key_exchange()
2928 if(key_state->curve25519_private_key) { in kex_method_curve25519_key_exchange()
2929 _libssh2_explicit_zero(key_state->curve25519_private_key, in kex_method_curve25519_key_exchange()
2931 LIBSSH2_FREE(session, key_state->curve25519_private_key); in kex_method_curve25519_key_exchange()
2932 key_state->curve25519_private_key = NULL; in kex_method_curve25519_key_exchange()
2935 key_state->state = libssh2_NB_state_idle; in kex_method_curve25519_key_exchange()
3789 key_exchange_state_t * key_state) in _libssh2_kex_exchange() argument
3796 if(key_state->state == libssh2_NB_state_idle) { in _libssh2_kex_exchange()
3810 key_state->state = libssh2_NB_state_created; in _libssh2_kex_exchange()
3814 if(key_state->state == libssh2_NB_state_created) { in _libssh2_kex_exchange()
3816 key_state->oldlocal = session->local.kexinit; in _libssh2_kex_exchange()
3817 key_state->oldlocal_len = session->local.kexinit_len; in _libssh2_kex_exchange()
3821 key_state->state = libssh2_NB_state_sent; in _libssh2_kex_exchange()
3824 if(key_state->state == libssh2_NB_state_sent) { in _libssh2_kex_exchange()
3831 session->local.kexinit = key_state->oldlocal; in _libssh2_kex_exchange()
3832 session->local.kexinit_len = key_state->oldlocal_len; in _libssh2_kex_exchange()
3833 key_state->state = libssh2_NB_state_idle; in _libssh2_kex_exchange()
3839 key_state->state = libssh2_NB_state_sent1; in _libssh2_kex_exchange()
3842 if(key_state->state == libssh2_NB_state_sent1) { in _libssh2_kex_exchange()
3845 &key_state->data, in _libssh2_kex_exchange()
3846 &key_state->data_len, 0, NULL, 0, in _libssh2_kex_exchange()
3847 &key_state->req_state); in _libssh2_kex_exchange()
3856 session->local.kexinit = key_state->oldlocal; in _libssh2_kex_exchange()
3857 session->local.kexinit_len = key_state->oldlocal_len; in _libssh2_kex_exchange()
3858 key_state->state = libssh2_NB_state_idle; in _libssh2_kex_exchange()
3867 session->remote.kexinit = key_state->data; in _libssh2_kex_exchange()
3868 session->remote.kexinit_len = key_state->data_len; in _libssh2_kex_exchange()
3870 if(kex_agree_methods(session, key_state->data, in _libssh2_kex_exchange()
3871 key_state->data_len)) in _libssh2_kex_exchange()
3874 key_state->state = libssh2_NB_state_sent2; in _libssh2_kex_exchange()
3878 key_state->state = libssh2_NB_state_sent2; in _libssh2_kex_exchange()
3882 if(key_state->state == libssh2_NB_state_sent2) { in _libssh2_kex_exchange()
3884 &key_state->key_state_low); in _libssh2_kex_exchange()
3910 key_state->state = libssh2_NB_state_idle; in _libssh2_kex_exchange()