]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix that malformed EDNS query gets a response without malformed EDNS.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 20 Nov 2015 09:09:55 +0000 (09:09 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 20 Nov 2015 09:09:55 +0000 (09:09 +0000)
git-svn-id: file:///svn/unbound/trunk@3546 be551aaa-1e26-0410-a405-d3ace91eadb9

daemon/worker.c
doc/Changelog

index 79aec4d3a4b29d2c205537810bfe292d18f146a8..9fe014618c9f48488f79b92f315261e8e5871206 100644 (file)
@@ -868,7 +868,8 @@ worker_handle_request(struct comm_point* c, void* arg, int error,
        if((ret=parse_edns_from_pkt(c->buffer, &edns)) != 0) {
                verbose(VERB_ALGO, "worker parse edns: formerror.");
                log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen);
-               sldns_buffer_rewind(c->buffer);
+               sldns_buffer_flip(c->buffer); /* remove edns from reply */
+               sldns_buffer_write_at(c->buffer, 10, (uint8_t*)"\0\0", 2);
                LDNS_QR_SET(sldns_buffer_begin(c->buffer));
                LDNS_RCODE_SET(sldns_buffer_begin(c->buffer), ret);
                server_stats_insrcode(&worker->stats, c->buffer);
index dee657e87d7e62036d5a605524ccd6bf1d495576..e5cb67d229ee76e39db2ad0f42e048ae33bc2be8 100644 (file)
@@ -1,5 +1,6 @@
 20 November 2015: Wouter
        - Added assert on rrset cache correctness.
+       - Fix that malformed EDNS query gets a response without malformed EDNS.
 
 18 November 2015: Wouter
        - newer acx_nlnetlabs.m4.