summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/dhcpdump/Config.in5
-rw-r--r--package/dhcpdump/dhcpdump-1.8-use-non-bsd-structures.patch23
-rw-r--r--package/dhcpdump/dhcpdump.mk21
-rw-r--r--package/tcpdump/Config.in6
-rw-r--r--package/tcpdump/dhcpdump.mk62
6 files changed, 50 insertions, 68 deletions
diff --git a/package/Config.in b/package/Config.in
index 5e48ab7ee..1d3c0ccbb 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 000000000..1840e3428
--- /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 000000000..40115fb64
--- /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 <netinet/udp.h>.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+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 <apian@ise.fhg.de>)
diff --git a/package/dhcpdump/dhcpdump.mk b/package/dhcpdump/dhcpdump.mk
new file mode 100644
index 000000000..cca674984
--- /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 09e2740a0..c28439893 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 0b2d64ace..000000000
--- a/package/tcpdump/dhcpdump.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-#############################################################
-#
-# dhcpdump
-#
-#############################################################
-# Copyright (C) 2001-2003 by Erik Andersen <andersen@codepoet.org>
-# Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
-
-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