diff options
author | Hugo Landau <hlandau@openssl.org> | 2024-01-22 13:14:53 +0000 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2024-02-08 16:50:00 +0000 |
commit | e203d1b542eba8dd7ae53b3def2abf8482acc4d8 (patch) | |
tree | 59ba3df99c7d768967b6795bdb01265b3d2aca34 /ssl | |
parent | d51398b9984d31eab275250a650c2621f3ebdf0d (diff) |
QUIC: Add new error codes for tuning API
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23360)
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/ssl_err.c | 10 | ||||
-rw-r--r-- | ssl/ssl_lib.c | 29 |
2 files changed, 39 insertions, 0 deletions
diff --git a/ssl/ssl_err.c b/ssl/ssl_err.c index 41af278a49..a1ce627456 100644 --- a/ssl/ssl_err.c +++ b/ssl/ssl_err.c @@ -180,6 +180,10 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { "failed to get parameter"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_FAILED_TO_INIT_ASYNC), "failed to init async"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE), + "feature negotiation not complete"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_FEATURE_NOT_RENEGOTIABLE), + "feature not renegotiable"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_FRAGMENTED_CLIENT_HELLO), "fragmented client hello"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_GOT_A_FIN_BEFORE_A_CCS), @@ -564,6 +568,12 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { "unsolicited extension"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM), "unsupported compression algorithm"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNSUPPORTED_CONFIG_VALUE), + "unsupported config value"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS), + "unsupported config value class"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNSUPPORTED_CONFIG_VALUE_OP), + "unsupported config value op"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNSUPPORTED_ELLIPTIC_CURVE), "unsupported elliptic curve"}, {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNSUPPORTED_PROTOCOL), diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 6788d2c104..539d8568f7 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -7636,6 +7636,35 @@ int SSL_get_conn_close_info(SSL *s, SSL_CONN_CLOSE_INFO *info, #endif } +int SSL_get_value_uint(SSL *s, uint32_t class_, uint32_t id, + uint64_t *value) +{ + if (value == NULL) { + ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT); + return 0; + } + +#ifndef OPENSSL_NO_QUIC + if (IS_QUIC(s)) + return ossl_quic_get_value_uint(s, class_, id, value); +#endif + + ERR_raise(ERR_LIB_SSL, SSL_R_UNSUPPORTED_PROTOCOL); + return 0; +} + +int SSL_set_value_uint(SSL *s, uint32_t class_, uint32_t id, + uint64_t value) +{ +#ifndef OPENSSL_NO_QUIC + if (IS_QUIC(s)) + return ossl_quic_set_value_uint(s, class_, id, value); +#endif + + ERR_raise(ERR_LIB_SSL, SSL_R_UNSUPPORTED_PROTOCOL); + return 0; +} + int SSL_add_expected_rpk(SSL *s, EVP_PKEY *rpk) { unsigned char *data = NULL; |