version 1.12, 2001/12/27 19:37:23 |
version 1.13, 2001/12/28 12:14:27 |
|
|
if ((g = BN_new()) == NULL) |
if ((g = BN_new()) == NULL) |
fatal("BN_new"); |
fatal("BN_new"); |
packet_get_bignum2(g, &dlen); |
packet_get_bignum2(g, &dlen); |
packet_done(); |
packet_check_eom(); |
|
|
if (BN_num_bits(p) < min || BN_num_bits(p) > max) |
if (BN_num_bits(p) < min || BN_num_bits(p) > max) |
fatal("DH_GEX group out of range: %d !< %d !< %d", |
fatal("DH_GEX group out of range: %d !< %d !< %d", |
|
|
|
|
/* signed H */ |
/* signed H */ |
signature = packet_get_string(&slen); |
signature = packet_get_string(&slen); |
packet_done(); |
packet_check_eom(); |
|
|
if (!dh_pub_is_valid(dh, dh_server_pub)) |
if (!dh_pub_is_valid(dh, dh_server_pub)) |
packet_disconnect("bad server public DH value"); |
packet_disconnect("bad server public DH value"); |
|
|
default: |
default: |
fatal("protocol error during kex, no DH_GEX_REQUEST: %d", type); |
fatal("protocol error during kex, no DH_GEX_REQUEST: %d", type); |
} |
} |
packet_done(); |
packet_check_eom(); |
|
|
if (max < min || nbits < min || max < nbits) |
if (max < min || nbits < min || max < nbits) |
fatal("DH_GEX_REQUEST, bad parameters: %d !< %d !< %d", |
fatal("DH_GEX_REQUEST, bad parameters: %d !< %d !< %d", |