]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix for print of connection type in log-replies for dot and doh.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 10 Apr 2025 07:33:51 +0000 (09:33 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 10 Apr 2025 07:33:51 +0000 (09:33 +0200)
daemon/worker.c
doc/Changelog
services/mesh.c
util/data/msgreply.c
util/data/msgreply.h

index 54ba2d76cd9369abaaa61dab12d7af8b53ef2b55..ead20938e17251b4d9d7d76775d05694ebd72454 100644 (file)
@@ -2055,13 +2055,13 @@ send_reply_rc:
                                &repinfo->client_addr, repinfo->client_addrlen,
                                tv, 1, c->buffer,
                                (worker->env.cfg->log_destaddr?(void*)repinfo->c->socket->addr:NULL),
-                               c->type);
+                               c->type, c->ssl);
                } else {
                        log_reply_info(NO_VERBOSE, &qinfo,
                                &repinfo->client_addr, repinfo->client_addrlen,
                                tv, 1, c->buffer,
                                (worker->env.cfg->log_destaddr?(void*)repinfo->c->socket->addr:NULL),
-                               c->type);
+                               c->type, c->ssl);
                }
        }
 #ifdef USE_DNSCRYPT
index 08f6c09f4240d82841a6c410bb74d7975ebef5da..f8e2a70009bab6aa76fea353926377e0f749e693 100644 (file)
@@ -1,3 +1,6 @@
+10 April 2025: Wouter
+       - Fix for print of connection type in log-replies for dot and doh.
+
 9 April 2025: Wouter
        - Fix to detect if atomic_store links in configure.
        - Fix #1264: unbound 1.22.0 leaks memory when doing DoH.
index 1d19e7c7db50bb8b4a38842d4ae708424007a4f1..8a52fe4a6466ee17efeb3a0fe0ae8cd34d185da7 100644 (file)
@@ -1579,7 +1579,7 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep,
                        &r->query_reply.client_addr,
                        r->query_reply.client_addrlen, duration, 0, r_buffer,
                        (m->s.env->cfg->log_destaddr?(void*)r->query_reply.c->socket->addr:NULL),
-                       r->query_reply.c->type);
+                       r->query_reply.c->type, r->query_reply.c->ssl);
        }
 }
 
index 530eee701cf5c8f2d90225179ad55b3693deb625..e98dce133039494fa8d5038556c85ca9595404e0 100644 (file)
@@ -965,7 +965,7 @@ void
 log_reply_info(enum verbosity_value v, struct query_info *qinf,
        struct sockaddr_storage *addr, socklen_t addrlen, struct timeval dur,
        int cached, struct sldns_buffer *rmsg, struct sockaddr_storage* daddr,
-       enum comm_point_type tp)
+       enum comm_point_type tp, void* ssl)
 {
        char clientip_buf[128];
        char rcode_buf[16];
@@ -1000,9 +1000,9 @@ log_reply_info(enum verbosity_value v, struct query_info *qinf,
                                (int)daddr->ss_family);
                }
                comm = "udp";
-               if(tp == comm_tcp) comm = "tcp";
-               else if(tp == comm_tcp_accept) comm = "tcp";
-               else if(tp == comm_http) comm = "dot";
+               if(tp == comm_tcp) comm = (ssl?"dot":"tcp");
+               else if(tp == comm_tcp_accept) comm = (ssl?"dot":"tcp");
+               else if(tp == comm_http) comm = "doh";
                else if(tp == comm_local) comm = "unix";
                else if(tp == comm_raw) comm = "raw";
                snprintf(dest_buf, sizeof(dest_buf), " on %s %s %d",
index d1c2bfa4bdfc2b5b9ef3f7fadd903c8ef786fcd2..9c701f07d0c4bdf9919c2fc3ac1625311db0a1ef 100644 (file)
@@ -554,11 +554,13 @@ void log_dns_msg(const char* str, struct query_info* qinfo,
  * @param rmsg: sldns buffer packet.
  * @param daddr: if not NULL, the destination address and port are logged.
  * @param tp: type of the comm point for logging destination connection type.
+ * @param ssl: the SSL pointer of the connection, to see if the connection
+ *     type is tcp or dot.
  */
 void log_reply_info(enum verbosity_value v, struct query_info *qinf,
        struct sockaddr_storage *addr, socklen_t addrlen, struct timeval dur,
        int cached, struct sldns_buffer *rmsg, struct sockaddr_storage* daddr,
-       enum comm_point_type tp);
+       enum comm_point_type tp, void* ssl);
 
 /**
  * Print string with neat domain name, type, class from query info.