summaryrefslogtreecommitdiff
path: root/package/dhcpdump
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-05-17 20:22:29 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-05-18 18:22:40 +0200
commit95cf21ef8c098369a54e8bd2ec97f1b56433c928 (patch)
tree3682a3e5574a1f3d92eda6444499f942a527da7e /package/dhcpdump
parente3bf4de3298ec01cf6d91bc55758b4e605b52b88 (diff)
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 <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/dhcpdump')
-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
3 files changed, 49 insertions, 0 deletions
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))