summaryrefslogtreecommitdiff
path: root/openwrt/package/kismet/patches/100-remove_sources.patch
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/package/kismet/patches/100-remove_sources.patch')
-rw-r--r--openwrt/package/kismet/patches/100-remove_sources.patch347
1 files changed, 347 insertions, 0 deletions
diff --git a/openwrt/package/kismet/patches/100-remove_sources.patch b/openwrt/package/kismet/patches/100-remove_sources.patch
new file mode 100644
index 0000000..8bae67b
--- /dev/null
+++ b/openwrt/package/kismet/patches/100-remove_sources.patch
@@ -0,0 +1,347 @@
+diff -urN kismet-2005-04-R1.old/kismet_drone.cc kismet-2005-04-R1.dev/kismet_drone.cc
+--- kismet-2005-04-R1.old/kismet_drone.cc 2005-04-03 07:33:42.000000000 +0200
++++ kismet-2005-04-R1.dev/kismet_drone.cc 2005-04-27 17:10:22.000000000 +0200
+@@ -32,11 +32,8 @@
+ #include "packet.h"
+
+ #include "packetsource.h"
+-#include "prism2source.h"
+ #include "pcapsource.h"
+ #include "wtapfilesource.h"
+-#include "wsp100source.h"
+-#include "vihasource.h"
+ #include "dronesource.h"
+ #include "packetsourcetracker.h"
+ #include "kis_packsources.h"
+diff -urN kismet-2005-04-R1.old/kismet_server.cc kismet-2005-04-R1.dev/kismet_server.cc
+--- kismet-2005-04-R1.old/kismet_server.cc 2005-04-03 07:33:42.000000000 +0200
++++ kismet-2005-04-R1.dev/kismet_server.cc 2005-04-27 17:10:35.000000000 +0200
+@@ -37,11 +37,8 @@
+ #include "packet.h"
+
+ #include "packetsource.h"
+-#include "prism2source.h"
+ #include "pcapsource.h"
+ #include "wtapfilesource.h"
+-#include "wsp100source.h"
+-#include "vihasource.h"
+ #include "dronesource.h"
+ #include "packetsourcetracker.h"
+ #include "kis_packsources.h"
+diff -urN kismet-2005-04-R1.old/kis_packsources.cc kismet-2005-04-R1.dev/kis_packsources.cc
+--- kismet-2005-04-R1.old/kis_packsources.cc 2005-04-03 07:33:42.000000000 +0200
++++ kismet-2005-04-R1.dev/kis_packsources.cc 2005-04-27 17:11:22.000000000 +0200
+@@ -58,15 +58,10 @@
+ REG_EMPTY_CARD(sourcetracker, "pcapfile");
+ #endif
+
++ REG_EMPTY_CARD(sourcetracker, "cisco");
++ REG_EMPTY_CARD(sourcetracker, "cisco_wifix");
+ #if defined(HAVE_LIBPCAP) && defined(HAVE_LINUX_WIRELESS)
+ // Linux wext-driven cards
+- sourcetracker->RegisterPacketsource("cisco", 1, "IEEE80211b", 6,
+- pcapsource_wext_registrant,
+- monitor_cisco, unmonitor_cisco,
+- chancontrol_wext, 1);
+- sourcetracker->RegisterPacketsource("cisco_wifix", 1, "IEEE80211b", 6,
+- pcapsource_ciscowifix_registrant,
+- monitor_cisco_wifix, NULL, NULL, 1);
+ sourcetracker->RegisterPacketsource("hostap", 1, "IEEE80211b", 6,
+ pcapsource_wext_registrant,
+ monitor_hostap, unmonitor_hostap,
+@@ -142,8 +137,6 @@
+
+ #else
+ // Register the linuxwireless pcap stuff as null
+- REG_EMPTY_CARD(sourcetracker, "cisco");
+- REG_EMPTY_CARD(sourcetracker, "cisco_wifix");
+ REG_EMPTY_CARD(sourcetracker, "hostap");
+ REG_EMPTY_CARD(sourcetracker, "orinoco");
+ REG_EMPTY_CARD(sourcetracker, "acx100");
+@@ -179,14 +172,7 @@
+ REG_EMPTY_CARD(sourcetracker, "wrt54g");
+ #endif
+
+-#if defined(SYS_LINUX) && defined(HAVE_LINUX_NETLINK)
+- sourcetracker->RegisterPacketsource("wlanng_legacy", 1, "IEEE80211b", 6,
+- prism2source_registrant,
+- monitor_wlanng_legacy, NULL,
+- chancontrol_wlanng_legacy, 1);
+-#else
+ REG_EMPTY_CARD(sourcetracker, "wlanng_legacy");
+-#endif
+
+ #if defined(HAVE_LIBPCAP) && defined(SYS_OPENBSD)
+ sourcetracker->RegisterPacketsource("cisco_openbsd", 1, "IEEE80211b", 6,
+@@ -228,21 +214,8 @@
+ REG_EMPTY_CARD(sourcetracker, "wtapfile");
+ #endif
+
+-#if defined(HAVE_WSP100)
+- sourcetracker->RegisterPacketsource("wsp100", 0, "IEEE80211b", 6,
+- wsp100source_registrant,
+- monitor_wsp100, NULL, chancontrol_wsp100, 0);
+-#else
+ REG_EMPTY_CARD(sourcetracker, "wsp100");
+-#endif
+-
+-#if defined(HAVE_VIHAHEADERS)
+- sourcetracker->RegisterPacketsource("viha", 1, "IEEE80211b", 6,
+- vihasource_registrant,
+- NULL, NULL, chancontrol_viha, 0);
+-#else
+ REG_EMPTY_CARD(sourcetracker, "viha");
+-#endif
+
+ return 1;
+ }
+diff -urN kismet-2005-04-R1.old/kis_packsources.h kismet-2005-04-R1.dev/kis_packsources.h
+--- kismet-2005-04-R1.old/kis_packsources.h 2005-04-03 07:33:42.000000000 +0200
++++ kismet-2005-04-R1.dev/kis_packsources.h 2005-04-27 17:10:43.000000000 +0200
+@@ -22,11 +22,8 @@
+ #include "config.h"
+
+ #include "packetsource.h"
+-#include "prism2source.h"
+ #include "pcapsource.h"
+ #include "wtapfilesource.h"
+-#include "wsp100source.h"
+-#include "vihasource.h"
+ #include "dronesource.h"
+ #include "packetsourcetracker.h"
+
+diff -urN kismet-2005-04-R1.old/Makefile.in kismet-2005-04-R1.dev/Makefile.in
+--- kismet-2005-04-R1.old/Makefile.in 2005-04-03 07:33:42.000000000 +0200
++++ kismet-2005-04-R1.dev/Makefile.in 2005-04-27 17:10:09.000000000 +0200
+@@ -40,8 +40,8 @@
+
+ # Objects
+ PSO = util.o ringbuf.o configfile.o speech.o ifcontrol.o iwcontrol.o packet.o \
+- pcapsource.o prism2source.o wtapfilesource.o wsp100source.o \
+- dronesource.o vihasource.o packetsourcetracker.o kis_packsources.o \
++ pcapsource.o wtapfilesource.o \
++ dronesource.o packetsourcetracker.o kis_packsources.o \
+ wtapdump.o wtaplocaldump.o gpsdump.o airsnortdump.o fifodump.o \
+ gpsd.o manuf.o \
+ packetracker.o timetracker.o alertracker.o finitestate.o \
+@@ -50,8 +50,8 @@
+ PS = kismet_server
+
+ DRONEO = util.o ringbuf.o configfile.o getopt.o ifcontrol.o iwcontrol.o packet.o \
+- tcpstreamer.o prism2source.o pcapsource.o wtapfilesource.o wsp100source.o \
+- dronesource.o vihasource.o packetsourcetracker.o kis_packsources.o \
++ tcpstreamer.o pcapsource.o wtapfilesource.o \
++ dronesource.o packetsourcetracker.o kis_packsources.o \
+ timetracker.o gpsd.o server_globals.o kismet_drone.o
+ DRONE = kismet_drone
+
+diff -urN kismet-2005-04-R1.old/pcapsource.cc kismet-2005-04-R1.dev/pcapsource.cc
+--- kismet-2005-04-R1.old/pcapsource.cc 2005-04-03 07:33:42.000000000 +0200
++++ kismet-2005-04-R1.dev/pcapsource.cc 2005-04-27 16:58:10.000000000 +0200
+@@ -282,8 +282,6 @@
+
+ if (datalink_type == DLT_PRISM_HEADER) {
+ ret = Prism2KisPack(packet, data, moddata);
+- } else if (datalink_type == KDLT_BSD802_11) {
+- ret = BSD2KisPack(packet, data, moddata);
+ #ifdef HAVE_RADIOTAP
+ } else if (datalink_type == DLT_IEEE802_11_RADIO) {
+ ret = Radiotap2KisPack(packet, data, moddata);
+@@ -418,46 +416,6 @@
+
+ }
+
+-int PcapSource::BSD2KisPack(kis_packet *packet, uint8_t *data, uint8_t *moddata) {
+- int callback_offset = 0;
+-
+- // Process our hacked in BSD type
+- if (callback_header.caplen < sizeof(bsd_80211_header)) {
+- snprintf(errstr, 1024, "pcap bsd converter saw undersized capture frame for bsd header.");
+- packet->len = 0;
+- packet->caplen = 0;
+- return 0;
+- }
+-
+- packet->caplen = kismin(callback_header.caplen - sizeof(bsd_80211_header),
+- (uint32_t) MAX_PACKET_LEN);
+- packet->len = packet->caplen;
+-
+- bsd_80211_header *bsdhead = (bsd_80211_header *) callback_data;
+-
+- packet->signal = bsdhead->wi_signal;
+- packet->noise = bsdhead->wi_silence;
+-
+- // Set our offset
+- callback_offset = sizeof(bsd_80211_header);
+- memcpy(packet->data, callback_data + callback_offset, 24);
+-
+- // Adjust for driver appended headers
+- if (packet->data[0] > 0x08) {
+- packet->len -= 22;
+- packet->caplen -= 22;
+- memcpy(packet->data + 24, callback_data + callback_offset + 46,
+- packet->caplen - 2);
+- } else {
+- packet->len -= 30;
+- packet->caplen -= 30;
+- memcpy(packet->data + 24, callback_data + callback_offset + 46,
+- packet->caplen - 2);
+- }
+-
+- return 1;
+-}
+-
+ #ifdef HAVE_RADIOTAP
+ /*
+ * Convert MHz frequency to IEEE channel number.
+@@ -949,17 +907,6 @@
+ return new PcapSourceWextFCS(in_name, in_device);
+ }
+
+-KisPacketSource *pcapsource_ciscowifix_registrant(string in_name, string in_device, char *in_err) {
+- vector<string> devbits = StrTokenize(in_device, ":");
+-
+- if (devbits.size() < 2) {
+- snprintf(in_err, STATUS_MAX, "Invalid device pair '%s'", in_device.c_str());
+- return NULL;
+- }
+-
+- return new PcapSourceWext(in_name, devbits[1]);
+-}
+-
+ KisPacketSource *pcapsource_11g_registrant(string in_name, string in_device,
+ char *in_err) {
+ return new PcapSource11G(in_name, in_device);
+@@ -1004,132 +951,6 @@
+
+ // Monitor commands
+ #ifdef HAVE_LINUX_WIRELESS
+-// Cisco uses its own config file in /proc to control modes
+-int monitor_cisco(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
+- FILE *cisco_config;
+- char cisco_path[128];
+-
+- linux_ifparm *ifparm = (linux_ifparm *) malloc(sizeof(linux_ifparm));
+- (*in_if) = ifparm;
+-
+- if (Ifconfig_Get_Flags(in_dev, in_err, &ifparm->flags) < 0) {
+- return -1;
+- }
+-
+- if (Iwconfig_Get_SSID(in_dev, in_err, ifparm->essid) < 0)
+- return -1;
+-
+- if ((ifparm->channel = Iwconfig_Get_Channel(in_dev, in_err)) < 0)
+- return -1;
+-
+- if (Iwconfig_Get_Mode(in_dev, in_err, &ifparm->mode) < 0)
+- return -1;
+-
+- if (Ifconfig_Delta_Flags(in_dev, in_err, IFF_UP | IFF_RUNNING | IFF_PROMISC) < 0)
+- return -1;
+-
+- // Try the iwpriv
+- if (Iwconfig_Set_IntPriv(in_dev, "setRFMonitor", 1, 0, in_err) >= 0) {
+- return 0;
+- }
+-
+- // Zero the ssid - nonfatal
+- Iwconfig_Set_SSID(in_dev, in_err, NULL);
+-
+- // Build the proc control path
+- snprintf(cisco_path, 128, "/proc/driver/aironet/%s/Config", in_dev);
+-
+- if ((cisco_config = fopen(cisco_path, "w")) == NULL) {
+- snprintf(in_err, STATUS_MAX, "Unable to open cisco control file '%s' %d:%s",
+- cisco_path, errno, strerror(errno));
+- return -1;
+- }
+-
+- fprintf(cisco_config, "Mode: r\n");
+- fprintf(cisco_config, "Mode: y\n");
+- fprintf(cisco_config, "XmitPower: 1\n");
+-
+- fclose(cisco_config);
+-
+- // Channel can't be set on cisco with these drivers.
+-
+- return 0;
+-}
+-
+-int unmonitor_cisco(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
+- linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
+- int ret = -1;
+-
+- // Try the iwpriv
+- if (Iwconfig_Set_IntPriv(in_dev, "setRFMonitor", 0, 0, in_err) >= 0) {
+- // If we're the new drivers, unmonitor
+- if (Ifconfig_Set_Flags(in_dev, in_err, ifparm->flags) < 0) {
+- return -1;
+- }
+-
+- // Reset the SSID since monitor mode nukes it
+- if (Iwconfig_Set_SSID(in_dev, in_err, ifparm->essid) < 0)
+- return -1;
+-
+- if (ifparm->channel > 0) {
+- if (Iwconfig_Set_Channel(in_dev, ifparm->channel, in_err) < 0)
+- return -1;
+- }
+-
+- ret = 1;
+- }
+-
+- free(ifparm);
+-
+- return ret;
+-}
+-
+-// Cisco uses its own config file in /proc to control modes
+-//
+-// I was doing this with ioctls but that seems to cause lockups while
+-// this method doesn't. I don't think I like these drivers.
+-int monitor_cisco_wifix(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
+- FILE *cisco_config;
+- char cisco_path[128];
+- vector<string> devbits = StrTokenize(in_dev, ":");
+-
+- if (devbits.size() < 2) {
+- snprintf(in_err, STATUS_MAX, "Invalid device pair '%s'", in_dev);
+- return -1;
+- }
+-
+- // Bring the device up, zero its ip, and set promisc
+- if (Ifconfig_Delta_Flags(devbits[0].c_str(), in_err,
+- IFF_UP | IFF_RUNNING | IFF_PROMISC) < 0)
+- return -1;
+- if (Ifconfig_Delta_Flags(devbits[1].c_str(), in_err,
+- IFF_UP | IFF_RUNNING | IFF_PROMISC) < 0)
+- return -1;
+-
+- // Zero the ssid, nonfatally
+- Iwconfig_Set_SSID(devbits[0].c_str(), in_err, NULL);
+- Iwconfig_Set_SSID(devbits[1].c_str(), in_err, NULL);
+-
+- // Build the proc control path
+- snprintf(cisco_path, 128, "/proc/driver/aironet/%s/Config", devbits[0].c_str());
+-
+- if ((cisco_config = fopen(cisco_path, "w")) == NULL) {
+- snprintf(in_err, STATUS_MAX, "Unable to open cisco control file '%s' %d:%s",
+- cisco_path, errno, strerror(errno));
+- return -1;
+- }
+-
+- fprintf(cisco_config, "Mode: r\n");
+- fprintf(cisco_config, "Mode: y\n");
+- fprintf(cisco_config, "XmitPower: 1\n");
+-
+- fclose(cisco_config);
+-
+- // Channel can't be set on cisco with these drivers.
+-
+- return 0;
+-}
+-
+ // Hostap uses iwpriv and iwcontrol settings to control monitor mode
+ int monitor_hostap(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
+ int ret;