From: Hugo Landau Date: Tue, 19 Dec 2023 16:09:04 +0000 (+0000) Subject: QUIC: Move CID generation to quic_types.c X-Git-Tag: openssl-3.3.0-alpha1~394 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d59c3febdc5f737bd88086b4c3d40d62238be530;p=thirdparty%2Fopenssl.git QUIC: Move CID generation to quic_types.c Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/22674) --- diff --git a/ssl/quic/build.info b/ssl/quic/build.info index bb6739b18b0..9927d344d8e 100644 --- a/ssl/quic/build.info +++ b/ssl/quic/build.info @@ -16,3 +16,4 @@ SOURCE[$LIBSSL]=quic_thread_assist.c SOURCE[$LIBSSL]=quic_trace.c SOURCE[$LIBSSL]=quic_srtm.c quic_srt_gen.c SOURCE[$LIBSSL]=quic_lcidm.c +SOURCE[$LIBSSL]=quic_types.c diff --git a/ssl/quic/quic_types.c b/ssl/quic/quic_types.c new file mode 100644 index 00000000000..4ff3ae6580b --- /dev/null +++ b/ssl/quic/quic_types.c @@ -0,0 +1,29 @@ +/* + * Copyright 2023 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include "internal/quic_types.h" +#include +#include + +int ossl_quic_gen_rand_conn_id(OSSL_LIB_CTX *libctx, size_t len, + QUIC_CONN_ID *cid) +{ + if (len > QUIC_MAX_CONN_ID_LEN) + return 0; + + cid->id_len = (unsigned char)len; + + if (RAND_bytes_ex(libctx, cid->id, len, len * 8) != 1) { + ERR_raise(ERR_LIB_SSL, ERR_R_RAND_LIB); + cid->id_len = 0; + return 0; + } + + return 1; +} diff --git a/ssl/quic/quic_wire.c b/ssl/quic/quic_wire.c index faf80cfd07a..425e7efc2ed 100644 --- a/ssl/quic/quic_wire.c +++ b/ssl/quic/quic_wire.c @@ -9,7 +9,6 @@ #include #include -#include #include "internal/quic_ssl.h" #include "internal/quic_vlint.h" #include "internal/quic_wire.h" @@ -1077,20 +1076,3 @@ const char *ossl_quic_err_to_string(uint64_t error_code) return NULL; } } - -int ossl_quic_gen_rand_conn_id(OSSL_LIB_CTX *libctx, size_t len, - QUIC_CONN_ID *cid) -{ - if (len > QUIC_MAX_CONN_ID_LEN) - return 0; - - cid->id_len = (unsigned char)len; - - if (RAND_bytes_ex(libctx, cid->id, len, len * 8) != 1) { - ERR_raise(ERR_LIB_SSL, ERR_R_RAND_LIB); - cid->id_len = 0; - return 0; - } - - return 1; -}