From: W.C.A. Wijngaards Date: Thu, 18 Feb 2021 12:12:09 +0000 (+0100) Subject: Merge branch 'master' into dnstap-log-local-addr X-Git-Tag: release-1.13.2rc1~254^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5339ec7e5b4127bb616279771a9ba7103489509;p=thirdparty%2Funbound.git Merge branch 'master' into dnstap-log-local-addr --- f5339ec7e5b4127bb616279771a9ba7103489509 diff --cc util/netevent.c index 37e6ac4f2,a2c0e6073..a5aea80f2 --- a/util/netevent.c +++ b/util/netevent.c @@@ -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 62e47d228,4a2aa1677..c79f99b3e --- a/util/netevent.h +++ b/util/netevent.h @@@ -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;