diff --git a/libnetfilter_acct-1.0.0.tar.bz2 b/libnetfilter_acct-1.0.0.tar.bz2 deleted file mode 100644 index 9dea65c..0000000 --- a/libnetfilter_acct-1.0.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:567ede1f54fbf2ffd752203ea3aea6f430244fb29bd943af58d1d0f4b1796dc9 -size 282380 diff --git a/libnetfilter_acct-1.0.0.tar.bz2.sig b/libnetfilter_acct-1.0.0.tar.bz2.sig deleted file mode 100644 index ba44915..0000000 Binary files a/libnetfilter_acct-1.0.0.tar.bz2.sig and /dev/null differ diff --git a/libnetfilter_acct-1.0.1.tar.bz2 b/libnetfilter_acct-1.0.1.tar.bz2 new file mode 100644 index 0000000..f583580 --- /dev/null +++ b/libnetfilter_acct-1.0.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1b45331f160467fb5b5d659adeb041c095c18a581d45bee8edd9c4971dc001f +size 288830 diff --git a/libnetfilter_acct-1.0.1.tar.bz2.sig b/libnetfilter_acct-1.0.1.tar.bz2.sig new file mode 100644 index 0000000..29ffd4d Binary files /dev/null and b/libnetfilter_acct-1.0.1.tar.bz2.sig differ diff --git a/libnetfilter_acct.changes b/libnetfilter_acct.changes index 7b60806..f6b26b8 100644 --- a/libnetfilter_acct.changes +++ b/libnetfilter_acct.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Oct 8 23:49:34 UTC 2012 - jengelh@inai.de + +- Update to new upstream release 1.0.1 +* This release adds the new flag NFACCT_SNPRINTF_T_XML for + nfacct_snprintf and several cleanups. + ------------------------------------------------------------------- Tue Mar 27 13:55:31 UTC 2012 - jengelh@medozas.de diff --git a/libnetfilter_acct.spec b/libnetfilter_acct.spec index d6e11d8..b1bde57 100644 --- a/libnetfilter_acct.spec +++ b/libnetfilter_acct.spec @@ -18,21 +18,28 @@ Name: libnetfilter_acct %define lname %{name}1 -Version: 1.0.0 +Version: 1.0.1 Release: 0 -Url: http://netfilter.org/projects/libnetfilter_acct/ -Source: %name-%version.tar.bz2 -Source2: %name-%version.tar.bz2.sig -Source3: baselibs.conf -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: autoconf -BuildRequires: automake >= 1.6 -BuildRequires: libtool -BuildRequires: pkgconfig >= 0.21 -BuildRequires: pkgconfig(libmnl) >= 1.0.0 Summary: Userspace library for the in-kernel Netfilter counters License: LGPL-2.1+ Group: Productivity/Networking/Security +Url: http://netfilter.org/projects/libnetfilter_acct/ + +#Git-Clone: git://git.netfilter.org/libnetfilter_acct +#DL-URL: http://netfilter.org/projects/libnetfilter_acct/files/ +Source: http://netfilter.org/projects/libnetfilter_acct/files/%name-%version.tar.bz2 +Source2: http://netfilter.org/projects/libnetfilter_acct/files/%name-%version.tar.bz2.sig +Source3: baselibs.conf +Patch1: rhel5-patch1.diff +Patch2: rhel5-patch2.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +#git#BuildRequires: autoconf, automake >= 1.6, libtool +BuildRequires: pkgconfig >= 0.21 +%if 0%{?suse_version} >= 1210 || 0%{?fedora_version} +BuildRequires: pkgconfig(libmnl) >= 1.0.0 +%else +BuildRequires: libmnl-devel >= 1.0.0 +%endif %description This library provides the programming interface (API) to the @@ -56,12 +63,8 @@ This library provides the programming interface (API) to the Netfilter extended accounting infrastructure. %prep -%if 0%{?__xz:1} %setup -q -%else -tar -xf "%{S:0}" --use=bzip2; -%setup -DTq -%endif +%patch -P 1 -P 2 -p1 %build if [ ! -e configure ]; then @@ -71,7 +74,7 @@ fi; make %{?_smp_mflags} %install -%makeinstall +make install DESTDIR="%buildroot"; rm -f "%buildroot/%_libdir"/*.la; %post -n %lname -p /sbin/ldconfig @@ -80,11 +83,11 @@ rm -f "%buildroot/%_libdir"/*.la; %files -n %lname %defattr(-,root,root) -%_libdir/libnetfilter_acct.so.* +%_libdir/libnetfilter_acct.so.1* %files devel %defattr(-,root,root) -%_includedir/libnetfilter_acct* +%_includedir/%name-%version %_libdir/libnetfilter_acct.so %_libdir/pkgconfig/libnetfilter_acct.pc diff --git a/rhel5-patch1.diff b/rhel5-patch1.diff new file mode 100644 index 0000000..b8882eb --- /dev/null +++ b/rhel5-patch1.diff @@ -0,0 +1,180 @@ +From d4a740659e127f6950ac8c43ef4f6a641594ed89 Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Sat, 13 Oct 2012 13:50:53 +0200 +Subject: [PATCH 1/2] build: resolve compile abort on RHEL5 #1 + +[ 24s] In file included from libnetfilter_acct.c:18: +[ 24s] ../include/linux/netfilter/nfnetlink.h:4:46: error: +linux/netfilter/nfnetlink_compat.h: No such file or directory + +Slurp in new headers from the kernel du jour (v3.6-10970-g4d7127d). + +Signed-off-by: Jan Engelhardt +--- + include/linux/netfilter/nfnetlink.h | 50 +++-------------------- + include/linux/netfilter/nfnetlink_acct.h | 15 ++----- + include/linux/netfilter/nfnetlink_compat.h | 61 ++++++++++++++++++++++++++++ + 3 files changed, 70 insertions(+), 56 deletions(-) + create mode 100644 include/linux/netfilter/nfnetlink_compat.h + +diff --git a/include/linux/netfilter/nfnetlink.h b/include/linux/netfilter/nfnetlink.h +index b64454c..4a4efaf 100644 +--- a/include/linux/netfilter/nfnetlink.h ++++ b/include/linux/netfilter/nfnetlink.h +@@ -1,5 +1,5 @@ +-#ifndef _NFNETLINK_H +-#define _NFNETLINK_H ++#ifndef _UAPI_NFNETLINK_H ++#define _UAPI_NFNETLINK_H + #include + #include + +@@ -49,46 +49,8 @@ struct nfgenmsg { + #define NFNL_SUBSYS_OSF 5 + #define NFNL_SUBSYS_IPSET 6 + #define NFNL_SUBSYS_ACCT 7 +-#define NFNL_SUBSYS_COUNT 8 ++#define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8 ++#define NFNL_SUBSYS_CTHELPER 9 ++#define NFNL_SUBSYS_COUNT 10 + +-#ifdef __KERNEL__ +- +-#include +-#include +-#include +- +-struct nfnl_callback { +- int (*call)(struct sock *nl, struct sk_buff *skb, +- const struct nlmsghdr *nlh, +- const struct nlattr * const cda[]); +- int (*call_rcu)(struct sock *nl, struct sk_buff *skb, +- const struct nlmsghdr *nlh, +- const struct nlattr * const cda[]); +- const struct nla_policy *policy; /* netlink attribute policy */ +- const u_int16_t attr_count; /* number of nlattr's */ +-}; +- +-struct nfnetlink_subsystem { +- const char *name; +- __u8 subsys_id; /* nfnetlink subsystem ID */ +- __u8 cb_count; /* number of callbacks */ +- const struct nfnl_callback *cb; /* callback for individual types */ +-}; +- +-extern int nfnetlink_subsys_register(const struct nfnetlink_subsystem *n); +-extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n); +- +-extern int nfnetlink_has_listeners(struct net *net, unsigned int group); +-extern int nfnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, unsigned group, +- int echo, gfp_t flags); +-extern int nfnetlink_set_err(struct net *net, u32 pid, u32 group, int error); +-extern int nfnetlink_unicast(struct sk_buff *skb, struct net *net, u_int32_t pid, int flags); +- +-extern void nfnl_lock(void); +-extern void nfnl_unlock(void); +- +-#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \ +- MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys)) +- +-#endif /* __KERNEL__ */ +-#endif /* _NFNETLINK_H */ ++#endif /* _UAPI_NFNETLINK_H */ +diff --git a/include/linux/netfilter/nfnetlink_acct.h b/include/linux/netfilter/nfnetlink_acct.h +index 7c4279b..c7b6269 100644 +--- a/include/linux/netfilter/nfnetlink_acct.h ++++ b/include/linux/netfilter/nfnetlink_acct.h +@@ -1,5 +1,5 @@ +-#ifndef _NFNL_ACCT_H_ +-#define _NFNL_ACCT_H_ ++#ifndef _UAPI_NFNL_ACCT_H_ ++#define _UAPI_NFNL_ACCT_H_ + + #ifndef NFACCT_NAME_MAX + #define NFACCT_NAME_MAX 32 +@@ -23,14 +23,5 @@ enum nfnl_acct_type { + }; + #define NFACCT_MAX (__NFACCT_MAX - 1) + +-#ifdef __KERNEL__ + +-struct nf_acct; +- +-extern struct nf_acct *nfnl_acct_find_get(const char *filter_name); +-extern void nfnl_acct_put(struct nf_acct *acct); +-extern void nfnl_acct_update(const struct sk_buff *skb, struct nf_acct *nfacct); +- +-#endif /* __KERNEL__ */ +- +-#endif /* _NFNL_ACCT_H */ ++#endif /* _UAPI_NFNL_ACCT_H_ */ +diff --git a/include/linux/netfilter/nfnetlink_compat.h b/include/linux/netfilter/nfnetlink_compat.h +new file mode 100644 +index 0000000..74b9e55 +--- /dev/null ++++ b/include/linux/netfilter/nfnetlink_compat.h +@@ -0,0 +1,61 @@ ++#ifndef _NFNETLINK_COMPAT_H ++#define _NFNETLINK_COMPAT_H ++ ++#include ++ ++/* Old nfnetlink macros for userspace */ ++ ++/* nfnetlink groups: Up to 32 maximum */ ++#define NF_NETLINK_CONNTRACK_NEW 0x00000001 ++#define NF_NETLINK_CONNTRACK_UPDATE 0x00000002 ++#define NF_NETLINK_CONNTRACK_DESTROY 0x00000004 ++#define NF_NETLINK_CONNTRACK_EXP_NEW 0x00000008 ++#define NF_NETLINK_CONNTRACK_EXP_UPDATE 0x00000010 ++#define NF_NETLINK_CONNTRACK_EXP_DESTROY 0x00000020 ++ ++/* Generic structure for encapsulation optional netfilter information. ++ * It is reminiscent of sockaddr, but with sa_family replaced ++ * with attribute type. ++ * ! This should someday be put somewhere generic as now rtnetlink and ++ * ! nfnetlink use the same attributes methods. - J. Schulist. ++ */ ++ ++struct nfattr { ++ __u16 nfa_len; ++ __u16 nfa_type; /* we use 15 bits for the type, and the highest ++ * bit to indicate whether the payload is nested */ ++}; ++ ++/* FIXME: Apart from NFNL_NFA_NESTED shamelessly copy and pasted from ++ * rtnetlink.h, it's time to put this in a generic file */ ++ ++#define NFNL_NFA_NEST 0x8000 ++#define NFA_TYPE(attr) ((attr)->nfa_type & 0x7fff) ++ ++#define NFA_ALIGNTO 4 ++#define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) ++#define NFA_OK(nfa,len) ((len) > 0 && (nfa)->nfa_len >= sizeof(struct nfattr) \ ++ && (nfa)->nfa_len <= (len)) ++#define NFA_NEXT(nfa,attrlen) ((attrlen) -= NFA_ALIGN((nfa)->nfa_len), \ ++ (struct nfattr *)(((char *)(nfa)) + NFA_ALIGN((nfa)->nfa_len))) ++#define NFA_LENGTH(len) (NFA_ALIGN(sizeof(struct nfattr)) + (len)) ++#define NFA_SPACE(len) NFA_ALIGN(NFA_LENGTH(len)) ++#define NFA_DATA(nfa) ((void *)(((char *)(nfa)) + NFA_LENGTH(0))) ++#define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0)) ++#define NFA_NEST(skb, type) \ ++({ struct nfattr *__start = (struct nfattr *)skb_tail_pointer(skb); \ ++ NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \ ++ __start; }) ++#define NFA_NEST_END(skb, start) \ ++({ (start)->nfa_len = skb_tail_pointer(skb) - (unsigned char *)(start); \ ++ (skb)->len; }) ++#define NFA_NEST_CANCEL(skb, start) \ ++({ if (start) \ ++ skb_trim(skb, (unsigned char *) (start) - (skb)->data); \ ++ -1; }) ++ ++#define NFM_NFA(n) ((struct nfattr *)(((char *)(n)) \ ++ + NLMSG_ALIGN(sizeof(struct nfgenmsg)))) ++#define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg)) ++ ++#endif /* _NFNETLINK_COMPAT_H */ +-- +1.7.10.4 + diff --git a/rhel5-patch2.diff b/rhel5-patch2.diff new file mode 100644 index 0000000..4415840 --- /dev/null +++ b/rhel5-patch2.diff @@ -0,0 +1,41 @@ +From e01126788f5d1eb4b2b1bc3de72a419a18a5ba7e Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Sat, 13 Oct 2012 14:05:47 +0200 +Subject: [PATCH 2/2] build: resolve compile abort on RHEL5 #2 + +libnetfilter_acct.c: In function 'nfacct_nlmsg_build_payload': +libnetfilter_acct.c:422: warning: implicit declaration of function +'htobe64' +libnetfilter_acct.c: In function 'nfacct_nlmsg_parse_payload': +libnetfilter_acct.c:477: warning: implicit declaration of function +'be64toh' + +Signed-off-by: Jan Engelhardt +--- + src/internal.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/internal.h b/src/internal.h +index 3a88d1a..2106401 100644 +--- a/src/internal.h ++++ b/src/internal.h +@@ -9,4 +9,16 @@ + # define EXPORT_SYMBOL + #endif + ++#include ++#if !defined(htobe64) ++# include ++# if __BYTE_ORDER == __LITTLE_ENDIAN ++# define htobe64(x) __bswap_64(x) ++# define betoh64(x) __bswap_64(x) ++# else ++# define htobe64(x) (x) ++# define betoh64(x) (x) ++# endif ++#endif ++ + #endif +-- +1.7.10.4 +