bind9/bin/tests/system/doth
Michał Kępień ac229a2fd5 Rework imports in dnspython-based system tests
Ensure all "import dns.*" statements are always placed after
pytest.importorskip('dns') calls, in order to allow the latter to
fulfill their purpose.  Explicitly import all dnspython modules used by
each dnspython-based test to avoid relying on nested imports.  Replace
function-scoped imports with global imports to reduce code duplication.

(cherry picked from commit 49312d6bb2)
2022-03-14 09:04:10 +01:00
..
ns1 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns2 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns3 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ns4 Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
.gitignore Reimplement the gnutls-cli check in Python 2022-01-18 11:00:46 +01:00
clean.sh Reimplement the gnutls-cli check in Python 2022-01-18 11:00:46 +01:00
conftest.py Reuse common port-related test fixtures 2022-03-14 09:04:10 +01:00
example.axfr.good Parse and print HTTPS and SVCB records 2021-08-18 13:49:48 +10:00
README.curl Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
setup.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stress_http_quota.py Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests.sh doth test: fix failure after reconfig 2022-01-18 14:25:43 +02:00
tests_gnutls.py Rework imports in dnspython-based system tests 2022-03-14 09:04:10 +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"