From 95cf21ef8c098369a54e8bd2ec97f1b56433c928 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Tue, 17 May 2011 20:22:29 +0200 Subject: [PATCH] dhcpdump: move as a proper package, bump version dhcpdump 1.7 required tcpdump, but version 1.8 now uses libpcap instead. Also version 1.8 is no longer autotools based, but just a simple Makefile. Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/dhcpdump/Config.in | 5 ++ .../dhcpdump-1.8-use-non-bsd-structures.patch | 23 +++++++ package/dhcpdump/dhcpdump.mk | 21 +++++++ package/tcpdump/Config.in | 6 -- package/tcpdump/dhcpdump.mk | 62 ------------------- 6 files changed, 50 insertions(+), 68 deletions(-) create mode 100644 package/dhcpdump/Config.in create mode 100644 package/dhcpdump/dhcpdump-1.8-use-non-bsd-structures.patch create mode 100644 package/dhcpdump/dhcpdump.mk delete mode 100644 package/tcpdump/dhcpdump.mk diff --git a/package/Config.in b/package/Config.in index 5e48ab7ee0..1d3c0ccbb5 100644 --- a/package/Config.in +++ b/package/Config.in @@ -385,6 +385,7 @@ source "package/cups/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/dhcp/Config.in" endif +source "package/dhcpdump/Config.in" source "package/dnsmasq/Config.in" source "package/dropbear/Config.in" source "package/ethtool/Config.in" diff --git a/package/dhcpdump/Config.in b/package/dhcpdump/Config.in new file mode 100644 index 0000000000..1840e3428f --- /dev/null +++ b/package/dhcpdump/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_DHCPDUMP + bool "dhcpdump" + select BR2_PACKAGE_LIBPCAP + help + A tool for monitoring dhcp requests using tcpdump. diff --git a/package/dhcpdump/dhcpdump-1.8-use-non-bsd-structures.patch b/package/dhcpdump/dhcpdump-1.8-use-non-bsd-structures.patch new file mode 100644 index 0000000000..40115fb640 --- /dev/null +++ b/package/dhcpdump/dhcpdump-1.8-use-non-bsd-structures.patch @@ -0,0 +1,23 @@ +The udphdr structure has uh_* fields when _FAVOR_BSD is +defined. Otherwise, the fields are just named source, dest, len and +check. See . + +Signed-off-by: Thomas Petazzoni + +Index: dhcpdump-1.8/dhcpdump.c +=================================================================== +--- dhcpdump-1.8.orig/dhcpdump.c 2011-05-17 20:20:46.506980003 +0200 ++++ dhcpdump-1.8/dhcpdump.c 2011-05-17 20:20:59.338979999 +0200 +@@ -163,10 +163,10 @@ + strcpy(ip_origin, (u_char *)inet_ntoa(ip->ip_src)); + strcpy(ip_destination, (u_char *)inet_ntoa(ip->ip_dst)); + +- if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->uh_ulen))) ++ if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->len))) + return; + +- printdata((u_char *)(sp + offset), ntohs(udp->uh_ulen)); ++ printdata((u_char *)(sp + offset), ntohs(udp->len)); + } + + // check for matching CHADDR (Peter Apian-Bennewitz ) diff --git a/package/dhcpdump/dhcpdump.mk b/package/dhcpdump/dhcpdump.mk new file mode 100644 index 0000000000..cca6749842 --- /dev/null +++ b/package/dhcpdump/dhcpdump.mk @@ -0,0 +1,21 @@ +############################################################# +# +# dhcpdump +# +############################################################# + +DHCPDUMP_VERSION = 1.8 +DHCPDUMP_SITE = http://www.mavetju.org/download/ +DHCPDUMP_SOURCE = dhcpdump-$(DHCPDUMP_VERSION).tar.gz + +DHCPDUMP_DEPENDENCIES = libpcap + +define DHCPDUMP_BUILD_CMDS + $(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CFLAGS)" +endef + +define DHCPDUMP_INSTALL_TARGET_CMDS + install -m 0755 -D $(@D)/dhcpdump $(TARGET_DIR)/usr/bin/dhcpdump +endef + +$(eval $(call GENTARGETS,package,dhcpdump)) diff --git a/package/tcpdump/Config.in b/package/tcpdump/Config.in index 09e2740a06..c28439893c 100644 --- a/package/tcpdump/Config.in +++ b/package/tcpdump/Config.in @@ -11,9 +11,3 @@ config BR2_PACKAGE_TCPDUMP_SMB depends on BR2_PACKAGE_TCPDUMP help enable possibly-buggy SMB printer - -config BR2_PACKAGE_DHCPDUMP - bool "dhcpdump" - select BR2_PACKAGE_LIBPCAP - help - A tool for monitoring dhcp requests using tcpdump. diff --git a/package/tcpdump/dhcpdump.mk b/package/tcpdump/dhcpdump.mk deleted file mode 100644 index 0b2d64ace0..0000000000 --- a/package/tcpdump/dhcpdump.mk +++ /dev/null @@ -1,62 +0,0 @@ -############################################################# -# -# dhcpdump -# -############################################################# -# Copyright (C) 2001-2003 by Erik Andersen -# Copyright (C) 2002 by Tim Riker - -DHCPDUMP_VERSION:=1.7 -DHCPDUMP_DIR:=$(BUILD_DIR)/dhcpdump-$(DHCPDUMP_VERSION) -DHCPDUMP_SITE:=http://www.mavetju.org/download/ -DHCPDUMP_SOURCE:=dhcpdump-$(DHCPDUMP_VERSION).tar.gz -DHCPDUMP_CAT:=$(ZCAT) - -$(DL_DIR)/$(DHCPDUMP_SOURCE): - $(call DOWNLOAD,$(DHCPDUMP_SITE),$(DHCPDUMP_SOURCE)) - -dhcpdump-source: $(DL_DIR)/$(DHCPDUMP_SOURCE) - -$(DHCPDUMP_DIR)/.unpacked: $(DL_DIR)/$(DHCPDUMP_SOURCE) - $(DHCPDUMP_CAT) $(DL_DIR)/$(DHCPDUMP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - touch $@ - -$(DHCPDUMP_DIR)/.configured: $(DHCPDUMP_DIR)/.unpacked - (cd $(DHCPDUMP_DIR); rm -f config.cache; \ - BUILD_CC="$(TARGET_CC)" HOSTCC="$(HOSTCC)" \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - ) - touch $@ - -$(DHCPDUMP_DIR)/dhcpdump: $(DHCPDUMP_DIR)/.configured - $(MAKE) CC="$(TARGET_CC)" -C $(DHCPDUMP_DIR) - -$(TARGET_DIR)/usr/sbin/dhcpdump: $(DHCPDUMP_DIR)/dhcpdump - cp -af $< $@ - -dhcpdump: zlib libpcap $(TARGET_DIR)/usr/sbin/dhcpdump - -dhcpdump-clean: - rm -f $(TARGET_DIR)/usr/sbin/dhcpdump - -$(MAKE) -C $(DHCPDUMP_DIR) clean - -dhcpdump-dirclean: - rm -rf $(DHCPDUMP_DIR) -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_DHCPDUMP),y) -TARGETS+=dhcpdump -endif -- 2.30.2