openssl/ssl
John Baldwin 85773128d0 KTLS: Check for unprocessed receive records in ktls_configure_crypto.
KTLS implementations currently assume that the start of the in-kernel
socket buffer is aligned with the start of a TLS record for the
receive side.  The socket option to enable KTLS specifies the TLS
sequence number of this initial record.

When read ahead is enabled, data can be pending in the SSL read buffer
after negotiating session keys.  This pending data must be examined to
ensurs that the kernel's socket buffer does not contain a partial TLS
record as well as to determine the correct sequence number of the
first TLS record to be processed by the kernel.

In preparation for enabling receive kernel offload for TLS 1.3, move
the existing logic to handle read ahead from t1_enc.c into ktls.c and
invoke it from ktls_configure_crypto().

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17942)
2022-04-06 13:15:27 +02:00
..
record Cleanup record length checks for KTLS 2022-02-11 11:52:41 +01:00
statem tls_process_server_hello: Disallow repeated HRR 2022-03-30 11:34:20 +02:00
bio_ssl.c Fix ssl_free() and thus BIO_free() to respect BIO_NOCLOSE 2021-10-04 10:55:39 +02:00
build.info Do not duplicate symbols between libcrypto and libssl in static builds 2021-06-14 09:21:05 +10:00
d1_lib.c Move e_os.h to include/internal 2022-02-05 05:31:09 +01:00
d1_msg.c fix some code with obvious wrong coding style 2021-10-28 13:10:46 +10:00
d1_srtp.c Convert all {NAME}err() in ssl/ to their corresponding ERR_raise() call 2020-11-11 12:12:11 +01:00
ktls.c KTLS: Check for unprocessed receive records in ktls_configure_crypto. 2022-04-06 13:15:27 +02:00
methods.c Update some inclusions of <openssl/macros.h> 2019-11-07 11:37:25 +01:00
pqueue.c Update copyright year 2020-11-26 14:18:57 +00:00
s3_cbc.c fips module header inclusion fine-tunning 2021-07-06 10:52:27 +10:00
s3_enc.c tls: remove TODOs 2021-06-02 16:30:15 +10:00
s3_lib.c [ssl] Prefer SSL_k(EC)?DHE to the SSL_kE(EC)?DH alias 2022-03-01 10:51:03 +02:00
s3_msg.c Update copyright year 2021-05-20 14:22:33 +01:00
ssl_asn1.c Make the -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION pass tests 2021-08-31 12:20:12 +02:00
ssl_cert_table.h Following the license change, modify the boilerplates in ssl/ 2018-12-06 14:20:59 +01:00
ssl_cert.c [ssl] Add SSL_kDHEPSK and SSL_kECDHEPSK as PFS ciphersuites for SECLEVEL >= 3 2022-03-01 10:51:03 +02:00
ssl_ciph.c Don't include any TLSv1.3 ciphersuites that are disabled 2021-11-29 12:17:30 +10:00
ssl_conf.c apps: Add option -no_ems to s_client/s_server apps 2022-01-28 15:32:58 +01:00
ssl_err_legacy.c Update copyright year 2021-06-17 13:24:59 +01:00
ssl_err.c Update alert to common protocol 2022-01-08 10:18:26 +01:00
ssl_init.c Move e_os.h to include/internal 2022-02-05 05:31:09 +01:00
ssl_lib.c Fix Coverity 1498611 & 1498608: uninitialised read 2022-03-23 11:06:32 +11:00
ssl_local.h KTLS: Check for unprocessed receive records in ktls_configure_crypto. 2022-04-06 13:15:27 +02:00
ssl_mcnf.c SSL: refactor all SSLfatal() calls 2020-11-11 12:12:23 +01:00
ssl_rsa_legacy.c Deprecate RSA harder 2020-11-18 23:38:34 +01:00
ssl_rsa.c ssl: replace ;; with ; as statement separator 2022-01-18 15:10:38 +11:00
ssl_sess.c ssl: better support TSAN operations 2022-01-19 21:51:47 +11:00
ssl_stat.c Update copyright year 2021-09-07 13:35:43 +02:00
ssl_txt.c print SSL session, fix build warnings on OpenBSD. 2022-03-18 12:49:09 +01:00
ssl_utst.c Reorganize local header files 2019-09-28 20:26:35 +02:00
sslerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
t1_enc.c KTLS: Check for unprocessed receive records in ktls_configure_crypto. 2022-04-06 13:15:27 +02:00
t1_lib.c Add back check for the DH public key size 2022-02-17 13:21:01 +11:00
t1_trce.c Enable brainpool curves for TLS1.3 2021-11-26 06:45:19 +01:00
tls13_enc.c KTLS: Check for unprocessed receive records in ktls_configure_crypto. 2022-04-06 13:15:27 +02:00
tls_depr.c Replace the AES-128-CBC-HMAC-SHA1 cipher in e_ossltest.c 2021-10-06 15:18:10 +02:00
tls_srp.c ssl: add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00