win32 legacy system test failure
The legacy
system test fails when running under windows:
S:legacy:Thu Jan 24 00:40:01 PST 2019
T:legacy:1:A
A:legacy:System test legacy
I:legacy:PORTRANGE:5300 - 5399
I:legacy:checking formerr edns server setup (1)
I:legacy:checking recursive lookup to formerr edns server succeeds (2)
I:legacy:checking notimp edns server setup (3)
I:legacy:checking recursive lookup to notimp edns server fails (4)
I:legacy:checking refused edns server setup (5)
I:legacy:checking recursive lookup to refused edns server fails (6)
I:legacy:checking drop edns server setup (7)
I:legacy:checking recursive lookup to drop edns server fails (8)
I:legacy:checking drop edns + no tcp server setup (9)
I:legacy:checking recursive lookup to drop edns + no tcp server fails (10)
I:legacy:checking plain dns server setup (11)
I:legacy:checking recursive lookup to plain dns server succeeds (12)
I:legacy:checking plain dns + no tcp server setup (13)
I:legacy:checking recursive lookup to plain dns + no tcp server succeeds (14)
I:legacy:checking edns 512 server setup (15)
I:legacy:checking recursive lookup to edns 512 server succeeds (16)
I:legacy:checking edns 512 + no tcp server setup (17)
I:legacy:checking recursive lookup to edns 512 + no tcp server fails (18)
I:legacy:failed
I:legacy:checking recursive lookup to edns 512 + no tcp + trust anchor fails (19)
I:legacy:failed
I:legacy:exit status: 2
R:legacy:FAIL
In the failing test cases, a resolver queries an auth server for a large record using an EDNS UDP size of 512. It gets a TC=1 response, and is supposed to retry using TCP, but the auth server is using -T notcp
so it doesn't reply, and the resolver resolver should SERVFAIL. On windows, however, what seems to be happening instead, is that the resolver retries using UDP and a larger EDNS buffer size, and the query succeeds.
I initially assumed it was a bug it the system test, but I'm beginning to suspect that something is causing named to misbehave when it receives TC=1 responses on windows.