QUIC: Move CID generation to quic_types.c
authorHugo Landau <hlandau@openssl.org>
Tue, 19 Dec 2023 16:09:04 +0000 (16:09 +0000)
committerHugo Landau <hlandau@openssl.org>
Thu, 21 Dec 2023 08:12:06 +0000 (08:12 +0000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22674)

ssl/quic/build.info
ssl/quic/quic_types.c [new file with mode: 0644]
ssl/quic/quic_wire.c

index bb6739b18b038b504e281c1698b8773d220811c4..9927d344d8eb7a9f2db53632d985a3e708140f67 100644 (file)
@@ -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 (file)
index 0000000..4ff3ae6
--- /dev/null
@@ -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 <openssl/rand.h>
+#include <openssl/err.h>
+
+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;
+}
index faf80cfd07a88ccdb6e747d9f1ef67d48e99ac57..425e7efc2ede631679ea11a49c8adc08a05dd46f 100644 (file)
@@ -9,7 +9,6 @@
 
 #include <openssl/macros.h>
 #include <openssl/objects.h>
-#include <openssl/rand.h>
 #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;
-}