summaryrefslogtreecommitdiffstats
path: root/openwrt/package/kismet
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-07 11:57:20 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-07 11:57:20 +0000
commit725611a466f2edf12f809d22339b22223af4afe7 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /openwrt/package/kismet
parentf4dd5a6d7c4ebea48cd6292744cb9def6037de80 (diff)
move old kamikaze out of trunk - will put buildroot-ng in there as soon as all the developers are ready
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@4944 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/kismet')
-rw-r--r--openwrt/package/kismet/Config.in66
-rw-r--r--openwrt/package/kismet/Makefile101
-rw-r--r--openwrt/package/kismet/files/ap_manuf79
-rw-r--r--openwrt/package/kismet/files/client_manuf249
-rw-r--r--openwrt/package/kismet/files/kismet.conf281
-rw-r--r--openwrt/package/kismet/files/kismet_drone.conf121
-rw-r--r--openwrt/package/kismet/files/kismet_ui.conf61
-rw-r--r--openwrt/package/kismet/ipkg/kismet-client.conffiles4
-rw-r--r--openwrt/package/kismet/ipkg/kismet-client.control9
-rw-r--r--openwrt/package/kismet/ipkg/kismet-drone.conffiles1
-rw-r--r--openwrt/package/kismet/ipkg/kismet-drone.control9
-rw-r--r--openwrt/package/kismet/ipkg/kismet-server.conffiles3
-rw-r--r--openwrt/package/kismet/ipkg/kismet-server.control9
-rw-r--r--openwrt/package/kismet/ipkg/kismet.control9
-rw-r--r--openwrt/package/kismet/patches/100-wrt54g_source.patch189
-rw-r--r--openwrt/package/kismet/patches/110-uclibc++_fixes.patch11
-rw-r--r--openwrt/package/kismet/patches/120-cleanup.patch3287
17 files changed, 0 insertions, 4489 deletions
diff --git a/openwrt/package/kismet/Config.in b/openwrt/package/kismet/Config.in
deleted file mode 100644
index 425ec6c51..000000000
--- a/openwrt/package/kismet/Config.in
+++ /dev/null
@@ -1,66 +0,0 @@
-#menu "kismet............................ An 802.11 layer2 wireless network detector, sniffer, and intrusion detection system"
-
-config BR2_COMPILE_KISMET
- tristate
- default n
- depends BR2_PACKAGE_KISMET_CLIENT || BR2_PACKAGE_KISMET_DRONE || BR2_PACKAGE_KISMET_SERVER
-
-config BR2_PACKAGE_KISMET_CLIENT
- prompt "kismet-client..................... The Kismet client"
- tristate
- default m if CONFIG_DEVEL
- select BR2_COMPILE_KISMET
- select BR2_PACKAGE_LIBNCURSES
- select BR2_PACKAGE_UCLIBCXX
- help
-
- An 802.11 layer2 wireless network detector, sniffer, and intrusion detection system.
-
- http://www.kismetwireless.net/
-
- This package contains the kismet text interface client.
-
- Depends:
- - libncurses
- - libpcap
- - uClibc++
-
-config BR2_PACKAGE_KISMET_DRONE
- prompt "kismet-drone...................... The Kismet drone"
- tristate
- default m if CONFIG_DEVEL
- select BR2_COMPILE_KISMET
- select BR2_PACKAGE_LIBPCAP
- select BR2_PACKAGE_UCLIBCXX
- help
-
- An 802.11 layer2 wireless network detector, sniffer, and intrusion detection system.
-
- http://www.kismetwireless.net/
-
- This package contains the kismet remote sniffing.and monitoring drone.
-
- Depends:
- - libpcap
- - uClibc++
-
-config BR2_PACKAGE_KISMET_SERVER
- prompt "kismet-server..................... The Kismet server"
- tristate
- default m if CONFIG_DEVEL
- select BR2_COMPILE_KISMET
- select BR2_PACKAGE_LIBPCAP
- select BR2_PACKAGE_UCLIBCXX
- help
-
- An 802.11 layer2 wireless network detector, sniffer, and intrusion detection system.
-
- http://www.kismetwireless.net/
-
- This package contains the kismet server.
-
- Depends:
- - libpcap
- - uClibc++
-
-#endmenu
diff --git a/openwrt/package/kismet/Makefile b/openwrt/package/kismet/Makefile
deleted file mode 100644
index 9ac7753e8..000000000
--- a/openwrt/package/kismet/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-# $Id$
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=kismet
-PKG_VERSION:=2006-04-R1
-PKG_RELEASE:=1
-PKG_MD5SUM:=8ec2de513f2911df1b7edfcba5ad1c26
-
-PKG_SOURCE_URL:=http://www.kismetwireless.net/code
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-
-include $(TOPDIR)/package/rules.mk
-
-$(eval $(call PKG_template,KISMET,kismet,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-$(eval $(call PKG_template,KISMET_CLIENT,kismet-client,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-$(eval $(call PKG_template,KISMET_DRONE,kismet-drone,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-$(eval $(call PKG_template,KISMET_SERVER,kismet-server,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
-
-$(PKG_BUILD_DIR)/.configured:
- (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS)" \
- CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -fno-rtti -nostdinc++" \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(LINUX_DIR)/include" \
- LDFLAGS="-nodefaultlibs -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
- LIBS="-luClibc++ -lc -lm -lgcc" \
- ./configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --program-prefix="" \
- --program-suffix="" \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --datadir=/usr/share \
- --includedir=/usr/include \
- --infodir=/usr/share/info \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --sbindir=/usr/sbin \
- --sysconfdir=/etc/kismet \
- $(DISABLE_LARGEFILE) \
- $(DISABLE_NLS) \
- --enable-syspcap=yes \
- --disable-setuid \
- --disable-wsp100 \
- --disable-gpsmap \
- );
- touch $@
-
-$(PKG_BUILD_DIR)/.built:
- $(MAKE) -C $(PKG_BUILD_DIR) \
- LIBS="-luClibc++ -lc -lm -lgcc" \
- all
- touch $@
-
-$(IPKG_KISMET):
- install -d -m0755 $(IDIR_KISMET)/usr/bin/
- install -m0755 $(PKG_BUILD_DIR)/scripts/kismet $(IDIR_KISMET)/usr/bin/kismet
- $(IPKG_BUILD) $(IDIR_KISMET) $(PACKAGE_DIR)
-
-$(IPKG_KISMET_CLIENT):
- install -d -m0755 $(IDIR_KISMET_CLIENT)/etc/kismet/
- install -m0644 ./files/ap_manuf $(IDIR_KISMET_CLIENT)/etc/kismet/
- install -m0644 ./files/client_manuf $(IDIR_KISMET_CLIENT)/etc/kismet/
- install -m0644 ./files/kismet.conf $(IDIR_KISMET_CLIENT)/etc/kismet/
- install -m0644 ./files/kismet_ui.conf $(IDIR_KISMET_CLIENT)/etc/kismet/
- install -d -m0755 $(IDIR_KISMET_CLIENT)/usr/bin
- $(CP) $(PKG_BUILD_DIR)/kismet_client $(IDIR_KISMET_CLIENT)/usr/bin/
- $(RSTRIP) $(IDIR_KISMET_CLIENT)
- $(IPKG_BUILD) $(IDIR_KISMET_CLIENT) $(PACKAGE_DIR)
-
-$(IPKG_KISMET_DRONE):
- install -d -m0755 $(IDIR_KISMET_DRONE)/etc/kismet/
- install -m0644 ./files/kismet_drone.conf $(IDIR_KISMET_DRONE)/etc/kismet/
- install -d -m0755 $(IDIR_KISMET_DRONE)/usr/bin
- $(CP) $(PKG_BUILD_DIR)/kismet_drone $(IDIR_KISMET_DRONE)/usr/bin/
- $(RSTRIP) $(IDIR_KISMET_DRONE)
- $(IPKG_BUILD) $(IDIR_KISMET_DRONE) $(PACKAGE_DIR)
-
-$(IPKG_KISMET_SERVER):
- install -d -m0755 $(IDIR_KISMET_SERVER)/etc/kismet/
- install -m0644 ./files/ap_manuf $(IDIR_KISMET_SERVER)/etc/kismet/
- install -m0644 ./files/client_manuf $(IDIR_KISMET_SERVER)/etc/kismet/
- install -m0644 ./files/kismet.conf $(IDIR_KISMET_SERVER)/etc/kismet/
- mkdir -p $(IDIR_KISMET_SERVER)/usr/bin
- $(CP) $(PKG_BUILD_DIR)/kismet_server $(IDIR_KISMET_SERVER)/usr/bin/
- $(RSTRIP) $(IDIR_KISMET_SERVER)
- $(IPKG_BUILD) $(IDIR_KISMET_SERVER) $(PACKAGE_DIR)
-
-mostlyclean:
-# $(MAKE) -C $(PKG_BUILD_DIR) clean
- rm -f $(PKG_BUILD_DIR)/.built
diff --git a/openwrt/package/kismet/files/ap_manuf b/openwrt/package/kismet/files/ap_manuf
deleted file mode 100644
index 7561b6d5b..000000000
--- a/openwrt/package/kismet/files/ap_manuf
+++ /dev/null
@@ -1,79 +0,0 @@
-00:01:03:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:01:24:00:00:00/FF:FF:FF:00:00:00 SMC Unknown default 6 192.168.2.1
-00:01:24:24:00:00/FF:FF:FF:FF:00:00 SMC SMC7004AWBR default 6 192.168.2.1
-00:02:2D:00:00:00/FF:FF:FF:00:00:00 Lucent Unknown 0
-00:02:6F:00:00:00/FF:FF:FF:00:00:00 Senao Unknown 0
-00:02:A5:00:00:00/FF:FF:FF:00:00:00 Compaq Unknown 0
-00:03:2F:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown 0
-00:04:3A:3A:00:00/FF:FF:FF:FF:00:00 Avaya ad-01444 0
-00:04:5A:0E:00:00/FF:FF:FF:FF:00:00 Linksys WAP11 linksys 6 192.168.1.1
-00:04:5A:5A:00:00/FF:FF:FF:FF:00:00 Linksys BEFW11S4 linksys 6 192.168.1.1
-00:04:5A:2E:00:00/FF:FF:FF:FF:00:00 Linksys BEFW11S4 linksys 6 192.168.1.1
-00:04:5A:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown linksys 6 192.168.1.1
-00:04:75:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:04:75:75:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE20096A AP2000 Version 1 3Com 0 169.254.0.1
-00:04:E2:00:00:00/FF:FF:FF:00:00:00 SMC Unknown 0
-00:04:E2:E2:00:00/FF:FF:FF:FF:00:00 SMC 7004AWBR default 6 192.168.2.1
-00:05:5D:00:00:00/FF:FF:FF:00:00:00 D-Link Unknown default 6
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-1000AP default 6
-00:06:25:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown linksys 6 192.168.1.1
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys BEFW11S4 v2 linksys 6 192.168.1.1
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WET11 linksys 6 192.168.1.225
-00:07:0E:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:07:50:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:08:21:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:09:43:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:09:5B:00:00:00/FF:FF:FF:00:00:00 Netgear Unknown 0
-00:09:7C:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:09:92:92:00:00/FF:FF:FF:FF:00:00 Sweex LC000010 wireless 11 192.168.0.1
-00:09:E8:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:0A:41:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:0A:8A:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:0A:8A:8A:00:00/FF:FF:FF:FF:00:00 Cisco AIR-AP1200 0
-00:30:65:00:00:00/FF:FF:FF:00:00:00 Apple Unknown 0
-00:30:65:65:00:00/FF:FF:FF:FF:00:00 Apple Snow Base Station 1
-00:30:AB:00:00:00/FF:FF:FF:00:00:00 Netgear Unknown 0
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MR314NA Wireless 1 192.168.0.1
-00:30:BD:00:00:00/FF:FF:FF:00:00:00 Belkin Unknown 0
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6230-3 0
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DI-614+ default 6 192.168.0.1
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DWL-900AP+ default 6 192.168.0.50
-00:40:26:00:00:00/FF:FF:FF:00:00:00 Buffalo Unknown 0
-00:40:26:26:00:00/FF:FF:FF:FF:00:00 Buffalo WLAR-L11G-L 0
-00:40:96:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown tsunami 6
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-AP342E2R tsunami 6 192.168.1.1
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AP-350 tsunami 7
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco Aironet 350 tsunami 6
-00:50:08:00:00:00/FF:FF:FF:00:00:00 Compaq Unknown 0
-00:50:8B:8B:00:00/FF:FF:FF:FF:00:00 Compaq WL400 - ETSI region compaq 11
-00:50:DA:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:50:DA:DA:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE747A 0
-00:50:F2:F2:00:00/FF:FF:FF:FF:00:00 Microsoft MN-500 MSHOME 6 192.168.0.1
-00:60:01:00:00:00/FF:FF:FF:00:00:00 Lucent Unknown 0
-00:60:1D:00:00:00/FF:FF:FF:00:00:00 Orinoco Unknown 0
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Orinoco RG1000 0
-00:60:6D:00:00:00/FF:FF:FF:00:00:00 Cabletron Unknown 0
-00:60:B3:00:00:00/FF:FF:FF:00:00:00 Proxim Unknown 0
-00:80:37:37:00:00/FF:FF:FF:FF:00:00 Ericsson A11 (AP-4121-105M-ER-EU) 0
-00:80:C6:00:00:00/FF:FF:FF:00:00:00 SOHOware Unknown
-00:80:C6:C6:00:00/FF:FF:FF:FF:00:00 SOHOware NetBlaster II
-00:90:4B:4B:00:00/FF:FF:FF:FF:00:00 Linksys BEFW11S4 linksys 6 192.168.1.1
-00:90:D1:00:00:00/FF:FF:FF:00:00:00 SMC Unknown WLAN 11
-00:90:D1:D1:00:00/FF:FF:FF:FF:00:00 SMC SMC2652W WLAN 11
-00:90:D1:D1:00:00/FF:FF:FF:FF:00:00 SMC SMC2682W BRIDGE 11
-00:A0:04:00:00:00/FF:FF:FF:00:00:00 3Com Unknown
-00:A0:04:04:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE51196
-00:A0:F8:00:00:00/FF:FF:FF:00:00:00 Symbol Unknown
-00:E0:29:00:00:00/FF:FF:FF:00:00:00 OEM Unknown
-08:00:46:00:00:00/FF:FF:FF:00:00:00 Sony Unknown
-00:50:F2:00:00:00/FF:FF:FF:00:00:00 Microsoft Unknown MSHOME 6 192.168.2.1
-00:09:5B:00:00:00/FF:FF:FF:00:00:00 Netgear Unknwon NETGEAR 11 192.168.0.1
-00:30:BD:00:00:00/FF:FF:FF:00:00:00 Belkin Unknown WLAN 11 0.0.0.0
-00:09:5B:00:00:00/FF:FF:FF:00:00:00 Netgear Unknown Wireless 11 192.168.0.2
-00:30:BD:00:00:00/FF:FF:FF:00:00:00 Belkin Unknown belkin54g 11 0.0.0.0
-00:0D:88:00:00:00/FF:FF:FF:00:00:00 D-Link Unknown default 6 192.168.0.1
-00:80:C8:00:00:00/FF:FF:FF:00:00:00 D-Link Unknown default 6 192.168.0.1
-00:40:05:00:00:00/FF:FF:FF:00:00:00 ANI Unknown default 6 192.168.0.1
-00:0C:41:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown linksys 6 192.168.1.1
-00:04:E2:00:00:00/FF:FF:FF:00:00:00 SMC Unknown SMC 6 192.168.2.1
-00:06:25:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown linksys-g 6 192.168.1.1
diff --git a/openwrt/package/kismet/files/client_manuf b/openwrt/package/kismet/files/client_manuf
deleted file mode 100644
index b1c5ef425..000000000
--- a/openwrt/package/kismet/files/client_manuf
+++ /dev/null
@@ -1,249 +0,0 @@
-00:00:22:22:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Silver 0
-00:00:8F:8F:00:00/FF:FF:FF:FF:00:00 BreezeCOM Breezenet Pro SA-PC 0
-00:01:03:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:01:03:03:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE62092A
-00:01:03:03:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE777A 0
-00:01:24:00:00:00/FF:FF:FF:00:00:00 SMC Unknown default 6 192.168.2.1
-00:01:F4:F4:00:00/FF:FF:FF:FF:00:00 Entrasys CSIBD-AB-S Roamabout 0
-00:02:2D:00:00:00/FF:FF:FF:00:00:00 Lucent Unknown 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Agere Orinoco Gold
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Agere PC24E-H-FC 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Avaya PC24E-H-ET
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Avaya PC24E-H-FC 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Avaya World Card Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Buffalo WLI-PCM-L11
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Buffalo WLI-PCM-L11
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Buffalo WLI-PCM-L11GP 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Dell TrueMobile 1150
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Dell TrueMobile 1150 Mini-PCI 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Dell Truemobile 1150 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Dell true mobile 1150 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Gold
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent PC24E-H-FC 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent PC24E-H-FC 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent PC24E-H-FC 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN Silver 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN Silver (PC24E-H-FC) 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN-Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN/IEEE Version 01.01 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco MiniPCI Card (embedded in Sony Laptop) 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Orinoco Gold wireless 3
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Orinoco Gold
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Orinoco Mini PCI Card 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco PC Card T2 Extended ORiNOCO Europe 128RC4 Kit Gold 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco PC24E-H-ET
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco PC24E-H-FC 0
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Silver
-00:02:2D:2D:00:00/FF:FF:FF:FF:00:00 Orinoco Silver
-00:02:6F:00:00:00/FF:FF:FF:00:00:00 Senao Unknown 0
-00:02:6F:6F:00:00/FF:FF:FF:FF:00:00 Senao SL-2011 CD
-00:02:6F:6F:00:00/FF:FF:FF:FF:00:00 Senao SL-2011CD 0
-00:02:6F:6F:00:00/FF:FF:FF:FF:00:00 Senao SL-2011CD
-00:02:6F:6F:00:00/FF:FF:FF:FF:00:00 Senao SL-2511CD PLUS EXT2(F200) 0
-00:02:A5:00:00:00/FF:FF:FF:00:00:00 Compaq Unknown 0
-00:02:A5:A5:00:00/FF:FF:FF:FF:00:00 Compaq WL110
-00:02:A5:A5:00:00/FF:FF:FF:FF:00:00 Compaq WL110 REV.0A 0
-00:02:B3:B3:00:00/FF:FF:FF:FF:00:00 Intel WPC-2011BWW 0
-00:03:2F:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown 0
-00:03:2F:2F:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 0
-00:03:2F:2F:00:00/FF:FF:FF:FF:00:00 Linksys WPC11
-00:03:2F:2F:00:00/FF:FF:FF:FF:00:00 Repotec GL241101
-00:04:5A:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown 0
-00:04:5A:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown Linksys 6 192.168.1.1
-00:04:5A:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown linksys 6 192.168.1.1
-00:04:5A:5A:00:00/FF:FF:FF:FF:00:00 Linksys BEFW11S4 linksys 0
-00:04:5A:5A:00:00/FF:FF:FF:FF:00:00 Linksys WPC11
-00:04:5A:5A:00:00/FF:FF:FF:FF:00:00 Linksys WPC11
-00:04:5A:5A:00:00/FF:FF:FF:FF:00:00 Linksys WPC11
-00:04:5A:5A:00:00/FF:FF:FF:FF:00:00 Linksys WUSB11
-00:04:75:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:04:75:75:00:00/FF:FF:FF:FF:00:00 3Com 3CRSHPW696 0
-00:04:75:75:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE62092B 0
-00:04:75:75:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE62092B
-00:04:DB:DB:00:00/FF:FF:FF:FF:00:00 Tellus TWL-C11 0
-00:04:E2:00:00:00/FF:FF:FF:00:00:00 SMC Unknown 0
-00:04:E2:E2:00:00/FF:FF:FF:FF:00:00 SMC SMC2632W 0
-00:04:E2:E2:00:00/FF:FF:FF:FF:00:00 SMC SMC2632W
-00:04:E2:E2:00:00/FF:FF:FF:FF:00:00 SMC SMC2632W
-00:04:E2:E2:00:00/FF:FF:FF:FF:00:00 SMC SMC2632W
-00:04:E2:E2:00:00/FF:FF:FF:FF:00:00 SMC SMC2632W
-00:05:3C:3C:00:00/FF:FF:FF:FF:00:00 Intel Intel MiniPCI High Rate Wireless (ISL3874A) 0
-00:05:5D:00:00:00/FF:FF:FF:00:00:00 D-Link Unknown 0
-00:05:5D:00:00:00/FF:FF:FF:00:00:00 D-Link Unknown default 6
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 Compaq HNW-100 0
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DCF-650W
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650 0
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650 0
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650 0
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650H
-00:05:5D:5D:00:00/FF:FF:FF:FF:00:00 D-Link DWL-660 H/W:A1 F/W:4.04 0
-00:06:25:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown 0
-00:06:25:00:00:00/FF:FF:FF:00:00:00 Linksys Unknown linksys 6 192.168.1.1
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 D-Link DCF-650W
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Dell True Mobile 1150 6
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys BEFW11S4 v2 linksys 6 192.168.1.1
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WCF11 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WCF11
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WCF12 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WCF12
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WCF12
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WMP11 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WMP11 v2.5 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 V.3 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v2.5
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v2.5
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 v3.0 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WPC11 ver.3 (FCC-ID: PKW-WPC11-V31[suggests V3.1]) 0
-00:06:25:25:00:00/FF:FF:FF:FF:00:00 Linksys WUSB11 v2.6 0
-00:07:0E:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:07:0E:0E:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:07:0E:0E:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:07:50:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:07:50:50:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:07:50:50:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM350 0
-00:08:21:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:08:21:21:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:08:21:21:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:08:21:21:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:08:21:21:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:09:43:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:09:43:43:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:09:5B:00:00:00/FF:FF:FF:00:00:00 Netgear Unknown 0
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear MA401 0
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear MA401RA 0
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear MA401RA
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear MA701 0
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear MA701
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear ma101 0
-00:09:5B:5B:00:00/FF:FF:FF:FF:00:00 Netgear wab501 0
-00:09:7C:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:09:7C:7C:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:09:7C:7C:00:00/FF:FF:FF:FF:00:00 Cisco Cisco Aironet 352 802.11b pcmcia card 0
-00:09:92:92:00:00/FF:FF:FF:FF:00:00 Sweex LC500010 ATMEL PCMCIA FastVNET (502A-D) 0
-00:09:B7:B7:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352 0
-00:09:B7:B7:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352 0
-00:09:E8:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:09:E8:E8:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352
-00:0A:41:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:0A:41:41:00:00/FF:FF:FF:FF:00:00 Cisco AIR-LMC352 0
-00:0A:41:41:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352 0
-00:0A:41:41:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352 0
-00:0A:41:41:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:0A:41:41:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:0A:8A:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:0A:8A:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:0A:8A:8A:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:0B:5F:5F:00:00/FF:FF:FF:FF:00:00 Cisco AIR-CB20A-A-K9 0
-00:20:A6:A6:00:00/FF:FF:FF:FF:00:00 Proxim Symphony (PC Card 4430) 0
-00:20:D6:D6:00:00/FF:FF:FF:FF:00:00 BreezeCOM Breezenet Pro.11 SA-PCR 0
-00:30:65:00:00:00/FF:FF:FF:00:00:00 Apple Unknown 0
-00:30:65:00:00:00/FF:FF:FF:00:00:00 Apple Unknown 0
-00:30:65:65:00:00/FF:FF:FF:FF:00:00 Apple Airport Card 2002
-00:30:AB:00:00:00/FF:FF:FF:00:00:00 Netgear Unknown 0
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MA401 0
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MA401
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MA401
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MA401
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MA401
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear MR314 Wireless 1 192.168.0.1
-00:30:AB:AB:00:00/FF:FF:FF:FF:00:00 Netgear Netgear ma401 0
-00:30:BD:00:00:00/FF:FF:FF:00:00:00 Belkin Unknown 0
-00:30:BD:00:00:00/FF:FF:FF:00:00:00 Belkin Unknown 0
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6020 0
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6020 0
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6020
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6020
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6020 (Version 01.02) 0
-00:30:BD:BD:00:00/FF:FF:FF:FF:00:00 Belkin F5D6020u 0
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DI-614+ default 6 192.168.0.1
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DI-614+ 22Mbps router/AP/switch default 6 192.168.0.1
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DWL-520+ 0
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650 0
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650 internet 8
-00:40:05:05:00:00/FF:FF:FF:FF:00:00 D-Link DWL-650+ wireless 6 192.168.0.1
-00:40:26:00:00:00/FF:FF:FF:00:00:00 Buffalo Unknown 0
-00:40:96:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown 0
-00:40:96:00:00:00/FF:FF:FF:00:00:00 Cisco Unknown tsunami 6
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco 350
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PC4800
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340 0
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340 0
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM340 (Dell Rebrand) 0
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco AIR-PCM352
-00:40:96:96:00:00/FF:FF:FF:FF:00:00 Cisco PC 4800 DS PCI Adapter 0
-00:50:08:00:00:00/FF:FF:FF:00:00:00 Compaq Unknown 0
-00:50:08:08:00:00/FF:FF:FF:FF:00:00 Compaq WL100 0
-00:50:08:08:00:00/FF:FF:FF:FF:00:00 Compaq WL100
-00:50:8B:8B:00:00/FF:FF:FF:FF:00:00 Compaq Compaq WL100 compaq 0
-00:50:8B:8B:00:00/FF:FF:FF:FF:00:00 Compaq WL200 - ETSI region 0
-00:50:DA:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:50:DA:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:50:DA:DA:00:00/FF:FF:FF:FF:00:00 3Com 3CRWE73796B
-00:50:F2:F2:00:00/FF:FF:FF:FF:00:00 Microsoft MN-510 0
-00:50:F2:F2:00:00/FF:FF:FF:FF:00:00 Microsoft Wireless Notebook Adapter MN-520 0
-00:60:01:00:00:00/FF:FF:FF:00:00:00 Lucent Unknown 0
-00:60:01:01:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN Silver
-00:60:1D:00:00:00/FF:FF:FF:00:00:00 Lucent Unknown 0
-00:60:1D:00:00:00/FF:FF:FF:00:00:00 Orinoco Unknown 0
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent Lucent WaveLAN Turbo - Bronze, P/N: 011498/A 0
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent Orinoco Gold
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent PC24E-00-FC 0
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent Silver
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN Bronze
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent WaveLAN Gold
-00:60:1D:1D:00:00/FF:FF:FF:FF:00:00 Lucent Wavelan Turbo Bronze 0
-00:60:6D:00:00:00/FF:FF:FF:00:00:00 Cabletron Unknown 0
-00:60:6D:6D:00:00/FF:FF:FF:FF:00:00 Cabletron CSIBB-AA
-00:60:6D:6D:00:00/FF:FF:FF:FF:00:00 Cabletron CSIBB-AA
-00:60:6D:6D:00:00/FF:FF:FF:FF:00:00 Cabletron RoamAbout 802.11DS 0
-00:60:B3:00:00:00/FF:FF:FF:00:00:00 Proxim Unknown 0
-00:60:B3:B3:00:00/FF:FF:FF:FF:00:00 3Com XI-815 0
-00:60:B3:B3:00:00/FF:FF:FF:FF:00:00 3Com Zcom WL2000D 0
-00:60:B3:B3:00:00/FF:FF:FF:FF:00:00 Proxim RangeLAN DS 0
-00:60:B3:B3:00:00/FF:FF:FF:FF:00:00 Proxim RangeLan DS 8430
-00:60:B3:B3:00:00/FF:FF:FF:FF:00:00 SMC SMC2642W
-00:80:37:37:00:00/FF:FF:FF:FF:00:00 Ericsson C11 (LA-4121-102M-ER-EU) 0
-00:80:C6:00:00:00/FF:FF:FF:00:00:00 SOHOware Unknown 0
-00:90:4B:4B:00:00/FF:FF:FF:FF:00:00 Dell 1180 True Mobile PCI 0
-00:90:96:96:00:00/FF:FF:FF:FF:00:00 Yakumo WLAN PCMCIA Card 11 Mbps 0
-00:90:D1:00:00:00/FF:FF:FF:00:00:00 LeArtery Unknown 0
-00:90:D1:00:00:00/FF:FF:FF:00:00:00 SMC Unknown WLAN 11
-00:90:D1:D1:00:00/FF:FF:FF:FF:00:00 LeArtery SyncByAir LN101
-00:90:D1:D1:00:00/FF:FF:FF:FF:00:00 SMC 2662W 0
-00:90:D1:D1:00:00/FF:FF:FF:FF:00:00 SMC SMC2632W 0
-00:A0:04:00:00:00/FF:FF:FF:00:00:00 3Com Unknown 0
-00:A0:65:65:00:00/FF:FF:FF:FF:00:00 Nexland Zcom XI-300 0
-00:A0:F8:00:00:00/FF:FF:FF:00:00:00 Symbol Unknown 0
-00:A0:F8:F8:00:00/FF:FF:FF:FF:00:00 Symbol Spectrum 24 High Rate 11MBps wireless LAN adapter 0
-00:A0:F8:F8:00:00/FF:FF:FF:FF:00:00 Symbol Spectrum24
-00:C0:49:49:00:00/FF:FF:FF:FF:00:00 US Robotics USR1120 0
-00:E0:29:00:00:00/FF:FF:FF:00:00:00 OEM Unknown 0
-00:E0:29:29:00:00/FF:FF:FF:FF:00:00 OEM OEM
-00:E0:29:29:00:00/FF:FF:FF:FF:00:00 SMC 2632W 0
-00:E0:29:29:00:00/FF:FF:FF:FF:00:00 SMC EZ-Connect Wireless 0
-08:00:46:00:00:00/FF:FF:FF:00:00:00 Sony Unknown 0
-08:00:46:46:00:00/FF:FF:FF:FF:00:00 Sony PCWA-C100
diff --git a/openwrt/package/kismet/files/kismet.conf b/openwrt/package/kismet/files/kismet.conf
deleted file mode 100644
index a417d2885..000000000
--- a/openwrt/package/kismet/files/kismet.conf
+++ /dev/null
@@ -1,281 +0,0 @@
-# Kismet config file
-# Most of the "static" configs have been moved to here -- the command line
-# config was getting way too crowded and cryptic. We want functionality,
-# not continually reading --help!
-
-# Version of Kismet config
-version=2005.01.R1
-
-# Name of server (Purely for organiational purposes)
-servername=Kismet
-
-# User to setid to (should be your normal user)
-suiduser=nobody
-
-# Sources are defined as:
-# source=cardtype,interface,name[,initialchannel]
-# Card types and required drivers are listed in the README.
-# The initial channel is optional, if hopping is not enabled it can be used
-# to set the channel the interface listens on.
-# YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE
-source=wrt54g,eth1,wireless
-# For v1 hardware uncomment this:
-# source=wrt54g,eth2,wireless
-
-# Comma-separated list of sources to enable. This is only needed if you defined
-# multiple sources and only want to enable some of them. By default, all defined
-# sources are enabled.
-# For example:
-# enablesources=prismsource,ciscosource
-
-# Do we channelhop?
-channelhop=true
-
-# How many channels per second do we hop? (1-10)
-channelvelocity=5
-
-# By setting the dwell time for channel hopping we override the channelvelocity
-# setting above and dwell on each channel for the given number of seconds.
-#channeldwell=10
-
-# Do we split channels between cards on the same spectrum? This means if
-# multiple 802.11b capture sources are defined, they will be offset to cover
-# the most possible spectrum at a given time. This also controls splitting
-# fine-tuned sourcechannels lines which cover multiple interfaces (see below)
-channelsplit=true
-
-# Basic channel hopping control:
-# These define the channels the cards hop through for various frequency ranges
-# supported by Kismet. More finegrain control is available via the
-# "sourcechannels" configuration option.
-#
-# Don't change the IEEE80211<x> identifiers or channel hopping won't work.
-
-# Users outside the US might want to use this list:
-# defaultchannels=IEEE80211b:1,7,13,2,8,3,14,9,4,10,5,11,6,12
-defaultchannels=IEEE80211b:1,6,11,2,7,3,8,4,9,5,10
-
-# 802.11g uses the same channels as 802.11b...
-defaultchannels=IEEE80211g:1,6,11,2,7,3,8,4,9,5,10
-
-# 802.11a channels are non-overlapping so sequential is fine. You may want to
-# adjust the list depending on the channels your card actually supports.
-# defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,184,188,192,196,200,204,208,212,216
-defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64
-
-# Combo cards like Atheros use both 'a' and 'b/g' channels. Of course, you
-# can also explicitly override a given source. You can use the script
-# extras/listchan.pl to extract all the channels your card supports.
-defaultchannels=IEEE80211ab:1,6,11,2,7,3,8,4,9,5,10,36,40,44,48,52,56,60,64
-
-# Fine-tuning channel hopping control:
-# The sourcechannels option can be used to set the channel hopping for
-# specific interfaces, and to control what interfaces share a list of
-# channels for split hopping. This can also be used to easily lock
-# one card on a single channel while hopping with other cards.
-# Any card without a sourcechannel definition will use the standard hopping
-# list.
-# sourcechannels=sourcename[,sourcename]:ch1,ch2,ch3,...chN
-
-# ie, for us channels on the source 'prism2source' (same as normal channel
-# hopping behavior):
-# sourcechannels=prism2source:1,6,11,2,7,3,8,4,9,5,10
-
-# Given two capture sources, "prism2a" and "prism2b", we want prism2a to stay
-# on channel 6 and prism2b to hop normally. By not setting a sourcechannels
-# line for prism2b, it will use the standard hopping.
-# sourcechannels=prism2a:6
-
-# To assign the same custom hop channel to multiple sources, or to split the
-# same custom hop channel over two sources (if splitchannels is true), list
-# them all on the same sourcechannels line:
-# sourcechannels=prism2a,prism2b,prism2c:1,6,11
-
-# Port to serve GUI data
-tcpport=2501
-# People allowed to connect, comma seperated IP addresses or network/mask
-# blocks. Netmasks can be expressed as dotted quad (/255.255.255.0) or as
-# numbers (/24)
-allowedhosts=127.0.0.1
-# Maximum number of concurrent GUI's
-maxclients=5
-
-# Do we have a GPS?
-gps=false
-# Host:port that GPSD is running on. This can be localhost OR remote!
-gpshost=localhost:2947
-# Do we lock the mode? This overrides coordinates of lock "0", which will
-# generate some bad information until you get a GPS lock, but it will
-# fix problems with GPS units with broken NMEA that report lock 0
-gpsmodelock=false
-
-# Packet filtering options:
-# filter_tracker - Packets filtered from the tracker are not processed or
-# recorded in any way.
-# filter_dump - Packets filtered at the dump level are tracked, displayed,
-# and written to the csv/xml/network/etc files, but not
-# recorded in the packet dump
-# filter_export - Controls what packets influence the exported CSV, network,
-# xml, gps, etc files.
-# All filtering options take arguments containing the type of address and
-# addresses to be filtered. Valid address types are 'ANY', 'BSSID',
-# 'SOURCE', and 'DEST'. Filtering can be inverted by the use of '!' before
-# the address. For example,
-# filter_tracker=ANY(!00:00:DE:AD:BE:EF)
-# has the same effect as the previous mac_filter config file option.
-# filter_tracker=...
-# filter_dump=...
-# filter_export=...
-
-# Alerts to be reported and the throttling rates.
-# alert=name,throttle/unit,burst
-# The throttle/unit describes the number of alerts of this type that are
-# sent per time unit. Valid time units are second, minute, hour, and day.
-# Burst describes the number of alerts sent before throttling takes place.
-# For example:
-# alert=FOO,10/min,5
-# Would allow 5 alerts through before throttling is enabled, and will then
-# limit the number of alerts to 10 per minute.
-# A throttle rate of 0 disables throttling of the alert.
-# See the README for a list of alert types.
-alert=NETSTUMBLER,5/min,2
-alert=WELLENREITER,5/min,2
-alert=LUCENTTEST,5/min,2
-alert=DEAUTHFLOOD,5/min,4
-alert=BCASTDISCON,5/min,4
-alert=CHANCHANGE,5/min,4
-alert=AIRJACKSSID,5/min,2
-alert=PROBENOJOIN,5/min,2
-alert=DISASSOCTRAFFIC,5/min,2
-alert=NULLPROBERESP,5/min,5
-alert=BSSTIMESTAMP,5/min,5
-
-# Known WEP keys to decrypt, bssid,hexkey. This is only for networks where
-# the keys are already known, and it may impact throughput on slower hardware.
-# Multiple wepkey lines may be used for multiple BSSIDs.
-# wepkey=00:DE:AD:C0:DE:00,FEEDFACEDEADBEEF01020304050607080900
-
-# Is transmission of the keys to the client allowed? This may be a security
-# risk for some. If you disable this, you will not be able to query keys from
-# a client.
-allowkeytransmit=true
-
-# How often (in seconds) do we write all our data files (0 to disable)
-writeinterval=300
-
-# Where do we get our manufacturer fingerprints from? Assumed to be in the
-# default config directory if an absolute path is not given.
-ap_manuf=ap_manuf
-client_manuf=client_manuf
-
-# Use metric measurements in the output?
-metric=false
-
-# Do we write waypoints for gpsdrive to load? Note: This is NOT related to
-# recent versions of GPSDrive's native support of Kismet.
-waypoints=false
-# GPSMap waypoint file. This WILL be truncated.
-waypointdata=%h/.gpsdrive/way_kismet.txt
-
-# How many alerts do we backlog for new clients? Only change this if you have
-# a -very- low memory system and need those extra bytes, or if you have a high
-# memory system and a huge number of alert conditions.
-alertbacklog=50
-
-# File types to log, comma seperated
-# dump - raw packet dump
-# network - plaintext detected networks
-# csv - plaintext detected networks in CSV format
-# xml - XML formatted network and cisco log
-# weak - weak packets (in airsnort format)
-# cisco - cisco equipment CDP broadcasts
-# gps - gps coordinates
-logtypes=dump,network,csv,xml,weak,cisco,gps
-
-# Do we track probe responses and merge probe networks into their owners?
-# This isn't always desireable, depending on the type of monitoring you're
-# trying to do.
-trackprobenets=true
-
-# Do we log "noise" packets that we can't decipher? I tend to not, since
-# they don't have anything interesting at all in them.
-noiselog=false
-
-# Do we log corrupt packets? Corrupt packets have enough header information
-# to see what they are, but someting is wrong with them that prevents us from
-# completely dissecting them. Logging these is usually not a bad idea.
-corruptlog=true
-
-# Do we log beacon packets or do we filter them out of the dumpfile
-beaconlog=true
-
-# Do we log PHY layer packets or do we filter them out of the dumpfile
-phylog=true
-
-# Do we mangle packets if we can decrypt them or if they're fuzzy-detected
-mangledatalog=true
-
-# Do we do "fuzzy" crypt detection? (byte-based detection instead of 802.11
-# frame headers)
-# valid option: Comma seperated list of card types to perform fuzzy detection
-# on, or 'all'
-fuzzycrypt=wtapfile,wlanng,wlanng_legacy,wlanng_avs,hostap,wlanng_wext
-
-# What type of dump do we generate?
-# valid option: "wiretap"
-dumptype=wiretap
-# Do we limit the size of dump logs? Sometimes ethereal can't handle big ones.
-# 0 = No limit
-# Anything else = Max number of packets to log to a single file before closing
-# and opening a new one.
-dumplimit=0
-
-# Do we write data packets to a FIFO for an external data-IDS (such as Snort)?
-# See the docs before enabling this.
-#fifo=/tmp/kismet_dump
-
-# Default log title
-logdefault=Kismet
-
-# logtemplate - Filename logging template.
-# This is, at first glance, really nasty and ugly, but you'll hardly ever
-# have to touch it so don't complain too much.
-#
-# %n is replaced by the logging instance name
-# %d is replaced by the current date as Mon-DD-YYYY
-# %D is replaced by the current date as YYYYMMDD
-# %t is replaced by the starting log time
-# %i is replaced by the increment log in the case of multiple logs
-# %l is replaced by the log type (dump, status, crypt, etc)
-# %h is replaced by the home directory
-# ie, "netlogs/%n-%d-%i.dump" called with a logging name of "Pok" could expand
-# to something like "netlogs/Pok-Dec-20-01-1.dump" for the first instance and
-# "netlogs/Pok-Dec-20-01-2.%l" for the second logfile generated.
-# %h/netlots/%n-%d-%i.dump could expand to
-# /home/foo/netlogs/Pok-Dec-20-01-2.dump
-#
-# Other possibilities: Sorting by directory
-# logtemplate=%l/%n-%d-%i
-# Would expand to, for example,
-# dump/Pok-Dec-20-01-1
-# crypt/Pok-Dec-20-01-1
-# and so on. The "dump", "crypt", etc, dirs must exist before kismet is run
-# in this case.
-logtemplate=%n-%d-%i.%l
-
-# Where do we store the pid file of the server?
-piddir=/var/run/
-
-# Where state info, etc, is stored. You shouldnt ever need to change this.
-# This is a directory.
-configdir=%h/.kismet/
-
-# cloaked SSID file. You shouldn't ever need to change this.
-ssidmap=ssid_map
-
-# Group map file. You shouldn't ever need to change this.
-groupmap=group_map
-
-# IP range map file. You shouldn't ever need to change this.
-ipmap=ip_map
-
diff --git a/openwrt/package/kismet/files/kismet_drone.conf b/openwrt/package/kismet/files/kismet_drone.conf
deleted file mode 100644
index 901b5b83e..000000000
--- a/openwrt/package/kismet/files/kismet_drone.conf
+++ /dev/null
@@ -1,121 +0,0 @@
-# Kismet drone config file
-
-version=2005.04.R1
-
-# Name of server (Purely for organiational purposes)
-servername=Kismet
-
-# User to setid to (should be your normal user)
-suiduser=nobody
-
-# Port to serve packet data... This probably shouldn't be the same as the port
-# you configured kismet_server for, or else you'll have problems running them
-# on the same system.
-tcpport=3501
-# People allowed to connect, comma seperated IP addresses or network/mask
-# blocks. Netmasks can be expressed as dotted quad (/255.255.255.0) or as
-# numbers (/24)
-allowedhosts=127.0.0.1
-# Maximum number of concurrent stream attachments
-maxclients=5
-
-# Packet sources:
-# source=capture_cardtype,capture_interface,capture_name
-# Card type - Specifies the type of device. It can be one of:
-# cisco - Cisco card with Linux Kernel drivers
-# cisco_cvs - Cisco card with CVS Linux drivers
-# cisco_bsd - Cisco on *BSD
-# prism2 - Prism2 using wlan-ng drivers with pcap support (all
-# current versions support pcap)
-# prism2_hostap - Prism2 using hostap drivers
-# prism2_legacy - Prism2 using wlan-ng drivers without pcap support (0.1.9)
-# prism2_bsd - Prism2 on *BSD
-# orinoco - Orinoco cards using Snax's patched driers
-# generic - Generic card with no specific support. You will have
-# to put this into monitor mode yourself!
-# wsp100 - WSP100 embedded remote sensor.
-# wtapfile - Saved file of packets readable by libwiretap
-# ar5k - ar5k 802.11a using the vt_ar5k drivers
-# Capture interface - Specifies the network interface Kismet will watch for
-# packets to come in on. Typically "ethX" or "wlanX". For the WSP100 capture
-# engine, the WSP100 device sends packets via a UDP stream, so the capture
-# interface should be in the form of host:port where 'host' is the WSP100 and
-# 'port' is the local UDP port that it will send data to.
-# Capture Name - The name Kismet uses for this capture source. This is the
-# name used to specify what sources to enable.
-#
-# To enable multiple sources, specify a source line for each and then use the
-# enablesources line to enable them. For example:
-# source=prism2,wlan0,prism
-# source=cisco,eth0,cisco
-source=wrt54g,eth1,wireless
-# For v1 hardware uncomment this:
-# source=wrt54g,eth2,wireless
-
-# Comma-separated list of sources to enable. This is only needed if you wish
-# to selectively enable multiple sources.
-# enablesources=prism,cisco
-
-# Do we channelhop?
-channelhop=true
-
-# How many channels per second do we hop? (1-10)
-channelvelocity=5
-
-# By setting the dwell time for channel hopping we override the channelvelocity
-# setting above and dwell on each channel for the given number of seconds.
-#channeldwell=10
-
-# Do we split channels between cards on the same spectrum? This means if
-# multiple 802.11b capture sources are defined, they will be offset to cover
-# the most possible spectrum at a given time. This also controls splitting
-# fine-tuned sourcechannels lines which cover multiple interfaces (see below)
-splitchannels=true
-
-# Basic channel hopping control:
-# These define the channels the cards hop through for various frequency ranges
-# supported by Kismet. More finegrain control is available via the
-# "sourcechannels" configuration option.
-#
-# Don't change the IEEE80211<x> identifiers or channel hopping won't work.
-
-# Users outside the US might want to use this list:
-# defaultchannels=IEEE80211b:1,7,13,2,8,3,14,9,4,10,5,11,6,12
-defaultchannels=IEEE80211b:1,6,11,2,7,3,8,4,9,5,10
-
-# 802.11g uses the same channels as 802.11b...
-defaultchannels=IEEE80211g:1,6,11,2,7,3,8,4,9,5,10
-
-# 802.11a channels are non-overlapping so sequential is fine. You may want to
-# adjust the list depending on the channels your card actually supports.
-# defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64,100,104,108,112,116,120,124,128,132,136,140,149,153,157,161,184,188,192,196,200,204,208,212,216
-defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64
-
-# Combo cards like Atheros use both 'a' and 'b/g' channels. Of course, you
-# can also explicitly override a given source. You can use the script
-# extras/listchan.pl to extract all the channels your card supports.
-defaultchannels=IEEE80211ab:1,6,11,2,7,3,8,4,9,5,10,36,40,44,48,52,56,60,64
-
-# Fine-tuning channel hopping control:
-# The sourcechannels option can be used to set the channel hopping for
-# specific interfaces, and to control what interfaces share a list of
-# channels for split hopping. This can also be used to easily lock
-# one card on a single channel while hopping with other cards.
-# Any card without a sourcechannel definition will use the standard hopping
-# list.
-# sourcechannels=sourcename[,sourcename]:ch1,ch2,ch3,...chN
-
-# ie, for us channels on the source 'prism2source' (same as normal channel
-# hopping behavior):
-# sourcechannels=prism2source:1,6,11,2,7,3,8,4,9,5,10
-
-# Given two capture sources, "prism2a" and "prism2b", we want prism2a to stay
-# on channel 6 and prism2b to hop normally. By not setting a sourcechannels
-# line for prism2b, it will use the standard hopping.
-# sourcechannels=prism2a:6
-
-# To assign the same custom hop channel to multiple sources, or to split the
-# same custom hop channel over two sources (if splitchannels is true), list
-# them all on the same sourcechannels line:
-# sourcechannels=prism2a,prism2b,prism2c:1,6,11
-
diff --git a/openwrt/package/kismet/files/kismet_ui.conf b/openwrt/package/kismet/files/kismet_ui.conf
deleted file mode 100644
index e704b37e5..000000000
--- a/openwrt/package/kismet/files/kismet_ui.conf
+++ /dev/null
@@ -1,61 +0,0 @@
-# Kismet GUI config file
-
-# Version of Kismet config
-version=2005.04.R1
-
-# Do we show the intro window?
-showintro=false
-
-# Gui type to use
-# Valid types: curses, panel
-gui=panel
-# Server to connect to (host:port)
-host=localhost:2501
-# Network traffic decay (active/recent/inactive) and packet click rate - increase
-# this if you are doing prism2 channel hopping.
-decay=3
-# What columns do we display? Comma seperated. Read the documentation for what
-# columns are valid.
-columns=decay,name,type,wep,channel,packets,flags,ip,size
-# What columns do we display for clients? Comma seperated.
-clientcolumns=decay,type,mac,manuf,data,crypt,size,ip,signal,quality,noise
-
-# Do we auotmatically make a group for probed networks or do we show them
-# amidst other networks?
-autogroup_probe=true
-# Do we autogroup data-only networks?
-autogroup_data=true
-
-# Display battery status?
-apm=false
-
-# Simple borders (use - and | instead of smooth vertical and horizontal
-# lines. This is required on Zaurus, and might be needed elsewhere if your
-# terminal doesn't display the border characters correctly.
-simpleborders=false
-
-# Colors (front, back) of text in the panel front. Valid colors are:
-# black, red, yellow, green, blue, magenta, cyan, white
-# optionally prefixed with "hi-" for bold/bright colors, ie
-# hi-red, hi-yellow, hi-green, etc.
-
-# Enable colors?
-color=true
-# Background
-backgroundcolor=black
-# Default text
-textcolor=white
-# Window borders
-bordercolor=green
-# Titles
-titlecolor=hi-white
-# GPS and APM info
-monitorcolor=hi-white
-# WEP network color
-wepcolor=hi-green
-# Factory network color
-factorycolor=hi-red
-# Open color
-opencolor=hi-yellow
-# Decloaked network color
-cloakcolor=hi-blue
diff --git a/openwrt/package/kismet/ipkg/kismet-client.conffiles b/openwrt/package/kismet/ipkg/kismet-client.conffiles
deleted file mode 100644
index b849ce1ce..000000000
--- a/openwrt/package/kismet/ipkg/kismet-client.conffiles
+++ /dev/null
@@ -1,4 +0,0 @@
-/etc/kismet/ap_manuf
-/etc/kismet/client_manuf
-/etc/kismet/kismet.conf
-/etc/kismet/kismet_ui.conf \ No newline at end of file
diff --git a/openwrt/package/kismet/ipkg/kismet-client.control b/openwrt/package/kismet/ipkg/kismet-client.control
deleted file mode 100644
index e5c8f512c..000000000
--- a/openwrt/package/kismet/ipkg/kismet-client.control
+++ /dev/null
@@ -1,9 +0,0 @@
-Package: kismet-client
-Priority: optional
-Section: net
-Depends: uclibc++, libncurses
-Description: The kismet client
- Kismet is an 802.11 layer2 wireless network detector,
- sniffer, and intrusion detection system. Kismet will work with any
- wireless card which supports raw monitoring (rfmon) mode, and can
- sniff 802.11b, 802.11a, and 802.11g traffic.
diff --git a/openwrt/package/kismet/ipkg/kismet-drone.conffiles b/openwrt/package/kismet/ipkg/kismet-drone.conffiles
deleted file mode 100644
index 744e24473..000000000
--- a/openwrt/package/kismet/ipkg/kismet-drone.conffiles
+++ /dev/null
@@ -1 +0,0 @@
-/etc/kismet/kismet_drone.conf
diff --git a/openwrt/package/kismet/ipkg/kismet-drone.control b/openwrt/package/kismet/ipkg/kismet-drone.control
deleted file mode 100644
index 9d8ac0df3..000000000
--- a/openwrt/package/kismet/ipkg/kismet-drone.control
+++ /dev/null
@@ -1,9 +0,0 @@
-Package: kismet-drone
-Priority: optional
-Section: net
-Depends: uclibc++, libpcap
-Description: The kismet drone
- Kismet is an 802.11 layer2 wireless network detector,
- sniffer, and intrusion detection system. Kismet will work with any
- wireless card which supports raw monitoring (rfmon) mode, and can
- sniff 802.11b, 802.11a, and 802.11g traffic.
diff --git a/openwrt/package/kismet/ipkg/kismet-server.conffiles b/openwrt/package/kismet/ipkg/kismet-server.conffiles
deleted file mode 100644
index 0fdf43763..000000000
--- a/openwrt/package/kismet/ipkg/kismet-server.conffiles
+++ /dev/null
@@ -1,3 +0,0 @@
-/etc/kismet/ap_manuf
-/etc/kismet/client_manuf
-/etc/kismet/kismet.conf
diff --git a/openwrt/package/kismet/ipkg/kismet-server.control b/openwrt/package/kismet/ipkg/kismet-server.control
deleted file mode 100644
index 3c416be83..000000000
--- a/openwrt/package/kismet/ipkg/kismet-server.control
+++ /dev/null
@@ -1,9 +0,0 @@
-Package: kismet-server
-Priority: optional
-Section: net
-Depends: uclibc++, libpcap
-Description: The kismet server
- Kismet is an 802.11 layer2 wireless network detector,
- sniffer, and intrusion detection system. Kismet will work with any
- wireless card which supports raw monitoring (rfmon) mode, and can
- sniff 802.11b, 802.11a, and 802.11g traffic.
diff --git a/openwrt/package/kismet/ipkg/kismet.control b/openwrt/package/kismet/ipkg/kismet.control
deleted file mode 100644
index 193328563..000000000
--- a/openwrt/package/kismet/ipkg/kismet.control
+++ /dev/null
@@ -1,9 +0,0 @@
-Package: kismet
-Priority: optional
-Section: net
-Depends: libgcc, kismet-client, kismet-server
-Description: kismet
- Kismet is an 802.11 layer2 wireless network detector,
- sniffer, and intrusion detection system. Kismet will work with any
- wireless card which supports raw monitoring (rfmon) mode, and can
- sniff 802.11b, 802.11a, and 802.11g traffic.
diff --git a/openwrt/package/kismet/patches/100-wrt54g_source.patch b/openwrt/package/kismet/patches/100-wrt54g_source.patch
deleted file mode 100644
index 3336a8f42..000000000
--- a/openwrt/package/kismet/patches/100-wrt54g_source.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-diff -urN kismet.old/kis_packsources.cc kismet.dev/kis_packsources.cc
---- kismet.old/kis_packsources.cc 2005-08-16 03:22:51.000000000 +0200
-+++ kismet.dev/kis_packsources.cc 2005-08-23 00:59:04.465379568 +0200
-@@ -192,7 +192,7 @@
- chancontrol_wlanng_avs, 1);
- sourcetracker->RegisterPacketsource("wrt54g", 1, "na", 0,
- pcapsource_wrt54g_registrant,
-- monitor_wrt54g, NULL, NULL, 0);
-+ monitor_wrt54g, unmonitor_wrt54g, chancontrol_wext, 0);
- #else
- REG_EMPTY_CARD(sourcetracker, "wlanng");
- REG_EMPTY_CARD(sourcetracker, "wlanng_avs");
-diff -urN kismet.old/packetsourcetracker.cc kismet.dev/packetsourcetracker.cc
---- kismet.old/packetsourcetracker.cc 2005-08-16 03:22:51.000000000 +0200
-+++ kismet.dev/packetsourcetracker.cc 2005-08-23 00:59:39.969982048 +0200
-@@ -986,6 +986,7 @@
- (meta_packsources[chanpak.meta_num]->device.c_str(),
- chanpak.channel, errstr,
- (void *) (meta_packsources[chanpak.meta_num]->capsource)) < 0) {
-+#if 0
-
- meta_packsources[chanpak.meta_num]->consec_errors++;
-
-@@ -1007,6 +1008,7 @@
- CHANFLAG_FATAL));
- continue;
- }
-+#endif
- } else {
- // Otherwise reset the error count
- meta_packsources[chanpak.meta_num]->consec_errors = 0;
-diff -urN kismet.old/pcapsource.cc kismet.dev/pcapsource.cc
---- kismet.old/pcapsource.cc 2005-08-16 03:22:51.000000000 +0200
-+++ kismet.dev/pcapsource.cc 2005-08-23 01:03:45.652632608 +0200
-@@ -115,6 +115,53 @@
- u_char callback_data[MAX_PACKET_LEN];
-
- // Open a source
-+int PcapSourceWrt54g::OpenSource() {
-+ channel = 0;
-+
-+ errstr[0] = '\0';
-+
-+ char *unconst = strdup("prism0");
-+
-+ pd = pcap_open_live(unconst, MAX_PACKET_LEN, 1, 1000, errstr);
-+
-+ #if defined (SYS_OPENBSD) || defined(SYS_NETBSD) && defined(HAVE_RADIOTAP)
-+ /* Request desired DLT on multi-DLT systems that default to EN10MB. We do this
-+ later anyway but doing it here ensures we have the desired DLT from the get go. */
-+ pcap_set_datalink(pd, DLT_IEEE802_11_RADIO);
-+ #endif
-+
-+ free(unconst);
-+
-+ if (strlen(errstr) > 0)
-+ return -1; // Error is already in errstr
-+
-+ paused = 0;
-+
-+ errstr[0] = '\0';
-+
-+ num_packets = 0;
-+
-+ if (DatalinkType() < 0)
-+ return -1;
-+
-+#ifdef HAVE_PCAP_NONBLOCK
-+ pcap_setnonblock(pd, 1, errstr);
-+#elif !defined(SYS_OPENBSD)
-+ // do something clever (Thanks to Guy Harris for suggesting this).
-+ int save_mode = fcntl(pcap_get_selectable_fd(pd), F_GETFL, 0);
-+ if (fcntl(pcap_get_selectable_fd(pd), F_SETFL, save_mode | O_NONBLOCK) < 0) {
-+ snprintf(errstr, 1024, "fcntl failed, errno %d (%s)",
-+ errno, strerror(errno));
-+ }
-+#endif
-+
-+ if (strlen(errstr) > 0)
-+ return -1; // Ditto
-+
-+ return 1;
-+}
-+
-+// Open a source
- int PcapSource::OpenSource() {
- channel = 0;
-
-@@ -1928,63 +1975,32 @@
- int monitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if,
- void *in_ext) {
- char cmdline[2048];
-- int mode;
-- int wlmode = 0;
--
--#ifdef HAVE_LINUX_WIRELESS
-- vector<string> devbits = StrTokenize(in_dev, ":");
-
-- if (devbits.size() < 2) {
-- snprintf(cmdline, 2048, "/usr/sbin/wl monitor 1");
-+ snprintf(cmdline, 2048, "/usr/sbin/iwpriv %s set_monitor 1", in_dev);
- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to set mode using 'wl monitor 1'. Some "
-- "custom firmware images require you to specify the origial "
-+ snprintf(in_err, 1024, "Unable to set mode using 'iwpriv %s set_monitor 1'. "
-+ "Some custom firmware images require you to specify the origial "
- "device and a new dynamic device and use the iwconfig controls. "
- "see the README for how to configure your capture source.");
- return -1;
- }
-- } else {
-- // Get the mode ... If this doesn't work, try the old wl method.
-- if (Iwconfig_Get_Mode(devbits[0].c_str(), in_err, &mode) < 0) {
-- fprintf(stderr, "WARNING: Getting wireless mode via ioctls failed, "
-- "defaulting to trying the 'wl' command.\n");
-- wlmode = 1;
-- }
-
-- if (wlmode == 1) {
-- snprintf(cmdline, 2048, "/usr/sbin/wl monitor 1");
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
-- } else if (mode != LINUX_WLEXT_MONITOR) {
-- // Set it
-- if (Iwconfig_Set_Mode(devbits[0].c_str(), in_err,
-- LINUX_WLEXT_MONITOR) < 0) {
-- snprintf(in_err, STATUS_MAX, "Unable to set iwconfig monitor "
-- "mode. If you are using an older wrt54g, try specifying "
-- "only the ethernet device, not ethX:prismX");
-- return -1;
-- }
-+ return 1;
-+}
-+
-+
-+int unmonitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if,
-+ void *in_ext) {
-+ char cmdline[2048];
-+
-+ snprintf(cmdline, 2048, "/usr/sbin/iwpriv %s set_monitor 0", in_dev);
-+ if (RunSysCmd(cmdline) < 0) {
-+ snprintf(in_err, 1024, "Unable to set mode using 'iwpriv %s set_monitor 0'. "
-+ "Some custom firmware images require you to specify the origial "
-+ "device and a new dynamic device and use the iwconfig controls. "
-+ "see the README for how to configure your capture source.");
-+ return -1;
- }
-- }
--#else
-- snprintf(cmdline, 2048, "/usr/sbin/wl monitor 1");
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to set mode using 'wl monitor 1'. Some "
-- "custom firmware images require you to specify the origial "
-- "device and a new dynamic device and use the iwconfig controls. "
-- "see the README for how to configure your capture source. "
-- "Support for wireless extensions was not compiled in, so more "
-- "advanced modes of setting monitor mode are not available.");
-- return -1;
-- }
-- fprintf(stderr, "WARNING: Support for wireless extensions was not compiled "
-- "into this binary. Using the iw* tools to set monitor mode will not "
-- "be available. This may cause opening the source to fail on some "
-- "firmware versions. To fix this, make sure wireless extensions are "
-- "available and found by the configure script when building Kismet.");
--#endif
-
- return 1;
- }
-diff -urN kismet.old/pcapsource.h kismet.dev/pcapsource.h
---- kismet.old/pcapsource.h 2005-08-16 03:22:51.000000000 +0200
-+++ kismet.dev/pcapsource.h 2005-08-23 01:04:26.057490136 +0200
-@@ -265,6 +265,7 @@
- PcapSourceWrt54g(string in_name, string in_dev) : PcapSource(in_name, in_dev) {
- fcsbytes = 4;
- }
-+ int OpenSource();
- int FetchPacket(kis_packet *packet, uint8_t *data, uint8_t *moddata);
- protected:
- carrier_type IEEE80211Carrier();
-@@ -412,6 +413,7 @@
- int monitor_wlanng_avs(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext);
- // linksys wrt54g monitoring
- int monitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext);
-+int unmonitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext);
- #endif
-
- // This should be expanded to handle BSD...
diff --git a/openwrt/package/kismet/patches/110-uclibc++_fixes.patch b/openwrt/package/kismet/patches/110-uclibc++_fixes.patch
deleted file mode 100644
index 7325ac161..000000000
--- a/openwrt/package/kismet/patches/110-uclibc++_fixes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN kismet-2005-04-R1.old/configfile.cc kismet-2005-04-R1.dev/configfile.cc
---- kismet-2005-04-R1.old/configfile.cc 2005-04-03 07:33:42.000000000 +0200
-+++ kismet-2005-04-R1.dev/configfile.cc 2005-04-26 01:37:32.000000000 +0200
-@@ -24,6 +24,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <errno.h>
-+#include <time.h>
- #include "configfile.h"
- #include "util.h"
-
diff --git a/openwrt/package/kismet/patches/120-cleanup.patch b/openwrt/package/kismet/patches/120-cleanup.patch
deleted file mode 100644
index 691492e84..000000000
--- a/openwrt/package/kismet/patches/120-cleanup.patch
+++ /dev/null
@@ -1,3287 +0,0 @@
-diff -urN kismet.dev/cursesfront.cc kismet.dev2/cursesfront.cc
---- kismet.dev/cursesfront.cc 2005-03-10 17:49:34.000000000 +0100
-+++ kismet.dev2/cursesfront.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -30,7 +30,6 @@
- // Enable the protocols we can use
- void NCurseFront::AddClient(TcpClient *in_client) {
- client = in_client;
-- client->EnableProtocol("GPS");
- client->EnableProtocol("INFO");
- client->EnableProtocol("REMOVE");
- client->EnableProtocol("NETWORK");
-@@ -88,32 +87,8 @@
- mvwaddstr(netborder, 1, 2, " SSID T W Ch Data LLC Crypt Wk Flags");
- }
-
-- char gpsdata[1024];
-- float lat, lon, alt, spd, heading;
- int mode;
-
-- client->FetchLoc(&lat, &lon, &alt, &spd, &heading, &mode);
--
-- if (!(lat == 0 && lon == 0 && alt == 0 && spd == 0 && mode == 0)) {
--
-- char fix[16];
--
-- if (mode == -1)
-- snprintf(fix, 16, "No signal");
-- else if (mode == 2)
-- snprintf(fix, 5, "2D");
-- else if (mode == 3)
-- snprintf(fix, 5, "3D");
-- else
-- snprintf(fix, 5, "NONE");
--
-- snprintf(gpsdata, 1024, "Lat %.3f Lon %.3f Alt %.3f Spd %.3f Fix %s",
-- lat, lon, alt, spd, fix);
--
-- mvwaddstr(netborder, LINES-statheight-1, 2, gpsdata);
--
-- }
--
- box(infoborder, '|', '-');
- mvwaddstr(infoborder, 0, 2, "Info");
-
-diff -urN kismet.dev/dronesource.cc kismet.dev2/dronesource.cc
---- kismet.dev/dronesource.cc 2005-05-26 16:51:45.000000000 +0200
-+++ kismet.dev2/dronesource.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -201,9 +201,6 @@
- return -1;
- }
-
-- // Grab the GPS info
-- gps_enabled = vpkt.gps_enabled;
--
- stream_recv_bytes = 0;
-
- // printf("debug - version packet valid\n\n");
-@@ -336,25 +333,6 @@
- packet->encoding = (encoding_type) phdr.encoding;
- packet->datarate = (uint32_t) ntohl(phdr.datarate);
-
-- if (gps_enabled) {
-- // If the drone is sending us GPS data, use it
-- packet->gps_lat = Pair2Float((int16_t) ntohs(phdr.gps_lat),
-- (int64_t) kis_ntoh64(phdr.gps_lat_mant));
-- packet->gps_lon = Pair2Float((int16_t) ntohs(phdr.gps_lon),
-- (int64_t) kis_ntoh64(phdr.gps_lon_mant));
-- packet->gps_alt = Pair2Float((int16_t) ntohs(phdr.gps_alt),
-- (int64_t) kis_ntoh64(phdr.gps_alt_mant));
-- packet->gps_spd = Pair2Float((int16_t) ntohs(phdr.gps_spd),
-- (int64_t) kis_ntoh64(phdr.gps_spd_mant));
-- packet->gps_heading = Pair2Float((int16_t) ntohs(phdr.gps_heading),
-- (int64_t) kis_ntoh64(phdr.gps_heading_mant));
-- packet->gps_fix = phdr.gps_fix;
-- } else if (gpsd != NULL) {
-- // Otherwise, no
-- gpsd->FetchLoc(&packet->gps_lat, &packet->gps_lon, &packet->gps_alt,
-- &packet->gps_spd, &packet->gps_heading, &packet->gps_fix);
-- }
--
- packet->data = data;
- packet->moddata = moddata;
- packet->modified = 0;
-diff -urN kismet.dev/dronesource.h kismet.dev2/dronesource.h
---- kismet.dev/dronesource.h 2005-05-26 16:51:45.000000000 +0200
-+++ kismet.dev2/dronesource.h 2006-04-14 19:31:55.000000000 +0200
-@@ -79,9 +79,6 @@
- uint8_t databuf[MAX_PACKET_LEN];
-
- unsigned int resyncing;
--
-- // Is the drone pushing GPS data to us?
-- int gps_enabled;
- };
-
- // Nothing but a registrant for us
-diff -urN kismet.dev/frontend.cc kismet.dev2/frontend.cc
---- kismet.dev/frontend.cc 2005-06-29 20:04:43.000000000 +0200
-+++ kismet.dev2/frontend.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -248,33 +248,6 @@
-
- }
-
-- // Aggregate the GPS data
-- if (wnet->aggregate_points > 0) {
-- dnet->virtnet->aggregate_lat += wnet->aggregate_lat;
-- dnet->virtnet->aggregate_lon += wnet->aggregate_lon;
-- dnet->virtnet->aggregate_alt += wnet->aggregate_alt;
-- dnet->virtnet->aggregate_points += wnet->aggregate_points;
-- }
--
-- if (wnet->gps_fixed > dnet->virtnet->gps_fixed)
-- dnet->virtnet->gps_fixed = wnet->gps_fixed;
-- if (wnet->min_lat < dnet->virtnet->min_lat || dnet->virtnet->min_lat == 0)
-- dnet->virtnet->min_lat = wnet->min_lat;
-- if (wnet->min_lon < dnet->virtnet->min_lon || dnet->virtnet->min_lon == 0)
-- dnet->virtnet->min_lon = wnet->min_lon;
-- if (wnet->min_alt < dnet->virtnet->min_alt || dnet->virtnet->min_alt == 0)
-- dnet->virtnet->min_alt = wnet->min_alt;
-- if (wnet->min_spd < dnet->virtnet->min_spd || dnet->virtnet->min_spd == 0)
-- dnet->virtnet->min_spd = wnet->min_spd;
-- if (wnet->max_lat > dnet->virtnet->max_lat || dnet->virtnet->max_lat == 0)
-- dnet->virtnet->max_lat = wnet->max_lat;
-- if (wnet->max_lon > dnet->virtnet->max_lon || dnet->virtnet->max_lon == 0)
-- dnet->virtnet->max_lon = wnet->max_lon;
-- if (wnet->max_alt > dnet->virtnet->max_alt || dnet->virtnet->max_alt == 0)
-- dnet->virtnet->max_alt = wnet->max_alt;
-- if (wnet->max_spd > dnet->virtnet->max_spd || dnet->virtnet->max_spd == 0)
-- dnet->virtnet->max_spd = wnet->max_spd;
--
- // Aggregate the carriers and encodings
- dnet->virtnet->carrier_set |= wnet->carrier_set;
- dnet->virtnet->encoding_set |= wnet->encoding_set;
-diff -urN kismet.dev/kismet_client.cc kismet.dev2/kismet_client.cc
---- kismet.dev/kismet_client.cc 2005-06-10 04:02:24.000000000 +0200
-+++ kismet.dev2/kismet_client.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -28,7 +28,6 @@
- #include "cursesfront.h"
- #include "panelfront.h"
- #include "configfile.h"
--#include "speech.h"
-
- #ifndef exec_name
- char *exec_name;
-@@ -47,11 +46,7 @@
- char *configfile;
- char *uiconfigfile;
- char *server = NULL;
--int sound = -1;
--int speech = -1;
- int flite = 0;
--int speech_encoding = 0;
--string speech_sentence_encrypted, speech_sentence_unencrypted;
- unsigned int metric = 0;
- unsigned int reconnect = 0;
-
-@@ -59,20 +54,9 @@
- string configdir, groupfile;
- FILE *group_file = NULL;
-
--// Pipe file descriptor pairs and fd's
--int soundpair[2];
--int speechpair[2];
--pid_t soundpid = -1, speechpid = -1;
--
- // Catch our interrupt
- void CatchShutdown(int sig) {
-
-- // Kill our sound players
-- if (soundpid > 0)
-- kill(soundpid, 9);
-- if (speechpid > 0)
-- kill(speechpid, 9);
--
- if (group_track) {
- if ((group_file = fopen(groupfile.c_str(), "w")) == NULL) {
- fprintf(stderr, "WARNING: Unable to open '%s' for writing, groups will not be saved.\n",
-@@ -116,215 +100,6 @@
- exit(0);
- }
-
--// Subprocess sound handler
--void SoundHandler(int *fds, const char *player, map<string, string> soundmap) {
-- int read_sock = fds[0];
--
-- close(fds[1]);
--
-- signal(SIGPIPE, PipeHandler);
--
-- fd_set rset;
--
-- char data[1024];
--
-- pid_t sndpid = -1;
-- int harvested = 1;
--
-- while (1) {
-- FD_ZERO(&rset);
-- FD_SET(read_sock, &rset);
-- char *end;
--
-- memset(data, 0, 1024);
--
-- if (harvested == 0) {
-- // We consider a wait error to be a sign that the child pid died
-- // so we flag it as harvested and keep on going
-- pid_t harvestpid = waitpid(sndpid, NULL, WNOHANG);
-- if (harvestpid == -1 || harvestpid == sndpid)
-- harvested = 1;
-- }
--
-- struct timeval tim;
-- tim.tv_sec = 1;
-- tim.tv_usec = 0;
--
-- if (select(read_sock + 1, &rset, NULL, NULL, &tim) < 0) {
-- if (errno != EINTR) {
-- exit(1);
-- }
-- }
--
-- if (FD_ISSET(read_sock, &rset)) {
-- int ret;
-- ret = read(read_sock, data, 1024);
--
-- // We'll die off if we get a read error, and we'll let kismet on the
-- // other side detact that it died
-- if (ret <= 0 && (errno != EAGAIN && errno != EPIPE))
-- exit(1);
--
-- if ((end = strstr(data, "\n")) == NULL)
-- continue;
--
-- end[0] = '\0';
-- }
--
-- if (data[0] == '\0')
-- continue;
--
-- // If we've harvested the process, spawn a new one and watch it
-- // instead. Otherwise, we just let go of the data we read
-- if (harvested == 1) {
-- // Only take the first line
-- char *nl;
-- if ((nl = strchr(data, '\n')) != NULL)
-- *nl = '\0';
--
-- char snd[1024];
--
-- if (soundmap.size() == 0)
-- snprintf(snd, 1024, "%s", data);
-- if (soundmap.find(data) != soundmap.end())
-- snprintf(snd, 1024, "%s", soundmap[data].c_str());
-- else
-- continue;
--
-- char plr[1024];
-- snprintf(plr, 1024, "%s", player);
--
-- harvested = 0;
-- if ((sndpid = fork()) == 0) {
-- // Suppress errors
-- int nulfd = open("/dev/null", O_RDWR);
-- dup2(nulfd, 1);
-- dup2(nulfd, 2);
--
-- char * const echoarg[] = { plr, snd, NULL };
-- execve(echoarg[0], echoarg, NULL);
-- }
-- }
--
-- data[0] = '\0';
-- }
--}
--
--// Subprocess speech handler
--void SpeechHandler(int *fds, const char *player) {
-- int read_sock = fds[0];
-- close(fds[1]);
--
-- fd_set rset;
--
-- char data[1024];
--
-- pid_t sndpid = -1;
-- int harvested = 1;
--
-- while (1) {
-- FD_ZERO(&rset);
-- FD_SET(read_sock, &rset);
-- //char *end;
--
-- memset(data, 0, 1024);
--
-- struct timeval tim;
-- tim.tv_sec = 1;
-- tim.tv_usec = 0;
--
-- if (select(read_sock + 1, &rset, NULL, NULL, &tim) < 0) {
-- if (errno != EINTR) {
-- exit(1);
-- }
-- }
--
-- if (harvested == 0) {
-- // We consider a wait error to be a sign that the child pid died
-- // so we flag it as harvested and keep on going
-- pid_t harvestpid = waitpid(sndpid, NULL, WNOHANG);
-- if (harvestpid == -1 || harvestpid == sndpid)
-- harvested = 1;
-- }
--
-- if (FD_ISSET(read_sock, &rset)) {
-- int ret;
-- ret = read(read_sock, data, 1024);
--
-- // We'll die off if we get a read error, and we'll let kismet on the
-- // other side detact that it died
-- if (ret <= 0 && (errno != EAGAIN && errno != EPIPE))
-- exit(1);
--
-- data[ret] = '\0';
--
-- }
--
-- if (data[0] == '\0')
-- continue;
--
-- // If we've harvested the process, spawn a new one and watch it
-- // instead. Otherwise, we just let go of the data we read
-- if (harvested == 1) {
-- harvested = 0;
-- if ((sndpid = fork()) == 0) {
-- // Only take the first line
-- char *nl;
-- if ((nl = strchr(data, '\n')) != NULL)
-- *nl = '\0';
--
-- // Make sure it's shell-clean
-- MungeToShell(data, strlen(data));
-- char spk_call[1024];
-- snprintf(spk_call, 1024, "echo \"(%s\\\"%s\\\")\" | %s "
-- ">/dev/null 2>/dev/null",
-- flite ? "": "SayText ", data, player);
--
-- system(spk_call);
--
-- exit(0);
-- }
-- }
--
-- data[0] = '\0';
-- }
--}
--
--
--int PlaySound(string in_sound) {
--
-- char snd[1024];
--
-- snprintf(snd, 1024, "%s\n", in_sound.c_str());
--
-- if (write(soundpair[1], snd, strlen(snd)) < 0) {
-- char status[STATUS_MAX];
-- snprintf(status, STATUS_MAX,
-- "ERROR: Could not write to sound pipe. Stopping sound.");
-- gui->WriteStatus(status);
--
-- return 0;
-- }
--
-- return 1;
--}
--
--int SayText(string in_text) {
-- char snd[1024];
--
-- snprintf(snd, 1024, "%s\n", in_text.c_str());
--
-- if (write(speechpair[1], snd, strlen(snd)) < 0) {
-- char status[STATUS_MAX];
-- snprintf(status, STATUS_MAX,
-- "ERROR: Could not write to speech pipe. Stopping speech.");
-- gui->WriteStatus(status);
--
-- return 0;
-- }
--
-- return 1;
--}
-
- int main(int argc, char *argv[]) {
- exec_name = argv[0];
-@@ -345,8 +120,6 @@
- char guihost[1024];
- int guiport = -1;
-
-- int gpsmode = -1;
--
- configfile = NULL;
- uiconfigfile = NULL;
-
-@@ -391,7 +164,6 @@
- fprintf(stderr, "Using alternate UI config file: %s\n", uiconfigfile);
- break;
- case 'q':
-- sound = 0;
- break;
- case 'g':
- reqgui = strdup(optarg);
-@@ -515,70 +287,6 @@
- server = strdup(gui_conf->FetchOpt("host").c_str());
- }
-
-- if (gui_conf->FetchOpt("sound") == "true" && sound == -1) {
-- if (gui_conf->FetchOpt("soundplay") != "") {
-- sndplay = gui_conf->FetchOpt("soundplay");
-- sound = 1;
--
-- if (gui_conf->FetchOpt("soundopts") != "")
-- sndplay += " " + gui_conf->FetchOpt("soundopts");
--
-- if (gui_conf->FetchOpt("sound_new") != "")
-- wav_map["new"] = gui_conf->FetchOpt("sound_new");
-- if (gui_conf->FetchOpt("sound_new_wep") != "")
-- wav_map["new_wep"] = gui_conf->FetchOpt("sound_new_wep");
-- if (gui_conf->FetchOpt("sound_traffic") != "")
-- wav_map["traffic"] = gui_conf->FetchOpt("sound_traffic");
-- if (gui_conf->FetchOpt("sound_junktraffic") != "")
-- wav_map["junktraffic"] = gui_conf->FetchOpt("sound_junktraffic");
-- if (gui_conf->FetchOpt("sound_gpslock") != "")
-- wav_map["gpslock"] = gui_conf->FetchOpt("sound_gpslock");
-- if (gui_conf->FetchOpt("sound_gpslost") != "")
-- wav_map["gpslost"] = gui_conf->FetchOpt("sound_gpslost");
-- if (gui_conf->FetchOpt("sound_alert") != "")
-- wav_map["alert"] = gui_conf->FetchOpt("sound_alert");
--
-- } else {
-- fprintf(stderr, "ERROR: Sound alerts enabled but no sound playing binary specified.\n");
-- sound = 0;
-- }
-- } else if (sound == -1)
-- sound = 0;
--
-- /* Added by Shaw Innes 17/2/02 */
-- if (gui_conf->FetchOpt("speech") == "true" && speech == -1) {
-- if (gui_conf->FetchOpt("festival") != "") {
-- festival = strdup(gui_conf->FetchOpt("festival").c_str());
-- speech = 1;
--
-- if (gui_conf->FetchOpt("flite") == "true")
-- flite = 1;
--
-- string speechtype = gui_conf->FetchOpt("speech_type");
--
-- if (!strcasecmp(speechtype.c_str(), "nato"))
-- speech_encoding = SPEECH_ENCODING_NATO;
-- else if (!strcasecmp(speechtype.c_str(), "spell"))
-- speech_encoding = SPEECH_ENCODING_SPELL;
-- else
-- speech_encoding = SPEECH_ENCODING_NORMAL;
--
-- // Make sure we have encrypted text lines
-- if (gui_conf->FetchOpt("speech_encrypted") == "" || gui_conf->FetchOpt("speech_unencrypted") == "") {
-- fprintf(stderr, "ERROR: Speech request but speech_encrypted or speech_unencrypted line missing.\n");
-- speech = 0;
-- }
--
-- speech_sentence_encrypted = gui_conf->FetchOpt("speech_encrypted");
-- speech_sentence_unencrypted = gui_conf->FetchOpt("speech_unencrypted");
--
-- } else {
-- fprintf(stderr, "ERROR: Speech alerts enabled but no path to festival has been specified.\n");
-- speech = 0;
-- }
-- } else if (speech == -1)
-- speech = 0;
--
- if (gui_conf->FetchOpt("decay") != "") {
- if (sscanf(gui_conf->FetchOpt("decay").c_str(), "%d", &decay) != 1) {
- fprintf(stderr, "FATAL: Illegal config file value for decay.\n");
-@@ -636,45 +344,6 @@
- }
- }
-
-- // Fork and find the sound options
-- if (sound) {
-- if (pipe(soundpair) == -1) {
-- fprintf(stderr, "WARNING: Unable to create pipe for audio. Disabling sound.\n");
-- sound = 0;
-- } else {
-- soundpid = fork();
--
-- if (soundpid < 0) {
-- fprintf(stderr, "WARNING: Unable to fork for audio. Disabling sound.\n");
-- sound = 0;
-- } else if (soundpid == 0) {
-- SoundHandler(soundpair, sndplay.c_str(), wav_map);
-- exit(0);
-- }
--
-- close(soundpair[0]);
-- }
-- }
--
-- if (speech) {
-- if (pipe(speechpair) == -1) {
-- fprintf(stderr, "WARNING: Unable to create pipe for speech. Disabling speech.\n");
-- speech = 0;
-- } else {
-- speechpid = fork();
--
-- if (speechpid < 0) {
-- fprintf(stderr, "WARNING: Unable to fork for speech. Disabling speech.\n");
-- speech = 0;
-- } else if (speechpid == 0) {
-- SpeechHandler(speechpair, festival);
-- exit(0);
-- }
--
-- close(speechpair[0]);
-- }
-- }
--
- if (kismet_serv.Connect(guiport, guihost) < 0) {
- fprintf(stderr, "FATAL: Could not connect to %s:%d.\n", guihost, guiport);
- CatchShutdown(-1);
-@@ -884,53 +553,13 @@
- }
-
- if (pollret != 0) {
-- if (pollret == CLIENT_ALERT)
-- if (sound == 1)
-- sound = PlaySound("alert");
--
- if (strlen(tcpcli->FetchStatus()) != 0) {
- gui->WriteStatus(tcpcli->FetchStatus());
- // gui->DrawDisplay();
- }
-
-- // The GPS only gets updated for the primary client
-- if (tcpcli == primary_client) {
-- if (tcpcli->FetchMode() == 0 && gpsmode != 0) {
-- if (sound == 1 && gpsmode != -1)
-- sound = PlaySound("gpslost");
-- gpsmode = 0;
-- } else if (tcpcli->FetchMode() != 0 && gpsmode == 0) {
-- if (sound == 1 && gpsmode != -1)
-- sound = PlaySound("gpslock");
-- gpsmode = 1;
-- }
-- }
--
- if (tcpcli->FetchDeltaNumNetworks() > 0) {
- wireless_network *newnet = tcpcli->FetchLastNewNetwork();
--
-- if (sound == 1 && newnet != lastspoken) {
-- if (newnet->crypt_set &&
-- wav_map.find("new_wep") != wav_map.end())
-- sound = PlaySound("new_wep");
-- else
-- sound = PlaySound("new");
-- }
--
-- if (speech == 1 && newnet != lastspoken) {
-- string text;
--
-- if (newnet != NULL) {
-- if (newnet->crypt_set)
-- text = ExpandSpeechString(speech_sentence_encrypted, newnet, speech_encoding);
-- else
-- text = ExpandSpeechString(speech_sentence_unencrypted, newnet, speech_encoding);
--
-- speech = SayText(text.c_str());
-- }
-- }
--
-- lastspoken = newnet;
- }
-
- num_networks += tcpcli->FetchNumNetworks();
-@@ -938,17 +567,7 @@
- num_noise += tcpcli->FetchNumNoise();
- num_dropped += tcpcli->FetchNumDropped();
-
-- if (tcpcli->FetchDeltaNumPackets() != 0) {
-- if (time(0) - last_click >= decay && sound == 1) {
-- if (tcpcli->FetchDeltaNumPackets() > tcpcli->FetchDeltaNumDropped()) {
-- sound = PlaySound("traffic");
-- } else {
-- sound = PlaySound("junktraffic");
-- }
--
-- last_click = time(0);
-- }
-- }
-+ tcpcli->FetchDeltaNumPackets();
- }
- }
- } else {
-diff -urN kismet.dev/kismet_drone.cc kismet.dev2/kismet_drone.cc
---- kismet.dev/kismet_drone.cc 2006-04-13 00:42:59.000000000 +0200
-+++ kismet.dev2/kismet_drone.cc 2006-04-14 20:21:46.000000000 +0200
-@@ -32,16 +32,11 @@
- #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"
-
--#include "gpsd.h"
- #include "tcpstreamer.h"
- #include "configfile.h"
-
-@@ -53,10 +48,6 @@
-
- const char *config_base = "kismet_drone.conf";
-
--GPSD *gps = NULL;
--int gpsmode = 0;
--int gps_enable = 0;
--
- // Unused, only here to make packetsourcetracker link
- int retain_monitor = 0;
-
-@@ -84,26 +75,6 @@
- exit(0);
- }
-
--int GpsEvent(Timetracker::timer_event *evt, void *parm) {
-- // The GPS only provides us a new update once per second we might
-- // as well only update it here once a second
-- if (gps_enable) {
-- int gpsret;
-- gpsret = gps->Scan();
-- if (gpsret < 0) {
-- if (!silent)
-- fprintf(stderr, "GPS error fetching data: %s\n",
-- gps->FetchError());
--
-- gps_enable = 0;
-- }
--
-- }
--
-- // We want to be rescheduled
-- return 1;
--}
--
- // Handle channel hopping... this is actually really simple.
- int ChannelHopEvent(Timetracker::timer_event *evt, void *parm) {
- sourcetracker.AdvanceChannel();
-@@ -151,9 +122,6 @@
-
- TcpStreamer streamer;
-
-- char gpshost[1024];
-- int gpsport = -1;
--
- int channel_hop = -1;
- int channel_velocity = 1;
- int channel_dwell = 0;
-@@ -354,46 +322,6 @@
- exit(1);
- }
-
-- if (conf->FetchOpt("gps") == "true") {
-- if (sscanf(conf->FetchOpt("gpshost").c_str(), "%1023[^:]:%d", gpshost, &gpsport) != 2) {
-- fprintf(stderr, "Invalid GPS host in config (host:port required)\n");
-- exit(1);
-- }
--
-- gps_enable = 1;
-- } else {
-- gps_enable = 0;
-- }
--
-- if (gps_enable == 1) {
-- // Open the GPS
-- gps = new GPSD(gpshost, gpsport);
--
-- // Lock GPS position
-- if (conf->FetchOpt("gpsmodelock") == "true") {
-- fprintf(stderr, "Enabling GPS position lock override (broken GPS unit reports 0 always)\n");
-- gps->SetOptions(GPSD_OPT_FORCEMODE);
-- }
--
-- if (gps->OpenGPSD() < 0) {
-- fprintf(stderr, "%s\n", gps->FetchError());
--
-- gps_enable = 0;
-- } else {
-- fprintf(stderr, "Opened GPS connection to %s port %d\n",
-- gpshost, gpsport);
--
-- }
-- }
--
-- // Update GPS coordinates and handle signal loss if defined
-- timetracker.RegisterTimer(SERVER_TIMESLICES_SEC, NULL, 1, &GpsEvent, NULL);
--
-- // Add the GPS to the tcpstreamer
-- streamer.AddGpstracker(gps);
--
-- // Register the gps and timetracker with the sourcetracker
-- sourcetracker.AddGpstracker(gps);
- sourcetracker.AddTimetracker(&timetracker);
-
- // Register the sources
-diff -urN kismet.dev/kismet_server.cc kismet.dev2/kismet_server.cc
---- kismet.dev/kismet_server.cc 2006-04-13 00:42:59.000000000 +0200
-+++ kismet.dev2/kismet_server.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -37,11 +37,7 @@
- #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"
-@@ -51,15 +47,11 @@
- #include "wtaplocaldump.h"
- #include "airsnortdump.h"
- #include "fifodump.h"
--#include "gpsdump.h"
--
--#include "gpsd.h"
-
- #include "packetracker.h"
- #include "timetracker.h"
- #include "alertracker.h"
-
--#include "speech.h"
- #include "tcpserver.h"
- #include "server_globals.h"
- #include "kismet_server.h"
-@@ -89,17 +81,8 @@
- Alertracker alertracker;
- Timetracker timetracker;
-
--GPSD *gps = NULL;
--int gpsmode = 0;
--GPSDump gpsdump;
--
--// Last time we tried to reconnect to the gps
--time_t last_gpsd_reconnect = 0;
--int gpsd_reconnect_attempt = 0;
--
- FifoDumpFile fifodump;
- TcpServer ui_server;
--int sound = -1;
- packet_info last_info;
- int decay;
- channel_power channel_graph[CHANNEL_MAX];
-@@ -112,11 +95,8 @@
- // Wep keys
- macmap<wep_key_info *> bssid_wep_map;
-
--// Pipe file descriptor pairs and fd's
--int soundpair[2];
--int speechpair[2];
- int chanpair[2];
--pid_t soundpid = -1, speechpid = -1, chanpid = -1;
-+pid_t chanpid = -1;
-
- // Past alerts
- unsigned int max_alerts = 50;
-@@ -177,17 +157,6 @@
- int tcpport = -1;
- int tcpmax;
-
--//const char *sndplay = NULL;
--string sndplay;
--
--const char *festival = NULL;
--int speech = -1;
--int flite = 0;
--int speech_encoding = 0;
--string speech_sentence_encrypted, speech_sentence_unencrypted;
--
--map<string, string> wav_map;
--
- int beacon_log = 1;
- int phy_log = 1;
- int mangle_log = 0;
-@@ -348,17 +317,6 @@
- // delete cryptfile;
- }
-
-- if (gps_log == 1) {
-- if (gpsdump.CloseDump(1) < 0)
-- fprintf(stderr, "Didn't log any GPS coordinates, unlinking gps file\n");
-- }
--
-- // Kill our sound players
-- if (soundpid > 0)
-- kill(soundpid, 9);
-- if (speechpid > 0)
-- kill(speechpid, 9);
--
- // Shut down the packet sources
- sourcetracker.CloseSources();
-
-@@ -369,228 +327,10 @@
- exit(0);
- }
-
--// Subprocess sound handler
--void SoundHandler(int *fds, const char *player, map<string, string> soundmap) {
-- int read_sock = fds[0];
-- close(fds[1]);
--
-- fd_set rset;
--
-- char data[1024];
--
-- pid_t sndpid = -1;
-- int harvested = 1;
--
-- while (1) {
-- FD_ZERO(&rset);
-- FD_SET(read_sock, &rset);
-- char *end;
--
-- memset(data, 0, 1024);
--
-- struct timeval tm;
-- tm.tv_sec = 1;
-- tm.tv_usec = 0;
--
-- if (select(read_sock + 1, &rset, NULL, NULL, &tm) < 0) {
-- if (errno != EINTR) {
-- exit(1);
-- }
-- }
--
-- if (harvested == 0) {
-- // We consider a wait error to be a sign that the child pid died
-- // so we flag it as harvested and keep on going
-- pid_t harvestpid = waitpid(sndpid, NULL, WNOHANG);
-- if (harvestpid == -1 || harvestpid == sndpid)
-- harvested = 1;
-- }
--
-- if (FD_ISSET(read_sock, &rset)) {
-- int ret;
-- ret = read(read_sock, data, 1024);
--
-- // We'll die off if we get a read error, and we'll let kismet on the
-- // other side detact that it died
-- if (ret <= 0 && (errno != EAGAIN && errno != EPIPE))
-- exit(1);
--
-- if ((end = strstr(data, "\n")) == NULL)
-- continue;
--
-- end[0] = '\0';
-- }
--
-- if (data[0] == '\0')
-- continue;
--
--
-- // If we've harvested the process, spawn a new one and watch it
-- // instead. Otherwise, we just let go of the data we read
-- if (harvested == 1) {
-- // Only take the first line
-- char *nl;
-- if ((nl = strchr(data, '\n')) != NULL)
-- *nl = '\0';
--
-- // Make sure it's shell-clean
--
-- char snd[1024];
--
-- if (soundmap.size() == 0)
-- snprintf(snd, 1024, "%s", data);
-- if (soundmap.find(data) != soundmap.end())
-- snprintf(snd, 1024, "%s", soundmap[data].c_str());
-- else
-- continue;
--
-- char plr[1024];
-- snprintf(plr, 1024, "%s", player);
--
-- harvested = 0;
-- if ((sndpid = fork()) == 0) {
-- // Suppress errors
-- if (silent) {
-- int nulfd = open("/dev/null", O_RDWR);
-- dup2(nulfd, 1);
-- dup2(nulfd, 2);
-- }
--
-- char * const echoarg[] = { plr, snd, NULL };
-- execve(echoarg[0], echoarg, NULL);
-- }
-- }
-- data[0] = '\0';
-- }
--}
--
--// Subprocess speech handler
--void SpeechHandler(int *fds, const char *player) {
-- int read_sock = fds[0];
-- close(fds[1]);
--
-- fd_set rset;
--
-- char data[1024];
--
-- pid_t sndpid = -1;
-- int harvested = 1;
--
-- while (1) {
-- FD_ZERO(&rset);
-- FD_SET(read_sock, &rset);
-- //char *end;
--
-- memset(data, 0, 1024);
--
-- if (harvested == 0) {
-- // We consider a wait error to be a sign that the child pid died
-- // so we flag it as harvested and keep on going
-- pid_t harvestpid = waitpid(sndpid, NULL, WNOHANG);
-- if (harvestpid == -1 || harvestpid == sndpid)
-- harvested = 1;
-- }
--
-- struct timeval tm;
-- tm.tv_sec = 1;
-- tm.tv_usec = 0;
--
-- if (select(read_sock + 1, &rset, NULL, NULL, &tm) < 0) {
-- if (errno != EINTR) {
-- exit(1);
-- }
-- }
--
-- if (FD_ISSET(read_sock, &rset)) {
-- int ret;
-- ret = read(read_sock, data, 1024);
--
-- // We'll die off if we get a read error, and we'll let kismet on the
-- // other side detact that it died
-- if (ret <= 0 && (errno != EAGAIN && errno != EPIPE))
-- exit(1);
--
-- data[ret] = '\0';
-- }
--
-- if (data[0] == '\0')
-- continue;
--
-- // If we've harvested the process, spawn a new one and watch it
-- // instead. Otherwise, we just let go of the data we read
-- if (harvested == 1) {
-- harvested = 0;
-- if ((sndpid = fork()) == 0) {
-- // Only take the first line
-- char *nl;
-- if ((nl = strchr(data, '\n')) != NULL)
-- *nl = '\0';
--
-- // Make sure it's shell-clean
-- MungeToShell(data, strlen(data));
-- char spk_call[1024];
-- snprintf(spk_call, 1024, "echo \"(%s\\\"%s\\\")\" | %s "
-- ">/dev/null 2>/dev/null",
-- flite ? "" : "SayText ", data, player);
-- system(spk_call);
--
-- exit(0);
-- }
-- }
--
-- data[0] = '\0';
-- }
--}
--
--
--// Fork and run a system call to play a sound
--int PlaySound(string in_sound) {
--
-- char snd[1024];
--
-- snprintf(snd, 1024, "%s\n", in_sound.c_str());
--
-- if (write(soundpair[1], snd, strlen(snd)) < 0) {
-- char status[STATUS_MAX];
-- if (!silent)
-- fprintf(stderr, "ERROR: Write error, closing sound pipe.\n");
-- snprintf(status, STATUS_MAX, "ERROR: Write error on sound pipe, closing sound connection");
-- NetWriteStatus(status);
--
-- return 0;
-- }
--
-- return 1;
--}
--
--int SayText(string in_text) {
--
-- char snd[1024];
--
-- snprintf(snd, 1024, "%s\n", in_text.c_str());
-- MungeToShell(snd, 1024);
--
-- if (write(speechpair[1], snd, strlen(snd)) < 0) {
-- char status[STATUS_MAX];
-- if (!silent)
-- fprintf(stderr, "ERROR: Write error, closing speech pipe.\n");
-- snprintf(status, STATUS_MAX, "ERROR: Write error on speech pipe, closing speech connection");
-- NetWriteStatus(status);
--
-- return 0;
-- }
--
-- return 1;
--}
--
- void KisLocalAlert(const char *in_text) {
- time_t now = time(0);
- if (!silent)
- fprintf(stderr, "ALERT %.24s %s\n", ctime(&now), in_text);
--
-- if (sound == 1)
-- sound = PlaySound("alert");
--
- }
-
- void KisLocalStatus(const char *in_status) {
-@@ -639,37 +379,6 @@
-
- char tmpstr[32];
-
-- GPS_data gdata;
--
-- if (gps_enable) {
-- float lat, lon, alt, spd, hed;
-- int mode;
--
-- gps->FetchLoc(&lat, &lon, &alt, &spd, &hed, &mode);
--
-- snprintf(tmpstr, 32, "%f", lat);
-- gdata.lat = tmpstr;
-- snprintf(tmpstr, 32, "%f", lon);
-- gdata.lon = tmpstr;
-- snprintf(tmpstr, 32, "%f", alt);
-- gdata.alt = tmpstr;
-- snprintf(tmpstr, 32, "%f", spd);
-- gdata.spd = tmpstr;
-- snprintf(tmpstr, 32, "%f", hed);
-- gdata.heading = tmpstr;
-- snprintf(tmpstr, 32, "%d", mode);
-- gdata.mode = tmpstr;
-- } else {
-- gdata.lat = "0.0";
-- gdata.lon = "0.0";
-- gdata.alt = "0.0";
-- gdata.spd = "0.0";
-- gdata.heading = "0.0";
-- gdata.mode = "0";
-- }
--
-- ui_server.SendToAll(gps_ref, (void *) &gdata);
--
- INFO_data idata;
- snprintf(tmpstr, 32, "%d", tracker.FetchNumNetworks());
- idata.networks = tmpstr;
-@@ -790,81 +499,6 @@
- }
- }
-
--int GpsEvent(Timetracker::timer_event *evt, void *parm) {
-- char status[STATUS_MAX];
--
-- // The GPS only provides us a new update once per second we might
-- // as well only update it here once a second
--
-- // If we're disconnected, try to reconnect.
-- if (gpsd_reconnect_attempt > 0) {
-- // Increment the time between connection attempts
-- if (last_gpsd_reconnect + ((gpsd_reconnect_attempt - 1) * 2) < time(0)) {
-- if (gps->OpenGPSD() < 0) {
-- last_gpsd_reconnect = time(0);
--
-- if (gpsd_reconnect_attempt < 20)
-- gpsd_reconnect_attempt++;
--
-- snprintf(status, STATUS_MAX, "Unable to reconnect to GPSD, trying "
-- "again in %d seconds.", ((gpsd_reconnect_attempt - 1) * 2));
--
-- if (!silent || NetWriteStatus(status) == 0)
-- fprintf(stderr, "WARNING: %s\n", status);
--
-- return 1;
-- } else {
-- gpsd_reconnect_attempt = 0;
--
-- snprintf(status, STATUS_MAX, "Reopened connection to GPSD");
-- if (!silent || NetWriteStatus(status) == 0)
-- fprintf(stderr, "NOTICE: %s\n", status);
-- }
-- } else {
-- // Don't process more if we haven't woken up yet
-- return 1;
-- }
--
-- }
--
-- if (gps_enable) {
-- int gpsret;
-- gpsret = gps->Scan();
--
-- if (gpsret < 0) {
-- snprintf(status, STATUS_MAX, "GPS error requesting data: %s",
-- gps->FetchError());
--
-- if (!silent || NetWriteStatus(status) == 0)
-- fprintf(stderr, "WARNING: %s\n", status);
--
-- gpsd_reconnect_attempt = 1;
-- }
--
-- if (gpsret == 0 && gpsmode != 0) {
-- if (!silent || NetWriteStatus("Lost GPS signal.") == 0)
-- fprintf(stderr, "Lost GPS signal.\n");
-- if (sound == 1)
-- sound = PlaySound("gpslost");
--
-- gpsmode = 0;
-- } else if (gpsret != 0 && gpsmode == 0) {
-- if (!silent || NetWriteStatus("Acquired GPS signal.") == 0)
-- fprintf(stderr, "Acquired GPS signal.\n");
-- if (sound == 1)
-- sound = PlaySound("gpslock");
--
-- gpsmode = 1;
-- }
-- }
--
-- if (gps_log == 1 && gpsmode != 0 && gps != NULL) {
-- gpsdump.DumpTrack(gps);
-- }
--
-- // We want to be rescheduled
-- return 1;
--}
-
- // Simple redirect to the network info drawer. We don't want to change netwriteinfo to a
- // timer event since we call it un-timed too
-@@ -885,13 +519,6 @@
- return 1;
- }
-
--// Write the waypoints for gpsdrive
--int WaypointSyncEvent(Timetracker::timer_event *evt, void *parm) {
-- tracker.WriteGpsdriveWaypt(waypoint_file);
--
-- return 1;
--}
--
- // Handle tracker maintenance
- int TrackerTickEvent(Timetracker::timer_event *evt, void *parm) {
- tracker.Tick();
-@@ -1160,11 +787,9 @@
- " -c, --capture-source <src> Packet capture source line (type,interface,name)\n"
- " -C, --enable-capture-sources Comma separated list of named packet sources to use.\n"
- " -l, --log-types <types> Comma separated list of types to log,\n"
-- " (ie, dump,cisco,weak,network,gps)\n"
-+ " (ie, dump,cisco,weak,network)\n"
- " -d, --dump-type <type> Dumpfile type (wiretap)\n"
- " -m, --max-packets <num> Maximum number of packets before starting new dump\n"
-- " -q, --quiet Don't play sounds\n"
-- " -g, --gps <host:port> GPS server (host:port or off)\n"
- " -p, --port <port> TCPIP server port for GUI connections\n"
- " -a, --allowed-hosts <hosts> Comma separated list of hosts allowed to connect\n"
- " -b, --bind-address <address> Bind to this address. Default INADDR_ANY\n."
-@@ -1289,23 +914,6 @@
- ip_track = 1;
- }
-
--
-- if (conf->FetchOpt("waypoints") == "true") {
-- if(conf->FetchOpt("waypointdata") == "") {
-- fprintf(stderr, "WARNING: Waypoint logging requested but no waypoint data file given.\n"
-- "Waypoint logging will be disabled.\n");
-- waypoint = 0;
-- } else {
-- waypointfile = conf->ExpandLogPath(conf->FetchOpt("waypointdata"), "", "", 0, 1);
-- waypoint = 1;
-- }
-- if(conf->FetchOpt("waypoint_essid") == "true") {
-- waypointformat = 1;
-- } else {
-- waypointformat = 0;
-- }
-- }
--
- if (conf->FetchOpt("metric") == "true") {
- fprintf(stderr, "Using metric measurements.\n");
- metric = 1;
-@@ -1423,26 +1031,6 @@
- }
-
- }
--
-- if (strstr(logtypes, "gps")) {
-- if (gps_log == 0) {
-- fprintf(stderr, "WARNING: Disabling GPS logging.\n");
-- } else {
-- gps_log = 1;
--
-- if (conf->FetchOpt("logtemplate") == "") {
-- fprintf(stderr, "FATAL: Logging (gps coordinates) enabled but no logtemplate given in config.\n");
-- ErrorShutdown();
-- }
-- }
--
-- }
--
-- if (gps_log == 1 && !net_log) {
-- fprintf(stderr, "WARNING: Logging (gps coordinates) enabled but XML logging (networks) was not.\n"
-- "It will be enabled now.\n");
-- xml_log = 1;
-- }
- }
-
- if (conf->FetchOpt("decay") != "") {
-@@ -1563,72 +1151,6 @@
- legal_ipblock_vec.push_back(ipb);
- }
-
-- // Process sound stuff
-- if (conf->FetchOpt("sound") == "true" && sound == -1) {
-- if (conf->FetchOpt("soundplay") != "") {
-- sndplay = conf->FetchOpt("soundplay");
--
-- if (conf->FetchOpt("soundopts") != "")
-- sndplay += " " + conf->FetchOpt("soundopts");
--
-- sound = 1;
--
-- if (conf->FetchOpt("sound_new") != "")
-- wav_map["new"] = conf->FetchOpt("sound_new");
-- if (conf->FetchOpt("sound_new_wep") != "")
-- wav_map["new_wep"] = conf->FetchOpt("sound_new_wep");
-- if (conf->FetchOpt("sound_traffic") != "")
-- wav_map["traffic"] = conf->FetchOpt("sound_traffic");
-- if (conf->FetchOpt("sound_junktraffic") != "")
-- wav_map["junktraffic"] = conf->FetchOpt("sound_traffic");
-- if (conf->FetchOpt("sound_gpslock") != "")
-- wav_map["gpslock"] = conf->FetchOpt("sound_gpslock");
-- if (conf->FetchOpt("sound_gpslost") != "")
-- wav_map["gpslost"] = conf->FetchOpt("sound_gpslost");
-- if (conf->FetchOpt("sound_alert") != "")
-- wav_map["alert"] = conf->FetchOpt("sound_alert");
--
-- } else {
-- fprintf(stderr, "ERROR: Sound alerts enabled but no sound playing binary specified.\n");
-- sound = 0;
-- }
-- } else if (sound == -1)
-- sound = 0;
--
-- /* Added by Shaw Innes 17/2/02 */
-- /* Modified by Andrew Etter 15/9/02 */
-- if (conf->FetchOpt("speech") == "true" && speech == -1) {
-- if (conf->FetchOpt("festival") != "") {
-- festival = strdup(conf->FetchOpt("festival").c_str());
-- speech = 1;
--
-- if (conf->FetchOpt("flite") == "true")
-- flite = 1;
--
-- string speechtype = conf->FetchOpt("speech_type");
--
-- if (!strcasecmp(speechtype.c_str(), "nato"))
-- speech_encoding = SPEECH_ENCODING_NATO;
-- else if (!strcasecmp(speechtype.c_str(), "spell"))
-- speech_encoding = SPEECH_ENCODING_SPELL;
-- else
-- speech_encoding = SPEECH_ENCODING_NORMAL;
--
-- // Make sure we have encrypted text lines
-- if (conf->FetchOpt("speech_encrypted") == "" || conf->FetchOpt("speech_unencrypted") == "") {
-- fprintf(stderr, "ERROR: Speech request but speech_encrypted or speech_unencrypted line missing.\n");
-- speech = 0;
-- }
--
-- speech_sentence_encrypted = conf->FetchOpt("speech_encrypted");
-- speech_sentence_unencrypted = conf->FetchOpt("speech_unencrypted");
-- } else {
-- fprintf(stderr, "ERROR: Speech alerts enabled but no path to festival has been specified.\n");
-- speech = 0;
-- }
-- } else if (speech == -1)
-- speech = 0;
--
- if (conf->FetchOpt("writeinterval") != "") {
- if (sscanf(conf->FetchOpt("writeinterval").c_str(), "%d", &datainterval) != 1) {
- fprintf(stderr, "FATAL: Illegal config file value for data interval.\n");
-@@ -1648,45 +1170,6 @@
- fprintf(stderr, "WARNING: No client_manuf file specified. Client manufacturers will not be detected.\n");
- }
-
-- // Fork and find the sound options
-- if (sound) {
-- if (pipe(soundpair) == -1) {
-- fprintf(stderr, "WARNING: Unable to create pipe for audio. Disabling sound.\n");
-- sound = 0;
-- } else {
-- soundpid = fork();
--
-- if (soundpid < 0) {
-- fprintf(stderr, "WARNING: Unable to fork for audio. Disabling sound.\n");
-- sound = 0;
-- } else if (soundpid == 0) {
-- SoundHandler(soundpair, sndplay.c_str(), wav_map);
-- exit(0);
-- }
--
-- close(soundpair[0]);
-- }
-- }
--
-- if (speech) {
-- if (pipe(speechpair) == -1) {
-- fprintf(stderr, "WARNING: Unable to create pipe for speech. Disabling speech.\n");
-- speech = 0;
-- } else {
-- speechpid = fork();
--
-- if (speechpid < 0) {
-- fprintf(stderr, "WARNING: Unable to fork for speech. Disabling speech.\n");
-- speech = 0;
-- } else if (speechpid == 0) {
-- SpeechHandler(speechpair, festival);
-- exit(0);
-- }
--
-- close(speechpair[0]);
-- }
-- }
--
- // Grab the filtering
- string filter_bit;
-
-@@ -1712,7 +1195,7 @@
- }
-
- if ((filter_bit = conf->FetchOpt("filter_export")) != "") {
-- fprintf(stderr, "Enabling filtering on exported (csv, xml, network, gps) files.\n");
-+ fprintf(stderr, "Enabling filtering on exported (csv, xml, network) files.\n");
- filter_export = 1;
- if (ConfigFile::ParseFilterLine(filter_bit, &filter_export_bssid, &filter_export_source,
- &filter_export_dest, &filter_export_bssid_invert,
-@@ -1818,14 +1301,6 @@
-
- }
-
-- if (waypoint) {
-- if ((waypoint_file = fopen(waypointfile.c_str(), "a")) == NULL) {
-- fprintf(stderr, "WARNING: Could not open waypoint file '%s' for writing: %s\n",
-- waypointfile.c_str(), strerror(errno));
-- waypoint = 0;
-- }
-- }
--
- // Create all the logs and title/number them appropriately
- // We need to save this for after we toast the conf record
- int logfile_matched = 0;
-@@ -1873,13 +1348,6 @@
- continue;
- }
-
-- if (gps_log == 1) {
-- gpslogfile = conf->ExpandLogPath(conf->FetchOpt("logtemplate"), logname, "gps", run_num);
--
-- if (gpslogfile == "")
-- continue;
-- }
--
- // if we made it this far we're cool -- all the logfiles we're writing to matched
- // this number
- logfile_matched = 1;
-@@ -1908,9 +1376,6 @@
- if (cisco_log)
- fprintf(stderr, "Logging cisco product information to %s\n", ciscologfile.c_str());
-
-- if (gps_log == 1)
-- fprintf(stderr, "Logging gps coordinates to %s\n", gpslogfile.c_str());
--
- if (data_log)
- fprintf(stderr, "Logging data to %s\n", dumplogfile.c_str());
-
-@@ -2058,7 +1523,6 @@
- { "dump-type", required_argument, 0, 'd' },
- { "max-packets", required_argument, 0, 'm' },
- { "quiet", no_argument, 0, 'q' },
-- { "gps", required_argument, 0, 'g' },
- { "port", required_argument, 0, 'p' },
- { "allowed-hosts", required_argument, 0, 'a' },
- { "bind-address", required_argument, 0, 'b'},
-@@ -2140,18 +1604,6 @@
- Usage(argv[0]);
- }
- break;
-- case 'g':
-- // GPS
-- if (strcmp(optarg, "off") == 0) {
-- gps_enable = 0;
-- }
-- else if (sscanf(optarg, "%1023[^:]:%d", gpshost, &gpsport) < 2) {
-- fprintf(stderr, "Invalid GPS host '%s' (host:port or off required)\n",
-- optarg);
-- gps_enable = 1;
-- Usage(argv[0]);
-- }
-- break;
- case 'p':
- // Port
- if (sscanf(optarg, "%d", &tcpport) != 1) {
-@@ -2173,7 +1625,6 @@
- break;
- case 'q':
- // Quiet
-- sound = 0;
- break;
- case 'v':
- // version
-@@ -2331,39 +1782,6 @@
- // And we're done
- fclose(pid_file);
-
--
-- // Set up the GPS object to give to the children
-- if (gpsport == -1 && gps_enable) {
-- if (conf->FetchOpt("gps") == "true") {
-- if (sscanf(conf->FetchOpt("gpshost").c_str(), "%1023[^:]:%d", gpshost,
-- &gpsport) != 2) {
-- fprintf(stderr, "Invalid GPS host in config (host:port required)\n");
-- exit(1);
-- }
--
-- gps_enable = 1;
-- } else {
-- gps_enable = 0;
-- gps_log = 0;
-- }
-- }
--
-- if (gps_enable == 1) {
-- gps = new GPSD(gpshost, gpsport);
--
-- // Lock GPS position
-- if (conf->FetchOpt("gpsmodelock") == "true") {
-- fprintf(stderr, "Enabling GPS position lock override (broken GPS unit "
-- "reports 0 always)\n");
-- gps->SetOptions(GPSD_OPT_FORCEMODE);
-- }
--
-- } else {
-- gps_log = 0;
-- }
--
-- // Register the gps and timetracker with the sourcetracker
-- sourcetracker.AddGpstracker(gps);
- sourcetracker.AddTimetracker(&timetracker);
-
- // Handle errors here maybe in the future
-@@ -2530,13 +1948,6 @@
- fprintf(stderr, "Dump file format: %s\n", dumpfile->FetchType());
- }
-
-- if (gps_enable && gps_log == 1) {
-- if (gpsdump.OpenDump(gpslogfile.c_str(), xmllogfile.c_str()) < 0) {
-- fprintf(stderr, "FATAL: GPS dump error: %s\n", gpsdump.FetchError());
-- ErrorShutdown();
-- }
-- }
--
- // Open our files first to make sure we can, we'll unlink the empties later.
- FILE *testfile = NULL;
- if (net_log) {
-@@ -2608,14 +2019,13 @@
- */
-
- if (data_log || net_log || crypt_log) {
-- snprintf(status, STATUS_MAX, "Logging%s%s%s%s%s%s%s",
-+ snprintf(status, STATUS_MAX, "Logging%s%s%s%s%s%s",
- data_log ? " data" : "" ,
- net_log ? " networks" : "" ,
- csv_log ? " CSV" : "" ,
- xml_log ? " XML" : "" ,
- crypt_log ? " weak" : "",
-- cisco_log ? " cisco" : "",
-- gps_log == 1 ? " gps" : "");
-+ cisco_log ? " cisco" : "");
- fprintf(stderr, "%s\n", status);
- } else if (no_log) {
- snprintf(status, STATUS_MAX, "Not logging any data.");
-@@ -2633,23 +2043,6 @@
- }
- }
-
-- if (gps_enable) {
-- // Open the GPS
-- if (gps->OpenGPSD() < 0) {
-- fprintf(stderr, "%s\n", gps->FetchError());
--
-- gps_enable = 0;
-- gps_log = 0;
-- } else {
-- fprintf(stderr, "Opened GPS connection to %s port %d\n",
-- gpshost, gpsport);
--
-- gpsmode = gps->FetchMode();
--
-- last_gpsd_reconnect = time(0);
-- }
-- }
--
- fprintf(stderr, "Listening on port %d.\n", tcpport);
- for (unsigned int ipvi = 0; ipvi < legal_ipblock_vec.size(); ipvi++) {
- char *netaddr = strdup(inet_ntoa(legal_ipblock_vec[ipvi]->network));
-@@ -2690,8 +2083,6 @@
- &Protocol_NETWORK, &ProtocolNetworkEnable);
- client_ref = ui_server.RegisterProtocol("CLIENT", 0, CLIENT_fields_text,
- &Protocol_CLIENT, &ProtocolClientEnable);
-- gps_ref = ui_server.RegisterProtocol("GPS", 0, GPS_fields_text,
-- &Protocol_GPS, NULL);
- info_ref = ui_server.RegisterProtocol("INFO", 0, INFO_fields_text,
- &Protocol_INFO, NULL);
- remove_ref = ui_server.RegisterProtocol("REMOVE", 0, REMOVE_fields_text,
-@@ -2746,14 +2137,9 @@
- // Write network info and tick the tracker once per second
- timetracker.RegisterTimer(SERVER_TIMESLICES_SEC, NULL, 1, &NetWriteEvent, NULL);
- timetracker.RegisterTimer(SERVER_TIMESLICES_SEC, NULL, 1, &TrackerTickEvent, NULL);
-- // Update GPS coordinates and handle signal loss if defined
-- timetracker.RegisterTimer(SERVER_TIMESLICES_SEC, NULL, 1, &GpsEvent, NULL);
- // Sync the data files if requested
- if (datainterval > 0 && no_log == 0)
- timetracker.RegisterTimer(datainterval * SERVER_TIMESLICES_SEC, NULL, 1, &ExportSyncEvent, NULL);
-- // Write waypoints if requested
-- if (waypoint)
-- timetracker.RegisterTimer(decay * SERVER_TIMESLICES_SEC, NULL, 1, &WaypointSyncEvent, NULL);
- // Channel hop if requested
- if (channel_hop) {
- if (channel_dwell)
-@@ -2777,7 +2163,6 @@
- snprintf(status, 1024, "%s", TIMESTAMP);
- kdata.timestamp = status;
-
-- time_t last_click = 0;
- int num_networks = 0, num_packets = 0, num_noise = 0, num_dropped = 0;
-
-
-@@ -2926,54 +2311,13 @@
-
- }
-
-- if (gps_log == 1 && info.type != packet_noise &&
-- info.type != packet_unknown && info.type != packet_phy &&
-- info.corrupt == 0) {
-- if (gpsdump.DumpPacket(&info) < 0) {
-- snprintf(status, STATUS_MAX, "%s", gpsdump.FetchError());
-- if (!silent || NetWriteStatus(status) == 0)
-- fprintf(stderr, "%s\n", status);
-- }
-- }
--
- // tracker.ProcessPacket(info);
- tracker.ProcessPacket(&packet, &info, &bssid_wep_map,
- wep_identity);
-
-- if (tracker.FetchNumNetworks() > num_networks) {
-- if (sound == 1)
-- if (info.crypt_set &&
-- wav_map.find("new_wep") != wav_map.end())
-- sound = PlaySound("new_wep");
-- else
-- sound = PlaySound("new");
-- if (speech == 1) {
-- string text;
--
-- if (info.crypt_set)
-- text = ExpandSpeechString(speech_sentence_encrypted, &info,
-- speech_encoding);
-- else
-- text = ExpandSpeechString(speech_sentence_unencrypted,
-- &info, speech_encoding);
--
-- speech = SayText(MungeToShell(text).c_str());
-- }
-- }
- num_networks = tracker.FetchNumNetworks();
-
- if (tracker.FetchNumPackets() != num_packets) {
-- if (cur_time - last_click >= decay && sound == 1) {
-- if (tracker.FetchNumPackets() - num_packets >
-- tracker.FetchNumDropped() + localdropnum - num_dropped) {
-- sound = PlaySound("traffic");
-- } else {
-- sound = PlaySound("junktraffic");
-- }
--
-- last_click = cur_time;
-- }
--
- num_packets = tracker.FetchNumPackets();
- num_noise = tracker.FetchNumNoise();
- num_dropped = tracker.FetchNumDropped() + localdropnum;
-diff -urN kismet.dev/kismet_server.h kismet.dev2/kismet_server.h
---- kismet.dev/kismet_server.h 2004-03-07 22:28:01.000000000 +0100
-+++ kismet.dev2/kismet_server.h 2006-04-14 19:31:55.000000000 +0200
-@@ -33,10 +33,6 @@
- void handle_command(TcpServer *tcps, client_command *cc);
- int NetWriteStatus(const char *in_status);
- void NetWriteInfo();
--int SayText(string in_text);
--int PlaySound(string in_sound);
--void SpeechHandler(int *fds, const char *player);
--void SoundHandler(int *fds, const char *player, map<string, string> soundmap);
- void ProtocolAlertEnable(int in_fd);
- void ProtocolNetworkEnable(int in_fd);
- void ProtocolClientEnable(int in_fd);
-diff -urN kismet.dev/kis_packsources.cc kismet.dev2/kis_packsources.cc
---- kismet.dev/kis_packsources.cc 2006-04-14 23:43:01.694817572 +0200
-+++ kismet.dev2/kis_packsources.cc 2006-04-14 20:21:12.000000000 +0200
-@@ -64,13 +64,8 @@
- pcapsource_11g_registrant,
- monitor_wext, unmonitor_wext,
- chancontrol_wext, 1);
-- 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);
-+ REG_EMPTY_CARD(sourcetracker, "cisco");
-+ REG_EMPTY_CARD(sourcetracker, "cisco_wifix");
- sourcetracker->RegisterPacketsource("hostap", 1, "IEEE80211b", 6,
- pcapsource_wext_registrant,
- monitor_hostap, unmonitor_hostap,
-@@ -83,21 +78,10 @@
- pcapsource_wext_registrant,
- monitor_orinoco, unmonitor_orinoco,
- chancontrol_orinoco, 1);
-- sourcetracker->RegisterPacketsource("acx100", 1, "IEEE80211b", 6,
-- pcapsource_wext_registrant,
-- monitor_acx100, unmonitor_acx100,
-- chancontrol_wext, 1);
-- sourcetracker->RegisterPacketsource("admtek", 1, "IEEE80211b", 6,
-- pcapsource_wext_registrant,
-- monitor_admtek, unmonitor_admtek,
-- chancontrol_wext, 1);
-- sourcetracker->RegisterPacketsource("vtar5k", 1, "IEEE80211a", 36,
-- pcapsource_wext_registrant,
-- monitor_vtar5k, NULL, chancontrol_wext, 1);
-- sourcetracker->RegisterPacketsource("atmel_usb", 1, "IEEE80211b", 6,
-- pcapsource_wext_registrant,
-- monitor_wext, unmonitor_wext,
-- chancontrol_wext, 1);
-+ REG_EMPTY_CARD(sourcetracker, "acx100");
-+ REG_EMPTY_CARD(sourcetracker, "admtek");
-+ REG_EMPTY_CARD(sourcetracker, "vtar5k");
-+ REG_EMPTY_CARD(sourcetracker, "atmel_usb");
-
- sourcetracker->RegisterPacketsource("madwifi_a", 1, "IEEE80211a", 36,
- pcapsource_wextfcs_registrant,
-@@ -146,50 +130,17 @@
- monitor_prism54g, unmonitor_prism54g,
- chancontrol_prism54g, 1);
-
-- sourcetracker->RegisterPacketsource("wlanng_wext", 1, "IEEE80211b", 6,
-- pcapsource_wlanng_registrant,
-- monitor_wlanng_avs, NULL,
-- chancontrol_wext, 1);
--
-- sourcetracker->RegisterPacketsource("ipw2100", 1, "IEEE80211b", 6,
-- pcapsource_wext_registrant,
-- monitor_ipw2100, unmonitor_ipw2100,
-- chancontrol_ipw2100, 1);
--
-- sourcetracker->RegisterPacketsource("ipw2200", 1, "IEEE80211g", 6,
-- pcapsource_wext_registrant,
-- monitor_ipw2200, unmonitor_ipw2200,
-- chancontrol_ipw2200, 1);
--
-- sourcetracker->RegisterPacketsource("ipw2915", 1, "IEEE80211ab", 6,
-- pcapsource_wext_registrant,
-- monitor_ipw2200, unmonitor_ipw2200,
-- chancontrol_ipw2200, 1);
--
-- sourcetracker->RegisterPacketsource("ipw3945", 1, "IEEE80211ab", 6,
-- pcapsource_wext_registrant,
-- monitor_ipw3945, unmonitor_ipw3945,
-- chancontrol_ipw2200, 1);
--
-- sourcetracker->RegisterPacketsource("ipwlivetap", 1, "IEEE80211b", 0,
-- pcapsource_wext_registrant,
-- monitor_ipwlivetap,
-- unmonitor_ipwlivetap,
-- NULL, 1);
--
-- sourcetracker->RegisterPacketsource("rt2400", 1, "IEEE80211b", 6,
-- pcapsource_wext_registrant,
-- monitor_wext, unmonitor_wext,
-- chancontrol_wext, 1);
-- sourcetracker->RegisterPacketsource("rt2500", 1, "IEEE80211g", 6,
-- pcapsource_11g_registrant,
-- monitor_wext, unmonitor_wext,
-- chancontrol_wext, 1);
-- sourcetracker->RegisterPacketsource("rt8180", 1, "IEEE80211b", 6,
-- pcapsource_wext_registrant,
-- monitor_wext, unmonitor_wext,
-- chancontrol_wext, 1);
-+ REG_EMPTY_CARD(sourcetracker, "wlanng_wext");
-+ REG_EMPTY_CARD(sourcetracker, "ipw2100");
-+ REG_EMPTY_CARD(sourcetracker, "ipw2200");
-+ REG_EMPTY_CARD(sourcetracker, "ipw2915");
-+ REG_EMPTY_CARD(sourcetracker, "ipw3945");
-+ REG_EMPTY_CARD(sourcetracker, "ipwlivetap");
-
-+ REG_EMPTY_CARD(sourcetracker, "rt2400");
-+ REG_EMPTY_CARD(sourcetracker, "rt2500");
-+ REG_EMPTY_CARD(sourcetracker, "rt8180");
-+
- sourcetracker->RegisterPacketsource("zd1211", 1, "IEEE80211g", 6,
- pcapsource_wext_registrant,
- monitor_wext, unmonitor_wext,
-@@ -233,31 +184,13 @@
- REG_EMPTY_CARD(sourcetracker, "zd1211");
- #endif
-
--#if defined(HAVE_LIBPCAP) && defined(SYS_LINUX)
-- sourcetracker->RegisterPacketsource("wlanng", 1, "IEEE80211b", 6,
-- pcapsource_wlanng_registrant,
-- monitor_wlanng, NULL, chancontrol_wlanng, 1);
-- sourcetracker->RegisterPacketsource("wlanng_avs", 1, "IEEE80211b", 6,
-- pcapsource_wlanng_registrant,
-- monitor_wlanng_avs, NULL,
-- chancontrol_wlanng_avs, 1);
- sourcetracker->RegisterPacketsource("wrt54g", 1, "na", 0,
- pcapsource_wrt54g_registrant,
-- monitor_wrt54g, unmonitor_wrt54g, chancontrol_wext, 0);
--#else
-+ monitor_wrt54g, unmonitor_wrt54g, chancontrol_wext, 0);
-+
- REG_EMPTY_CARD(sourcetracker, "wlanng");
- REG_EMPTY_CARD(sourcetracker, "wlanng_avs");
-- 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,
-@@ -291,29 +224,11 @@
- REG_EMPTY_CARD(sourcetracker, "radiotap_bsd_b");
- #endif
-
--#if defined(HAVE_LIBWIRETAP)
-- sourcetracker->RegisterPacketsource("wtapfile", 0, "na", 0,
-- wtapfilesource_registrant,
-- NULL, NULL, NULL, 0);
--#else
- 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.dev/kis_packsources.h kismet.dev2/kis_packsources.h
---- kismet.dev/kis_packsources.h 2004-06-09 21:09:29.000000000 +0200
-+++ kismet.dev2/kis_packsources.h 2006-04-14 19:31:55.000000000 +0200
-@@ -22,11 +22,7 @@
- #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.dev/Makefile.in kismet.dev2/Makefile.in
---- kismet.dev/Makefile.in 2006-04-13 00:49:15.000000000 +0200
-+++ kismet.dev2/Makefile.in 2006-04-14 19:31:55.000000000 +0200
-@@ -39,26 +39,25 @@
- DEPEND = .depend
-
- # 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 \
-- wtapdump.o wtaplocaldump.o gpsdump.o airsnortdump.o fifodump.o \
-- gpsd.o manuf.o \
-+PSO = util.o ringbuf.o configfile.o ifcontrol.o iwcontrol.o packet.o \
-+ pcapsource.o manuf.o \
-+ dronesource.o packetsourcetracker.o kis_packsources.o \
-+ wtapdump.o wtaplocaldump.o airsnortdump.o fifodump.o \
- packetracker.o timetracker.o alertracker.o finitestate.o \
- getopt.o \
- tcpserver.o server_protocols.o server_globals.o kismet_server.o
- 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 \
-- timetracker.o gpsd.o server_globals.o kismet_drone.o
-+ tcpstreamer.o pcapsource.o \
-+ dronesource.o packetsourcetracker.o kis_packsources.o \
-+ timetracker.o server_globals.o kismet_drone.o
- DRONE = kismet_drone
-
--NCO = util.o configfile.o speech.o manuf.o tcpclient.o \
-+NCO = util.o configfile.o manuf.o tcpclient.o \
- frontend.o cursesfront.o \
- panelfront.o panelfront_display.o panelfront_input.o \
-- gpsd.o getopt.o kismet_client.o
-+ getopt.o kismet_client.o
- NC = kismet_client
-
- GPSLO = getopt.o util.o configfile.o expat.o manuf.o \
-diff -urN kismet.dev/packetracker.cc kismet.dev2/packetracker.cc
---- kismet.dev/packetracker.cc 2006-04-01 18:37:07.000000000 +0200
-+++ kismet.dev2/packetracker.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -2443,23 +2443,3 @@
-
- }
-
--// Write a gpsdrive compatable waypoint file
--int Packetracker::WriteGpsdriveWaypt(FILE *in_file) {
-- fseek(in_file, 0L, SEEK_SET);
-- ftruncate(fileno(in_file), 0);
--
-- // Convert the map to a vector and sort it
-- for (map<mac_addr, wireless_network *>::const_iterator i = bssid_map.begin();
-- i != bssid_map.end(); ++i) {
-- wireless_network *net = i->second;
--
-- float lat, lon;
-- lat = (net->min_lat + net->max_lat) / 2;
-- lon = (net->min_lon + net->max_lon) / 2;
-- fprintf(in_file, "%s\t%f %f\n", waypointformat == 1 ? net->ssid.c_str() : net->bssid.Mac2String().c_str(), lat, lon);
-- }
--
-- fflush(in_file);
--
-- return 1;
--}
-diff -urN kismet.dev/packetracker.h kismet.dev2/packetracker.h
---- kismet.dev/packetracker.h 2005-06-01 05:46:18.000000000 +0200
-+++ kismet.dev2/packetracker.h 2006-04-14 19:31:55.000000000 +0200
-@@ -30,7 +30,6 @@
- #include <string>
-
- #include "util.h"
--#include "gpsd.h"
- #include "packet.h"
- #include "tracktypes.h"
- #include "manuf.h"
-@@ -85,8 +84,6 @@
- int WriteXMLNetworks(string in_fname);
- int WriteCisco(string in_fname);
-
-- int WriteGpsdriveWaypt(FILE *in_file);
--
- void WriteSSIDMap(FILE *in_file);
- void ReadSSIDMap(FILE *in_file);
-
-diff -urN kismet.dev/packetsourcetracker.cc kismet.dev2/packetsourcetracker.cc
---- kismet.dev/packetsourcetracker.cc 2006-04-14 23:43:01.695817542 +0200
-+++ kismet.dev2/packetsourcetracker.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -27,7 +27,6 @@
- Packetsourcetracker::Packetsourcetracker() {
- next_packsource_id = 0;
- next_meta_id = 0;
-- gpsd = NULL;
- timetracker = NULL;
- chanchild_pid = 0;
- sockpair[0] = sockpair[1] = 0;
-@@ -694,7 +693,6 @@
-
- // Register the trackers with it
- meta->capsource->AddTimetracker(timetracker);
-- meta->capsource->AddGpstracker(gpsd);
-
- // Open it
- fprintf(stderr, "Source %d (%s): Opening %s source interface %s...\n",
-diff -urN kismet.dev/packetsourcetracker.h kismet.dev2/packetsourcetracker.h
---- kismet.dev/packetsourcetracker.h 2005-03-21 20:47:26.000000000 +0100
-+++ kismet.dev2/packetsourcetracker.h 2006-04-14 19:31:55.000000000 +0200
-@@ -30,7 +30,6 @@
- #include <string>
-
- #include "timetracker.h"
--#include "gpsd.h"
- #include "packetsource.h"
-
- // Sentinel for starting a new packet
-@@ -144,9 +143,6 @@
- // Register a timer event handler for us to use
- void AddTimetracker(Timetracker *in_tracker) { timetracker = in_tracker; }
-
-- // Register the GPS server for us to use
-- void AddGpstracker(GPSD *in_gpsd) { gpsd = in_gpsd; }
--
- // Register a packet prototype source... Card type string, root binding requirement,
- // function to generate an instance of the source, and function to change channel
- // for this card type. This fills out the prototype. Sources that don't hop
-@@ -221,7 +217,6 @@
- uint16_t channel;
- } chanchild_changepacket;
-
-- GPSD *gpsd;
- Timetracker *timetracker;
-
- char errstr[1024];
-diff -urN kismet.dev/panelfront.cc kismet.dev2/panelfront.cc
---- kismet.dev/panelfront.cc 2005-06-29 20:04:43.000000000 +0200
-+++ kismet.dev2/panelfront.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -37,7 +37,6 @@
- " Key Action",
- " e List Kismet servers",
- " z Toggle fullscreen zoom of network view",
-- " m Toggle muting of sound and speech",
- " t Tag (or untag) selected network",
- " g Group tagged networks",
- " u Ungroup current group",
-@@ -121,7 +120,6 @@
- "Key Action",
- " e List Kismet servers",
- " z Toggle fullscreen net list",
-- " m Toggle muting",
- " t Tag (or untag) selected",
- " g Group tagged networks",
- " u Ungroup current group",
-@@ -237,19 +235,6 @@
- };
-
-
--char *KismetHelpGps[] = {
-- "KISMET NETWORK FOLLOW",
-- "This panel estimates the center of a network, the current",
-- "direction of travel, and the direction of the network center",
-- "and distance relative to the current direction of movement.",
-- " Key Action",
-- " s Follow location of strongest packet",
-- " c Follow location of estimated network center",
-- " q Close popup",
-- NULL
--};
--
--
- char *KismetHelpStats[] = {
- "KISMET NETWORK STATISTICS",
- "This panel displays overall statistics about the wireless",
-@@ -678,7 +663,6 @@
- }
-
- // Enable all the protocols we handle
-- in_client->EnableProtocol("GPS");
- in_client->EnableProtocol("INFO");
- in_client->EnableProtocol("REMOVE");
- in_client->EnableProtocol("NETWORK");
-@@ -1282,27 +1266,6 @@
- if (con->client == NULL)
- continue;
-
-- // Update GPS
-- float newlat, newlon, newalt, newspd, newheading;
-- int newfix;
-- con->client->FetchLoc(&newlat, &newlon, &newalt, &newspd, &newheading, &newfix);
--
-- if (GPSD::EarthDistance(newlat, newlon, last_lat, last_lon) > 10) {
-- con->last_lat = con->lat;
-- con->last_lon = con->lon;
-- con->last_spd = con->spd;
-- con->last_alt = con->alt;
-- con->last_fix = con->fix;
-- con->last_heading = con->heading;
-- }
--
-- con->lat = newlat;
-- con->lon = newlon;
-- con->alt = newalt;
-- con->spd = newspd;
-- con->heading = newheading;
-- con->fix = newfix;
--
- // Update quality
- con->quality = con->client->FetchQuality();
- con->power = con->client->FetchPower();
-diff -urN kismet.dev/panelfront_display.cc kismet.dev2/panelfront_display.cc
---- kismet.dev/panelfront_display.cc 2005-08-15 17:52:16.000000000 +0200
-+++ kismet.dev2/panelfront_display.cc 2006-04-14 19:31:55.000000000 +0200
-@@ -727,7 +727,7 @@
- mvwaddstr(netwin, netwin->_maxy, netwin->_maxx - 14, ptxt);
- }
-
--#ifdef HAVE_GPS
-+#if 0
-
-
- if (!(lat == 0 && lon == 0 && alt == 0 && spd == 0 && fix == 0)) {
-@@ -1496,51 +1496,6 @@
- snprintf(output, print_width, "Networks: %d", (int) details_network->networks.size());
- kwin->text.push_back(output);
-
-- if (details_network->virtnet->gps_fixed != -1) {
-- if ((details_network->virtnet->min_lat == 90) && (details_network->virtnet->min_lon == 180) &&
-- (details_network->virtnet->max_lat == -90) && (details_network->virtnet->max_lon == -180)) {
-- snprintf(output, print_width, "Min Loc : N/A");
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Max Loc : N/A");
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Range : N/A");
-- kwin->text.push_back(output);
-- }
-- else {
-- snprintf(output, print_width, "Min Loc : Lat %f Lon %f Alt %f Spd %f",
-- details_network->virtnet->min_lat, details_network->virtnet->min_lon,
-- metric ? details_network->virtnet->min_alt / 3.3 : details_network->virtnet->min_alt,
-- metric ? details_network->virtnet->min_spd * 1.6093 : details_network->virtnet->min_spd);
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Max Loc : Lat %f Lon %f Alt %f Spd %f",
-- details_network->virtnet->max_lat, details_network->virtnet->max_lon,
-- metric ? details_network->virtnet->max_alt / 3.3 : details_network->virtnet->max_alt,
-- metric ? details_network->virtnet->max_spd * 1.6093 : details_network->virtnet->max_spd);
-- kwin->text.push_back(output);
--
-- double diagdist = GPSD::EarthDistance(details_network->virtnet->min_lat,
-- details_network->virtnet->min_lon,
-- details_network->virtnet->max_lat,
-- details_network->virtnet->max_lon);
--
-- if (finite(diagdist)) {
-- if (metric) {
-- if (diagdist < 1000)
-- snprintf(output, print_width, "Range : %.3f meters", diagdist);
-- else
-- snprintf(output, print_width, "Range : %.3f kilometers", diagdist / 1000);
-- } else {
-- diagdist *= 3.3;
-- if (diagdist < 5280)
-- snprintf(output, print_width, "Range : %.3f feet", diagdist);
-- else
-- snprintf(output, print_width, "Range : %.3f miles", diagdist / 5280);
-- }
-- kwin->text.push_back(output);
-- }
-- }
-- }
--
- if (details_network->virtnet->carrier_set & (1 << (int) carrier_80211b)) {
- snprintf(output, print_width, "Carrier : IEEE 802.11b");
- kwin->text.push_back(output);
-@@ -1853,49 +1808,6 @@
- dnet->ipdata.range_ip[2], dnet->ipdata.range_ip[3]);
- kwin->text.push_back(output);
- }
--
-- if (dnet->gps_fixed != -1) {
-- if ((dnet->min_lat == 90) && (dnet->min_lon == 180) &&
-- (dnet->max_lat == -90) && (dnet->max_lon == -180)) {
-- snprintf(output, print_width, "Min Loc : N/A");
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Max Loc : N/A");
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Range : N/A");
-- kwin->text.push_back(output);
-- }
-- else {
-- snprintf(output, print_width, "Min Loc : Lat %f Lon %f Alt %f Spd %f",
-- dnet->min_lat, dnet->min_lon,
-- metric ? dnet->min_alt / 3.3 : dnet->min_alt,
-- metric ? dnet->min_spd * 1.6093 : dnet->min_spd);
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Max Loc : Lat %f Lon %f Alt %f Spd %f",
-- dnet->max_lat, dnet->max_lon,
-- metric ? dnet->max_alt / 3.3 : dnet->max_alt,
-- metric ? dnet->max_spd * 1.6093 : dnet->max_spd);
-- kwin->text.push_back(output);
--
-- double diagdist = GPSD::EarthDistance(dnet->min_lat, dnet->min_lon,
-- dnet->max_lat, dnet->max_lon);
--
-- if (finite(diagdist)) {
-- if (metric) {
-- if (diagdist < 1000)
-- snprintf(output, print_width, "Range : %f meters", diagdist);
-- else
-- snprintf(output, print_width, "Range : %f kilometers", diagdist / 1000);
-- } else {
-- diagdist *= 3.3;
-- if (diagdist < 5280)
-- snprintf(output, print_width, "Range : %f feet", diagdist);
-- else
-- snprintf(output, print_width, "Range : %f miles", diagdist / 5280);
-- }
-- kwin->text.push_back(output);
-- }
-- }
-- }
- }
-
- // Now we just use the text printer to handle the rest for us
-@@ -1903,184 +1815,6 @@
- return TextPrinter(in_window);
- }
-
--int PanelFront::GpsPrinter(void *in_window) {
-- kis_window *kwin = (kis_window *) in_window;
--
-- char output[1024];
-- kwin->text.clear();
--
-- if (details_network == NULL) {
-- kwin->text.push_back("The network or group being displayed");
-- kwin->text.push_back("has been deleted. Please select a ");
-- kwin->text.push_back("different network.");
-- return TextPrinter(in_window);
-- }
--
-- wireless_network *dnet = details_network->virtnet;
--
-- int print_width = kwin->print_width;
-- if (print_width > 1024)
-- print_width = 1023;
--
-- if (print_width < 32) {
-- kwin->text.push_back("Display not wide enough");
-- return TextPrinter(in_window);
-- }
--
-- if (dnet->aggregate_points == 0) {
-- kwin->text.push_back("No GPS data.");
-- return TextPrinter(in_window);
-- }
--
-- float center_lat, center_lon;
--
-- // We hijack the "selected" field as a toggle
-- if (kwin->selected == 1) {
-- center_lat = dnet->best_lat;
-- center_lon = dnet->best_lon;
-- } else {
-- center_lat = dnet->aggregate_lat / dnet->aggregate_points;
-- center_lon = dnet->aggregate_lon / dnet->aggregate_points;
-- }
--
-- // Get bearing to the center
-- float center_angle = GPSD::CalcHeading(center_lat, center_lon, lat, lon);
--
-- float difference_angle = heading - center_angle;
-- if (difference_angle < 0)
-- difference_angle += 360;
--
-- double diagdist = GPSD::EarthDistance(lat, lon, center_lat, center_lon);
--
-- // Now we know everything - where we are, where we are headed, where we SHOULD be headed
-- // to get to the supposed center of the network, how far it is, and the orientation on our
-- // compass to get to it. Time to start drawing our output.
--
-- char compass[5][10];
-- memset(compass, 0, sizeof(char) * 5 * 10);
--
-- // | 41.12345x-74.12345 .-|-/ |
-- // | Bearing: / |/ \ |
-- // | 123.23 degrees | O | |
-- // | \ \ / |
-- // | Estimated center: '---\ |
--
--
-- // Find the orientation on our compass:
-- if (difference_angle > 330 || difference_angle <= 22) {
-- snprintf(compass[0], 10, " .-|-. ");
-- snprintf(compass[1], 10, " / | \\ ");
-- snprintf(compass[2], 10, "| O |");
-- snprintf(compass[3], 10, " \\ / ");
-- snprintf(compass[4], 10, " '---' ");
-- } else if (difference_angle > 22 && difference_angle <= 66) {
-- snprintf(compass[0], 10, " .---/ ");
-- snprintf(compass[1], 10, " / / \\ ");
-- snprintf(compass[2], 10, "| O |");
-- snprintf(compass[3], 10, " \\ / ");
-- snprintf(compass[4], 10, " '---' ");
-- } else if (difference_angle > 66 && difference_angle <= 110) {
-- snprintf(compass[0], 10, " .---. ");
-- snprintf(compass[1], 10, " / \\ ");
-- snprintf(compass[2], 10, "| O----");
-- snprintf(compass[3], 10, " \\ / ");
-- snprintf(compass[4], 10, " '---' ");
-- } else if (difference_angle > 110 && difference_angle <= 154) {
-- snprintf(compass[0], 10, " .---. ");
-- snprintf(compass[1], 10, " / \\ ");
-- snprintf(compass[2], 10, "| O |");
-- snprintf(compass[3], 10, " \\ \\ / ");
-- snprintf(compass[4], 10, " '---\\ ");
-- } else if (difference_angle > 154 && difference_angle <= 198) {
-- snprintf(compass[0], 10, " .---. ");
-- snprintf(compass[1], 10, " / \\ ");
-- snprintf(compass[2], 10, "| O |");
-- snprintf(compass[3], 10, " \\ | / ");
-- snprintf(compass[4], 10, " '-|-' ");
-- } else if (difference_angle > 198 && difference_angle <= 242) {
-- snprintf(compass[0], 10, " .---. ");
-- snprintf(compass[1], 10, " / \\ ");
-- snprintf(compass[2], 10, "| O |");
-- snprintf(compass[3], 10, " \\ / / ");
-- snprintf(compass[4], 10, " /---' ");
-- } else if (difference_angle > 242 && difference_angle <= 286) {
-- snprintf(compass[0], 10, " .---. ");
-- snprintf(compass[1], 10, " / \\ ");
-- snprintf(compass[2], 10, "----O |");
-- snprintf(compass[3], 10, " \\ / ");
-- snprintf(compass[4], 10, " '---' ");
-- } else if (difference_angle > 286 && difference_angle <= 330) {
-- snprintf(compass[0], 10, " \\---. ");
-- snprintf(compass[1], 10, " / \\ \\ ");
-- snprintf(compass[2], 10, "| O |");
-- snprintf(compass[3], 10, " \\ / ");
-- snprintf(compass[4], 10, " '---' ");
-- } else {
-- snprintf(compass[0], 10, "%f\n", difference_angle);
-- }
--
--
-- // - Network GPS ---------------------|
-- // | Current: |
-- // | 41.12345x-74.12345 .-|-. |
-- // | Bearing: / | \ |
-- // | 123.23 degrees | O | |
-- // | \ \ / |
-- // | Estimated center: '---\ |
-- // | -73.12345x43.12345 |
-- // | 120 feet |
-- // ------------------------------------
-- char textfrag[23];
--
-- snprintf(output, print_width, "Current:");
-- kwin->text.push_back(output);
--
-- snprintf(textfrag, 23, "%.3f x %.3f", lat, lon);
-- snprintf(output, print_width, "%-22s%s", textfrag, compass[0]);
-- kwin->text.push_back(output);
--
-- snprintf(textfrag, 23, " Bearing:");
-- snprintf(output, print_width, "%-22s%s", textfrag, compass[1]);
-- kwin->text.push_back(output);
--
-- snprintf(textfrag, 23, " %.2f*", heading);
-- snprintf(output, print_width, "%-22s%s", textfrag, compass[2]);
-- kwin->text.push_back(output);
--
-- snprintf(textfrag, 23, " ");
-- snprintf(output, print_width, "%-22s%s", textfrag, compass[3]);
-- kwin->text.push_back(output);
--
-- if (kwin->selected == 1)
-- snprintf(textfrag, 23, "Strongest signal:");
-- else
-- snprintf(textfrag, 23, "Estimated Center:");
-- snprintf(output, print_width, "%-22s%s", textfrag, compass[4]);
-- kwin->text.push_back(output);
--
-- snprintf(textfrag, 23, "%.3f x %.3f", center_lat, center_lon);
-- snprintf(output, print_width, "%-22s%.2f*", textfrag, difference_angle);
-- kwin->text.push_back(output);
--
-- if (metric) {
-- if (diagdist < 1000)
-- snprintf(textfrag, 23, "%.2f m", diagdist);
-- else
-- snprintf(textfrag, 23, "%.2f km", diagdist / 1000);
-- } else {
-- diagdist *= 3.3;
-- if (diagdist < 5280)
-- snprintf(textfrag, 23, "%.2f ft", diagdist);
-- else
-- snprintf(textfrag, 23, "%.2f mi", diagdist / 5280);
-- }
--
-- snprintf(output, print_width, "%-22s%s", "", textfrag);
-- kwin->text.push_back(output);
--
-- return TextPrinter(in_window);
--}
--
- int PanelFront::PackPrinter(void *in_window) {
- kis_window *kwin = (kis_window *) in_window;
-
-@@ -3049,53 +2783,6 @@
- details_client->ipdata.ip[2], details_client->ipdata.ip[3]);
- kwin->text.push_back(output);
-
-- if (details_client->gps_fixed != -1) {
-- kwin->text.push_back("");
--
-- if ((details_client->min_lat == 90) && (details_client->min_lon == 180) &&
-- (details_client->max_lat == -90) && (details_client->max_lon == -180)) {
-- snprintf(output, print_width, "Min Loc : N/A");
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Max Loc : N/A");
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Range : N/A");
-- kwin->text.push_back(output);
-- }
-- else {
-- snprintf(output, print_width, "Min Loc : Lat %f Lon %f Alt %f Spd %f",
-- details_client->min_lat, details_client->min_lon,
-- metric ? details_client->min_alt / 3.3 : details_client->min_alt,
-- metric ? details_client->min_spd * 1.6093 : details_client->min_spd);
-- kwin->text.push_back(output);
-- snprintf(output, print_width, "Max Loc : Lat %f Lon %f Alt %f Spd %f",
-- details_client->max_lat, details_client->max_lon,
-- metric ? details_client->max_alt / 3.3 : details_client->max_alt,
-- metric ? details_client->max_spd * 1.6093 : details_client->max_spd);
-- kwin->text.push_back(output);
--
-- double diagdist = GPSD::EarthDistance(details_client->min_lat,
-- details_client->min_lon,
-- details_client->max_lat,
-- details_client->max_lon);
--
-- if (finite(diagdist)) {
-- if (metric) {
-- if (diagdist < 1000)
-- snprintf(output, print_width, "Range : %f meters", diagdist);
-- else
-- snprintf(output, print_width, "Range : %f kilometers", diagdist / 1000);
-- } else {
-- diagdist *= 3.3;
-- if (diagdist < 5280)
-- snprintf(output, print_width, "Range : %f feet", diagdist);
-- else
-- snprintf(output, print_width, "Range : %f miles", diagdist / 5280);
-- }
-- kwin->text.push_back(output);
-- }
-- }
-- kwin->text.push_back("");
-- }
-
- snprintf(output, print_width, "Packets :");
- kwin->text.push_back(output);
-diff -urN kismet.dev/panelfront.h kismet.dev2/panelfront.h
---- kismet.dev/panelfront.h 2005-06-29 14:50:09.000000000 +0200
-+++ kismet.dev2/panelfront.h 2006-04-14 19:31:55.000000000 +0200
-@@ -65,7 +65,6 @@
- #define SORT_SIZE 10
- extern char *KismetHelpPower[];
- extern char *KismetHelpRate[];
--extern char *KismetHelpGps[];
- extern char *KismetHelpStats[];
- extern char *KismetHelpDump[];
- extern char *KismetHelpPack[];
-@@ -269,7 +268,6 @@
- int RatePrinter(void *in_window);
- int StatsPrinter(void *in_window);
- int PackPrinter(void *in_window);
-- int GpsPrinter(void *in_window);
- int AlertPrinter(void *in_window);
-
- int MainClientPrinter(void *in_window);
-@@ -298,7 +296,6 @@
- int PackInput(void *in_window, int in_chr);
- // Help has a generic handler
- int TextInput(void *in_window, int in_chr);
-- int GpsInput(void *in_window, int in_chr);
- int AlertInput(void *in_window, int in_chr);
-
- int MainClientInput(void *in_window, int in_chr);
-diff -urN kismet.dev/panelfront_input.cc kismet.dev2/panelfront_input.cc
---- kismet.dev/panelfront_input.cc 2005-06-29 14:50:09.000000000 +0200
-+++ kismet.dev2/panelfront_input.cc 2006-04-14 19:31:56.000000000 +0200
-@@ -300,16 +300,9 @@
- break;
- case 'f':
- case 'F':
-- if (sortby != sort_auto && last_displayed.size() > 0) {
-- details_network = last_displayed[kwin->selected];
-- SpawnWindow("Network Location", &PanelFront::GpsPrinter, &PanelFront::GpsInput, 8, 34);
-- } else {
-- WriteStatus("Cannot view network GPS info in autofit sort mode. Sort by a different method.");
-- }
- break;
- case 'm':
- case 'M':
-- MuteToggle();
- break;
- case 'e':
- case 'E':
-@@ -447,7 +440,6 @@
- switch(in_chr) {
- case 'm':
- case 'M':
-- MuteToggle();
- break;
- case 'p':
- case 'P':
-@@ -546,33 +538,6 @@
- return 1;
- }
-
--int PanelFront::GpsInput(void *in_window, int in_chr) {
-- kis_window *kwin = (kis_window *) in_window;
--
-- switch (in_chr) {
-- case 's':
-- case 'S':
-- kwin->selected = 1;
-- break;
-- case 'c':
-- case 'C':
-- kwin->selected = 0;
-- break;
-- case 'h':
-- case 'H':
-- SpawnHelp(KismetHelpGps);
-- break;
-- case 'x':
-- case 'X':
-- case 'q':
-- case 'Q':
-- return 0;
-- break;
-- }
--
-- return 1;
--}
--
- int PanelFront::RateInput(void *in_window, int in_chr) {
- switch (in_chr) {
- case 'h':
-@@ -645,24 +610,6 @@
- return 1;
- }
-
--void PanelFront::MuteToggle() {
-- if (muted) {
-- speech = old_speech;
-- sound = old_sound;
-- muted = 0;
-- WriteStatus("Restoring sound");
-- } else if (sound != 0 || speech != 0) {
-- old_speech = speech;
-- old_sound = sound;
-- sound = 0;
-- speech = 0;
-- muted = 1;
-- WriteStatus("Muting sound");
-- } else if (sound == 0 && speech == 0) {
-- WriteStatus("Sound not enabled.");
-- }
--}
--
- int PanelFront::AlertInput(void *in_window, int in_chr) {
- kis_window *kwin = (kis_window *) in_window;
-
-diff -urN kismet.dev/pcapsource.cc kismet.dev2/pcapsource.cc
---- kismet.dev/pcapsource.cc 2006-04-14 23:43:01.697817483 +0200
-+++ kismet.dev2/pcapsource.cc 2006-04-14 20:25:06.000000000 +0200
-@@ -343,11 +343,6 @@
- packet->moddata = moddata;
- packet->modified = 0;
-
-- if (gpsd != NULL) {
-- gpsd->FetchLoc(&packet->gps_lat, &packet->gps_lon, &packet->gps_alt,
-- &packet->gps_spd, &packet->gps_heading, &packet->gps_fix);
-- }
--
- if (datalink_type == DLT_PRISM_HEADER) {
- ret = Prism2KisPack(packet, data, moddata);
- } else if (datalink_type == KDLT_BSD802_11) {
-@@ -1157,133 +1152,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'. Proper device "
-- "for cisco_wifix is eth?:wifi?.", 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;
-@@ -1433,132 +1301,6 @@
-
- }
-
--// Acx100 uses the packhdr iwpriv control to set link state, rest is normal
--int monitor_acx100(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- int ret;
--
-- // Allocate a tracking record for the interface settings and remember our
-- // setup
-- 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;
--
-- // it looks like an orinoco now, apparently
-- if ((ret = Iwconfig_Set_IntPriv(in_dev, "monitor", 1, initch, in_err)) < 0) {
-- if (ret == -2)
-- snprintf(in_err, 1024, "Could not find 'monitor' private ioctl "
-- "Make sure you have the latest ACX100 development release.");
-- return -1;
-- }
--
-- if (chancontrol_wext(in_dev, initch, in_err, NULL) < 0)
-- return -1;
--
-- return 0;
--}
--
--int unmonitor_acx100(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // Restore the IP settings
-- linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- if (Ifconfig_Set_Flags(in_dev, in_err, ifparm->flags) < 0) {
-- return -1;
-- }
--
-- Iwconfig_Set_IntPriv(in_dev, "monitor", 0, ifparm->channel, in_err);
-- Iwconfig_Set_Mode(in_dev, in_err, ifparm->mode);
--
-- if (Iwconfig_Set_SSID(in_dev, in_err, ifparm->essid) < 0)
-- return -1;
--
-- free(ifparm);
--
-- return 1;
--}
--
--int monitor_admtek(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // Allocate a tracking record for the interface settings and remember our
-- // setup
-- linux_ifparm *ifparm = (linux_ifparm *) malloc(sizeof(linux_ifparm));
-- (*in_if) = ifparm;
--
-- // Try to figure out the name so we know if we have fcs bytes or not
-- char iwname[IFNAMSIZ+1];
-- if (Iwconfig_Get_Name(in_dev, in_err, iwname) < 0)
-- return -1;
--
-- if (strncmp(iwname, "IEEE 802.11b", IFNAMSIZ) == 0) {
-- // Looks like the GPL driver, we need to adjust the fcsbytes
-- PcapSource *psrc = (PcapSource *) in_ext;
-- psrc->fcsbytes = 4;
-- }
--
-- if (Ifconfig_Get_Flags(in_dev, in_err, &ifparm->flags) < 0) {
-- return -1;
-- }
--
-- if ((ifparm->flags & IFF_UP)) {
-- 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 (Iwconfig_Get_SSID(in_dev, in_err, ifparm->essid) < 0)
-- return -1;
--
-- } else {
-- ifparm->channel = -1;
-- ifparm->mode = -1;
-- }
--
-- int ret = monitor_wext(in_dev, initch, in_err, in_if, in_ext);
--
-- if (ret < 0 && ret != -2)
-- return ret;
--
-- if (Iwconfig_Set_SSID(in_dev, in_err, "") < 0)
-- return -1;
--
-- return 0;
--}
--
--int unmonitor_admtek(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- if (unmonitor_wext(in_dev, initch, in_err, in_if, in_ext))
-- return -1;
--
-- if (Iwconfig_Set_SSID(in_dev, in_err, ifparm->essid) < 0)
-- return -1;
--
-- return 1;
--}
--// vtar5k iwpriv control to set link state, rest is normal
--int monitor_vtar5k(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // Set the prism iwpriv control to 1
-- if (Iwconfig_Set_IntPriv(in_dev, "prism", 1, 0, in_err) < 0) {
-- return -1;
-- }
--
-- // The rest is standard wireless extensions
-- if (monitor_wext(in_dev, initch, in_err, in_if, in_ext) < 0)
-- return -1;
--
-- return 0;
--}
-
- /* Madwifi NG ioctls from net80211 */
- #define SIOC80211IFCREATE (SIOCDEVPRIVATE+7)
-@@ -1927,249 +1669,6 @@
- return unmonitor_wext(in_dev, initch, in_err, in_if, in_ext);
- }
-
--int monitor_ipw2100(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // Allocate a tracking record for the interface settings and remember our
-- // setup
-- 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 ((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;
--
-- // Call the normal monitor mode
-- return (monitor_wext(in_dev, initch, in_err, in_if, in_ext));
--}
--
--int unmonitor_ipw2100(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // Restore initial monitor header
-- // linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- if (Ifconfig_Set_Flags(in_dev, in_err, ifparm->flags) < 0) {
-- return -1;
-- }
--
-- if (Iwconfig_Set_Mode(in_dev, in_err, ifparm->mode) < 0)
-- return -1;
--
-- free(ifparm);
--
-- return 1;
--}
--
--int monitor_ipw2200(const char *in_dev, int initch, char *in_err,
-- void **in_if, void *in_ext) {
-- // Allocate a tracking record for the interface settings and remember our
-- // setup
-- 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 ((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;
--
-- // Call the normal monitor mode
-- return (monitor_wext(in_dev, initch, in_err, in_if, in_ext));
--}
--
--int unmonitor_ipw2200(const char *in_dev, int initch, char *in_err,
-- void **in_if, void *in_ext) {
-- // Restore initial monitor header
-- // linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- if (Ifconfig_Set_Flags(in_dev, in_err, ifparm->flags) < 0) {
-- return -1;
-- }
--
-- if (Iwconfig_Set_Mode(in_dev, in_err, ifparm->mode) < 0)
-- return -1;
--
-- // James says this wants to be set to channel 0 for proper scanning operation
-- if (Iwconfig_Set_Channel(in_dev, 0, in_err) < 0)
-- return -1;
--
-- free(ifparm);
--
-- return 1;
--}
--
--// (Unless we learn different) the 3945 in full rfmon acts the same as
--// an ipw2200, so we'll use the same control mechanisms
--int monitor_ipw3945(const char *in_dev, int initch, char *in_err,
-- void **in_if, void *in_ext) {
-- // Allocate a tracking record for the interface settings and remember our
-- // setup
-- 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 ((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;
--
-- // Call the normal monitor mode
-- return (monitor_wext(in_dev, initch, in_err, in_if, in_ext));
--}
--
--int unmonitor_ipw3945(const char *in_dev, int initch, char *in_err,
-- void **in_if, void *in_ext) {
-- // Restore initial monitor header
-- // linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- linux_ifparm *ifparm = (linux_ifparm *) (*in_if);
--
-- if (Ifconfig_Set_Flags(in_dev, in_err, ifparm->flags) < 0) {
-- return -1;
-- }
--
-- if (Iwconfig_Set_Mode(in_dev, in_err, ifparm->mode) < 0)
-- return -1;
--
-- // James says this wants to be set to channel 0 for proper scanning operation
-- if (Iwconfig_Set_Channel(in_dev, 0, in_err) < 0)
-- return -1;
--
-- free(ifparm);
--
-- return 1;
--}
--
--// The 3945 in "parasite" mode (until James names it) is a different
--// beast entirely. It uses a dynamically added tap interface to give us
--// realtime rtap formatted frames off the interface, so we need to
--// turn it on via sysfs and then push the new rtapX interface into the source
--// before the open happens
--int monitor_ipwlivetap(const char *in_dev, int initch, char *in_err,
-- void **in_if, void *in_ext) {
-- // We don't try to remember settings because we aren't going to do
-- // anything with them, we're leeching off a dynamic interface made
-- // just for us.
-- char dynif[32];
-- FILE *sysf;
-- char path[1024];
-- short int ifflags;
--
-- // Try to get the flags off the master interface
-- if (Ifconfig_Get_Flags(in_dev, in_err, &ifflags) < 0) {
-- return -1;
-- }
--
-- // If the master interface isn't even up, blow up.
-- if ((ifflags & IFF_UP) == 0) {
-- snprintf(in_err, 1024, "The ipw control interface (%s) is not "
-- "configured as 'up'. The ipwlivetap mode reports "
-- "traffic from a currently running interface. For pure "
-- "rfmon monitor mode, use ipwXXXX instead.", in_dev);
-- return -1;
-- }
--
-- // Use the .../net/foo/device symlink into the .../bus/pci/drivers/
-- // ipw3945/foo/ pci bus interface
-- snprintf(path, 1024, "/sys/class/net/%s/device/rtap_iface",
-- in_dev);
--
-- // Open it in RO mode first and get the current state. I'm not sure
-- // how well frewind works on a dynamic system file so we'll just
-- // close it off and re-open it when we go to set modes, if we need
-- // to.
-- if ((sysf = fopen(path, "r")) == NULL) {
-- snprintf(in_err, 1024, "Failed to open ipw sysfs tap control file, "
-- "check that the version of the ipw drivers you are running "
-- "is recent enough, and that your system has sysfs properly "
-- "set up.");
-- return -1;
-- }
--
-- fgets(dynif, 32, sysf);
--
-- // We're done with the RO
-- fclose(sysf);
--
-- // If it's -1, we aren't turned on and we need to.
-- if (strncmp(dynif, "-1", 32) == 0) {
-- if ((sysf = fopen(path, "w")) == NULL) {
-- snprintf(in_err, 1024, "Failed to open the ipw sysfs tap control "
-- "file for writing (%s). Check that Kismet has the proper "
-- "privilege levels and that you are running a version of the "
-- "ipw drivers which supports associated rfmon.", strerror(errno));
-- return -1;
-- }
--
-- fprintf(sysf, "1\n");
-- fclose(sysf);
--
-- // Reopen it again for reading for the last time, and get the
-- // interface we changed to. Do some minor error checking to make
-- // sure the new interface isn't called -1, 0, or 1, which I'm going
-- // to guess would imply an older driver
-- if ((sysf = fopen(path, "r")) == NULL) {
-- snprintf(in_err, 1024, "Failed to open the ipw sysfs tap "
-- "control to find the interface allocated. Something strange "
-- "has happened, because the control file was available "
-- "previously for setting. Check your system messages.");
-- return -1;
-- }
--
-- fgets(dynif, 32, sysf);
--
-- fclose(sysf);
--
-- // Wait for the distro to settle if its going to rename an interface
-- sleep(1);
-- }
--
-- // Sanity check the interface we were told to use. A 0, 1, -1 probably
-- // means a bad driver version.
-- if (strncmp(dynif, "-1", 32) == 0 || strncmp(dynif, "0", 32) == 0 ||
-- strncmp(dynif, "1", 32) == 0) {
-- snprintf(in_err, 1024, "Got a nonsense interface from the ipw "
-- "sysfs tap control file. This probably means your ipw "
-- "drivers are out of date, or that there is something strange "
-- "happening in the drivers. Check your system messages.");
-- return -1;
-- }
--
-- // Now that we've gone through that nonsense, make sure the
-- // dynamic rtap interface is up
-- if (Ifconfig_Delta_Flags(dynif, in_err, IFF_UP | IFF_RUNNING | IFF_PROMISC) < 0)
-- return -1;
--
-- // And push the config into the packetsoure
-- ((KisPacketSource *) in_ext)->SetInterface(dynif);
--
-- return 1;
--}
--
--int unmonitor_ipwlivetap(const char *in_dev, int initch, char *in_err,
-- void **in_if, void *in_ext) {
-- // Actually there isn't anything to do here. Right now, I don't
-- // think I care if we leave the parasite rtap interface hanging around.
-- // Newcore might do this better, but this isn't newcore.
--
-- return 1;
--}
--
- // "standard" wireless extension monitor mode
- int monitor_wext(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
- int mode;
-@@ -2231,108 +1730,6 @@
- #endif
-
- #ifdef SYS_LINUX
--// wlan-ng modern standard
--int monitor_wlanng(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // I really didn't want to do this...
-- char cmdline[2048];
--
-- // Sanitize the device just to be safe. The ifconfig should fail if
-- // the device is invalid, but why take risks
-- for (unsigned int x = 0; x < strlen(in_dev); x++) {
-- if (!isalnum(in_dev[x])) {
-- snprintf(in_err, STATUS_MAX, "Invalid device '%s'", in_dev);
-- return -1;
-- }
-- }
--
-- if (Ifconfig_Delta_Flags(in_dev, in_err, IFF_UP | IFF_RUNNING | IFF_PROMISC) < 0)
-- return -1;
--
-- // Enable the interface
-- snprintf(cmdline, 2048, "wlanctl-ng %s lnxreq_ifstate ifstate=enable >/dev/null 2>/dev/null", in_dev);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- // Turn off WEP
-- snprintf(cmdline, 2048, "wlanctl-ng %s dot11req_mibset "
-- "mibattribute=dot11PrivacyInvoked=false >/dev/null 2>/dev/null", in_dev);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- // Don't exclude packets
-- snprintf(cmdline, 2048, "wlanctl-ng %s dot11req_mibset "
-- "mibattribute=dot11ExcludeUnencrypted=false >/dev/null 2>/dev/null", in_dev);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- // Turn on rfmon on the initial channel
-- snprintf(cmdline, 2048, "wlanctl-ng %s lnxreq_wlansniff channel=%d "
-- "enable=true prismheader=true >/dev/null 2>/dev/null", in_dev, initch);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- return 0;
--}
--
--// wlan-ng avs
--int monitor_wlanng_avs(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext) {
-- // I really didn't want to do this...
-- char cmdline[2048];
--
-- // Sanitize the device just to be safe. The ifconfig should fail if
-- // the device is invalid, but why take risks
-- for (unsigned int x = 0; x < strlen(in_dev); x++) {
-- if (!isalnum(in_dev[x])) {
-- snprintf(in_err, STATUS_MAX, "Invalid device '%s'", in_dev);
-- return -1;
-- }
-- }
--
-- if (Ifconfig_Delta_Flags(in_dev, in_err, IFF_UP | IFF_RUNNING | IFF_PROMISC) < 0)
-- return -1;
--
-- // Enable the interface
-- snprintf(cmdline, 2048, "wlanctl-ng %s lnxreq_ifstate ifstate=enable >/dev/null 2>/dev/null", in_dev);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- // Turn off WEP
-- snprintf(cmdline, 2048, "wlanctl-ng %s dot11req_mibset "
-- "mibattribute=dot11PrivacyInvoked=false >/dev/null 2>/dev/null", in_dev);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- // Don't exclude packets
-- snprintf(cmdline, 2048, "wlanctl-ng %s dot11req_mibset "
-- "mibattribute=dot11ExcludeUnencrypted=false >/dev/null 2>/dev/null", in_dev);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- // Turn on rfmon on the initial channel
-- snprintf(cmdline, 2048, "wlanctl-ng %s lnxreq_wlansniff channel=%d prismheader=false "
-- "wlanheader=true stripfcs=false keepwepflags=false enable=true >/dev/null 2>/dev/null", in_dev, initch);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- return 0;
--}
--
- int monitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if,
- void *in_ext) {
- char cmdline[2048];
-@@ -2342,7 +1739,7 @@
- snprintf(in_err, 1024, "Unable to set mode using 'iwpriv %s set_monitor 1'. "
- "Some custom firmware images require you to specify the origial "
- "device and a new dynamic device and use the iwconfig controls. "
-- "see the README for how to configure your capture source.");
-+ "see the README for how to configure your capture source.", in_dev);
- return -1;
- }
-
-@@ -2359,7 +1756,7 @@
- snprintf(in_err, 1024, "Unable to set mode using 'iwpriv %s set_monitor 0'. "
- "Some custom firmware images require you to specify the origial "
- "device and a new dynamic device and use the iwconfig controls. "
-- "see the README for how to configure your capture source.");
-+ "see the README for how to configure your capture source.", in_dev);
- return -1;
- }
-
-@@ -2607,75 +2004,6 @@
- return 0;
- }
-
--int chancontrol_ipw2100(const char *in_dev, int in_ch, char *in_err, void *in_ext) {
-- // Introduce a slight delay to let the driver settle, a la orinoco. I don't
-- // like doing this at all since it introduces hiccups into the channel control
-- // process, but....
--
-- int ret = 0;
--
-- ret = chancontrol_wext(in_dev, in_ch, in_err, in_ext);
-- usleep(5000);
--
-- return ret;
--}
--
--int chancontrol_ipw2200(const char *in_dev, int in_ch, char *in_err, void *in_ext) {
-- // Lets see if this really needs the channel change delay like the 2100 did
-- int ret = 0;
--
-- ret = chancontrol_wext(in_dev, in_ch, in_err, in_ext);
-- // Drop a tiny sleep in here to let the channel set settle, otherwise we
-- // run the risk of the card freaking out
-- usleep(7000);
--
-- return ret;
--}
--
--#endif
--
--#ifdef SYS_LINUX
--int chancontrol_wlanng(const char *in_dev, int in_ch, char *in_err, void *in_ext) {
-- // I really didn't want to do this...
-- char cmdline[2048];
--
-- // Turn on rfmon on the initial channel
-- snprintf(cmdline, 2048, "wlanctl-ng %s lnxreq_wlansniff channel=%d enable=true "
-- "prismheader=true >/dev/null 2>&1", in_dev, in_ch);
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- if (in_ext != NULL) {
-- PcapSourceWlanng *src = (PcapSourceWlanng *) in_ext;
-- src->last_channel = in_ch;
-- }
--
-- return 0;
--}
--
--int chancontrol_wlanng_avs(const char *in_dev, int in_ch, char *in_err, void *in_ext) {
-- // I really didn't want to do this...
-- char cmdline[2048];
--
-- // Turn on rfmon on the initial channel
-- snprintf(cmdline, 2048, "wlanctl-ng %s lnxreq_wlansniff channel=%d "
-- "prismheader=false wlanheader=true stripfcs=false keepwepflags=false "
-- "enable=true >/dev/null 2>&1", in_dev, in_ch);
--
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
--
-- if (in_ext != NULL) {
-- PcapSourceWlanng *src = (PcapSourceWlanng *) in_ext;
-- src->last_channel = in_ch;
-- }
--
-- return 0;
--}
- #endif
-
- #ifdef SYS_OPENBSD
-diff -urN kismet.dev/tcpstreamer.cc kismet.dev2/tcpstreamer.cc
---- kismet.dev/tcpstreamer.cc 2005-05-26 16:51:45.000000000 +0200
-+++ kismet.dev2/tcpstreamer.cc 2006-04-14 19:31:56.000000000 +0200
-@@ -30,8 +30,6 @@
- serv_fd = 0;
-
- max_fd = 0;
--
-- gpsd = NULL;
- }
-
- TcpStreamer::~TcpStreamer()
-@@ -287,10 +285,6 @@
- hdr.frame_len = (uint32_t) htonl(sizeof(struct stream_version_packet));
-
- vpkt.drone_version = (uint16_t) htons(STREAM_DRONE_VERSION);
-- if (gpsd != NULL)
-- vpkt.gps_enabled = 1;
-- else
-- vpkt.gps_enabled = 0;
-
- if (!FD_ISSET(in_fd, &client_fds))
- return -1;
-diff -urN kismet.dev/tcpstreamer.h kismet.dev2/tcpstreamer.h
---- kismet.dev/tcpstreamer.h 2005-05-26 16:51:45.000000000 +0200
-+++ kismet.dev2/tcpstreamer.h 2006-04-14 19:31:56.000000000 +0200
-@@ -42,7 +42,6 @@
- #include "ringbuf.h"
- #include "packet.h"
- #include "packetstream.h"
--#include "gpsd.h"
-
- // Global in kismet_drone.cc
- extern int silent;
-@@ -76,9 +75,6 @@
-
- int FetchDescriptor() { return serv_fd; }
-
-- // Register the GPS server for us to use
-- void AddGpstracker(GPSD *in_gpsd) { gpsd = in_gpsd; }
--
- void Kill(int in_fd);
-
- int Poll(fd_set& in_rset, fd_set& in_wset);
-@@ -124,8 +120,6 @@
- fd_set client_fds;
-
- unsigned int max_fd;
--
-- GPSD *gpsd;
- };
-
- #endif