]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to remove http2 stream mesh state when mesh new request is
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 2 Dec 2025 14:31:53 +0000 (15:31 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 2 Dec 2025 14:31:53 +0000 (15:31 +0100)
  dropping the new request.

doc/Changelog
services/mesh.c

index e5f7126980fb619723cbb068ffc09324c724eed3..de00057f1815cbe33d43a5f7663724634c29a00a 100644 (file)
@@ -1,3 +1,7 @@
+2 December 2025: Wouter
+       - Fix to remove http2 stream mesh state when mesh new request is
+         dropping the new request.
+
 1 December 2025: Wouter
        - Fix to add EDNS CO flag to testbound and debug message log.
        - Fix header comment about EDE reference in validator/val_sigcrypt.h.
index 4a947766d8a33d88fcac0481508b1f7877679181..3a1cc2a787516b404b1dda35dc024094c5b4da0b 100644 (file)
@@ -463,6 +463,8 @@ void mesh_new_client(struct mesh_area* mesh, struct query_info* qinfo,
                if(!mesh_make_new_space(mesh, rep->c->buffer)) {
                        verbose(VERB_ALGO, "Too many queries. dropping "
                                "incoming query.");
+                       if(rep->c->use_h2)
+                               http2_stream_remove_mesh_state(rep->c->h2_stream);
                        comm_point_drop_reply(rep);
                        mesh->stats_dropped++;
                        return;
@@ -474,6 +476,8 @@ void mesh_new_client(struct mesh_area* mesh, struct query_info* qinfo,
                if(mesh->num_reply_addrs > mesh->max_reply_states*16) {
                        verbose(VERB_ALGO, "Too many requests queued. "
                                "dropping incoming query.");
+                       if(rep->c->use_h2)
+                               http2_stream_remove_mesh_state(rep->c->h2_stream);
                        comm_point_drop_reply(rep);
                        mesh->num_queries_replyaddr_limit++;
                        return;