]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
fix memleak and add edns section when 1480 probe.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 15 Sep 2011 15:35:04 +0000 (15:35 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 15 Sep 2011 15:35:04 +0000 (15:35 +0000)
git-svn-id: file:///svn/unbound/trunk@2493 be551aaa-1e26-0410-a405-d3ace91eadb9

services/outside_network.c

index b7bc5ff754082beadd209880a22db64c7dfc81f3..5896b105aa5daa6411f16f8f90da4eab04dadced 100644 (file)
@@ -1199,6 +1199,7 @@ serviced_delete(struct serviced_query* sq)
                if(sq->status == serviced_query_UDP_EDNS ||
                        sq->status == serviced_query_UDP ||
                        sq->status == serviced_query_PROBE_EDNS ||
+                       sq->status == serviced_query_UDP_EDNS_FRAG ||
                        sq->status == serviced_query_UDP_EDNS_fallback) {
                        struct pending* p = (struct pending*)sq->pending;
                        if(p->pc)
@@ -1336,7 +1337,8 @@ serviced_udp_send(struct serviced_query* sq, ldns_buffer* buff)
                        sq->status = serviced_query_UDP; 
                }
        }
-       serviced_encode(sq, buff, sq->status == serviced_query_UDP_EDNS);
+       serviced_encode(sq, buff, (sq->status == serviced_query_UDP_EDNS) ||
+               (sq->status == serviced_query_UDP_EDNS_FRAG));
        sq->last_sent_time = *sq->outnet->now_tv;
        sq->edns_lame_known = (int)edns_lame_known;
        verbose(VERB_ALGO, "serviced query UDP timeout=%d msec", rtt);
@@ -1893,6 +1895,7 @@ serviced_get_mem(struct serviced_query* sq)
        if(sq->status == serviced_query_UDP_EDNS ||
                sq->status == serviced_query_UDP ||
                sq->status == serviced_query_PROBE_EDNS ||
+               sq->status == serviced_query_UDP_EDNS_FRAG ||
                sq->status == serviced_query_UDP_EDNS_fallback) {
                s += sizeof(struct pending);
                s += comm_timer_get_mem(NULL);