Date: Tuesday, January 3, 2012 @ 16:16:05
  Author: thomas
Revision: 145894

upgpkg: libpcap 1.2.1-1: upstream update

Modified:
  libpcap/trunk/PKGBUILD
Deleted:
  libpcap/trunk/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch
  libpcap/trunk/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch

------------------------------------------------------------+
 Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch |  344 -----------
 Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch |  159 -----
 PKGBUILD                                                   |   17 
 3 files changed, 7 insertions(+), 513 deletions(-)

Deleted: Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch
===================================================================
--- Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch  2012-01-03 
21:13:07 UTC (rev 145893)
+++ Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch  2012-01-03 
21:16:05 UTC (rev 145894)
@@ -1,344 +0,0 @@
-From bc937fc4ff6715e9bee939041fa02be0755d7d58 Mon Sep 17 00:00:00 2001
-From: Guy Harris <g...@alum.mit.edu>
-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 <limits.h> 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
-

Deleted: Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch
===================================================================
--- Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch  2012-01-03 
21:13:07 UTC (rev 145893)
+++ Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch  2012-01-03 
21:16:05 UTC (rev 145894)
@@ -1,159 +0,0 @@
-From 9545ff8e2670db02652f9cf781aafdd6bac58ac4 Mon Sep 17 00:00:00 2001
-From: Guy Harris <g...@alum.mit.edu>
-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
-

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2012-01-03 21:13:07 UTC (rev 145893)
+++ PKGBUILD    2012-01-03 21:16:05 UTC (rev 145894)
@@ -2,24 +2,21 @@
 # Maintainer: Thomas Bächler <tho...@archlinux.org>
 
 pkgname=libpcap
-pkgver=1.1.1
-pkgrel=4
+pkgver=1.2.1
+pkgrel=1
 pkgdesc="A system-independent interface for user-level packet capture"
 arch=('i686' 'x86_64')
 url="http://www.tcpdump.org/";
 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')
+source=(http://www.tcpdump.org/release/libpcap-${pkgver}.tar.gz
+        http://www.tcpdump.org/release/libpcap-1.2.1.tar.gz.sig)
+sha256sums=('a135a6ef7e539729a57c7ed345bdb9b64159e13404174006a7972eb33f00debd'
+            'dc82ca7e7f737885969af0f78ad0f0eef8206062087e0261ca2799ef26d569b4')
+
 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
 }

Reply via email to