diff options
-rw-r--r-- | main/ipfw/APKBUILD | 16 | ||||
-rw-r--r-- | main/ipfw/no-sysctl.patch | 21 | ||||
-rw-r--r-- | main/ipfw/type-correctness.patch | 37 |
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 { |