-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Michal,

On 12/16/2010 11:23 AM, Michał Margula wrote:
> Hello,
> 
>       I have filled a bug against unbound server using bugzilla, because I
> have a strange problem which only happens with unbound. Details are here
> - http://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=341
> 
> It doesn't resolve few polish domains - pogodynka.pl or pfron.org.pl,
> but DJBDNS which was replace by unbound, does it without any trouble.
> Funny thing is that wireshark claims that replies for this domains are
> malformed. But when I use local resolved (bind-tools) or djbdns they are
> not.
> 
> Any ideas?

With this patch they resolve (the patch is also in the svn trunk
development of unbound; ergo I believe the bug is fixed).

Offlist I have sent you a source tarball with that fix in it (but that
is a whole lot bigger than just the diff).

Best regards,
   Wouter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk0KDqoACgkQkDLqNwOhpPjRRwCcD8U+hgSuJWxmxy3g11zi3DjU
aMUAoIf0HkKs9PuRvGMvf6C/10uvzVYm
=Z4xR
-----END PGP SIGNATURE-----
--- ../tags/release-1.4.7/util/data/msgparse.c  2010-11-08 12:54:13.000000000 
+0100
+++ util/data/msgparse.c        2010-11-09 09:14:55.000000000 +0100
@@ -903,8 +903,11 @@
        if((ret = parse_section(pkt, msg, region, LDNS_SECTION_AUTHORITY,
                msg->nscount, &msg->ns_rrsets)) != 0)
                return ret;
-       if((ret = parse_section(pkt, msg, region, LDNS_SECTION_ADDITIONAL, 
-               msg->arcount, &msg->ar_rrsets)) != 0)
+       if(ldns_buffer_remaining(pkt) == 0 && msg->arcount == 1) {
+               /* BIND accepts leniently that an EDNS record is missing.
+                * so, we do too. */
+       } else if((ret = parse_section(pkt, msg, region,
+               LDNS_SECTION_ADDITIONAL, msg->arcount, &msg->ar_rrsets)) != 0)
                return ret;
        /* if(ldns_buffer_remaining(pkt) > 0) { */
                /* there is spurious data at end of packet. ignore */

Attachment: patch_edns_pl.diff.sig
Description: PGP signature

_______________________________________________
Unbound-users mailing list
[email protected]
http://unbound.nlnetlabs.nl/mailman/listinfo/unbound-users

Reply via email to