From 225f46948b4ced998441ff1b4ed53dea81d922fe Mon Sep 17 00:00:00 2001 From: Daniel Collins Date: Sun, 13 Nov 2011 18:31:22 +0000 Subject: [PATCH] Added some extra log messages for debugging. --- src/ipxwrapper_stubs.txt | 1 + src/router.c | 16 ++++++++++++++++ src/winsock.c | 8 ++++++++ 3 files changed, 25 insertions(+) diff --git a/src/ipxwrapper_stubs.txt b/src/ipxwrapper_stubs.txt index 4402ad2..5bf1671 100644 --- a/src/ipxwrapper_stubs.txt +++ b/src/ipxwrapper_stubs.txt @@ -34,3 +34,4 @@ r_ioctlsocket:4 r_connect:4 r_send:4 r_getpeername:4 +inet_ntoa:4 diff --git a/src/router.c b/src/router.c index c12ac2d..1ad1b1c 100644 --- a/src/router.c +++ b/src/router.c @@ -277,6 +277,18 @@ DWORD router_main(void *arg) { continue; } + if(log_calls) { + char src_net[12], src_node[18]; + NET_TO_STRING(src_net, packet->src_net); + NODE_TO_STRING(src_node, packet->src_node); + + char dest_net[12], dest_node[18]; + NET_TO_STRING(dest_net, packet->dest_net); + NODE_TO_STRING(dest_node, packet->dest_node); + + log_printf("Recieved packet from %s/%s (%s) for %s/%s", src_net, src_node, inet_ntoa(addr.sin_addr), dest_net, dest_node); + } + memset(rp_header, 0, sizeof(*rp_header)); rp_header->src_ipaddr = addr.sin_addr.s_addr; @@ -296,6 +308,10 @@ DWORD router_main(void *arg) { /* Check source address matches remote_addr if set */ (ra->remote_addr.sa_family == AF_UNSPEC || (memcmp(ra->remote_addr.sa_netnum, packet->src_net, 4) == 0 && memcmp(ra->remote_addr.sa_nodenum, packet->src_node, 6) == 0)) ) { + if(log_calls) { + log_printf("Relaying packet to local port %hu", ntohs(ra->local_port)); + } + addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); addr.sin_port = ra->local_port; diff --git a/src/winsock.c b/src/winsock.c index 9734c78..e20d835 100644 --- a/src/winsock.c +++ b/src/winsock.c @@ -745,6 +745,14 @@ int WSAAPI sendto(SOCKET fd, const char *buf, int len, int flags, const struct s saddr.sin_port = htons(global_conf.udp_port); saddr.sin_addr.s_addr = (host ? host->ipaddr : (global_conf.bcast_all ? INADDR_BROADCAST : sockptr->nic_bcast)); + if(log_calls) { + char net_s[12], node_s[18]; + NET_TO_STRING(net_s, packet->dest_net); + NODE_TO_STRING(node_s, packet->dest_node); + + log_printf("Sending packet to %s/%s (%s)", net_s, node_s, inet_ntoa(saddr.sin_addr)); + } + int sval = r_sendto(send_fd, (char*)packet, psize, 0, (struct sockaddr*)&saddr, sizeof(saddr)); if(sval == -1) { len = -1;