diff options
-rw-r--r-- | src/dns/gnunet-service-dns.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c index 5db14c56a3..19c9d8eeac 100644 --- a/src/dns/gnunet-service-dns.c +++ b/src/dns/gnunet-service-dns.c @@ -50,6 +50,11 @@ #include "gnunet_statistics_service.h" #include "gnunet_tun_lib.h" +/** + * Port number for DNS + */ +#define DNS_PORT 53 + /** * Generic logging shorthand @@ -1066,7 +1071,8 @@ process_helper_messages (void *cls GNUNET_UNUSED, void *client, ntohs (tun->proto)); return GNUNET_OK; } - if (msize <= sizeof (struct GNUNET_TUN_UdpHeader) + sizeof (struct GNUNET_TUN_DnsHeader)) + if ( (msize <= sizeof (struct GNUNET_TUN_UdpHeader) + sizeof (struct GNUNET_TUN_DnsHeader)) || + (DNS_PORT != ntohs (udp->destination_port)) ) { /* non-DNS packet received on TUN, ignore */ GNUNET_STATISTICS_update (stats, |