wget/tls: session_id of zero length is ok (arxiv.org responds with such)

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2017-02-03 18:19:59 +01:00
parent 5f7c82b32f
commit 5b05d9db29

View File

@ -1312,7 +1312,7 @@ static void get_server_hello(tls_state_t *tls)
unsigned cipher;
int len, len24;
len = tls_xread_handshake_block(tls, 74);
len = tls_xread_handshake_block(tls, 74 - 32);
hp = (void*)tls->inbuf;
// 74 bytes:
@ -1332,7 +1332,7 @@ static void get_server_hello(tls_state_t *tls)
len24 = hp->len24_lo;
if (hp->session_id_len != 32) {
if (hp->session_id_len != 0)
tls_error_die(tls);
bad_record_die(tls, "'server hello'", len);
// session_id_len == 0: no session id
// "The server
@ -1347,7 +1347,7 @@ static void get_server_hello(tls_state_t *tls)
// || cipherid[1] != (CIPHER_ID & 0xff)
// || cipherid[2] != 0 /* comprtype */
) {
tls_error_die(tls);
bad_record_die(tls, "'server hello'", len);
}
dbg("<< SERVER_HELLO\n");