summaryrefslogtreecommitdiff
path: root/net-analyzer/dhcpdump/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-analyzer/dhcpdump/files
reinit the tree, so we can have metadata
Diffstat (limited to 'net-analyzer/dhcpdump/files')
-rw-r--r--net-analyzer/dhcpdump/files/dhcpdump-1.8-Makefile.patch22
-rw-r--r--net-analyzer/dhcpdump/files/dhcpdump-1.8-debian.patch103
-rw-r--r--net-analyzer/dhcpdump/files/dhcpdump-1.8-endianness.patch12
3 files changed, 137 insertions, 0 deletions
diff --git a/net-analyzer/dhcpdump/files/dhcpdump-1.8-Makefile.patch b/net-analyzer/dhcpdump/files/dhcpdump-1.8-Makefile.patch
new file mode 100644
index 000000000000..690f60779b87
--- /dev/null
+++ b/net-analyzer/dhcpdump/files/dhcpdump-1.8-Makefile.patch
@@ -0,0 +1,22 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+-CFLAGS= -Wall -g
+-LDFLAGS= -g
+-LIBS= -lpcap
++#CFLAGS = -Wall -g
++#LDFLAGS = -g
++LIBS = -lpcap
+
+ all: dhcpdump dhcpdump.8
+
+@@ -15,7 +15,7 @@
+ dhcpdump.pod dhcpdump.8
+
+ dhcpdump: dhcpdump.o
+- ${CC} ${LDFLAGS} -o $@ dhcpdump.o ${LIBS}
++ $(CC) -DHAVE_STRSEP $(LDFLAGS) -o $@ dhcpdump.o $(LIBS)
+
+ dhcpdump.o: dhcpdump.c dhcp_options.h Makefile
+- ${CC} ${CFLAGS} -c -o $@ dhcpdump.c
++ $(CC) -DHAVE_STRSEP $(CFLAGS) -c -o $@ dhcpdump.c
diff --git a/net-analyzer/dhcpdump/files/dhcpdump-1.8-debian.patch b/net-analyzer/dhcpdump/files/dhcpdump-1.8-debian.patch
new file mode 100644
index 000000000000..7c5304bb0bca
--- /dev/null
+++ b/net-analyzer/dhcpdump/files/dhcpdump-1.8-debian.patch
@@ -0,0 +1,103 @@
+--- a/dhcpdump.c
++++ b/dhcpdump.c
+@@ -16,11 +16,13 @@
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
+ #include <netinet/udp.h>
++#include <netinet/ether.h>
+ #include <arpa/inet.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
++#include <time.h>
+ #include <pcap.h>
+ #include <err.h>
+ #include <regex.h>
+@@ -38,11 +40,11 @@
+ #define LARGESTRING 1024
+
+ // header variables
+-u_char timestamp[40]; // timestamp on header
+-u_char mac_origin[40]; // mac address of origin
+-u_char mac_destination[40]; // mac address of destination
+-u_char ip_origin[40]; // ip address of origin
+-u_char ip_destination[40]; // ip address of destination
++char timestamp[40]; // timestamp on header
++char mac_origin[40]; // mac address of origin
++char mac_destination[40]; // mac address of destination
++char ip_origin[40]; // ip address of origin
++char ip_destination[40]; // ip address of destination
+ int max_data_len; // maximum size of a packet
+
+ int tcpdump_style = -1;
+@@ -160,13 +162,21 @@
+ strcpy(mac_destination,
+ ether_ntoa((struct ether_addr *)eh->ether_dhost));
+
+- strcpy(ip_origin, (u_char *)inet_ntoa(ip->ip_src));
+- strcpy(ip_destination, (u_char *)inet_ntoa(ip->ip_dst));
++ strcpy(ip_origin, (char *)inet_ntoa(ip->ip_src));
++ strcpy(ip_destination, (char *)inet_ntoa(ip->ip_dst));
+
++#ifdef __linux__
++ if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->len)))
++ return;
++
++ printdata((u_char *)(sp + offset), ntohs(udp->len));
++#else
+ if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->uh_ulen)))
+ return;
+
+ printdata((u_char *)(sp + offset), ntohs(udp->uh_ulen));
++#endif
++
+ }
+
+ // check for matching CHADDR (Peter Apian-Bennewitz <apian@ise.fhg.de>)
+@@ -301,7 +311,7 @@
+ // print the header and the options.
+ int printdata(u_char *data, int data_len) {
+ int j, i;
+- u_char buf[LARGESTRING];
++ char buf[LARGESTRING];
+
+ if (data_len == 0)
+ return 0;
+@@ -364,7 +374,7 @@
+ case 60: // Domain name
+ case 86: // NDS Tree name
+ case 87: // NDS context
+- strncpy(buf, &data[j + 2], data[j + 1]);
++ strncpy(buf, (char *)&data[j + 2], data[j + 1]);
+ buf[data[j + 1]] = 0;
+ printf("%s", buf);
+ break;
+@@ -510,7 +520,7 @@
+ printf("-");
+ print8bits(data + j + 4);
+ printf(" ");
+- strncpy(buf, &data[j + 5], data[j + 1] - 3);
++ strncpy(buf, (char *)&data[j + 5], data[j + 1] - 3);
+ buf[data[j + 1] - 3]=0;
+ printf("%s", buf);
+ break;
+@@ -518,6 +528,9 @@
+ case 82: // Relay Agent Information
+ printf("\n");
+ for (i = j + 2; i < j + data[j + 1]; ) {
++ if (i != j+2) {
++ printf("\n");
++ }
+ printf("%-17s %-13s ", " ",
+ data[i] > sizeof(relayagent_suboptions) ?
+ "*wrong value*" :
+@@ -527,7 +540,7 @@
+ break;
+ }
+ printHexColon(data + i + 2, data[i + 1]);
+- i += data[i + 1];
++ i += data[i + 1] + 2;
+ }
+ break;
+
diff --git a/net-analyzer/dhcpdump/files/dhcpdump-1.8-endianness.patch b/net-analyzer/dhcpdump/files/dhcpdump-1.8-endianness.patch
new file mode 100644
index 000000000000..2a6f7822c2b3
--- /dev/null
+++ b/net-analyzer/dhcpdump/files/dhcpdump-1.8-endianness.patch
@@ -0,0 +1,12 @@
+--- a/dhcpdump.c
++++ b/dhcpdump.c
+@@ -130,7 +130,7 @@
+ offset += ETHER_HDR_LEN;
+
+ // Check for IPv4 packets
+- if (eh->ether_type != 8) {
++ if (eh->ether_type != htons(0x0800)) {
+ printf("Ignored non IPv4 packet: %d\n", eh->ether_type);
+ return;
+ }
+