]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Merge branch 'master' into dnstap-log-local-addr
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 18 Feb 2021 12:12:09 +0000 (13:12 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 18 Feb 2021 12:12:09 +0000 (13:12 +0100)
1  2 
daemon/worker.c
services/listen_dnsport.c
services/listen_dnsport.h
services/outside_network.c
testcode/fake_event.c
util/netevent.c
util/netevent.h

diff --cc daemon/worker.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc util/netevent.c
index 37e6ac4f2bfae27759df3a74398f8820fdfc791a,a2c0e6073e368b98e71e4355144db50c6e6db543..a5aea80f2b99054195468ada8a71a09ba61548e1
@@@ -3942,16 -3968,12 +3987,16 @@@ comm_point_send_reply(struct comm_repl
                        repinfo->addrlen, repinfo);
                else
                        comm_point_send_udp_msg(repinfo->c, buffer,
-                       (struct sockaddr*)&repinfo->addr, repinfo->addrlen);
+                       (struct sockaddr*)&repinfo->addr, repinfo->addrlen, 0);
  #ifdef USE_DNSTAP
 -              if(repinfo->c->dtenv != NULL &&
 -                 repinfo->c->dtenv->log_client_response_messages)
 -                      dt_msg_send_client_response(repinfo->c->dtenv,
 -                      &repinfo->addr, repinfo->c->type, repinfo->c->buffer);
 +              /*
 +               * sending src (client)/dst (local service) addresses over DNSTAP from udp callback
 +               */
 +              if(repinfo->c->dtenv != NULL && repinfo->c->dtenv->log_client_response_messages) {
 +                      log_addr(VERB_ALGO, "from local addr", (void*)repinfo->c->socket->addr->ai_addr, repinfo->c->socket->addr->ai_addrlen);
 +                      log_addr(VERB_ALGO, "response to client", &repinfo->addr, repinfo->addrlen);
 +                      dt_msg_send_client_response(repinfo->c->dtenv, &repinfo->addr, (void*)repinfo->c->socket->addr->ai_addr, repinfo->c->type, repinfo->c->buffer);
 +              }
  #endif
        } else {
  #ifdef USE_DNSTAP
diff --cc util/netevent.h
index 62e47d228b79dea9596328dbcb2853152a993e96,4a2aa1677c0258a81faecd5fc8ff6e83419a3eac..c79f99b3eb6dbee26692594c453ee5988294efff
@@@ -167,9 -166,9 +167,11 @@@ struct comm_reply 
  struct comm_point {
        /** behind the scenes structure, with say libevent info. alloced. */
        struct internal_event* ev;
+       /** if the event is added or not */
+       int event_added;
  
 +      struct unbound_socket* socket;
 +
        /** file descriptor for communication point */
        int fd;