]> git.meshlink.io Git - catta/blobdiff - src/server.c
be more specific in an error message when receiving packets
[catta] / src / server.c
index 7f84e5aaffd5f5a68f402bacc055528986586d4b..fffbfdfdad85506dce2979af0518e29809fc063a 100644 (file)
@@ -849,7 +849,7 @@ static int originates_from_local_legacy_unicast_socket(CattaServer *s, const Cat
         socklen_t l = sizeof(lsa);
 
         if (getsockname(s->fd_legacy_unicast_ipv4, (struct sockaddr*) &lsa, &l) != 0)
-            catta_log_warn("getsockname(): %s", strerror(errno));
+            catta_log_warn("getsockname(): %s", errnostrsocket());
         else
             return catta_port_from_sockaddr((struct sockaddr*) &lsa) == port;
 
@@ -860,7 +860,7 @@ static int originates_from_local_legacy_unicast_socket(CattaServer *s, const Cat
         socklen_t l = sizeof(lsa);
 
         if (getsockname(s->fd_legacy_unicast_ipv6, (struct sockaddr*) &lsa, &l) != 0)
-            catta_log_warn("getsockname(): %s", strerror(errno));
+            catta_log_warn("getsockname(): %s", errnostrsocket());
         else
             return catta_port_from_sockaddr((struct sockaddr*) &lsa) == port;
     }
@@ -899,9 +899,12 @@ static void dispatch_packet(CattaServer *s, CattaDnsPacket *p, const CattaAddres
     assert(iface > 0);
     assert(src_address->proto == dst_address->proto);
 
-    if (!(i = catta_interface_monitor_get_interface(s->monitor, iface, src_address->proto)) ||
-        !i->announcing) {
-        catta_log_warn("Received packet from invalid interface.");
+    if (!(i = catta_interface_monitor_get_interface(s->monitor, iface, src_address->proto))) {
+        catta_log_warn("Received packet from unrecognized interface (%d).", iface);
+        return;
+    }
+    if (!i->announcing) {
+        catta_log_warn("Received packet from invalid interface %d (not announcing).", iface);
         return;
     }