From a869a1df8f971b79abd33769a268a1c39a29968c Mon Sep 17 00:00:00 2001 From: doug Date: Tue, 23 Jan 2007 03:17:32 +0000 Subject: [PATCH] UDP --badsum fix --- tcpip.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tcpip.cc b/tcpip.cc index f0b430deb..5c2e02bae 100644 --- a/tcpip.cc +++ b/tcpip.cc @@ -1679,8 +1679,10 @@ u8 *build_udp_raw(struct in_addr *source, const struct in_addr *victim, sizeof(udphdr_bsd) + datalen, (char *) udp); #endif - if ( o.badsum ) + if ( o.badsum ) { --udp->uh_sum; + if (udp->uh_sum == 0) udp->uh_sum = 0xffff; // UDP checksum=0 means no checksum + } fill_ip_raw(ip, packetlen, ipopt, ipoptlen, tos, ipid, df?IP_DF:0, myttl, IPPROTO_UDP,