From ecda2ba0a456fe1c284753326cfbb0f6bf31f511 Mon Sep 17 00:00:00 2001 From: Daniel Collins Date: Sun, 20 Apr 2014 16:31:11 +0100 Subject: [PATCH] Fix testing of source address in UDP-encapsulated unicast packets. --- src/interface.c | 2 +- src/router.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/interface.c b/src/interface.c index 4d0c1f8..55218fa 100644 --- a/src/interface.c +++ b/src/interface.c @@ -304,7 +304,7 @@ ipx_interface_t *copy_ipx_interface(const ipx_interface_t *src) *dest = *src; dest->ipaddr = NULL; - dest->prev = NULL; + dest->prev = dest; dest->next = NULL; ipx_interface_ip_t *ip; diff --git a/src/router.c b/src/router.c index 21b5be2..ddc7579 100644 --- a/src/router.c +++ b/src/router.c @@ -401,7 +401,7 @@ static void _handle_udp_recv(ipx_packet *packet, size_t packet_size, struct sock } else{ allow_interfaces = ipx_interface_by_addr( - addr32_in(packet->dest_net), addr32_in(packet->dest_node)); + addr32_in(packet->dest_net), addr48_in(packet->dest_node)); } ipx_interface_t *i; @@ -421,6 +421,7 @@ static void _handle_udp_recv(ipx_packet *packet, size_t packet_size, struct sock if(!source_ok) { + log_printf(LOG_DEBUG, "Packet did not come from an expected subnet, dropping"); return; }