resolved: transaction - don't explicitly verify packet source
authorTom Gundersen <teg@jklm.no>
Sat, 25 Jul 2015 03:14:08 +0000 (05:14 +0200)
committerTom Gundersen <teg@jklm.no>
Mon, 27 Jul 2015 18:34:28 +0000 (20:34 +0200)
This is handled by the kernel now that the socket is connect()ed.

src/resolve/resolved-dns-transaction.c

index a8ff233..b235fda 100644 (file)
@@ -350,24 +350,6 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) {
                 }
         }
 
-        if (t->scope->protocol == DNS_PROTOCOL_DNS) {
-
-                /* For DNS we are fine with accepting packets on any
-                 * interface, but the source IP address must be the
-                 * one of the DNS server we queried */
-
-                assert(t->server);
-
-                if (t->server->family != p->family)
-                        return;
-
-                if (!in_addr_equal(p->family, &p->sender, &t->server->address))
-                        return;
-
-                if (p->sender_port != 53)
-                        return;
-        }
-
         if (t->received != p) {
                 dns_packet_unref(t->received);
                 t->received = dns_packet_ref(p);