| Summary: | Coding error in /usr/src/contrib/bind/bin/dig/dig.c | ||
|---|---|---|---|
| Product: | Base System | Reporter: | alo <alo> |
| Component: | bin | Assignee: | Doug Barton <dougb> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.6.2-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->closed Duplicate of bin/41388. Please take a look at that PR for the solution. Responsible Changed From-To: freebsd-bugs->dougb I closed bin/41388 too. |
Coding error in /usr/src/contrib/bind/bin/dig/dig.c: static void reverse6(char *domain, struct in6_addr *in6) { sprintf(domain, "%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.ip6.arpa", in6->s6_addr[15] & 0x0f, (in6->s6_addr[15] >> 4) & 0x0f, in6->s6_addr[14] & 0x0f, (in6->s6_addr[14] >> 4) & 0x0f, in6->s6_addr[13] & 0x0f, (in6->s6_addr[13] >> 4) & 0x0f, in6->s6_addr[12] & 0x0f, (in6->s6_addr[12] >> 4) & 0x0f, in6->s6_addr[11] & 0x0f, (in6->s6_addr[11] >> 4) & 0x0f, in6->s6_addr[10] & 0x0f, (in6->s6_addr[10] >> 4) & 0x0f, in6->s6_addr[9] & 0x0f, (in6->s6_addr[9] >> 4) & 0x0f, in6->s6_addr[8] & 0x0f, (in6->s6_addr[8] >> 4) & 0x0f, in6->s6_addr[7] & 0x0f, (in6->s6_addr[7] >> 4) & 0x0f, in6->s6_addr[6] & 0x0f, (in6->s6_addr[6] >> 4) & 0x0f, in6->s6_addr[5] & 0x0f, (in6->s6_addr[5] >> 4) & 0x0f, in6->s6_addr[4] & 0x0f, (in6->s6_addr[4] >> 4) & 0x0f, in6->s6_addr[6] & 0x0f, (in6->s6_addr[3] >> 4) & 0x0f, in6->s6_addr[2] & 0x0f, (in6->s6_addr[2] >> 4) & 0x0f, in6->s6_addr[1] & 0x0f, (in6->s6_addr[1] >> 4) & 0x0f, in6->s6_addr[0] & 0x0f, (in6->s6_addr[0] >> 4) & 0x0f); } dig doesn't work with -x option and IPv6 aadresses. Fix: Change line in6->s6_addr[6] & 0x0f, (in6->s6_addr[3] >> 4) & 0x0f, into in6->s6_addr[3] & 0x0f, (in6->s6_addr[3] >> 4) & 0x0f, Report the bug to ISC, too, as it is still in the latest BIND 8 release. How-To-Repeat: See wrong ip6.arpa address in ;; QUERY SECTION: % dig -x 2001:638:a00::2 any ; <<>> DiG 8.3 <<>> -x any ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 2 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUERY SECTION: ;; 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.0.0.3.6.0.1.0.0.2.ip6.arpa, type = ANY, class = IN