bind9/bin/tests/system/doth
Aydın Mercan b794b4eeed
Add system test for HTTP/2 SETTINGS frame flood
Send a valid DoH query followed by a flood of SETTINGS frames to
trigger a use-after-free in the write buffer.  Under ASan, named
will abort if the bug is present.
2026-05-07 13:32:15 +02:00
..
CA Remove trailing whitespace from all text files 2023-06-13 15:05:40 +02:00
ns1 Remove license headers from test zone files 2026-03-31 17:57:58 +02:00
ns2 Remove license headers from named.conf test files 2026-03-31 17:57:58 +02:00
ns3 Remove license headers from named.conf test files 2026-03-31 17:57:58 +02:00
ns4 Remove license headers from named.conf test files 2026-03-31 17:57:58 +02:00
ns5 Remove license headers from named.conf test files 2026-03-31 17:57:58 +02:00
.gitignore Extend the 'doth' system test with Strict/Mutual TLS checks 2022-03-28 16:22:53 +03:00
conftest.py Automatically sort imports in Python code 2026-02-20 15:17:32 +01:00
dhparam3072.pem Use FIPS compatible DH-param files 2024-12-04 18:08:51 +02:00
example.axfr.good AMTRELAY type 0 presentation format handling was wrong 2025-11-20 18:28:32 +11:00
example8.axfr.good AMTRELAY type 0 presentation format handling was wrong 2025-11-20 18:28:32 +11:00
get_openssl_version.py Use python3 in shebang lines for util scripts 2024-08-14 17:22:22 +02:00
prereq.sh Reformat shell scripts with shfmt 2023-10-26 10:23:50 +02:00
README.curl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
setup.sh Replace .in with .j2 templates for simple copy_setports cases 2025-12-09 14:23:14 +01:00
stress_http_quota.py Remove superfluous 'pylint: disable' directives 2026-02-20 15:17:32 +01:00
tests.sh Remove obsolete checks for PYTHON executable 2025-11-28 11:24:11 +01:00
tests_gnutls.py Clean up imports of dnspython modules 2026-02-20 15:17:32 +01:00
tests_malicious.py Add system test for HTTP/2 SETTINGS frame flood 2026-05-07 13:32:15 +02:00
tests_sh_doth.py Replace clean.sh files with extra_artifacts mark 2024-11-08 10:54:24 +01:00
tests_sslyze.py Replace clean.sh files with extra_artifacts mark 2024-11-08 10:54:24 +01:00

<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")

SPDX-License-Identifier: MPL-2.0

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0.  If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.

See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
-->

DoH query values that can be passed on the command line for testing
with curl can be obtained by encoding binary DNS messages into
base64url, with trailing '='s removed.

For example:

$ perl bin/tests/system/fromhex.pl << EOF | base64url
    # Transaction ID
    0001
    # Standard query
    0000
    # Questions: 1, Additional: 0
    0001 0000 0000 0000
    # QNAME: example
    07 6578616d706c65 00
    # Type: SOA
    0006
    Class: IN
    0001
EOF

This produces the string "AAEAAAABAAAAAAAAB2V4YW1wbGUAAAbFrMonAAE=". With
the trailing '=' removed, this can then be passed to curl:

curl "https://<server>/dns-query?dns=AAEAAAABAAAAAAAAB2V4YW1wbGUAAAbFrMonAAE"