Ah, I suspected servers would choke on A & AAAA in the same packet.
FYI, in this case it's actually a load-balancer. Cisco currently believe the problem is actually timing related - effectively, glibc sends both DNS requests so quickly that the load-balancer is still setting up the session when the 2nd packet arrives, and it's a race-condition of sorts.
They seem receptive to addressing it. I suspect many other NATs and load-balancers might not be completely broken per-se, but racey when two requests come in so "quickly". Obviously this a slightly different issue than broken DNS servers which don't answer at all.
For those who are interested, I'll attach a python/twisted script that reproduces glibc behaviour and can be run on-demand. This is useful when opening bug with SLB/NAT vendors.
Ah, I suspected servers would choke on A & AAAA in the same packet.
FYI, in this case it's actually a load-balancer. Cisco currently believe the problem is actually timing related - effectively, glibc sends both DNS requests so quickly that the load-balancer is still setting up the session when the 2nd packet arrives, and it's a race-condition of sorts.
They seem receptive to addressing it. I suspect many other NATs and load-balancers might not be completely broken per-se, but racey when two requests come in so "quickly". Obviously this a slightly different issue than broken DNS servers which don't answer at all.
For those who are interested, I'll attach a python/twisted script that reproduces glibc behaviour and can be run on-demand. This is useful when opening bug with SLB/NAT vendors.