aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/ipfw/APKBUILD16
-rw-r--r--main/ipfw/no-sysctl.patch21
-rw-r--r--main/ipfw/type-correctness.patch37
3 files changed, 70 insertions, 4 deletions
diff --git a/main/ipfw/APKBUILD b/main/ipfw/APKBUILD
index f5e084d11e..7b148ccc47 100644
--- a/main/ipfw/APKBUILD
+++ b/main/ipfw/APKBUILD
@@ -11,7 +11,9 @@ license="BSD"
depends=""
makedepends=""
install=
-source="http://info.iet.unipi.it/~luigi/doc/${_realver}-${pkgname}3.tgz"
+source="http://info.iet.unipi.it/~luigi/doc/${_realver}-${pkgname}3.tgz
+ no-sysctl.patch
+ type-correctness.patch"
subpackages=""
_builddir="$srcdir/ipfw3-2012"
@@ -36,6 +38,12 @@ package() {
install -D -m755 ipfw/ipfw "$pkgdir/usr/sbin/ipfw"
}
-md5sums="004e65e6d545a89c4dcc3e741e287444 20130607-ipfw3.tgz"
-sha256sums="7dc80437b137e629f8ef3a7889b24ffbd1c27274e9cce15fd1f3b2c8620c6d64 20130607-ipfw3.tgz"
-sha512sums="6c4c2c7d4795094b9ff72212394e7dee44e5f9e09e97021b5ac9c3fad6de5a32b1d608ae9572da17f62cb37d076d89ab26859c61255d03d6bce22ca527f2c8ec 20130607-ipfw3.tgz"
+md5sums="004e65e6d545a89c4dcc3e741e287444 20130607-ipfw3.tgz
+77b842449998afdbce62cedca529f7f0 no-sysctl.patch
+a5fd21099c3733d52164189e30abf5ce type-correctness.patch"
+sha256sums="7dc80437b137e629f8ef3a7889b24ffbd1c27274e9cce15fd1f3b2c8620c6d64 20130607-ipfw3.tgz
+b7f3b61af1a6dd88dc01662ef524da886d1f2c4684bdfe023cb6ffe2e9da63de no-sysctl.patch
+ed1e32908b748c0fed5e3eaf5d07cd7df7b67e01fe051796d1b0ca290455009d type-correctness.patch"
+sha512sums="6c4c2c7d4795094b9ff72212394e7dee44e5f9e09e97021b5ac9c3fad6de5a32b1d608ae9572da17f62cb37d076d89ab26859c61255d03d6bce22ca527f2c8ec 20130607-ipfw3.tgz
+e32f7bcff5b36b0405f678d3144472f8d7c76321a66a71b4515e266c35dc99378a358fd8f92eab748988e9c94fccb03f61a86acfa43b1a550a14c79a9f059715 no-sysctl.patch
+653d9cc30cedf012cfda8835750b05123e208e61aad5692c6b1714708fbfdc5d04f89e2b7c7a99819cdb607703bdad4507a613bbca6e16f3a439877a320a5b16 type-correctness.patch"
diff --git a/main/ipfw/no-sysctl.patch b/main/ipfw/no-sysctl.patch
new file mode 100644
index 0000000000..1007728296
--- /dev/null
+++ b/main/ipfw/no-sysctl.patch
@@ -0,0 +1,21 @@
+--- ipfw3-2012.orig/ipfw/dummynet.c
++++ ipfw3-2012/ipfw/dummynet.c
+@@ -17,8 +17,6 @@
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+-/* XXX there are several sysctl leftover here */
+-#include <sys/sysctl.h>
+
+ #include "ipfw2.h"
+
+--- ipfw3-2012.orig/ipfw/ipfw2.c
++++ ipfw3-2012/ipfw/ipfw2.c
+@@ -24,7 +24,6 @@
+ #include <sys/param.h>
+ #include <sys/socket.h>
+ #include <sys/sockio.h>
+-#include <sys/sysctl.h>
+
+ #include "ipfw2.h"
+
diff --git a/main/ipfw/type-correctness.patch b/main/ipfw/type-correctness.patch
new file mode 100644
index 0000000000..287dc2cfa7
--- /dev/null
+++ b/main/ipfw/type-correctness.patch
@@ -0,0 +1,37 @@
+--- ipfw3-2012.orig/ipfw/include/timeconv.h
++++ ipfw3-2012/ipfw/include/timeconv.h
+@@ -1,13 +1,15 @@
+ /*
+ * simple override for _long_to_time()
+ */
++#include <stdint.h>
++
+ #ifndef _TIMECONV_H_
+ #define _TIMECONV_H_
+ static __inline time_t
+ _long_to_time(long tlong)
+ {
+- if (sizeof(long) == sizeof(__int32_t))
+- return((time_t)(__int32_t)(tlong));
++ if (sizeof(long) == sizeof(int32_t))
++ return((time_t)(int32_t)(tlong));
+ return((time_t)tlong);
+ }
+
+--- ipfw3-2012.orig/sys/netinet/ip_fw.h
++++ ipfw3-2012/sys/netinet/ip_fw.h
+@@ -445,10 +445,10 @@
+
+ /* Apply ipv6 mask on ipv6 addr */
+ #define APPLY_MASK(addr,mask) \
+- (addr)->__u6_addr.__u6_addr32[0] &= (mask)->__u6_addr.__u6_addr32[0]; \
+- (addr)->__u6_addr.__u6_addr32[1] &= (mask)->__u6_addr.__u6_addr32[1]; \
+- (addr)->__u6_addr.__u6_addr32[2] &= (mask)->__u6_addr.__u6_addr32[2]; \
+- (addr)->__u6_addr.__u6_addr32[3] &= (mask)->__u6_addr.__u6_addr32[3];
++ (addr)->s6_addr32[0] &= (mask)->s6_addr32[0]; \
++ (addr)->s6_addr32[1] &= (mask)->s6_addr32[1]; \
++ (addr)->s6_addr32[2] &= (mask)->s6_addr32[2]; \
++ (addr)->s6_addr32[3] &= (mask)->s6_addr32[3];
+
+ /* Structure for ipv6 */
+ typedef struct _ipfw_insn_ip6 {