From effb26c3b1f00bf8bea4e2562f07f9a06eb67606 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 7 Nov 2011 23:14:55 +0000 Subject: Mon Nov 7 23:14:55 UTC 2011 --- core/dnsutils/PKGBUILD | 7 +- core/expat/PKGBUILD | 21 +- core/iptables/PKGBUILD | 17 +- core/krb5/PKGBUILD | 28 +- core/krb5/krb5-kpropd | 40 +++ core/libcap/PKGBUILD | 9 +- ...-for-libnl-2.x-adapted-from-a-newer-versi.patch | 344 +++++++++++++++++++++ ...eturns-its-own-error-codes-not-errnos-han.patch | 159 ++++++++++ core/libpcap/PKGBUILD | 11 +- core/libpipeline/PKGBUILD | 5 +- core/nano/PKGBUILD | 4 +- core/wpa_actiond/PKGBUILD | 4 +- core/wpa_supplicant/PKGBUILD | 4 +- 13 files changed, 599 insertions(+), 54 deletions(-) create mode 100644 core/krb5/krb5-kpropd create mode 100644 core/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch create mode 100644 core/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch (limited to 'core') diff --git a/core/dnsutils/PKGBUILD b/core/dnsutils/PKGBUILD index ad0588a51..e01894138 100644 --- a/core/dnsutils/PKGBUILD +++ b/core/dnsutils/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 137098 2011-09-06 08:10:05Z bisson $ +# $Id: PKGBUILD 142197 2011-11-06 05:47:32Z bisson $ # Maintainer: Gaetan Bisson # Contributor: kevin # Contributor: mario @@ -8,14 +8,14 @@ pkgname=dnsutils # Use a period and not a hyphen before the patch level for proper versioning. pkgver=9.8.1 _pkgver=9.8.1 -pkgrel=1 +pkgrel=2 pkgdesc='DNS utilities: dig host nslookup' url='http://www.isc.org/software/bind/' license=('custom:ISC') arch=('i686' 'x86_64') -depends=('openssl' 'idnkit') options=('!makeflags') +depends=('openssl' 'krb5' 'idnkit') source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz" 'remove-bind.patch') sha1sums=('7e6ed6ebc896b1de33a9f440233066c60539de4c' @@ -52,5 +52,4 @@ package() { cd bin make DESTDIR="${pkgdir}" install - } diff --git a/core/expat/PKGBUILD b/core/expat/PKGBUILD index 9daf035ad..6062d4952 100644 --- a/core/expat/PKGBUILD +++ b/core/expat/PKGBUILD @@ -1,13 +1,13 @@ -# $Id: PKGBUILD 102953 2010-12-13 13:44:48Z stephane $ -# Maintainer: dorphell +# $Id: PKGBUILD 142209 2011-11-06 08:56:53Z allan $ +# Maintainer: Allan McRae # Committer: Judd Vinet pkgname=expat pkgver=2.0.1 -pkgrel=6 +pkgrel=7 pkgdesc="An XML parser library" arch=('i686' 'x86_64') -url="http://expat.sourceforge.net" +url="http://expat.sourceforge.net/" license=('custom') depends=('glibc') options=('!libtool') @@ -19,15 +19,20 @@ md5sums=('ee8b492592568805593f81f8cdf2a04c' 'f3eeb796f28945899216b815e5901996') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}-${pkgver} patch -Np1 -i $srcdir/CVE-2009-3560.patch patch -Np1 -i $srcdir/CVE-2009-3720.patch ./configure --prefix=/usr --mandir=/usr/share/man make } +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install - install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING } diff --git a/core/iptables/PKGBUILD b/core/iptables/PKGBUILD index 8715f7d04..8da7cbee6 100644 --- a/core/iptables/PKGBUILD +++ b/core/iptables/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 137571 2011-09-09 20:06:23Z ronald $ +# $Id: PKGBUILD 142199 2011-11-06 05:47:47Z bisson $ # Maintainer: Ronald van Haren # Contributor: Thomas Baechler pkgname=iptables pkgver=1.4.12.1 -pkgrel=1 -pkgdesc="A Linux kernel packet control tool" +pkgrel=2 +pkgdesc='Linux kernel packet control tool' arch=('i686' 'x86_64') license=('GPL2') -url="http://www.netfilter.org/projects/iptables/index.html" +url='http://www.netfilter.org/projects/iptables/index.html' depends=('glibc' 'bash') makedepends=('linux-api-headers') options=('!libtool') -source=(http://www.iptables.org/projects/iptables/files/${pkgname}-${pkgver}.tar.bz2 +source=("http://www.iptables.org/projects/iptables/files/${pkgname}-${pkgver}.tar.bz2" iptables ip6tables empty.rules @@ -35,6 +35,7 @@ sha1sums=('86022c3b5129ad7105f5087ec1349e99cc5a9728' '1694d79b3e6e9d9d543f6a6e75fed06066c9a6c6' '7db53bb882f62f6c677cc8559cff83d8bae2ef73' 'ebbd1424a1564fd45f455a81c61ce348f0a14c2e') + build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -43,7 +44,7 @@ build() { sed -i '88 i \\t${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -lm -shared ${LDFLAGS} -o $@ $<;\n' extensions/GNUmakefile.in # FS#25358: libxt_statistic.so undefined symbol: lround - export LDFLAGS="-lm" + export LDFLAGS='-lm' ./configure --prefix=/usr \ --libexecdir=/usr/lib/iptables --sysconfdir=/etc \ @@ -64,6 +65,6 @@ package() { install -D -m644 simple_firewall.rules "${pkgdir}"/etc/iptables/simple_firewall.rules install -D -m644 iptables.conf.d "${pkgdir}"/etc/conf.d/iptables - mkdir -p "${pkgdir}/var/lib/iptables" - install -m644 empty-{filter,mangle,nat,raw,security}.rules ${pkgdir}/var/lib/iptables/ + mkdir -p "${pkgdir}"/var/lib/iptables + install -m644 empty-{filter,mangle,nat,raw,security}.rules "${pkgdir}"/var/lib/iptables } diff --git a/core/krb5/PKGBUILD b/core/krb5/PKGBUILD index 38cf23966..065797f99 100644 --- a/core/krb5/PKGBUILD +++ b/core/krb5/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 141000 2011-10-21 02:57:57Z stephane $ +# $Id: PKGBUILD 142223 2011-11-06 13:03:25Z stephane $ # Maintainer: Stéphane Gaudreault pkgname=krb5 -pkgver=1.9.1 -pkgrel=5 +pkgver=1.9.2 +pkgrel=1 pkgdesc="The Kerberos network authentication system" arch=('i686' 'x86_64') url="http://web.mit.edu/kerberos/" @@ -17,15 +17,13 @@ backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf') source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.9/${pkgname}-${pkgver}-signed.tar krb5-kadmind krb5-kdc - krb5-1.9.1-config-script.patch - krb5-1.9.1-canonicalize-fallback.patch - krb5-1.9.1-2011-006.patch) -sha1sums=('e23a1795a237521493da9cf3443ac8b98a90c066' + krb5-kpropd + krb5-1.9.1-config-script.patch) +sha1sums=('aa06f778ee1f9791cd4c5cf4c9e9465769ffec92' '2aa229369079ed1bbb201a1ef72c47bf143f4dbe' '77d2312ecd8bf12a6e72cc8fd871a8ac93b23393' - '7342410760cf44bfa01bb99bb4c49e12496cb46f' - '238c268fa6cb42fc7324ab54db9abda5cd77f833' - '0b0016b0e341dcf720f67925b0d451b328e02583') + '7f402078fa65bb9ff1beb6cbbbb017450df78560' + '7342410760cf44bfa01bb99bb4c49e12496cb46f') options=('!emptydirs') build() { @@ -43,16 +41,9 @@ build() { # http://anonsvn.mit.edu/viewvc/krb5/trunk/src/krb5-config.in?r1=23662&r2=25236 patch -Np2 -i ${srcdir}/krb5-1.9.1-config-script.patch - # FS#25515 - patch -Np2 -i ${srcdir}/krb5-1.9.1-canonicalize-fallback.patch - # FS#25384 sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4 - # KDC denial of service vulnerabilities - # http://web.mit.edu/kerberos/advisories/MITKRB5-SA-2011-006.txt - patch -Np2 -i ${srcdir}/krb5-1.9.1-2011-006.patch - export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all" export CPPFLAGS+=" -I/usr/include/et" ./configure --prefix=/usr \ @@ -81,8 +72,9 @@ package() { install -pm 644 config-files/krb5.conf "${pkgdir}"/etc/krb5.conf install -dm 755 "${pkgdir}"/etc/rc.d - install -m 755 ../../krb5-kdc "${pkgdir}"/etc/rc.d + install -m 755 ../../krb5-kdc "${pkgdir}"/etc/rc.d install -m 755 ../../krb5-kadmind "${pkgdir}"/etc/rc.d + install -m 755 ../../krb5-kpropd "${pkgdir}"/etc/rc.d install -dm 755 "${pkgdir}"/usr/share/aclocal install -m 644 util/ac_check_krb5.m4 "${pkgdir}"/usr/share/aclocal diff --git a/core/krb5/krb5-kpropd b/core/krb5/krb5-kpropd new file mode 100644 index 000000000..a0077d68e --- /dev/null +++ b/core/krb5/krb5-kpropd @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/kpropd` +case "$1" in + start) + stat_busy "Starting Kerberos Database Propagation Daemon" + if [ -z "$PID" ]; then + /usr/sbin/kpropd -S + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon kpropd + stat_done + fi + ;; + stop) + stat_busy "Stopping Kerberos Database Propagation Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon kpropd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 diff --git a/core/libcap/PKGBUILD b/core/libcap/PKGBUILD index 6afa61fee..5e5bba5e8 100644 --- a/core/libcap/PKGBUILD +++ b/core/libcap/PKGBUILD @@ -1,17 +1,18 @@ -#$Id: PKGBUILD 132720 2011-07-25 12:05:15Z allan $ +#$Id: PKGBUILD 142211 2011-11-06 08:56:56Z allan $ # Maintainer: Allan McRae # Contributor: Hugo Doria pkgname=libcap pkgver=2.22 -pkgrel=1 +pkgrel=2 pkgdesc="POSIX 1003.1e capabilities" arch=('i686' 'x86_64') url="http://sites.google.com/site/fullycapable/" license=('GPL2') depends=('glibc' 'attr') -source=(http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${pkgname}-${pkgver}.tar.gz) -md5sums=('b4896816b626bea445f0b3849bdd4077') +source=(http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${pkgname}-${pkgver}.tar.gz{,.asc}) +md5sums=('b4896816b626bea445f0b3849bdd4077' + '9d0983e25e5a251d098507f9561d2b27') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/core/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch b/core/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch new file mode 100644 index 000000000..1fce472b7 --- /dev/null +++ b/core/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch @@ -0,0 +1,344 @@ +From bc937fc4ff6715e9bee939041fa02be0755d7d58 Mon Sep 17 00:00:00 2001 +From: Guy Harris +Date: Sat, 13 Nov 2010 17:42:47 -0800 +Subject: [PATCH] Add support for libnl 2.x, adapted from a newer version of the iw command. + +--- + config.h.in | 3 ++ + configure | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- + configure.in | 40 ++++++++++++++++++---- + pcap-linux.c | 58 ++++++++++++++++++++++++------- + 4 files changed, 184 insertions(+), 25 deletions(-) + +diff --git a/config.h.in b/config.h.in +index f988e8f..3b9ce3c 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -52,6 +52,9 @@ + /* if libnl exists */ + #undef HAVE_LIBNL + ++/* if libnl exists and is version 2.x */ ++#undef HAVE_LIBNL_2_x ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_LIMITS_H + +diff --git a/configure b/configure +index c99c1ab..7338dee 100755 +--- a/configure ++++ b/configure +@@ -7340,7 +7340,93 @@ fi + + + if test x$with_libnl != xno ; then +- { echo "$as_me:$LINENO: checking for nl_handle_alloc in -lnl" >&5 ++ # ++ # Try libnl 2.x first. ++ # ++ { echo "$as_me:$LINENO: checking for nl_socket_alloc in -lnl" >&5 ++echo $ECHO_N "checking for nl_socket_alloc in -lnl... $ECHO_C" >&6; } ++if test "${ac_cv_lib_nl_nl_socket_alloc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lnl $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char nl_socket_alloc (); ++int ++main () ++{ ++return nl_socket_alloc (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_nl_nl_socket_alloc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_nl_nl_socket_alloc=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nl_nl_socket_alloc" >&5 ++echo "${ECHO_T}$ac_cv_lib_nl_nl_socket_alloc" >&6; } ++if test $ac_cv_lib_nl_nl_socket_alloc = yes; then ++ ++ # ++ # Yes, we have libnl 2.x. ++ # ++ LIBS="-lnl-genl -lnl $LIBS" ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_LIBNL 1 ++_ACEOF ++ ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_LIBNL_2_x 1 ++_ACEOF ++ ++ ++else ++ ++ # ++ # No, we don't; do we have libnl 1.x? ++ # ++ { echo "$as_me:$LINENO: checking for nl_handle_alloc in -lnl" >&5 + echo $ECHO_N "checking for nl_handle_alloc in -lnl... $ECHO_C" >&6; } + if test "${ac_cv_lib_nl_nl_handle_alloc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -7402,18 +7488,30 @@ fi + { echo "$as_me:$LINENO: result: $ac_cv_lib_nl_nl_handle_alloc" >&5 + echo "${ECHO_T}$ac_cv_lib_nl_nl_handle_alloc" >&6; } + if test $ac_cv_lib_nl_nl_handle_alloc = yes; then +- LIBS="-lnl $LIBS" ++ ++ # ++ # Yes. ++ # ++ LIBS="-lnl $LIBS" + + cat >>confdefs.h <<\_ACEOF + #define HAVE_LIBNL 1 + _ACEOF + ++ + else +- if test x$with_libnl = xyes ; then +- { { echo "$as_me:$LINENO: error: libnl support requested but libnl not found" >&5 ++ ++ # ++ # No, we don't have libnl at all. ++ # ++ if test x$with_libnl = xyes ; then ++ { { echo "$as_me:$LINENO: error: libnl support requested but libnl not found" >&5 + echo "$as_me: error: libnl support requested but libnl not found" >&2;} + { (exit 1); exit 1; }; } +- fi ++ fi ++ ++fi ++ + + fi + +diff --git a/configure.in b/configure.in +index 16eadf9..ef801ed 100644 +--- a/configure.in ++++ b/configure.in +@@ -445,13 +445,39 @@ linux) + with_libnl=$withval,,) + + if test x$with_libnl != xno ; then +- AC_CHECK_LIB(nl, nl_handle_alloc, +- LIBS="-lnl $LIBS" +- AC_DEFINE(HAVE_LIBNL,1,[if libnl exists]), +- if test x$with_libnl = xyes ; then +- AC_MSG_ERROR([libnl support requested but libnl not found]) +- fi +- ) ++ # ++ # Try libnl 2.x first. ++ # ++ AC_CHECK_LIB(nl, nl_socket_alloc, ++ [ ++ # ++ # Yes, we have libnl 2.x. ++ # ++ LIBS="-lnl-genl -lnl $LIBS" ++ AC_DEFINE(HAVE_LIBNL,1,[if libnl exists]) ++ AC_DEFINE(HAVE_LIBNL_2_x,1,[if libnl exists and is version 2.x]) ++ ], ++ [ ++ # ++ # No, we don't; do we have libnl 1.x? ++ # ++ AC_CHECK_LIB(nl, nl_handle_alloc, ++ [ ++ # ++ # Yes. ++ # ++ LIBS="-lnl $LIBS" ++ AC_DEFINE(HAVE_LIBNL,1,[if libnl exists]) ++ ], ++ [ ++ # ++ # No, we don't have libnl at all. ++ # ++ if test x$with_libnl = xyes ; then ++ AC_MSG_ERROR([libnl support requested but libnl not found]) ++ fi ++ ]) ++ ]) + fi + + AC_LBL_TPACKET_STATS +diff --git a/pcap-linux.c b/pcap-linux.c +index f8b3f10..deabbc4 100644 +--- a/pcap-linux.c ++++ b/pcap-linux.c +@@ -527,8 +527,37 @@ get_mac80211_phydev(pcap_t *handle, const char *device, char *phydev_path, + return 1; + } + ++#ifndef HAVE_LIBNL_2_x ++/* libnl 2.x compatibility code */ ++ ++#define nl_sock nl_handle ++ ++static inline struct nl_handle * ++nl_socket_alloc(void) ++{ ++ return nl_handle_alloc(); ++} ++ ++static inline void ++nl_socket_free(struct nl_handle *h) ++{ ++ nl_handle_destroy(h); ++} ++ ++static inline int ++__genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache **cache) ++{ ++ struct nl_cache *tmp = genl_ctrl_alloc_cache(h); ++ if (!tmp) ++ return -ENOMEM; ++ *cache = tmp; ++ return 0; ++} ++#define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache ++#endif /* !HAVE_LIBNL_2_x */ ++ + struct nl80211_state { +- struct nl_handle *nl_handle; ++ struct nl_sock *nl_sock; + struct nl_cache *nl_cache; + struct genl_family *nl80211; + }; +@@ -536,23 +565,26 @@ struct nl80211_state { + static int + nl80211_init(pcap_t *handle, struct nl80211_state *state, const char *device) + { +- state->nl_handle = nl_handle_alloc(); +- if (!state->nl_handle) { ++ int err; ++ ++ state->nl_sock = nl_socket_alloc(); ++ if (!state->nl_sock) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to allocate netlink handle", device); + return PCAP_ERROR; + } + +- if (genl_connect(state->nl_handle)) { ++ if (genl_connect(state->nl_sock)) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to connect to generic netlink", device); + goto out_handle_destroy; + } + +- state->nl_cache = genl_ctrl_alloc_cache(state->nl_handle); +- if (!state->nl_cache) { ++ err = genl_ctrl_alloc_cache(state->nl_sock, &state->nl_cache); ++ if (err < 0) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, +- "%s: failed to allocate generic netlink cache", device); ++ "%s: failed to allocate generic netlink cache: %s", ++ device, strerror(-err)); + goto out_handle_destroy; + } + +@@ -568,7 +600,7 @@ nl80211_init(pcap_t *handle, struct nl80211_state *state, const char *device) + out_cache_free: + nl_cache_free(state->nl_cache); + out_handle_destroy: +- nl_handle_destroy(state->nl_handle); ++ nl_socket_free(state->nl_sock); + return PCAP_ERROR; + } + +@@ -577,7 +609,7 @@ nl80211_cleanup(struct nl80211_state *state) + { + genl_family_put(state->nl80211); + nl_cache_free(state->nl_cache); +- nl_handle_destroy(state->nl_handle); ++ nl_socket_free(state->nl_sock); + } + + static int +@@ -605,7 +637,7 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + NLA_PUT_STRING(msg, NL80211_ATTR_IFNAME, mondevice); + NLA_PUT_U32(msg, NL80211_ATTR_IFTYPE, NL80211_IFTYPE_MONITOR); + +- err = nl_send_auto_complete(state->nl_handle, msg); ++ err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { + if (err == -ENFILE) { + /* +@@ -626,7 +658,7 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + return PCAP_ERROR; + } + } +- err = nl_wait_for_ack(state->nl_handle); ++ err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { + if (err == -ENFILE) { + /* +@@ -685,7 +717,7 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + 0, NL80211_CMD_DEL_INTERFACE, 0); + NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, ifindex); + +- err = nl_send_auto_complete(state->nl_handle, msg); ++ err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { + if (err == -ENFILE) { + /* +@@ -706,7 +738,7 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + return PCAP_ERROR; + } + } +- err = nl_wait_for_ack(state->nl_handle); ++ err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { + if (err == -ENFILE) { + /* +-- +1.7.3.5 + diff --git a/core/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch b/core/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch new file mode 100644 index 000000000..219494200 --- /dev/null +++ b/core/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch @@ -0,0 +1,159 @@ +From 9545ff8e2670db02652f9cf781aafdd6bac58ac4 Mon Sep 17 00:00:00 2001 +From: Guy Harris +Date: Sun, 14 Nov 2010 13:48:19 -0800 +Subject: [PATCH] Libnl 2.x returns its own error codes, not errnos; handle that. + +While we're at it, don't special-case ENFILE for "delete monitor device" +operations; that's not like "add monitor device", where we want to drive +on if a device with that name already exists. +--- + pcap-linux.c | 76 ++++++++++++++++++++++++++-------------------------------- + 1 files changed, 34 insertions(+), 42 deletions(-) + +diff --git a/pcap-linux.c b/pcap-linux.c +index deabbc4..5d291e9 100644 +--- a/pcap-linux.c ++++ b/pcap-linux.c +@@ -527,7 +527,9 @@ get_mac80211_phydev(pcap_t *handle, const char *device, char *phydev_path, + return 1; + } + +-#ifndef HAVE_LIBNL_2_x ++#ifdef HAVE_LIBNL_2_x ++#define get_nl_errmsg nl_geterror ++#else + /* libnl 2.x compatibility code */ + + #define nl_sock nl_handle +@@ -544,6 +546,8 @@ nl_socket_free(struct nl_handle *h) + nl_handle_destroy(h); + } + ++#define get_nl_errmsg strerror ++ + static inline int + __genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache **cache) + { +@@ -584,7 +588,7 @@ nl80211_init(pcap_t *handle, struct nl80211_state *state, const char *device) + if (err < 0) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to allocate generic netlink cache: %s", +- device, strerror(-err)); ++ device, get_nl_errmsg(-err)); + goto out_handle_destroy; + } + +@@ -639,10 +643,17 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + + err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { ++#ifdef HAVE_LIBNL_2_x ++ if (err == -NLE_FAILURE) { ++#else + if (err == -ENFILE) { ++#endif + /* + * Device not available; our caller should just +- * keep trying. ++ * keep trying. (libnl 2.x maps ENFILE to ++ * NLE_FAILURE; it can also map other errors ++ * to that, but there's not much we can do ++ * about that.) + */ + nlmsg_free(msg); + return 0; +@@ -653,17 +664,24 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + */ + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_send_auto_complete failed adding %s interface: %s", +- device, mondevice, strerror(-err)); ++ device, mondevice, get_nl_errmsg(-err)); + nlmsg_free(msg); + return PCAP_ERROR; + } + } + err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { ++#ifdef HAVE_LIBNL_2_x ++ if (err == -NLE_FAILURE) { ++#else + if (err == -ENFILE) { ++#endif + /* + * Device not available; our caller should just +- * keep trying. ++ * keep trying. (libnl 2.x maps ENFILE to ++ * NLE_FAILURE; it can also map other errors ++ * to that, but there's not much we can do ++ * about that.) + */ + nlmsg_free(msg); + return 0; +@@ -674,7 +692,7 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + */ + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_wait_for_ack failed adding %s interface: %s", +- device, mondevice, strerror(-err)); ++ device, mondevice, get_nl_errmsg(-err)); + nlmsg_free(msg); + return PCAP_ERROR; + } +@@ -719,45 +737,19 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + + err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { +- if (err == -ENFILE) { +- /* +- * Device not available; our caller should just +- * keep trying. +- */ +- nlmsg_free(msg); +- return 0; +- } else { +- /* +- * Real failure, not just "that device is not +- * available. +- */ +- snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, +- "%s: nl_send_auto_complete failed deleting %s interface: %s", +- device, mondevice, strerror(-err)); +- nlmsg_free(msg); +- return PCAP_ERROR; +- } ++ snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, ++ "%s: nl_send_auto_complete failed deleting %s interface: %s", ++ device, mondevice, get_nl_errmsg(-err)); ++ nlmsg_free(msg); ++ return PCAP_ERROR; + } + err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { +- if (err == -ENFILE) { +- /* +- * Device not available; our caller should just +- * keep trying. +- */ +- nlmsg_free(msg); +- return 0; +- } else { +- /* +- * Real failure, not just "that device is not +- * available. +- */ +- snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, +- "%s: nl_wait_for_ack failed adding %s interface: %s", +- device, mondevice, strerror(-err)); +- nlmsg_free(msg); +- return PCAP_ERROR; +- } ++ snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, ++ "%s: nl_wait_for_ack failed adding %s interface: %s", ++ device, mondevice, get_nl_errmsg(-err)); ++ nlmsg_free(msg); ++ return PCAP_ERROR; + } + + /* +-- +1.7.3.5 + diff --git a/core/libpcap/PKGBUILD b/core/libpcap/PKGBUILD index 845ff13bf..023faea55 100644 --- a/core/libpcap/PKGBUILD +++ b/core/libpcap/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 103439 2010-12-19 15:40:24Z andyrtr $ +# $Id: PKGBUILD 142215 2011-11-06 10:21:27Z thomas $ # Maintainer: Thomas Bächler pkgname=libpcap pkgver=1.1.1 -pkgrel=2 +pkgrel=4 pkgdesc="A system-independent interface for user-level packet capture" arch=('i686' 'x86_64') url="http://www.tcpdump.org/" @@ -11,10 +11,15 @@ license=('BSD') depends=('glibc' 'libnl' 'sh') makedepends=('flex') source=(http://www.tcpdump.org/release/libpcap-${pkgver}.tar.gz) + #Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch + #Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch) sha256sums=('508cca15547e55d1318498b838456a21770c450beb2dc7d7d4a96d90816e5a85') - + #'194aa268a3397be3ba406b7102dbdbc14fc16c6e4b535d0a0fab6b04d414563a' + #'f1f31c3e2b064f4c9d0e643e8ed1874a65ec17f770362f8ffa3b3f9ee9dc71bb') build() { cd ${srcdir}/${pkgname}-${pkgver} + #patch -p1 -i "${srcdir}"/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch + #patch -p1 -i "${srcdir}"/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch ./configure --prefix=/usr --enable-ipv6 make } diff --git a/core/libpipeline/PKGBUILD b/core/libpipeline/PKGBUILD index 086d93d54..bbc315315 100644 --- a/core/libpipeline/PKGBUILD +++ b/core/libpipeline/PKGBUILD @@ -1,14 +1,13 @@ -# $Id: PKGBUILD 119506 2011-04-11 19:53:04Z andyrtr $ +# $Id: PKGBUILD 142205 2011-11-06 08:47:46Z andyrtr $ # Maintainer: Andreas Radke pkgname=libpipeline pkgver=1.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="a C library for manipulating pipelines of subprocesses in a flexible and convenient way" arch=('i686' 'x86_64') url="http://libpipeline.nongnu.org/" license=('GPL') -groups=('base') depends=('glibc') options=('!libtool') source=(http://download.savannah.gnu.org/releases/libpipeline/$pkgname-$pkgver.tar.gz) diff --git a/core/nano/PKGBUILD b/core/nano/PKGBUILD index ab760c2df..29daecb1a 100644 --- a/core/nano/PKGBUILD +++ b/core/nano/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 101599 2010-11-29 19:19:03Z andyrtr $ +# $Id: PKGBUILD 142207 2011-11-06 08:47:48Z andyrtr $ # Maintainer: Andreas Radke # Contributor: Judd pkgname=nano pkgver=2.2.6 -pkgrel=1 +pkgrel=2 pkgdesc="Pico editor clone with enhancements" arch=('i686' 'x86_64') license=('GPL') diff --git a/core/wpa_actiond/PKGBUILD b/core/wpa_actiond/PKGBUILD index 7701e4c8f..e8559f15a 100644 --- a/core/wpa_actiond/PKGBUILD +++ b/core/wpa_actiond/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 112297 2011-03-04 15:33:07Z stephane $ +# $Id: PKGBUILD 142219 2011-11-06 10:21:32Z thomas $ # Maintainer: Thomas Bächler pkgname=wpa_actiond pkgver=1.1 -pkgrel=2 +pkgrel=3 pkgdesc="Daemon that connects to wpa_supplicant and handles connect and disconnect events" arch=('i686' 'x86_64') url="http://projects.archlinux.org/wpa_actiond.git/" diff --git a/core/wpa_supplicant/PKGBUILD b/core/wpa_supplicant/PKGBUILD index c2a1ac2d5..493dbf5f3 100644 --- a/core/wpa_supplicant/PKGBUILD +++ b/core/wpa_supplicant/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 112948 2011-03-07 23:26:54Z heftig $ +# $Id: PKGBUILD 142217 2011-11-06 10:21:29Z thomas $ # Maintainer: Thomas Bächler pkgname=wpa_supplicant pkgver=0.7.3 -pkgrel=3 +pkgrel=4 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="http://hostap.epitest.fi/wpa_supplicant" arch=('i686' 'x86_64') -- cgit v1.2.3-54-g00ecf