package/dropwatch: bump to version 1.5.2

The new version comes with some new features and minor fixes. The two
previously included patches were merged upstream. A new patch was added
to fix build on 32-bit systems. There's a new dependency to the pcap
library.

Signed-off-by: Alexander Dahl <post@lespocky.de>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Alexander Dahl 2020-03-13 15:31:57 +01:00 committed by Yann E. MORIN
parent 179e6766a6
commit 3a630c5759
6 changed files with 91 additions and 209 deletions

View file

@ -0,0 +1,87 @@
From 3004f23d38400cd4a8619bcacd55a625d3bd7e1f Mon Sep 17 00:00:00 2001
From: Alexander Dahl <post@lespocky.de>
Date: Fri, 13 Mar 2020 13:20:27 +0100
Subject: [PATCH] Fix build on 32-bit systems
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Because -Werror is set, some printf statements caused build errors on
32-bit systems when printing uint64_t. This can be handled in a portable
way by using the macros from inttypes.h …
Fixes: #12
Signed-off-by: Alexander Dahl <post@lespocky.de>
---
PR upstream: https://github.com/nhorman/dropwatch/pull/24
---
src/dwdump.c | 3 ++-
src/main.c | 9 +++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/dwdump.c b/src/dwdump.c
index 0c3ba6f..0ea9fd0 100644
--- a/src/dwdump.c
+++ b/src/dwdump.c
@@ -3,6 +3,7 @@
*/
#include <errno.h>
+#include <inttypes.h>
#include <getopt.h>
#include <pcap.h>
#include <signal.h>
@@ -246,7 +247,7 @@ static void dwdump_nested_stats_print(struct nlattr *attr)
return;
if (attrs[NET_DM_ATTR_STATS_DROPPED])
- printf("Tail dropped: %lu\n",
+ printf("Tail dropped: %" PRIu64 "\n",
nla_get_u64(attrs[NET_DM_ATTR_STATS_DROPPED]));
}
diff --git a/src/main.c b/src/main.c
index 1a1515c..bd87085 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,6 +10,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
+#include <inttypes.h>
#include <signal.h>
#include <stdint.h>
#include <stdbool.h>
@@ -486,9 +487,9 @@ void handle_dm_packet_alert_msg(struct netlink_message *msg, int err)
goto out_free;
if (attrs[NET_DM_ATTR_PC] && attrs[NET_DM_ATTR_SYMBOL])
- printf("drop at: %s (%p)\n",
+ printf("drop at: %s (0x%" PRIx64 ")\n",
nla_get_string(attrs[NET_DM_ATTR_SYMBOL]),
- (void *) nla_get_u64(attrs[NET_DM_ATTR_PC]));
+ nla_get_u64(attrs[NET_DM_ATTR_PC]));
else if (attrs[NET_DM_ATTR_HW_TRAP_GROUP_NAME] &&
attrs[NET_DM_ATTR_HW_TRAP_NAME])
printf("drop at: %s (%s)\n",
@@ -524,7 +525,7 @@ void handle_dm_packet_alert_msg(struct netlink_message *msg, int err)
tstr = asctime(tm);
tstr[strlen(tstr) - 1] = 0;
- printf("timestamp: %s %09ld nsec\n", tstr, ts % 1000000000);
+ printf("timestamp: %s %09" PRId64 " nsec\n", tstr, ts % 1000000000);
}
if (attrs[NET_DM_ATTR_PROTO])
@@ -599,7 +600,7 @@ void print_nested_stats(struct nlattr *attr)
return;
if (attrs[NET_DM_ATTR_STATS_DROPPED])
- printf("Tail dropped: %lu\n",
+ printf("Tail dropped: %" PRIu64 "\n",
nla_get_u64(attrs[NET_DM_ATTR_STATS_DROPPED]));
}
--
2.20.1

View file

@ -1,60 +0,0 @@
From 0ffad73a59d3c831dfab66d4d06f1ab25fce66f2 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Thu, 18 Jul 2019 22:58:07 +0200
Subject: [PATCH] Fix for binutils 2.23.1
libbfd from binutils 2.23.1+ requires PACKAGE* definitions from autoconf.
So include config.h now that dropwatch uses autoconf
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Retrieved (and slightly updated) from:
https://git.buildroot.net/buildroot/tree/package/dropwatch/0001-binutils-2.23.1.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://github.com/nhorman/dropwatch/commit/0ffad73a59d3c831dfab66d4d06f1ab25fce66f2]
---
src/lookup.c | 3 +++
src/lookup_bfd.c | 2 ++
src/lookup_kas.c | 2 ++
3 files changed, 7 insertions(+)
diff --git a/src/lookup.c b/src/lookup.c
index ba54991..521e292 100644
--- a/src/lookup.c
+++ b/src/lookup.c
@@ -24,6 +24,9 @@
* 1) /usr/lib/debug/<kernel version> using libbfd
* 2) /proc/kallsyms
*/
+
+#include "config.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <sys/utsname.h>
diff --git a/src/lookup_bfd.c b/src/lookup_bfd.c
index cc7010b..2c08e5e 100644
--- a/src/lookup_bfd.c
+++ b/src/lookup_bfd.c
@@ -22,6 +22,8 @@
* symbollic name using the bfd library
*/
+#include "config.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <sys/utsname.h>
diff --git a/src/lookup_kas.c b/src/lookup_kas.c
index 5e05630..2300220 100644
--- a/src/lookup_kas.c
+++ b/src/lookup_kas.c
@@ -22,6 +22,8 @@
* symbolic name using /proc/kallsyms
*/
+#include "config.h"
+
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>

View file

@ -1,146 +0,0 @@
From a9d1b6adb4e47ae89d55274ff3f7121122e15975 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Thu, 1 Aug 2019 17:42:16 +0200
Subject: [PATCH] Make binutils optional
Add an option to enable or disable bfd support to allow the user to use
dropwatch without binutils
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/nhorman/dropwatch/pull/10]
---
configure.ac | 10 ++++++++++
src/Makefile.am | 9 +++++++--
src/lookup.c | 8 ++++++++
src/lookup.h | 4 ++++
src/lookup_kas.c | 1 -
5 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 97e21fe..c01a9f4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,6 +17,15 @@ PKG_CHECK_MODULES([LIBNL3], [libnl-3.0], [], [AC_MSG_ERROR([libnl-3.0 is require
# Fallback on using -lreadline as readline.pc is only available since version 8.0
PKG_CHECK_MODULES([READLINE], [readline], [], [READLINE_LIBS=-lreadline])
+AC_ARG_WITH([bfd],
+ [AS_HELP_STRING([--without-bfd], [Build without bfd library (default: yes)])],
+ [with_bfd=$withval],
+ [with_bfd=yes])
+AS_IF([test "x$with_bfd" != "xno"], [
+ AC_CHECK_HEADERS([bfd.h], [], [AC_MSG_ERROR([Couldn't find or include bfd.h])])
+])
+AM_CONDITIONAL(USE_BFD, test "x$with_bfd" != "xno")
+
AC_OUTPUT(Makefile src/Makefile doc/Makefile tests/Makefile)
AC_MSG_NOTICE()
@@ -25,3 +34,4 @@ AC_MSG_NOTICE([Target: $target])
AC_MSG_NOTICE([Installation prefix: $prefix])
AC_MSG_NOTICE([Compiler: $CC])
AC_MSG_NOTICE([Compiler flags: $CFLAGS])
+AC_MSG_NOTICE([BFD library support: $with_bfd])
diff --git a/src/Makefile.am b/src/Makefile.am
index 16db0b4..994fbd8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,7 +2,12 @@
bin_PROGRAMS = dropwatch
AM_CFLAGS = -g -Wall -Werror $(LIBNL3_CFLAGS) $(READLINE_CFLAGS)
-AM_LDFLAGS = $(LIBNL3_LIBS) -lnl-genl-3 -lbfd $(READLINE_LIBS)
+AM_LDFLAGS = $(LIBNL3_LIBS) -lnl-genl-3 $(READLINE_LIBS)
AM_CPPFLAGS = -D_GNU_SOURCE
-dropwatch_SOURCES = main.c lookup_bfd.c lookup.c lookup_kas.c
+dropwatch_SOURCES = main.c lookup.c lookup_kas.c
+
+if USE_BFD
+dropwatch_SOURCES += lookup_bfd.c
+AM_LDFLAGS += -lbfd
+endif
diff --git a/src/lookup.c b/src/lookup.c
index 521e292..ec5e847 100644
--- a/src/lookup.c
+++ b/src/lookup.c
@@ -30,7 +30,9 @@
#include <stdlib.h>
#include <stdio.h>
#include <sys/utsname.h>
+#ifdef HAVE_BFD_H
#include <bfd.h>
+#endif
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
@@ -38,7 +40,9 @@
#include "lookup.h"
+#ifdef HAVE_BFD_H
extern struct lookup_methods bfd_methods;
+#endif
extern struct lookup_methods kallsym_methods;
static int lookup_null_init(void)
@@ -75,17 +79,21 @@ int init_lookup(lookup_init_method_t method)
methods = &null_methods;
break;
case METHOD_AUTO:
+#ifdef HAVE_BFD_H
methods = &bfd_methods;
if (methods->lookup_init() == 0)
return 0;
+#endif
methods = &kallsym_methods;
if (methods->lookup_init() == 0)
return 0;
methods = NULL;
return -1;
+#ifdef HAVE_BFD_H
case METHOD_DEBUGINFO:
methods = &bfd_methods;
break;
+#endif
case METHOD_KALLSYMS:
methods = &kallsym_methods;
break;
diff --git a/src/lookup.h b/src/lookup.h
index e6568d8..2c56a92 100644
--- a/src/lookup.h
+++ b/src/lookup.h
@@ -25,6 +25,8 @@
* 2) /proc/kallsyms
*/
+#include "config.h"
+
#include <stdlib.h>
#include <asm/types.h>
@@ -44,7 +46,9 @@
typedef enum {
METHOD_NULL = 0,
METHOD_AUTO,
+#ifdef HAVE_BFD_H
METHOD_DEBUGINFO,
+#endif
METHOD_KALLSYMS
} lookup_init_method_t;
diff --git a/src/lookup_kas.c b/src/lookup_kas.c
index 2300220..9a1a148 100644
--- a/src/lookup_kas.c
+++ b/src/lookup_kas.c
@@ -28,7 +28,6 @@
#include <stdio.h>
#include <stdint.h>
#include <sys/utsname.h>
-#include <bfd.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
--
2.20.1

View file

@ -3,6 +3,7 @@ config BR2_PACKAGE_DROPWATCH
depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_LIBNL
select BR2_PACKAGE_LIBPCAP
help
Dropwatch is an interactive utility for monitoring and
recording packets that are dropped by the kernel

View file

@ -1,3 +1,3 @@
# Locally calculated
sha256 3a95b7ff0d609f581c120a4072e6a97d044f900824b4f4d3ac83fdcc5f3e96cf dropwatch-1.5.1.tar.gz
sha256 a2049a68d2cc2f81df977c7a732f50de3ec71283bc7bd94389ba33574af9aaa6 dropwatch-1.5.2.tar.gz
sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING

View file

@ -4,9 +4,9 @@
#
################################################################################
DROPWATCH_VERSION = 1.5.1
DROPWATCH_VERSION = 1.5.2
DROPWATCH_SITE = $(call github,nhorman,dropwatch,v$(DROPWATCH_VERSION))
DROPWATCH_DEPENDENCIES = libnl readline host-pkgconf $(TARGET_NLS_DEPENDENCIES)
DROPWATCH_DEPENDENCIES = libnl readline libpcap host-pkgconf $(TARGET_NLS_DEPENDENCIES)
# Until upstream updates their tree with a proper license
# blurb: https://github.com/nhorman/dropwatch/issues/14
DROPWATCH_LICENSE = GPL-2.0+