bind9/bin/tests
Michal Nowak 3584c03e3f Tolerate dnspython post-2038 timestamp overflow on 32-bit
dnspython's RRSIG.to_text() converts the signature inception/expiration
fields by calling time.gmtime(), which on 32-bit platforms raises
OverflowError for values past 2038-01-19 (INT32_MAX). Several DNSSEC
test fixtures use far-future expirations: the precomputed RRSIGs in
the dnssec test's rsasha1.example.db.in zone expire in 2093, ans4 of
the chain test hardcodes 2090, and ans10 of the dnssec test uses
2**32-1 (year 2106). Whenever a response carrying such an RRSIG is
formatted with str()/to_text() the overflow propagates out and either
fails the test (when triggered in isctest.query's debug logging) or
kills the asyncserver-based ans* server (when triggered in its
response logger), which in turn cascades into "Failed to stop
servers" teardown errors and SERVFAIL responses for subsequent tests.

Wrap the to_text() calls in isctest/query.py and the str(response)
call in asyncserver's _log_response() with try/except OverflowError,
falling back to a placeholder message. The conversions are only used
for debug logging, so losing the human-readable form there does not
affect what the tests actually validate.

Assisted-by: Claude:claude-opus-4-7

(cherry picked from commit 968ccdeeda)
2026-05-22 16:35:40 +00:00
..
startperf Reformat shell scripts with shfmt 2023-10-26 13:05:00 +02:00
system Tolerate dnspython post-2038 timestamp overflow on 32-bit 2026-05-22 16:35:40 +00:00
testdata/wire move all optional tests from bin/tests to bin/tests/optional 2018-03-09 14:12:47 -08:00
.gitignore Refactor TLSDNS module to work with libuv/ssl directly 2021-01-25 09:19:22 +01:00
convert_trs_to_junit.py Rename Python files to adhere to the snake-case convention 2026-02-25 12:10:20 +00:00
Makefile.am Rename Python files to adhere to the snake-case convention 2026-02-25 12:10:20 +00:00
test_client.c Remove redundant parentheses from the return statement 2024-11-19 16:06:16 +01:00
test_server.c Remove redundant parentheses from the return statement 2024-11-19 16:06:16 +01:00
wire_test.c Finalize removal of memory debug flags size and mctx 2025-02-17 16:48:43 +00:00