]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
QUIC RADIX: Minor fixes
authorHugo Landau <hlandau@openssl.org>
Mon, 5 Feb 2024 18:54:38 +0000 (18:54 +0000)
committerViktor Dukhovni <openssl-users@dukhovni.org>
Wed, 11 Sep 2024 08:35:22 +0000 (18:35 +1000)
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23487)

test/radix/quic_bindings.c
test/radix/quic_ops.c
test/radix/terp.c

index c5b9fe1d11e540be5e91e252aa9454a219775832..d90148e03d30ca5b021422e4325cd5a99daafa6d 100644 (file)
@@ -142,8 +142,10 @@ static int RADIX_OBJ_cmp(const RADIX_OBJ *a, const RADIX_OBJ *b)
 
 static int RADIX_PROCESS_init(RADIX_PROCESS *rp, size_t node_idx, size_t process_idx)
 {
+#if defined(OPENSSL_THREADS)
     if (!TEST_ptr(rp->gm = ossl_crypto_mutex_new()))
         goto err;
+#endif
 
     if (!TEST_ptr(rp->objs = lh_RADIX_OBJ_new(RADIX_OBJ_hash, RADIX_OBJ_cmp)))
         goto err;
@@ -299,8 +301,8 @@ static void RADIX_PROCESS_report_state(RADIX_PROCESS *rp, BIO *bio,
 
     BIO_printf(bio, "  Threads (incl. main):        %zu\n",
                rp->next_thread_idx);
-    BIO_printf(bio, "  Time slip:                   %zu ms\n",
-               ossl_time2ms(rp->time_slip));
+    BIO_printf(bio, "  Time slip:                   %llu ms\n",
+               (unsigned long long)ossl_time2ms(rp->time_slip));
 
     BIO_printf(bio, "  Objects:\n");
     lh_RADIX_OBJ_doall_arg(rp->objs, report_obj, bio);
@@ -482,10 +484,12 @@ static RADIX_THREAD *RADIX_THREAD_new(RADIX_PROCESS *rp)
 
     rt->rp          = rp;
 
+#if defined(OPENSSL_THREADS)
     if (!TEST_ptr(rt->m = ossl_crypto_mutex_new())) {
         OPENSSL_free(rt);
         return 0;
     }
+#endif
 
     if (!TEST_true(sk_RADIX_THREAD_push(rp->threads, rt))) {
         OPENSSL_free(rt);
@@ -672,6 +676,8 @@ static int expect_slot_ssl(FUNC_CTX *fctx, size_t idx, SSL **p_ssl)
 #define S_UNI_ID(ordinal) \
     (((ordinal) << 2) | QUIC_STREAM_INITIATOR_SERVER | QUIC_STREAM_DIR_UNI)
 
+#if defined(OPENSSL_THREADS)
+
 static int RADIX_THREAD_worker_run(RADIX_THREAD *rt)
 {
     int ok = 0;
@@ -712,6 +718,8 @@ static unsigned int RADIX_THREAD_worker_main(void *p)
     return 1;
 }
 
+#endif
+
 static void radix_activate_obj(RADIX_OBJ *obj)
 {
     if (obj != NULL)
index f3dedc13ac42cc0eddc28285b72db23e692c36f6..7289066419d59198c643ac67bd29a0ec85f461df 100644 (file)
@@ -1,4 +1,4 @@
-#include <netinet/in.h>
+#include "internal/sockets.h"
 
 static const unsigned char alpn_ossltest[] = {
     /* "\x08ossltest" (hex for EBCDIC resilience) */
@@ -56,7 +56,9 @@ static int ssl_create_bound_socket(uint16_t listen_port,
     int fd = -1;
     BIO_ADDR *addr = NULL;
     union BIO_sock_info_u info;
-    struct in_addr ina = { htonl(INADDR_LOOPBACK) };
+    struct in_addr ina;
+
+    ina.s_addr = htonl(INADDR_LOOPBACK);
 
     fd = BIO_socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, 0);
     if (!TEST_int_ge(fd, 0))
@@ -321,7 +323,7 @@ DEF_FUNC(hf_set_default_stream_mode)
     F_POP(mode);
     REQUIRE_SSL(ssl);
 
-    if (!TEST_true(SSL_set_default_stream_mode(ssl, mode)))
+    if (!TEST_true(SSL_set_default_stream_mode(ssl, (uint32_t)mode)))
         goto err;
 
     ok = 1;
@@ -339,7 +341,7 @@ DEF_FUNC(hf_set_incoming_stream_policy)
     F_POP(policy);
     REQUIRE_SSL(ssl);
 
-    if (!TEST_true(SSL_set_incoming_stream_policy(ssl, policy, error_code)))
+    if (!TEST_true(SSL_set_incoming_stream_policy(ssl, (int)policy, error_code)))
         goto err;
 
     ok = 1;
@@ -488,7 +490,7 @@ DEF_FUNC(hf_read_expect)
     int ok = 0, r;
     SSL *ssl;
     const void *buf;
-    uint64_t buf_len, bytes_read = 0;
+    size_t buf_len, bytes_read = 0;
 
     F_POP2(buf, buf_len);
     REQUIRE_SSL(ssl);
@@ -561,10 +563,6 @@ DEF_FUNC(hf_connect_wait)
         if (!TEST_true(SSL_set_blocking_mode(ssl, 0)))
             return 0;
 
-        SSL_CONN_CLOSE_INFO cc_info = {0};
-        if (!TEST_false(SSL_get_conn_close_info(ssl, &cc_info, sizeof(cc_info))))
-            goto err;
-
         /* 0 is the success case for SSL_set_alpn_protos(). */
         if (!TEST_false(SSL_set_alpn_protos(ssl, alpn_ossltest,
                                             sizeof(alpn_ossltest))))
@@ -685,9 +683,9 @@ DEF_FUNC(hf_expect_conn_close_info)
     if (!SSL_get_conn_close_info(ssl, &cc_info, sizeof(cc_info)))
         F_SPIN_AGAIN();
 
-    if (!TEST_int_eq(expect_app,
+    if (!TEST_int_eq((int)expect_app,
                      (cc_info.flags & SSL_CONN_CLOSE_FLAG_TRANSPORT) == 0)
-        || !TEST_int_eq(expect_remote,
+        || !TEST_int_eq((int)expect_remote,
                         (cc_info.flags & SSL_CONN_CLOSE_FLAG_LOCAL) == 0)
         || !TEST_uint64_t_eq(error_code, cc_info.error_code)) {
         TEST_info("connection close reason: %s", cc_info.reason);
@@ -723,8 +721,10 @@ DEF_FUNC(hf_expect_err)
     uint64_t lib, reason;
 
     F_POP2(lib, reason);
-    if (!TEST_size_t_eq((size_t)ERR_GET_LIB(ERR_peek_last_error()), lib)
-        || !TEST_size_t_eq((size_t)ERR_GET_REASON(ERR_peek_last_error()), reason))
+    if (!TEST_size_t_eq((size_t)ERR_GET_LIB(ERR_peek_last_error()),
+                        (size_t)lib)
+        || !TEST_size_t_eq((size_t)ERR_GET_REASON(ERR_peek_last_error()),
+                           (size_t)reason))
         goto err;
 
     ok = 1;
@@ -741,7 +741,7 @@ DEF_FUNC(hf_expect_ssl_err)
     F_POP(expected);
     REQUIRE_SSL(ssl);
 
-    if (!TEST_size_t_eq((size_t)SSL_get_error(ssl, 0), expected)
+    if (!TEST_size_t_eq((size_t)SSL_get_error(ssl, 0), (size_t)expected)
         || !TEST_int_eq(SSL_want(ssl), SSL_NOTHING))
         goto err;
 
index 89d3cbfeaf25ab226e6a80a230b40119b7879fa2..151d133e4c027d3f720ecb3a5350f1be136f0953 100644 (file)
@@ -426,7 +426,7 @@ static int SRDR_print_one(SRDR *srdr, BIO *bio, size_t i, int *was_end)
 
             GET_OPERAND(srdr, v);
             PRINT_OPC(PUSH_U64);
-            BIO_printf(bio, "%#20llx (%lld)",
+            BIO_printf(bio, "%#20llx (%llu)",
                        (unsigned long long)v, (unsigned long long)v);
         }
         break;
@@ -436,7 +436,7 @@ static int SRDR_print_one(SRDR *srdr, BIO *bio, size_t i, int *was_end)
 
             GET_OPERAND(srdr, v);
             PRINT_OPC(PUSH_SIZE);
-            BIO_printf(bio, "%#20llx (%lld)",
+            BIO_printf(bio, "%#20llx (%llu)",
                        (unsigned long long)v, (unsigned long long)v);
         }
         break;
@@ -626,10 +626,8 @@ static ossl_inline int TERP_stk_push(TERP *terp,
 static ossl_inline int TERP_stk_pop(TERP *terp,
                                     void *buf, size_t buf_len)
 {
-    if (!TEST_size_t_ge(terp->stk_end - terp->stk_cur, buf_len)) {
-        asm("int3");
+    if (!TEST_size_t_ge(terp->stk_end - terp->stk_cur, buf_len))
         return 0;
-    }
 
     memcpy(buf, terp->stk_cur, buf_len);
     terp->stk_cur += buf_len;
@@ -743,7 +741,7 @@ spin_again:
             break;
         case OPK_PUSH_SIZE:
             {
-                uint64_t v;
+                size_t v;
 
                 TERP_GET_OPERAND(v);
                 TERP_STK_PUSH(terp, v);