]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix that if there are on reply callbacks, those are called per
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 14 Oct 2020 12:01:47 +0000 (14:01 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 14 Oct 2020 12:01:47 +0000 (14:01 +0200)
  reply and a new message created if that was modified by the call.

doc/Changelog
services/mesh.c

index 97959cf2621d04e9edc646ddb0af0c79f73a9116..4d35a747ed1fc9927540b6c88791068747533cfc 100644 (file)
@@ -2,6 +2,8 @@
        - Fix for python reply callback to see mesh state reply_list member,
          it only removes it briefly for the commpoint call so that it does
          not drop it and attempt to modify the reply list during reply.
+       - Fix that if there are on reply callbacks, those are called per
+         reply and a new message created if that was modified by the call.
 
 13 October 2020: Wouter
        - Fix #323: unbound testsuite fails on mock build in systemd-nspawn
index 8f746ea8e0c3cb260025c905f0eae7a2eda9f5d6..c22ef43fab1edaa5713fd9e41ea653fb0faa8168 100644 (file)
@@ -1235,7 +1235,7 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep,
                prev->edns.bits == r->edns.bits && 
                prev->edns.udp_size == r->edns.udp_size &&
                edns_opt_list_compare(prev->edns.opt_list, r->edns.opt_list)
-               == 0) {
+               == 0 && !env->inplace_cb_lists[inplace_cb_reply]) {
                /* if the previous reply is identical to this one, fix ID */
                if(prev_buffer != r_buffer)
                        sldns_buffer_copy(r_buffer, prev_buffer);