From 8ab3f5bf4b9335429a06752b18de80698883321d Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 25 Jan 2013 13:03:08 +0000 Subject: -check that this is actually a DNS packet --- src/dns/gnunet-service-dns.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/dns/gnunet-service-dns.c') diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c index 5db14c56a..19c9d8eea 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, -- cgit v1.2.3