bind9/bin
Nicki Křížek dcc78517be Rewrite xfer/ans11/ans.py to use AsyncDnsServer
Replace the hand-rolled threaded socket server with the standard
AsyncDnsServer framework used by other ans.py servers in the test suite.

The DNS wire-format message builders (IXFR diff, AXFR, SOA, SERVFAIL)
are retained unchanged since they produce carefully crafted messages
needed to trigger the IXFR->AXFR race condition. The server
infrastructure is replaced:

- Manual TCP/UDP socket management and threading replaced by
  AsyncDnsServer, which handles both protocols, pidfile lifecycle,
  and signal handling.
- Query parsing replaced by the framework's dns.message-based parser;
  query dispatch moved into IxfrRaceHandler.get_responses().
- The axfr_done_event threading.Event replaced by a boolean instance
  variable on IxfrRaceHandler, safe within the single asyncio event
  loop.
- For IXFR over TCP, the handler yields two BytesResponseSend actions
  (msg1 then msg2) so the framework sends both with TCP length prefixes,
  preserving the race-triggering sequence.
- For IXFR over UDP, the TC flag is set on the response to force TCP
  retry.
- Unused encode_name_compressed() and parse_dns_query() removed.

Also fix a timing issue that might result in the initial transfer not
being done by the time the test is executed -- since ns11 is started
after ns6. Ensure the initial transfer has happened before running the
ixfr_race test.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 187e571f4d)
2026-04-03 12:05:44 +00:00
..
check standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
confgen Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
delv Use const pointer with strchr of const pointer 2026-01-20 06:00:50 +00:00
dig Add examples to the dig man page 2026-02-22 16:21:13 +00:00
dnssec use the zone file's basename as origin in dnssec tools 2026-04-01 20:48:09 +00:00
named Merge tag 'v9.20.21' into bind-9.20 2026-03-25 14:24:13 +00:00
nsupdate Rename isc_net_getudpportrange() to isc_net_getportrange() 2026-02-20 17:02:45 +01:00
plugins standardize CHECK and RETERR macros 2025-12-03 19:17:20 -08:00
rndc List 'rndc dnssec' arguments in alphabetic order 2026-02-18 14:20:53 +00:00
tests Rewrite xfer/ans11/ans.py to use AsyncDnsServer 2026-04-03 12:05:44 +00:00
tools Rename isc_net_getudpportrange() to isc_net_getportrange() 2026-02-20 17:02:45 +01:00
Makefile.am Remove native PKCS#11 support 2021-09-09 15:35:39 +02:00