diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /net-analyzer/dhcpdump/files |
reinit the tree, so we can have metadata
Diffstat (limited to 'net-analyzer/dhcpdump/files')
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; + } + |