diff options
author | 2020-08-31 14:34:01 +0000 | |
---|---|---|
committer | 2020-08-31 14:34:01 +0000 | |
commit | 12abb21322c093e7df7d028e78a56ed1d620b149 (patch) | |
tree | 57ecdfe0cdbbd952392a329089ffa4065d36acb9 /lib/libssl/ssl_sess.c | |
parent | Send alert on ssl_get_prev_session failure (diff) | |
download | wireguard-openbsd-12abb21322c093e7df7d028e78a56ed1d620b149.tar.xz wireguard-openbsd-12abb21322c093e7df7d028e78a56ed1d620b149.zip |
Return code tweaks for session ticket handlers
In tls1_process_ticket() and tls_decrypt_ticket() use #defines with
descriptive names instead of hardcoding -1 1 2 3 4 and occasionally
explaining the magic numbers with comments.
ok beck inoguchi
Diffstat (limited to 'lib/libssl/ssl_sess.c')
-rw-r--r-- | lib/libssl/ssl_sess.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/libssl/ssl_sess.c b/lib/libssl/ssl_sess.c index 827360176b0..9e8edd93e89 100644 --- a/lib/libssl/ssl_sess.c +++ b/lib/libssl/ssl_sess.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_sess.c,v 1.86 2020/08/31 14:04:51 tb Exp $ */ +/* $OpenBSD: ssl_sess.c,v 1.87 2020/08/31 14:34:01 tb Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -440,7 +440,6 @@ ssl_get_prev_session(SSL *s, CBS *session_id, CBS *ext_block, int *alert) SSL_SESSION *ret = NULL; int alert_desc = SSL_AD_INTERNAL_ERROR, fatal = 0; int try_session_cache = 1; - int r; /* This is used only by servers. */ @@ -451,16 +450,15 @@ ssl_get_prev_session(SSL *s, CBS *session_id, CBS *ext_block, int *alert) try_session_cache = 0; /* Sets s->internal->tlsext_ticket_expected. */ - r = tls1_process_ticket(s, session_id, ext_block, &alert_desc, &ret); - switch (r) { - case -1: /* Error during processing */ + switch (tls1_process_ticket(s, session_id, ext_block, &alert_desc, &ret)) { + case TLS1_TICKET_FATAL_ERROR: fatal = 1; goto err; - case 0: /* No ticket found */ - case 1: /* Zero length ticket found */ + case TLS1_TICKET_NONE: + case TLS1_TICKET_EMPTY: break; /* Ok to carry on processing session id. */ - case 2: /* Ticket found but not decrypted. */ - case 3: /* Ticket decrypted, *ret has been set. */ + case TLS1_TICKET_NOT_DECRYPTED: + case TLS1_TICKET_DECRYPTED: try_session_cache = 0; break; default: |