diff options
author | rich cannings <richc@google.com> | 2011-03-01 15:40:09 -0800 |
---|---|---|
committer | rich cannings <richc@google.com> | 2011-03-01 15:48:28 -0800 |
commit | d952f28e527175cc3df9ebd91e739e34df2194c9 (patch) | |
tree | 7d184c1be6ce90acced09bc75d37ffb6a348338b /slirp-android/udp.c | |
parent | 68a65132248c244003b820e9ae7c60cda336ba45 (diff) | |
download | external_qemu-d952f28e527175cc3df9ebd91e739e34df2194c9.zip external_qemu-d952f28e527175cc3df9ebd91e739e34df2194c9.tar.gz external_qemu-d952f28e527175cc3df9ebd91e739e34df2194c9.tar.bz2 |
qemu logging extensions
(1) Clear the logs upon receiving a SIGUSR1 signal
(2) Add logging timestamps for network connections
(3) Extended TCP redirect logs to include local src
ip/port and fixed byte-ordering in log files
Change-Id: I51e7293c8eeb5979a92e67f52f1c6416400d83c6
Diffstat (limited to 'slirp-android/udp.c')
-rw-r--r-- | slirp-android/udp.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/slirp-android/udp.c b/slirp-android/udp.c index a9c9a82..1de938a 100644 --- a/slirp-android/udp.c +++ b/slirp-android/udp.c @@ -129,24 +129,28 @@ udp_input(register struct mbuf *m, int iphlen) /* ------------------------------------------------------*/ /* User mode network stack restrictions */ /* slirp_should_drop requires host byte ordering in arguments */ + time_t timestamp = time(NULL); + if (slirp_should_drop(ntohl(ip->ip_dst.addr), ntohs(uh->uh_dport.port), IPPROTO_UDP)) { slirp_drop_log( - "Dropped UDP: src: 0x%08lx:0x%04x dst: 0x%08lx:0x%04x\n", - ip->ip_src.addr, - uh->uh_sport.port, - ip->ip_dst.addr, - uh->uh_dport.port + "Dropped UDP: src: 0x%08lx:0x%04x dst: 0x%08lx:0x%04x %ld\n", + ntohl(ip->ip_src.addr), + ntohs(uh->uh_sport.port), + ntohl(ip->ip_dst.addr), + ntohs(uh->uh_dport.port), + timestamp ); goto bad; /* drop the packet */ } else { slirp_drop_log( - "Allowed UDP: src: 0x%08lx:0x%04x dst: 0x%08lx:0x%04x\n", - ip->ip_src.addr, - uh->uh_sport.port, - ip->ip_dst.addr, - uh->uh_dport.port + "Allowed UDP: src: 0x%08lx:0x%04x dst: 0x%08lx:0x%04x %ld\n", + ntohl(ip->ip_src.addr), + ntohs(uh->uh_sport.port), + ntohl(ip->ip_dst.addr), + ntohs(uh->uh_dport.port), + timestamp ); } /* ------------------------------------------------------*/ @@ -354,7 +358,7 @@ int udp_output2_(struct socket *so, struct mbuf *m, STAT(udpstat.udps_opackets++); // DNS logging - if (so != NULL && so->so_faddr_port == htons(53)) { + if (so != NULL && so->so_faddr_port == 53) { /*so has host byte order */ if (!slirp_dump_dns(m)) { DEBUG_MISC((dfd,"Error logging DNS packet")); } |