diff options
Diffstat (limited to 'openwrt/package/kismet/patches/100-remove_sources.patch')
-rw-r--r-- | openwrt/package/kismet/patches/100-remove_sources.patch | 347 |
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; |