|
Lines 1-48
Link Here
|
| 1 |
$FreeBSD: ports/net/sipp/files/patch-prepare_pcap.c,v 1.1 2006/12/21 23:07:44 miwi Exp $ |
|
|
| 2 |
|
| 3 |
--- prepare_pcap.c.orig |
| 4 |
+++ prepare_pcap.c |
| 5 |
@@ -19,7 +19,7 @@ |
| 6 |
#include <stdlib.h> |
| 7 |
#include <netinet/in.h> |
| 8 |
#include <netinet/udp.h> |
| 9 |
-#if defined(__HPUX) || defined(__CYGWIN) |
| 10 |
+#if defined(__HPUX) || defined(__CYGWIN) || defined(__FreeBSD__) |
| 11 |
#include <netinet/in_systm.h> |
| 12 |
#endif |
| 13 |
#include <netinet/ip.h> |
| 14 |
@@ -142,7 +142,7 @@ |
| 15 |
fprintf(stderr, "prepare_pcap.c: Ignoring non UDP packet!\n"); |
| 16 |
continue; |
| 17 |
} |
| 18 |
-#if defined(__DARWIN) || defined(__CYGWIN) |
| 19 |
+#if defined(__DARWIN) || defined(__CYGWIN) || defined(__FreeBSD__) |
| 20 |
udphdr = (struct udphdr *)((char *)iphdr + (iphdr->ihl << 2) + 4); |
| 21 |
pktlen = (u_long)(ntohs(udphdr->uh_ulen)); |
| 22 |
#else |
| 23 |
@@ -164,7 +164,7 @@ |
| 24 |
ERROR("Can't allocate memory for pcap pkt data"); |
| 25 |
memcpy(pkt_index->data, udphdr, pktlen); |
| 26 |
|
| 27 |
-#if defined(__HPUX) || defined(__DARWIN) || (defined __CYGWIN) |
| 28 |
+#if defined(__HPUX) || defined(__DARWIN) || (defined __CYGWIN) || defined(__FreeBSD__) |
| 29 |
udphdr->uh_sum = 0 ; |
| 30 |
#else |
| 31 |
udphdr->check = 0; |
| 32 |
@@ -173,14 +173,14 @@ |
| 33 |
// compute a partial udp checksum |
| 34 |
// not including port that will be changed |
| 35 |
// when sending RTP |
| 36 |
-#if defined(__HPUX) || defined(__DARWIN) || (defined __CYGWIN) |
| 37 |
+#if defined(__HPUX) || defined(__DARWIN) || (defined __CYGWIN) || defined(__FreeBSD__) |
| 38 |
pkt_index->partial_check = check((u_int16_t *) &udphdr->uh_ulen, pktlen - 4) + ntohs(IPPROTO_UDP + pktlen); |
| 39 |
#else |
| 40 |
pkt_index->partial_check = check((u_int16_t *) &udphdr->len, pktlen - 4) + ntohs(IPPROTO_UDP + pktlen); |
| 41 |
#endif |
| 42 |
if (max_length < pktlen) |
| 43 |
max_length = pktlen; |
| 44 |
-#if defined(__HPUX) || defined(__DARWIN) || (defined __CYGWIN) |
| 45 |
+#if defined(__HPUX) || defined(__DARWIN) || (defined __CYGWIN) || defined(__FreeBSD__) |
| 46 |
if (base > ntohs(udphdr->uh_dport)) |
| 47 |
base = ntohs(udphdr->uh_dport); |
| 48 |
#else |