Hello community, here is the log from the commit of package libnetfilter_acct for openSUSE:Factory checked in at 2013-03-08 13:23:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libnetfilter_acct (Old) and /work/SRC/openSUSE:Factory/.libnetfilter_acct.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnetfilter_acct", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/libnetfilter_acct/libnetfilter_acct.changes 2012-12-14 09:34:24.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libnetfilter_acct.new/libnetfilter_acct.changes 2013-03-08 13:23:16.000000000 +0100 @@ -1,0 +2,7 @@ +Mon Mar 4 13:52:21 UTC 2013 - [email protected] + +- Update to new upstream release 1.0.2 +* This release fixes inversions between byte and packet counters. +- Drop rhel5-patch1.diff, rhel5-patch2.diff (merged upstream) + +------------------------------------------------------------------- Old: ---- libnetfilter_acct-1.0.1.tar.bz2 libnetfilter_acct-1.0.1.tar.bz2.sig rhel5-patch1.diff rhel5-patch2.diff New: ---- libnetfilter_acct-1.0.2.tar.bz2 libnetfilter_acct-1.0.2.tar.bz2.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libnetfilter_acct.spec ++++++ --- /var/tmp/diff_new_pack.oMlLs4/_old 2013-03-08 13:23:18.000000000 +0100 +++ /var/tmp/diff_new_pack.oMlLs4/_new 2013-03-08 13:23:18.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package libnetfilter_acct # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,21 +18,20 @@ Name: libnetfilter_acct %define lname %{name}1 -Version: 1.0.1 +Version: 1.0.2 Release: 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/ +#Freecode-URL: http://freecode.com/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 Source4: %name.keyring -Patch1: rhel5-patch1.diff -Patch2: rhel5-patch2.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build #git#BuildRequires: autoconf, automake >= 1.6, libtool BuildRequires: pkgconfig >= 0.21 @@ -67,16 +66,10 @@ Netfilter extended accounting infrastructure. %prep -%if 0%{?gpg_verify:1} -%gpg_verify %{S:2} -%endif +%{?gpg_verify: %gpg_verify %{S:2}} %setup -q -%patch -P 1 -P 2 -p1 %build -if [ ! -e configure ]; then - autoreconf -fi; -fi; %configure --disable-static --includedir=%_includedir/%name-%version make %{?_smp_mflags} ++++++ libnetfilter_acct-1.0.1.tar.bz2 -> libnetfilter_acct-1.0.2.tar.bz2 ++++++ ++++ 2596 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/build-aux/ar-lib new/libnetfilter_acct-1.0.2/build-aux/ar-lib --- old/libnetfilter_acct-1.0.1/build-aux/ar-lib 1970-01-01 01:00:00.000000000 +0100 +++ new/libnetfilter_acct-1.0.2/build-aux/ar-lib 2013-03-03 21:14:30.000000000 +0100 @@ -0,0 +1,270 @@ +#! /bin/sh +# Wrapper for Microsoft lib.exe + +me=ar-lib +scriptversion=2012-03-01.08; # UTC + +# Copyright (C) 2010, 2012 Free Software Foundation, Inc. +# Written by Peter Rosin <[email protected]>. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <[email protected]> or send patches to +# <[email protected]>. + + +# func_error message +func_error () +{ + echo "$me: $1" 1>&2 + exit 1 +} + +file_conv= + +# func_file_conv build_file +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv in + mingw) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_at_file at_file operation archive +# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE +# for each of them. +# When interpreting the content of the @FILE, do NOT use func_file_conv, +# since the user would need to supply preconverted file names to +# binutils ar, at least for MinGW. +func_at_file () +{ + operation=$2 + archive=$3 + at_file_contents=`cat "$1"` + eval set x "$at_file_contents" + shift + + for member + do + $AR -NOLOGO $operation:"$member" "$archive" || exit $? + done +} + +case $1 in + '') + func_error "no command. Try '$0 --help' for more information." + ;; + -h | --h*) + cat <<EOF +Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...] + +Members may be specified in a file named with @FILE. +EOF + exit $? + ;; + -v | --v*) + echo "$me, version $scriptversion" + exit $? + ;; +esac + +if test $# -lt 3; then + func_error "you must specify a program, an action and an archive" +fi + +AR=$1 +shift +while : +do + if test $# -lt 2; then + func_error "you must specify a program, an action and an archive" + fi + case $1 in + -lib | -LIB \ + | -ltcg | -LTCG \ + | -machine* | -MACHINE* \ + | -subsystem* | -SUBSYSTEM* \ + | -verbose | -VERBOSE \ + | -wx* | -WX* ) + AR="$AR $1" + shift + ;; + *) + action=$1 + shift + break + ;; + esac +done +orig_archive=$1 +shift +func_file_conv "$orig_archive" +archive=$file + +# strip leading dash in $action +action=${action#-} + +delete= +extract= +list= +quick= +replace= +index= +create= + +while test -n "$action" +do + case $action in + d*) delete=yes ;; + x*) extract=yes ;; + t*) list=yes ;; + q*) quick=yes ;; + r*) replace=yes ;; + s*) index=yes ;; + S*) ;; # the index is always updated implicitly + c*) create=yes ;; + u*) ;; # TODO: don't ignore the update modifier + v*) ;; # TODO: don't ignore the verbose modifier + *) + func_error "unknown action specified" + ;; + esac + action=${action#?} +done + +case $delete$extract$list$quick$replace,$index in + yes,* | ,yes) + ;; + yesyes*) + func_error "more than one action specified" + ;; + *) + func_error "no action specified" + ;; +esac + +if test -n "$delete"; then + if test ! -f "$orig_archive"; then + func_error "archive not found" + fi + for member + do + case $1 in + @*) + func_at_file "${1#@}" -REMOVE "$archive" + ;; + *) + func_file_conv "$1" + $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $? + ;; + esac + done + +elif test -n "$extract"; then + if test ! -f "$orig_archive"; then + func_error "archive not found" + fi + if test $# -gt 0; then + for member + do + case $1 in + @*) + func_at_file "${1#@}" -EXTRACT "$archive" + ;; + *) + func_file_conv "$1" + $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $? + ;; + esac + done + else + $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done + fi + +elif test -n "$quick$replace"; then + if test ! -f "$orig_archive"; then + if test -z "$create"; then + echo "$me: creating $orig_archive" + fi + orig_archive= + else + orig_archive=$archive + fi + + for member + do + case $1 in + @*) + func_file_conv "${1#@}" + set x "$@" "@$file" + ;; + *) + func_file_conv "$1" + set x "$@" "$file" + ;; + esac + shift + shift + done + + if test -n "$orig_archive"; then + $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $? + else + $AR -NOLOGO -OUT:"$archive" "$@" || exit $? + fi + +elif test -n "$list"; then + if test ! -f "$orig_archive"; then + func_error "archive not found" + fi + $AR -NOLOGO -LIST "$archive" || exit $? +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/configure.ac new/libnetfilter_acct-1.0.2/configure.ac --- old/libnetfilter_acct-1.0.1/configure.ac 2012-06-22 17:51:41.000000000 +0200 +++ new/libnetfilter_acct-1.0.2/configure.ac 2013-03-03 21:09:06.000000000 +0100 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to create configure. -AC_INIT([libnetfilter_acct], [1.0.1]) +AC_INIT([libnetfilter_acct], [1.0.2]) AC_CONFIG_AUX_DIR([build-aux]) AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) @@ -8,6 +8,7 @@ AM_INIT_AUTOMAKE([-Wall foreign tar-pax no-dist-gzip dist-bzip2 1.6 subdir-objects]) +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/include/libnetfilter_acct/libnetfilter_acct.h new/libnetfilter_acct-1.0.2/include/libnetfilter_acct/libnetfilter_acct.h --- old/libnetfilter_acct-1.0.1/include/libnetfilter_acct/libnetfilter_acct.h 2012-06-22 17:30:48.000000000 +0200 +++ new/libnetfilter_acct-1.0.2/include/libnetfilter_acct/libnetfilter_acct.h 2013-03-03 21:06:14.000000000 +0100 @@ -2,6 +2,7 @@ #define _LIBNETFILTER_ACCT_H_ #include <sys/types.h> +#include <stdint.h> #include <linux/netfilter/nfnetlink_acct.h> struct nfacct; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/include/linux/netfilter/nfnetlink.h new/libnetfilter_acct-1.0.2/include/linux/netfilter/nfnetlink.h --- old/libnetfilter_acct-1.0.1/include/linux/netfilter/nfnetlink.h 2011-12-29 19:29:20.000000000 +0100 +++ new/libnetfilter_acct-1.0.2/include/linux/netfilter/nfnetlink.h 2012-10-18 10:37:44.000000000 +0200 @@ -1,5 +1,5 @@ -#ifndef _NFNETLINK_H -#define _NFNETLINK_H +#ifndef _UAPI_NFNETLINK_H +#define _UAPI_NFNETLINK_H #include <linux/types.h> #include <linux/netfilter/nfnetlink_compat.h> @@ -49,46 +49,8 @@ #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 <linux/netlink.h> -#include <linux/capability.h> -#include <net/netlink.h> - -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/include/linux/netfilter/nfnetlink_acct.h new/libnetfilter_acct-1.0.2/include/linux/netfilter/nfnetlink_acct.h --- old/libnetfilter_acct-1.0.1/include/linux/netfilter/nfnetlink_acct.h 2011-12-29 19:29:20.000000000 +0100 +++ new/libnetfilter_acct-1.0.2/include/linux/netfilter/nfnetlink_acct.h 2012-10-18 10:37:44.000000000 +0200 @@ -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 @@ }; #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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/src/internal.h new/libnetfilter_acct-1.0.2/src/internal.h --- old/libnetfilter_acct-1.0.1/src/internal.h 2011-12-29 19:29:20.000000000 +0100 +++ new/libnetfilter_acct-1.0.2/src/internal.h 2012-10-18 10:37:44.000000000 +0200 @@ -9,4 +9,16 @@ # define EXPORT_SYMBOL #endif +#include <endian.h> +#if !defined(htobe64) +# include <byteswap.h> +# 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libnetfilter_acct-1.0.1/src/libnetfilter_acct.c new/libnetfilter_acct-1.0.2/src/libnetfilter_acct.c --- old/libnetfilter_acct-1.0.1/src/libnetfilter_acct.c 2012-10-09 00:30:50.000000000 +0200 +++ new/libnetfilter_acct-1.0.2/src/libnetfilter_acct.c 2013-03-03 21:06:14.000000000 +0100 @@ -106,11 +106,11 @@ nfacct->bitset |= (1 << NFACCT_ATTR_NAME); break; case NFACCT_ATTR_PKTS: - nfacct->bytes = *((uint64_t *) data); + nfacct->pkts = *((uint64_t *) data); nfacct->bitset |= (1 << NFACCT_ATTR_PKTS); break; case NFACCT_ATTR_BYTES: - nfacct->pkts = *((uint64_t *) data); + nfacct->bytes = *((uint64_t *) data); nfacct->bitset |= (1 << NFACCT_ATTR_BYTES); break; } @@ -235,9 +235,11 @@ if (flags & NFACCT_SNPRINTF_F_FULL) { ret = snprintf(buf, rem, - "{ pkts = %.20lu, bytes = %.20lu } = %s;", - nfacct_attr_get_u64(nfacct, NFACCT_ATTR_BYTES), + "{ pkts = %.20llu, bytes = %.20llu } = %s;", + (unsigned long long) nfacct_attr_get_u64(nfacct, NFACCT_ATTR_PKTS), + (unsigned long long) + nfacct_attr_get_u64(nfacct, NFACCT_ATTR_BYTES), nfacct_attr_get_str(nfacct, NFACCT_ATTR_NAME)); } else { ret = snprintf(buf, rem, "%s\n", @@ -294,10 +296,12 @@ ret = snprintf(buf, rem, "<obj><name>%s</name>" - "<pkts>%.20lu</pkts>" - "<bytes>%.20lu</bytes>", + "<pkts>%.20llu</pkts>" + "<bytes>%.20llu</bytes>", nfacct_attr_get_str(nfacct, NFACCT_ATTR_NAME), + (unsigned long long) nfacct_attr_get_u64(nfacct, NFACCT_ATTR_BYTES), + (unsigned long long) nfacct_attr_get_u64(nfacct, NFACCT_ATTR_PKTS)); BUFFER_SIZE(ret, size, rem, offset); @@ -422,7 +426,7 @@ mnl_attr_put_u64(nlh, NFACCT_PKTS, htobe64(nfacct->pkts)); if (nfacct->bitset & (1 << NFACCT_ATTR_BYTES)) - mnl_attr_put_u64(nlh, NFACCT_PKTS, htobe64(nfacct->bytes)); + mnl_attr_put_u64(nlh, NFACCT_BYTES, htobe64(nfacct->bytes)); } EXPORT_SYMBOL(nfacct_nlmsg_build_payload); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
