BIND 8 bug? (Protocol not supported)
Mark_Andrews at isc.org
Mark_Andrews at isc.org
Tue Feb 17 22:19:01 UTC 2004
> <Mark_Andrews at isc.org> wrote:
>
> > I suspect you are seeing the side effects of this which will
> > only be visible on timeouts if you only have a single nameserver
> > in resolv.conf.
> >
> > 1594. [bug] if only a single nameserver was listed in
> resolv.conf
> > IPv6 default server was also being used.
>
> So it is related to a resolver, not named?
>
> Paraphrasing, may i leave original 8.3.7-REL on its place
> and everything's gonna be allright, or do i have to update
> named? There will be no local users on this server. Just
> a single named process serving customers' queries.
>
> It seems to me your patch helped resolving NS RRs
> of 194.in-addr.arpa zone, but i'm still having problems
> contacting a particular site:
>
> 5:45pm phobos:src# dig 194.in-addr.arpa ns @ns.ripe.net
>
> ; <<>> DiG 8.3 <<>> 194.in-addr.arpa ns @ns.ripe.net
> ; (2 servers found)
> ;; res options: init recurs defnam dnsrch
> ;; res_nsend: Protocol not supported
> 5:45pm phobos:src#
>
> I forgot to mention - i don't have any IPv6 interfaces.
>
> > --
> > Mark Andrews, ISC
> > 1 Seymour St., Dundas Valley, NSW 2117, Australia
> > PHONE: +61 2 9871 4742 INTERNET: Mark.Andrews at isc.org
>
> --
> Pavel V. Knyazev
Try the following.
Mark
Index: lib/resolv/res_send.c
===================================================================
RCS file: /proj/cvs/prod/bind8/src/lib/resolv/res_send.c,v
retrieving revision 8.53
diff -u -r8.53 res_send.c
--- lib/resolv/res_send.c 16 Jan 2004 02:01:37 -0000 8.53
+++ lib/resolv/res_send.c 17 Feb 2004 22:15:24 -0000
@@ -434,8 +434,17 @@
try = statp->retry;
n = send_vc(statp, buf, buflen, ans, anssiz, &terrno,
ns);
- if (n < 0)
+ if (n < 0) {
+ switch (errno) {
+ case EPROTONOSUPPORT:
+ case EPFNOSUPPORT:
+ case EAFNOSUPPORT:
+ goto next_ns;
+ default:
+ goto fail;
+ }
goto fail;
+ }
if (n == 0)
goto next_ns;
resplen = n;
@@ -443,8 +452,16 @@
/* Use datagrams. */
n = send_dg(statp, buf, buflen, ans, anssiz, &terrno,
ns, &v_circuit, &gotsomewhere);
- if (n < 0)
- goto fail;
+ if (n < 0) {
+ switch (errno) {
+ case EPROTONOSUPPORT:
+ case EPFNOSUPPORT:
+ case EAFNOSUPPORT:
+ goto next_ns;
+ default:
+ goto fail;
+ }
+ }
if (n == 0)
goto next_ns;
if (v_circuit)
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark.Andrews at isc.org
More information about the bind-users
mailing list