From 6a6e2fffd57cd2014bf55cd60704c56f8d9be5de Mon Sep 17 00:00:00 2001 From: DL6ER Date: Tue, 4 Jan 2022 20:59:27 +0100 Subject: [PATCH] Minor tweaks Signed-off-by: DL6ER --- src/dnsmasq/forward.c | 8 +++++++- src/dnsmasq/network.c | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/dnsmasq/forward.c b/src/dnsmasq/forward.c index 22d11fbb..e1061ecd 100644 --- a/src/dnsmasq/forward.c +++ b/src/dnsmasq/forward.c @@ -1666,6 +1666,9 @@ void receive_query(struct listener *listen, time_t now) if (m >= 1) { +#ifdef HAVE_DUMPFILE + dump_packet(DUMP_REPLY, daemon->packet, m, NULL, &source_addr); +#endif send_from(listen->fd, option_bool(OPT_NOWILD) || option_bool(OPT_CLEVERBIND), (char *)header, m, &source_addr, &dst_addr, if_index); daemon->metrics[METRIC_DNS_LOCAL_ANSWERED]++; @@ -1679,6 +1682,9 @@ void receive_query(struct listener *listen, time_t now) local_auth, do_bit, have_pseudoheader); if (m >= 1) { +#ifdef HAVE_DUMPFILE + dump_packet(DUMP_REPLY, daemon->packet, m, NULL, &source_addr); +#endif #if defined(HAVE_CONNTRACK) && defined(HAVE_UBUS) if (local_auth) if (option_bool(OPT_CMARK_ALST_EN) && have_mark && ((u32)mark & daemon->allowlist_mask)) @@ -1978,7 +1984,7 @@ unsigned char *tcp_request(int confd, time_t now, bool piholeblocked = false; /**********************************************/ - if (getpeername(confd, (struct sockaddr *)&peer_addr, &peer_len) == -1) + if (!packet || getpeername(confd, (struct sockaddr *)&peer_addr, &peer_len) == -1) return packet; #ifdef HAVE_CONNTRACK diff --git a/src/dnsmasq/network.c b/src/dnsmasq/network.c index 1572ae99..5e5c3b91 100644 --- a/src/dnsmasq/network.c +++ b/src/dnsmasq/network.c @@ -492,11 +492,11 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label, } if (addr->sa.sa_family == AF_INET && - !iface_check(AF_INET, (union all_addr *)&addr->in.sin_addr, ifr.ifr_name, &auth_dns)) + !iface_check(AF_INET, (union all_addr *)&addr->in.sin_addr, label, &auth_dns)) return 1; if (addr->sa.sa_family == AF_INET6 && - !iface_check(AF_INET6, (union all_addr *)&addr->in6.sin6_addr, ifr.ifr_name, &auth_dns)) + !iface_check(AF_INET6, (union all_addr *)&addr->in6.sin6_addr, label, &auth_dns)) return 1; #ifdef HAVE_DHCP