aboutsummaryrefslogtreecommitdiffstats
path: root/slirp-android/udp.c
diff options
context:
space:
mode:
authorrich cannings <richc@google.com>2011-03-01 15:40:09 -0800
committerrich cannings <richc@google.com>2011-03-01 15:48:28 -0800
commitd952f28e527175cc3df9ebd91e739e34df2194c9 (patch)
tree7d184c1be6ce90acced09bc75d37ffb6a348338b /slirp-android/udp.c
parent68a65132248c244003b820e9ae7c60cda336ba45 (diff)
downloadexternal_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.c26
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"));
}