Package Details: xtables-addons 2.11-2

Git Clone URL: https://aur.archlinux.org/xtables-addons.git (read-only)
Package Base: xtables-addons
Description: Xtables-addons is a set of additional extensions for the Xtables packet filter that is present in the Linux kernel
Upstream URL: https://xtables-addons.sourceforge.net
Keywords: iptablex xtables
Licenses: GPL2
Conflicts: xtables-addons-dkms
Replaces: xtables-addons-dkms
Submitter: None
Maintainer: k0ste
Last Packager: k0ste
Votes: 28
Popularity: 0.018776
First Submitted: 2009-04-20 09:21
Last Updated: 2016-08-17 08:55

Latest Comments

k0ste commented on 2016-08-17 09:00

Forgot push commit. Now install on 4.7.0-1 okay.

oksijun commented on 2016-08-17 08:51

Depmod step in install stage failed with linux 4.7.0-1-ARCH.
In xtables-addons.install, I replaced :

kernver="`pacman -Qe linux | awk '{print $2"-ARCH"}'`"

with:

kernver="`pacman -Ql linux | awk -F'/' '/(\/modules\/)([0-9.-])+-ARCH\/$/ {print $5}'`"

to get it to succeed.

jskier commented on 2016-05-22 20:35

Thanks, appears to work good now.

dtschmitz commented on 2016-05-21 21:05

@nmset,

Thanks for attaching 'your' diff file.
I ran it with no errors.

nmset commented on 2016-05-21 19:16

Well, copy/paste from below gave me weird results too.

You can get the patch with wget or curl at :

{wget,curl} http://nmset.info/xtables_addons.diff

sha256sum : a3a2be4e97f95854e8220aa22cc5e8d7a862f880d5005267d7877ec38545967b

Sorry for the inconveniance.

dtschmitz commented on 2016-05-21 18:03

patch: **** malformed patch at line 151: diff -N -u xtables-addons.ori/pknock_makefile.diff xtables-addons/pknock_makefile.diff

^^ I get the above. Don't see what's wrong. Do you? (yes i have a leading space)

jskier commented on 2016-05-20 17:46

@nmset, better suited for pastebin. I can't get that to work either. Is there an official(s) patch somewhere for iptables1.6 and the latest kernel?

nmset commented on 2016-05-15 13:53

The package would not build due to inclusion problems from glibc's net/if.h, and the kernel's linux/if.h .

This patch is a(n ugly!) workaround to build xtables-addons on Linux 4.5.4.


********************************************************************************
#cat xtables_addons.diff
diff -N -u xtables-addons.ori/if.h.diff xtables-addons/if.h.diff
--- xtables-addons.ori/if.h.diff 1970-01-01 01:00:00.000000000 +0100
+++ xtables-addons/if.h.diff 2016-05-15 13:19:41.000000000 +0200
@@ -0,0 +1,129 @@
+--- if.h.ori 2016-05-15 13:18:46.336064705 +0200
++++ if.h 2016-05-15 13:15:21.000000000 +0200
+@@ -38,48 +38,6 @@
+
+
+ #ifdef __USE_MISC
+-/* Standard interface flags. */
+-enum
+- {
+- IFF_UP = 0x1, /* Interface is up. */
+-# define IFF_UP IFF_UP
+- IFF_BROADCAST = 0x2, /* Broadcast address valid. */
+-# define IFF_BROADCAST IFF_BROADCAST
+- IFF_DEBUG = 0x4, /* Turn on debugging. */
+-# define IFF_DEBUG IFF_DEBUG
+- IFF_LOOPBACK = 0x8, /* Is a loopback net. */
+-# define IFF_LOOPBACK IFF_LOOPBACK
+- IFF_POINTOPOINT = 0x10, /* Interface is point-to-point link. */
+-# define IFF_POINTOPOINT IFF_POINTOPOINT
+- IFF_NOTRAILERS = 0x20, /* Avoid use of trailers. */
+-# define IFF_NOTRAILERS IFF_NOTRAILERS
+- IFF_RUNNING = 0x40, /* Resources allocated. */
+-# define IFF_RUNNING IFF_RUNNING
+- IFF_NOARP = 0x80, /* No address resolution protocol. */
+-# define IFF_NOARP IFF_NOARP
+- IFF_PROMISC = 0x100, /* Receive all packets. */
+-# define IFF_PROMISC IFF_PROMISC
+-
+- /* Not supported */
+- IFF_ALLMULTI = 0x200, /* Receive all multicast packets. */
+-# define IFF_ALLMULTI IFF_ALLMULTI
+-
+- IFF_MASTER = 0x400, /* Master of a load balancer. */
+-# define IFF_MASTER IFF_MASTER
+- IFF_SLAVE = 0x800, /* Slave of a load balancer. */
+-# define IFF_SLAVE IFF_SLAVE
+-
+- IFF_MULTICAST = 0x1000, /* Supports multicast. */
+-# define IFF_MULTICAST IFF_MULTICAST
+-
+- IFF_PORTSEL = 0x2000, /* Can set media type. */
+-# define IFF_PORTSEL IFF_PORTSEL
+- IFF_AUTOMEDIA = 0x4000, /* Auto media select active. */
+-# define IFF_AUTOMEDIA IFF_AUTOMEDIA
+- IFF_DYNAMIC = 0x8000 /* Dialup device with changing addresses. */
+-# define IFF_DYNAMIC IFF_DYNAMIC
+- };
+-
+ /* The ifaddr structure contains information about one address of an
+ interface. They are maintained by the different address families,
+ are allocated and attached when an address is set, and are linked
+@@ -100,54 +58,13 @@
+ # define ifa_broadaddr ifa_ifu.ifu_broadaddr /* broadcast address */
+ # define ifa_dstaddr ifa_ifu.ifu_dstaddr /* other end of link */
+
+-/* Device mapping structure. I'd just gone off and designed a
+- beautiful scheme using only loadable modules with arguments for
+- driver options and along come the PCMCIA people 8)
+-
+- Ah well. The get() side of this is good for WDSETUP, and it'll be
+- handy for debugging things. The set side is fine for now and being
+- very small might be worth keeping for clean configuration. */
+-
+-struct ifmap
+- {
+- unsigned long int mem_start;
+- unsigned long int mem_end;
+- unsigned short int base_addr;
+- unsigned char irq;
+- unsigned char dma;
+- unsigned char port;
+- /* 3 bytes spare */
+- };
+
++ # define IFNAMSIZ IF_NAMESIZE
++
+ /* Interface request structure used for socket ioctl's. All interface
+ ioctl's must have parameter definitions which begin with ifr_name.
+ The remainder may be interface specific. */
+
+-struct ifreq
+- {
+-# define IFHWADDRLEN 6
+-# define IFNAMSIZ IF_NAMESIZE
+- union
+- {
+- char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "en0". */
+- } ifr_ifrn;
+-
+- union
+- {
+- struct sockaddr ifru_addr;
+- struct sockaddr ifru_dstaddr;
+- struct sockaddr ifru_broadaddr;
+- struct sockaddr ifru_netmask;
+- struct sockaddr ifru_hwaddr;
+- short int ifru_flags;
+- int ifru_ivalue;
+- int ifru_mtu;
+- struct ifmap ifru_map;
+- char ifru_slave[IFNAMSIZ]; /* Just fits the size */
+- char ifru_newname[IFNAMSIZ];
+- __caddr_t ifru_data;
+- } ifr_ifru;
+- };
+ # define ifr_name ifr_ifrn.ifrn_name /* interface name */
+ # define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
+ # define ifr_addr ifr_ifru.ifru_addr /* address */
+@@ -168,20 +85,6 @@
+ # define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
+ # define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
+
+-
+-/* Structure used in SIOCGIFCONF request. Used to retrieve interface
+- configuration for machine (useful for programs which must know all
+- networks accessible). */
+-
+-struct ifconf
+- {
+- int ifc_len; /* Size of buffer. */
+- union
+- {
+- __caddr_t ifcu_buf;
+- struct ifreq *ifcu_req;
+- } ifc_ifcu;
+- };
+ # define ifc_buf ifc_ifcu.ifcu_buf /* Buffer address. */
+ # define ifc_req ifc_ifcu.ifcu_req /* Array of structures. */
+ # define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) /* not right */
diff -N -u xtables-addons.ori/PKGBUILD xtables-addons/PKGBUILD
--- xtables-addons.ori/PKGBUILD 2016-04-27 17:27:37.000000000 +0200
+++ xtables-addons/PKGBUILD 2016-05-15 15:04:33.426431964 +0200
@@ -19,6 +19,13 @@

prepare() {
pushd "${srcdir}/${pkgname}-${pkgver}"
+ [ ! -d "${srcdir}/${pkgname}-${pkgver}"/net ] && mkdir "${srcdir}/${pkgname}-${pkgver}"/net
+ rm -f "${srcdir}/${pkgname}-${pkgver}"/net/if.h
+ cp /usr/include/net/if.h "${srcdir}/${pkgname}-${pkgver}"/net/
+ patch "${srcdir}/${pkgname}-${pkgver}"/net/if.h "${srcdir}"/../if.h.diff
+ HERE=$(pwd)
+ "${srcdir}/${pkgname}-${pkgver}"/autogen.sh
+ patch "${srcdir}/${pkgname}-${pkgver}"/extensions/pknock/Makefile.am "${srcdir}"/../pknock_makefile.diff
./configure \
--prefix=/usr \
--sysconfdir=/etc \
diff -N -u xtables-addons.ori/pknock_makefile.diff xtables-addons/pknock_makefile.diff
--- xtables-addons.ori/pknock_makefile.diff 1970-01-01 01:00:00.000000000 +0100
+++ xtables-addons/pknock_makefile.diff 2016-05-15 14:52:25.000000000 +0200
@@ -0,0 +1,12 @@
+--- Makefile.am.ori 2016-05-15 14:51:47.000000000 +0200
++++ Makefile.am 2016-05-15 14:52:22.837922108 +0200
+@@ -1,7 +1,7 @@
+ # -*- Makefile -*-
+
+-AM_CPPFLAGS = ${regular_CPPFLAGS} -I${abs_top_srcdir}/extensions
+-AM_CFLAGS = ${regular_CFLAGS} ${libxtables_CFLAGS}
++AM_CPPFLAGS = -I${abs_top_srcdir} ${regular_CPPFLAGS} -I${abs_top_srcdir}/extensions
++AM_CFLAGS = -I${abs_top_srcdir} ${regular_CFLAGS} ${libxtables_CFLAGS}
+
+ include ../../Makefile.extra
+

********************************************************************************

Usage :
cd to /path/xtables-addons/
patch -p1 < /path/to/xtables_addons.diff

It does the following :
1. patch PKGBUILD.
2. create src/xtables-addons-2.10/net directory, copy net/if.h in it, remove anything conflicting with linux/if.h.
3. patch src/xtables-addons-2.10/extensions/pknock/Makefile.am, to use src/xtables-addons-2.10/net/if.h .

In case it's useful; no warranty, of course.

k0ste commented on 2016-02-27 09:27

@BertVoegele, done. Thanks!

BertVoegele commented on 2016-02-27 09:12

pkg-config should be added to to makedepends

All comments