From: <oja...@us...> - 2006-11-24 17:02:10
|
Revision: 120 http://svn.sourceforge.net/sipp/?rev=120&view=rev Author: ojacques Date: 2006-11-24 09:02:09 -0800 (Fri, 24 Nov 2006) Log Message: ----------- Fix: small pcap packet len computation fix - provided by Martin Shaw Modified Paths: -------------- sipp/trunk/prepare_pcap.c Modified: sipp/trunk/prepare_pcap.c =================================================================== --- sipp/trunk/prepare_pcap.c 2006-11-24 16:51:28 UTC (rev 119) +++ sipp/trunk/prepare_pcap.c 2006-11-24 17:02:09 UTC (rev 120) @@ -138,15 +138,16 @@ udphdr = (struct udphdr *)((char *)ip6hdr + sizeof(*ip6hdr)); } else { //ipv4 - pktlen = (u_long) pkthdr->len - sizeof(*ethhdr) - sizeof(*iphdr); if (iphdr->protocol != IPPROTO_UDP) { fprintf(stderr, "prepare_pcap.c: Ignoring non UDP packet!\n"); continue; } #if defined(__DARWIN) || defined(__CYGWIN) udphdr = (struct udphdr *)((char *)iphdr + (iphdr->ihl << 2) + 4); + pktlen = (u_long)(ntohs(udphdr->uh_ulen)); #else udphdr = (struct udphdr *)((char *)iphdr + (iphdr->ihl << 2)); + pktlen = (u_long)(ntohs(udphdr->len)); #endif } if (pktlen > PCAP_MAXPACKET) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |