]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Only check SVBC alias forms at higher levels
authorMark Andrews <marka@isc.org>
Wed, 1 May 2024 04:29:20 +0000 (14:29 +1000)
committerMark Andrews <marka@isc.org>
Tue, 7 May 2024 01:20:49 +0000 (11:20 +1000)
Allow SVBC (HTTPS) alias form with parameters to be accepted from
the wire and when transfered.  This is for possible future extensions.

lib/dns/rdata/in_1/svcb_64.c
tests/dns/rdata_test.c

index 2968149752ab88e226b7f7a9f7cd37adcc2646fa..871d47f90a8c04c2552efbda10bd231efe8e4e06 100644 (file)
@@ -616,10 +616,6 @@ generic_fromtext_in_svcb(ARGS_FROMTEXT) {
                warn_badname(&name, lexer, callbacks);
        }
 
-       if (alias) {
-               return (ISC_R_SUCCESS);
-       }
-
        /*
         * SvcParams
         */
@@ -799,7 +795,7 @@ static isc_result_t
 generic_fromwire_in_svcb(ARGS_FROMWIRE) {
        dns_name_t name;
        isc_region_t region, man = { .base = NULL, .length = 0 };
-       bool alias, first = true, have_alpn = false;
+       bool first = true, have_alpn = false;
        uint16_t lastkey = 0, mankey = 0;
 
        UNUSED(type);
@@ -817,7 +813,6 @@ generic_fromwire_in_svcb(ARGS_FROMWIRE) {
                return (ISC_R_UNEXPECTEDEND);
        }
        RETERR(mem_tobuffer(target, region.base, 2));
-       alias = uint16_fromregion(&region) == 0;
        isc_buffer_forward(source, 2);
 
        /*
@@ -825,10 +820,6 @@ generic_fromwire_in_svcb(ARGS_FROMWIRE) {
         */
        RETERR(dns_name_fromwire(&name, source, dctx, target));
 
-       if (alias) {
-               return (ISC_R_SUCCESS);
-       }
-
        /*
         * SvcParams.
         */
index a3936f79ce288404f0677d2b6da94054edc2d52b..d52a1950dec3cde09b06844f1b7706d17ff04ed8 100644 (file)
@@ -2563,8 +2563,8 @@ ISC_RUN_TEST_IMPL(https_svcb) {
                TEXT_INVALID("0"),
                /* minimal record */
                TEXT_VALID_LOOP(0, "0 ."),
-               /* Alias form requires SvcFieldValue to be empty */
-               TEXT_INVALID("0 . alpn=\"h2\""),
+               /* Alias form possible future extension */
+               TEXT_VALID_LOOP(1, "0 . alpn=\"h2\""),
                /* no "key" prefix */
                TEXT_INVALID("2 svc.example.net. 0=\"2222\""),
                /* no key value */
@@ -2684,7 +2684,7 @@ ISC_RUN_TEST_IMPL(https_svcb) {
                 */
                WIRE_VALID(0x00, 0x00, 0x00),
                /*
-                * Alias with non-empty SvcFieldValue (key7="").
+                * Alias with invalid dohpath.
                 */
                WIRE_INVALID(0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00),
                /*