- Fix for print of connection type in log-replies for dot and doh.

This commit is contained in:
W.C.A. Wijngaards 2025-04-10 09:33:51 +02:00
parent 38026a21ee
commit 16ee7cf944
5 changed files with 13 additions and 8 deletions

View 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

View 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.

View 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);
}
}

View 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",

View 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.