]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
QUIC TEST: Ensure PATH_RESPONSE is ignored
authorHugo Landau <hlandau@openssl.org>
Wed, 26 Jul 2023 17:10:16 +0000 (18:10 +0100)
committerHugo Landau <hlandau@openssl.org>
Thu, 10 Aug 2023 17:19:44 +0000 (18:19 +0100)
Fixes https://github.com/openssl/project/issues/77

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21565)

test/quic_multistream_test.c

index f2c3c63953ed0ce71300e9d1dbde5f2aee06b8e6..4fa6a17eb6e20ba6999f06f48c2fe2fc1a5d1bbd 100644 (file)
@@ -2928,7 +2928,7 @@ static int script_41_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,
                                            sizeof(frame_buf), 0)))
         return 0;
 
-    if (!TEST_true(WPACKET_quic_write_vlint(&wpkt, OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE))
+    if (!TEST_true(WPACKET_quic_write_vlint(&wpkt, h->inject_word1))
         || !TEST_true(WPACKET_put_bytes_u64(&wpkt, path_challenge)))
         goto err;
 
@@ -3014,7 +3014,7 @@ static const struct script_op script_41[] = {
     OP_S_BIND_STREAM_ID     (a, C_BIDI_ID(0))
     OP_S_READ_EXPECT        (a, "apple", 5)
 
-    OP_SET_INJECT_WORD      (1, 0)
+    OP_SET_INJECT_WORD      (1, OSSL_QUIC_FRAME_TYPE_PATH_CHALLENGE)
 
     OP_S_WRITE              (a, "orange", 6)
     OP_C_READ_EXPECT        (DEFAULT, "orange", 6)
@@ -3395,6 +3395,28 @@ static const struct script_op script_50[] = {
     OP_END
 };
 
+/* 51. Fault injection - PATH_CHALLENGE is ignored */
+static const struct script_op script_51[] = {
+    OP_S_SET_INJECT_PLAIN   (script_41_inject_plain)
+    OP_C_SET_ALPN           ("ossltest")
+    OP_C_CONNECT_WAIT       ()
+
+    OP_C_WRITE              (DEFAULT, "apple", 5)
+    OP_S_BIND_STREAM_ID     (a, C_BIDI_ID(0))
+    OP_S_READ_EXPECT        (a, "apple", 5)
+
+    OP_SET_INJECT_WORD      (1, OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE)
+
+    OP_S_WRITE              (a, "orange", 6)
+    OP_C_READ_EXPECT        (DEFAULT, "orange", 6)
+
+    OP_C_WRITE              (DEFAULT, "Strawberry", 10)
+    OP_S_READ_EXPECT        (a, "Strawberry", 10)
+
+    OP_END
+};
+
+
 static const struct script_op *const scripts[] = {
     script_1,
     script_2,
@@ -3446,6 +3468,7 @@ static const struct script_op *const scripts[] = {
     script_48,
     script_49,
     script_50,
+    script_51,
 };
 
 static int test_script(int idx)