Repository navigation
v0.11.5: IPv6 DNS Transport Support
IPv6 DNS Transport Support
DNS queries now work with IPv6 DNS servers, including link-local addresses with scope IDs (e.g. fe80::1%en0). This enables SwiftFTR on IPv6-only/NAT64 networks like iPhone tethering.
New
- Dual-stack DNS transport —
performDNSQueryInternal()andDNSClient.queryTXTOnce()detect server address family and create correct socket type reverseIPv6()— PTR lookup viaip6.arpa(onDNSQueriesand as standalone free function)_formatReverseDNS()— now handles IPv6 (expands viainet_pton, reverses nibbles)reverseDNS()— now resolves both IPv4 and IPv6 addresses viagetnameinfodetectAddressFamily()/parseIPv6Scoped()— internal utilities for address parsing
Link-local support
- Servers like
fe80::28d5:b1ff:fe4d:3564%en0fully supported withsin6_scope_id - Uses
IPV6_BOUND_IF/IPPROTO_IPV6for IPv6 interface binding - Source IP binding validates that source and server address families match
Testing
- 4 new offline unit tests (IPv6 reverse DNS formatting, address family detection, scoped parsing)
- Live-verified all query types (A, AAAA, TXT, PTR, PTR6, NS) through iPhone tethered link-local DNS
Full Changelog: v0.11.4...v0.11.5
Full Changelog: v0.11.4...v0.11.5