From 67c5dc27aa8074a2e3424dab2643d05c7c20b1a9 Mon Sep 17 00:00:00 2001
From: Kurt Jaeger <pi@FreeBSD.org>
Date: Sun, 14 Dec 2014 20:43:58 +0000
Subject: net-mgmt/p0f: fix p0f-sendsyn

Submitted by:	Anton Yuzhaninov <citrin@citrin.ru>
---
 net-mgmt/p0f/files/patch-p0f-sendsyn.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 net-mgmt/p0f/files/patch-p0f-sendsyn.c

(limited to 'net-mgmt/p0f/files')

diff --git a/net-mgmt/p0f/files/patch-p0f-sendsyn.c b/net-mgmt/p0f/files/patch-p0f-sendsyn.c
new file mode 100644
index 000000000000..2e943de85523
--- /dev/null
+++ b/net-mgmt/p0f/files/patch-p0f-sendsyn.c
@@ -0,0 +1,29 @@
+--- tools/p0f-sendsyn.c.orig	2012-01-14 18:01:02.000000000 +0000
++++ tools/p0f-sendsyn.c	2014-12-11 14:16:03.000000000 +0000
+@@ -122,7 +122,7 @@
+ int main(int argc, char** argv) {
+ 
+   static struct sockaddr_in sin;
+-  char one = 1;
++  int one = 1;
+   s32  sock;
+   u32  i;
+ 
+@@ -145,7 +145,7 @@
+ 
+   if (sock < 0) PFATAL("Can't open raw socket (you need to be root).");
+ 
+-  if (setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char*)&one, sizeof(char)))
++  if (setsockopt(sock, IPPROTO_IP, IP_HDRINCL, &one, sizeof(one)))
+     PFATAL("setsockopt() on raw socket failed.");
+ 
+   sin.sin_family = PF_INET;
+@@ -153,7 +153,7 @@
+   memcpy(&sin.sin_addr.s_addr, ip4->dst, 4);
+ 
+   ip4->ver_hlen  = 0x45;
+-  ip4->tot_len   = htons(MIN_TCP4 + 24);
++  ip4->tot_len   = MIN_TCP4 + 24; /* converted to network order in kernel */
+   ip4->ttl       = 192;
+   ip4->proto     = PROTO_TCP;
+ 
-- 
cgit v1.2.3