mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
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 |
||
|---|---|---|
| .. | ||
| check | ||
| confgen | ||
| delv | ||
| dig | ||
| dnssec | ||
| include | ||
| named | ||
| nsupdate | ||
| plugins | ||
| rndc | ||
| tests | ||
| tools | ||
| meson.build | ||