diff options
Diffstat (limited to 'src/lib/libssl/t1_lib.c')
| -rw-r--r-- | src/lib/libssl/t1_lib.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index b0fc630236..64e64bf902 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.171 2020/08/31 14:34:01 tb Exp $ */ | 1 | /* $OpenBSD: t1_lib.c,v 1.172 2020/09/01 05:32:11 tb 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 | * |
| @@ -844,18 +844,7 @@ tls1_process_ticket(SSL *s, CBS *session_id, CBS *ext_block, int *alert, | |||
| 844 | return TLS1_TICKET_NOT_DECRYPTED; | 844 | return TLS1_TICKET_NOT_DECRYPTED; |
| 845 | } | 845 | } |
| 846 | 846 | ||
| 847 | switch (tls_decrypt_ticket(s, session_id, &ext_data, alert, ret)) { | 847 | return tls_decrypt_ticket(s, session_id, &ext_data, alert, ret); |
| 848 | case TLS1_TICKET_NOT_DECRYPTED: | ||
| 849 | s->internal->tlsext_ticket_expected = 1; | ||
| 850 | return TLS1_TICKET_NOT_DECRYPTED; | ||
| 851 | case TLS1_TICKET_DECRYPTED: | ||
| 852 | return TLS1_TICKET_DECRYPTED; | ||
| 853 | case TLS1_TICKET_DECRYPTED_RENEW: | ||
| 854 | s->internal->tlsext_ticket_expected = 1; | ||
| 855 | return TLS1_TICKET_DECRYPTED; | ||
| 856 | default: | ||
| 857 | return TLS1_TICKET_FATAL_ERROR; | ||
| 858 | } | ||
| 859 | } | 848 | } |
| 860 | 849 | ||
| 861 | /* tls_decrypt_ticket attempts to decrypt a session ticket. | 850 | /* tls_decrypt_ticket attempts to decrypt a session ticket. |
| @@ -869,7 +858,6 @@ tls1_process_ticket(SSL *s, CBS *session_id, CBS *ext_block, int *alert, | |||
| 869 | * TLS1_TICKET_FATAL_ERROR: error from parsing or decrypting the ticket. | 858 | * TLS1_TICKET_FATAL_ERROR: error from parsing or decrypting the ticket. |
| 870 | * TLS1_TICKET_NOT_DECRYPTED: the ticket couldn't be decrypted. | 859 | * TLS1_TICKET_NOT_DECRYPTED: the ticket couldn't be decrypted. |
| 871 | * TLS1_TICKET_DECRYPTED: a ticket was decrypted and *psess was set. | 860 | * TLS1_TICKET_DECRYPTED: a ticket was decrypted and *psess was set. |
| 872 | * TLS1_TICKET_DECRYPTED_RENEW: same as 3, but the ticket needs to be renewed. | ||
| 873 | */ | 861 | */ |
| 874 | static int | 862 | static int |
| 875 | tls_decrypt_ticket(SSL *s, CBS *session_id, CBS *ticket, int *alert, | 863 | tls_decrypt_ticket(SSL *s, CBS *session_id, CBS *ticket, int *alert, |
| @@ -1017,13 +1005,14 @@ tls_decrypt_ticket(SSL *s, CBS *session_id, CBS *ticket, int *alert, | |||
| 1017 | sess = NULL; | 1005 | sess = NULL; |
| 1018 | 1006 | ||
| 1019 | if (renew_ticket) | 1007 | if (renew_ticket) |
| 1020 | ret = TLS1_TICKET_DECRYPTED_RENEW; | 1008 | s->internal->tlsext_ticket_expected = 1; |
| 1021 | else | 1009 | |
| 1022 | ret = TLS1_TICKET_DECRYPTED; | 1010 | ret = TLS1_TICKET_DECRYPTED; |
| 1023 | 1011 | ||
| 1024 | goto done; | 1012 | goto done; |
| 1025 | 1013 | ||
| 1026 | derr: | 1014 | derr: |
| 1015 | s->internal->tlsext_ticket_expected = 1; | ||
| 1027 | ret = TLS1_TICKET_NOT_DECRYPTED; | 1016 | ret = TLS1_TICKET_NOT_DECRYPTED; |
| 1028 | goto done; | 1017 | goto done; |
| 1029 | 1018 | ||
