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

Denys Vlasenko vda.linux at googlemail.com
Fri Feb 3 17:23:52 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=5b05d9db29843144b2ed620ca437d6a3bacc3816
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/tls.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/networking/tls.c b/networking/tls.c
index 3353245..4e9187d 100644
--- a/networking/tls.c
+++ b/networking/tls.c
@@ -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");
 


More information about the busybox-cvs mailing list