diff options
| author | bcook <> | 2015-08-19 23:34:34 +0000 |
|---|---|---|
| committer | bcook <> | 2015-08-19 23:34:34 +0000 |
| commit | de7516839940f725aa7e675910fcedc16b89714f (patch) | |
| tree | 56d78f22129daa2f69641755ceab8762a3ad59fe /src | |
| parent | 78b44ff882075e2df5a437db1006f7ae85a753d6 (diff) | |
| download | openbsd-de7516839940f725aa7e675910fcedc16b89714f.tar.gz openbsd-de7516839940f725aa7e675910fcedc16b89714f.tar.bz2 openbsd-de7516839940f725aa7e675910fcedc16b89714f.zip | |
Properly handle missing TLS extensions in client hello as a non-failure.
Noticed by @Ligushka from github.
ok miod@, doug@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/src/ssl/t1_lib.c | 4 | ||||
| -rw-r--r-- | src/lib/libssl/t1_lib.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/libssl/src/ssl/t1_lib.c b/src/lib/libssl/src/ssl/t1_lib.c index 9ee495c790..b892fa9b91 100644 --- a/src/lib/libssl/src/ssl/t1_lib.c +++ b/src/lib/libssl/src/ssl/t1_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_lib.c,v 1.82 2015/07/24 07:57:48 doug Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.83 2015/08/19 23:34:34 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -2087,6 +2087,8 @@ tls1_process_ticket(SSL *s, const unsigned char *session, int session_len, | |||
| 2087 | return -1; | 2087 | return -1; |
| 2088 | 2088 | ||
| 2089 | /* Now at start of extensions */ | 2089 | /* Now at start of extensions */ |
| 2090 | if (CBS_len(&session_id) == 0) | ||
| 2091 | return 0; | ||
| 2090 | if (!CBS_get_u16_length_prefixed(&session_id, &extensions)) | 2092 | if (!CBS_get_u16_length_prefixed(&session_id, &extensions)) |
| 2091 | return -1; | 2093 | return -1; |
| 2092 | 2094 | ||
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index 9ee495c790..b892fa9b91 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_lib.c,v 1.82 2015/07/24 07:57:48 doug Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.83 2015/08/19 23:34:34 bcook Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -2087,6 +2087,8 @@ tls1_process_ticket(SSL *s, const unsigned char *session, int session_len, | |||
| 2087 | return -1; | 2087 | return -1; |
| 2088 | 2088 | ||
| 2089 | /* Now at start of extensions */ | 2089 | /* Now at start of extensions */ |
| 2090 | if (CBS_len(&session_id) == 0) | ||
| 2091 | return 0; | ||
| 2090 | if (!CBS_get_u16_length_prefixed(&session_id, &extensions)) | 2092 | if (!CBS_get_u16_length_prefixed(&session_id, &extensions)) |
| 2091 | return -1; | 2093 | return -1; |
| 2092 | 2094 | ||
