diff --git a/package/kismet/Makefile b/package/kismet/Makefile index 7b8c57c94c..7675b90b33 100644 --- a/package/kismet/Makefile +++ b/package/kismet/Makefile @@ -96,8 +96,12 @@ $(PKG_BUILD_DIR)/kismet_server $(PKG_BUILD_DIR)/kismet_drone $(PKG_BUILD_DIR)/ki $(IPKG_SERVER): $(PKG_BUILD_DIR)/kismet_server $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_SERVER) kismet-server.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) mkdir -p $(IDIR_SERVER)/etc + cp ./files/ap_manuf $(IDIR_SERVER)/etc/ + cp ./files/client_manuf $(IDIR_SERVER)/etc/ cp ./files/kismet.conf $(IDIR_SERVER)/etc/ echo '/etc/kismet.conf' > $(IDIR_SERVER)/CONTROL/conffiles + echo '/etc/ap_manuf' >> $(IDIR_SERVER)/CONTROL/conffiles + echo '/etc/client_manuf' >> $(IDIR_SERVER)/CONTROL/conffiles mkdir -p $(IDIR_SERVER)/usr/sbin cp $< $(IDIR_SERVER)/usr/sbin/ $(STRIP) $(IDIR_SERVER)/usr/sbin/* @@ -124,10 +128,14 @@ $(INFO_DRONE): $(IPKG_DRONE) $(IPKG_CLIENT): $(PKG_BUILD_DIR)/kismet_client $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_CLIENT) kismet-client.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) mkdir -p $(IDIR_CLIENT)/etc + cp ./files/ap_manuf $(IDIR_CLIENT)/etc/ + cp ./files/client_manuf $(IDIR_CLIENT)/etc/ cp ./files/kismet.conf $(IDIR_CLIENT)/etc/ cp ./files/kismet_ui.conf $(IDIR_CLIENT)/etc/ echo '/etc/kismet.conf' > $(IDIR_CLIENT)/CONTROL/conffiles echo '/etc/kismet_ui.conf' >> $(IDIR_CLIENT)/CONTROL/conffiles + echo '/etc/ap_manuf' >> $(IDIR_CLIENT)/CONTROL/conffiles + echo '/etc/client_manuf' >> $(IDIR_CLIENT)/CONTROL/conffiles mkdir -p $(IDIR_CLIENT)/usr/sbin cp $< $(IDIR_CLIENT)/usr/sbin/ $(STRIP) $(IDIR_CLIENT)/usr/sbin/* diff --git a/package/kismet/files/ap_manuf b/package/kismet/files/ap_manuf new file mode 100644 index 0000000000..7561b6d5bd --- /dev/null +++ b/package/kismet/files/ap_manuf @@ -0,0 +1,79 @@ +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/package/kismet/files/client_manuf b/package/kismet/files/client_manuf new file mode 100644 index 0000000000..b1c5ef4258 --- /dev/null +++ b/package/kismet/files/client_manuf @@ -0,0 +1,249 @@ +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/package/kismet/files/kismet.conf b/package/kismet/files/kismet.conf index 4291989b56..1f750a60c9 100644 --- a/package/kismet/files/kismet.conf +++ b/package/kismet/files/kismet.conf @@ -4,13 +4,13 @@ # not continually reading --help! # Version of Kismet config -version=2004.10.R1 +version=2005.01.R1 # Name of server (Purely for organiational purposes) servername=Kismet # User to setid to (should be your normal user) -suiduser=root +suiduser=nobody # Sources are defined as: # source=cardtype,interface,name[,initialchannel] @@ -18,7 +18,7 @@ suiduser=root # 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=none,none,addme +source=wrt54g,prism0,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 @@ -99,7 +99,7 @@ allowedhosts=127.0.0.1 maxclients=5 # Do we have a GPS? -gps=true +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 @@ -161,50 +161,6 @@ allowkeytransmit=true # How often (in seconds) do we write all our data files (0 to disable) writeinterval=300 -# Do we use sound? -# Not to be confused with GUI sound parameter, this controls wether or not the -# server itself will play sound. Primarily for headless or automated systems. -sound=false -# Path to sound player -soundplay=/usr/bin/play -# Optional parameters to pass to the player -# soundopts=--volume=.3 -# New network found -sound_new=/tmp/share/kismet/wav/new_network.wav -# Wepped new network -# sound_new_wep=${prefix}/com/kismet/wav/new_wep_network.wav -# Network traffic sound -sound_traffic=/tmp/share/kismet/wav/traffic.wav -# Network junk traffic found -sound_junktraffic=/tmp/share/kismet/wav/junk_traffic.wav -# GPS lock aquired sound -# sound_gpslock=/tmp/share/kismet/wav/foo.wav -# GPS lock lost sound -# sound_gpslost=/tmp/share/kismet/wav/bar.wav -# Alert sound -sound_alert=/tmp/share/kismet/wav/alert.wav - -# Does the server have speech? (Again, not to be confused with the GUI's speech) -speech=false -# Server's path to Festival -festival=/usr/bin/festival -# How do we speak? Valid options: -# speech Normal speech -# nato NATO spellings (alpha, bravo, charlie) -# spell Spell the letters out (aye, bee, sea) -speech_type=nato -# speech_encrypted and speech_unencrypted - Speech templates -# Similar to the logtemplate option, this lets you customize the speech output. -# speech_encrypted is used for an encrypted network spoken string -# speech_unencrypted is used for an unencrypted network spoken string -# -# %b is replaced by the BSSID (MAC) of the network -# %s is replaced by the SSID (name) of the network -# %c is replaced by the CHANNEL of the network -# %r is replaced by the MAX RATE of the network -speech_encrypted=New network detected, s.s.i.d. %s, channel %c, network encrypted. -speech_unencrypted=New network detected, s.s.i.d. %s, channel %c, network open. - # 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 diff --git a/package/kismet/files/kismet_drone.conf b/package/kismet/files/kismet_drone.conf index 865278ab7a..a485471339 100644 --- a/package/kismet/files/kismet_drone.conf +++ b/package/kismet/files/kismet_drone.conf @@ -1,12 +1,12 @@ # Kismet drone config file -version=Feb.04.01a +version=2005.04.R1 # Name of server (Purely for organiational purposes) servername=Kismet # User to setid to (should be your normal user) -suiduser=your_user_here +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 @@ -48,8 +48,7 @@ maxclients=5 # enablesources line to enable them. For example: # source=prism2,wlan0,prism # source=cisco,eth0,cisco - -source=generic,prism0,Kismet-Drone +source=wrt54g,prism0,wireless # Comma-separated list of sources to enable. This is only needed if you wish # to selectively enable multiple sources. diff --git a/package/kismet/files/kismet_ui.conf b/package/kismet/files/kismet_ui.conf index 7a0bcb15c0..e704b37e51 100644 --- a/package/kismet/files/kismet_ui.conf +++ b/package/kismet/files/kismet_ui.conf @@ -1,10 +1,10 @@ # Kismet GUI config file # Version of Kismet config -version=2004.10.R1 +version=2005.04.R1 # Do we show the intro window? -showintro=true +showintro=false # Gui type to use # Valid types: curses, panel @@ -19,28 +19,6 @@ decay=3 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 -# Does the GUI use sound? -# NOT to be confused with "sound" option later, which is for the SERVER to make -# noise on whatever host it's running on. -sound=false -# Path to sound player -# soundplay=/usr/bin/play -# Optional parameters to pass to the player -# soundopts=--volume=.3 -# New network found -# sound_new=/usr/share/kismet/wav/new_network.wav -# Wepped new network -# sound_new_wep=${prefix}/com/kismet/wav/new_wep_network.wav -# Network traffic sound -# sound_traffic=/usr/share/kismet/wav/traffic.wav -# Network junk traffic found -# sound_junktraffic=/usr/share/kismet/wav/junk_traffic.wav -# GPS lock aquired sound -# sound_gpslock=/usr/share/kismet/wav/foo.wav -# GPS lock lost sound -# sound_gpslost=/usr/share/kismet/wav/bar.wav -# Alert sound -# sound_alert=/usr/share/kismet/wav/alert.wav # Do we auotmatically make a group for probed networks or do we show them # amidst other networks? @@ -51,27 +29,6 @@ autogroup_data=true # Display battery status? apm=false -# Does the GUI talk to us with Festival? -speech=false -# Where is festival located for the GUI? -festival=/usr/bin/festival -# How do we speak? Valid options: -# speech Normal speech -# nato NATO spellings (alpha, bravo, charlie) -# spell Spell the letters out (aye, bee, sea) -speech_type=nato -# speech_encrypted and speech_unencrypted - Speech templates -# Similar to the logtemplate option, this lets you customize the speech output. -# speech_encrypted is used for an encrypted network spoken string -# speech_unencrypted is used for an unencrypted network spoken string -# -# %b is replaced by the BSSID (MAC) of the network -# %s is replaced by the SSID (name) of the network -# %c is replaced by the CHANNEL of the network -# %r is replaced by the MAX RATE of the network -speech_encrypted=New network detected, s.s.i.d. %s, channel %c, network encrypted. -speech_unencrypted=New network detected, s.s.i.d. %s, channel %c, network open. - # 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. diff --git a/package/kismet/patches/remove-sources.patch b/package/kismet/patches/100-remove_sources.patch similarity index 100% rename from package/kismet/patches/remove-sources.patch rename to package/kismet/patches/100-remove_sources.patch diff --git a/package/kismet/patches/uclibc++-fixes.patch b/package/kismet/patches/110-uclibc++_fixes.patch similarity index 91% rename from package/kismet/patches/uclibc++-fixes.patch rename to package/kismet/patches/110-uclibc++_fixes.patch index 995d5efed6..4cf5a7b5b5 100644 --- a/package/kismet/patches/uclibc++-fixes.patch +++ b/package/kismet/patches/110-uclibc++_fixes.patch @@ -27,4 +27,3 @@ diff -urN kismet-2005-04-R1.old/macaddr.h kismet-2005-04-R1.dev/macaddr.h return (singleton_itr != op.singleton_itr) || (vector_itr != op.vector_itr); } -Binary files kismet-2005-04-R1.old/.macaddr.h.swp and kismet-2005-04-R1.dev/.macaddr.h.swp differ diff --git a/package/kismet/patches/120-remove_sound.patch b/package/kismet/patches/120-remove_sound.patch new file mode 100644 index 0000000000..ca2737c503 --- /dev/null +++ b/package/kismet/patches/120-remove_sound.patch @@ -0,0 +1,1051 @@ +diff -urN kismet-2005-04-R1.old/Makefile.in kismet-2005-04-R1.dev/Makefile.in +--- kismet-2005-04-R1.old/Makefile.in 2005-05-04 21:09:18.000000000 +0200 ++++ kismet-2005-04-R1.dev/Makefile.in 2005-05-04 21:19:26.000000000 +0200 +@@ -39,7 +39,7 @@ + DEPEND = .depend + + # Objects +-PSO = util.o ringbuf.o configfile.o speech.o ifcontrol.o iwcontrol.o packet.o \ ++PSO = util.o ringbuf.o configfile.o ifcontrol.o iwcontrol.o packet.o \ + pcapsource.o wtapfilesource.o \ + dronesource.o packetsourcetracker.o kis_packsources.o \ + wtapdump.o wtaplocaldump.o gpsdump.o airsnortdump.o fifodump.o \ +@@ -55,7 +55,7 @@ + timetracker.o gpsd.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 +diff -urN kismet-2005-04-R1.old/kismet_client.cc kismet-2005-04-R1.dev/kismet_client.cc +--- kismet-2005-04-R1.old/kismet_client.cc 2005-04-03 07:33:42.000000000 +0200 ++++ kismet-2005-04-R1.dev/kismet_client.cc 2005-05-04 21:23:14.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,10 +46,6 @@ + char *configfile; + char *uiconfigfile; + char *server = NULL; +-int sound = -1; +-int speech = -1; +-int speech_encoding = 0; +-string speech_sentence_encrypted, speech_sentence_unencrypted; + unsigned int metric = 0; + unsigned int reconnect = 0; + +@@ -58,20 +53,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", +@@ -115,215 +99,6 @@ + exit(0); + } + +-// Subprocess sound handler +-void SoundHandler(int *fds, const char *player, map 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 \"(SayText \\\"%s\\\")\" | %s >/dev/null 2>/dev/null", +- 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]; + +@@ -332,9 +107,6 @@ + + char *reqgui = NULL; + +- string sndplay; +- const char *festival = NULL; +- + char *columns = NULL; + char *clientcolumns = NULL; + +@@ -389,7 +161,6 @@ + fprintf(stderr, "Using alternate UI config file: %s\n", uiconfigfile); + break; + case 'q': +- sound = 0; + break; + case 'g': + reqgui = strdup(optarg); +@@ -513,67 +284,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; +- +- 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"); +@@ -631,45 +341,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); +@@ -793,8 +464,6 @@ + + int num_networks = 0, num_packets = 0, num_noise = 0, num_dropped = 0; + +- time_t last_click = time(0); +- + fd_set read_set; + FD_ZERO(&read_set); + +@@ -876,10 +545,6 @@ + } + + if (pollret != 0) { +- if (pollret == CLIENT_ALERT) +- if (sound == 1) +- sound = PlaySound("alert"); +- + if (strlen(tcpcli->FetchStatus()) != 0) { + gui->WriteStatus(tcpcli->FetchStatus()); + // gui->DrawDisplay(); +@@ -888,12 +553,8 @@ + // 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; + } + } +@@ -901,28 +562,6 @@ + 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(); +@@ -930,17 +569,6 @@ + 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); +- } +- } + } + } + } else { +diff -urN kismet-2005-04-R1.old/kismet_server.cc kismet-2005-04-R1.dev/kismet_server.cc +--- kismet-2005-04-R1.old/kismet_server.cc 2005-05-04 21:09:18.000000000 +0200 ++++ kismet-2005-04-R1.dev/kismet_server.cc 2005-05-04 21:23:01.000000000 +0200 +@@ -56,7 +56,6 @@ + #include "timetracker.h" + #include "alertracker.h" + +-#include "speech.h" + #include "tcpserver.h" + #include "server_globals.h" + #include "kismet_server.h" +@@ -98,7 +97,6 @@ + + FifoDumpFile fifodump; + TcpServer ui_server; +-int sound = -1; + packet_info last_info; + int decay; + channel_power channel_graph[CHANNEL_MAX]; +@@ -112,10 +110,8 @@ + macmap 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,16 +173,6 @@ + int tcpport = -1; + int tcpmax; + +-//const char *sndplay = NULL; +-string sndplay; +- +-const char *festival = NULL; +-int speech = -1; +-int speech_encoding = 0; +-string speech_sentence_encrypted, speech_sentence_unencrypted; +- +-map wav_map; +- + int beacon_log = 1; + int phy_log = 1; + int mangle_log = 0; +@@ -349,12 +335,6 @@ + + #endif + +- // Kill our sound players +- if (soundpid > 0) +- kill(soundpid, 9); +- if (speechpid > 0) +- kill(speechpid, 9); +- + // Shut down the packet sources + sourcetracker.CloseSources(); + +@@ -365,227 +345,10 @@ + exit(0); + } + +-// Subprocess sound handler +-void SoundHandler(int *fds, const char *player, map 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 \"(SayText \\\"%s\\\")\" | %s >/dev/null 2>/dev/null", +- 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) { +@@ -842,15 +605,11 @@ + 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; + } +@@ -1533,69 +1292,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; +- +- 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"); +@@ -1615,45 +1311,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; + +@@ -2172,7 +1829,6 @@ + break; + case 'q': + // Quiet +- sound = 0; + break; + case 'v': + // version +@@ -2781,7 +2437,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; + + +@@ -2944,38 +2599,9 @@ + + tracker.ProcessPacket(info); + +- if (tracker.FetchNumNetworks() > num_networks) { +- if (sound == 1) +- if (info.wep && wav_map.find("new_wep") != wav_map.end()) +- sound = PlaySound("new_wep"); +- else +- sound = PlaySound("new"); +- if (speech == 1) { +- string text; +- +- if (info.wep) +- 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(); +diff -urN kismet-2005-04-R1.old/kismet_server.h kismet-2005-04-R1.dev/kismet_server.h +--- kismet-2005-04-R1.old/kismet_server.h 2005-04-03 07:33:42.000000000 +0200 ++++ kismet-2005-04-R1.dev/kismet_server.h 2005-05-04 21:17:50.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 soundmap); + void ProtocolAlertEnable(int in_fd); + void ProtocolNetworkEnable(int in_fd); + void ProtocolClientEnable(int in_fd); +diff -urN kismet-2005-04-R1.old/panelfront.cc kismet-2005-04-R1.dev/panelfront.cc +--- kismet-2005-04-R1.old/panelfront.cc 2005-04-03 07:33:42.000000000 +0200 ++++ kismet-2005-04-R1.dev/panelfront.cc 2005-05-04 21:19:03.000000000 +0200 +@@ -420,8 +420,6 @@ + + //cutoff = 0; + +- muted = 0; +- + // Push blanks into the RRD history vector + packet_history.reserve(60 * 5); + for (unsigned int x = 0; x < (60 * 5); x++) +@@ -678,8 +676,6 @@ + + zoomed = 0; + +- muted = 0; +- + if (colorkilled) + WriteStatus("Terminal cannot support colors, turning off color options."); + +diff -urN kismet-2005-04-R1.old/panelfront.h kismet-2005-04-R1.dev/panelfront.h +--- kismet-2005-04-R1.old/panelfront.h 2005-04-03 07:33:42.000000000 +0200 ++++ kismet-2005-04-R1.dev/panelfront.h 2005-05-04 21:18:48.000000000 +0200 +@@ -81,8 +81,6 @@ + extern char *KismetIntroText[]; + + // These are in the kismet_curses.cc main code +-extern int sound; +-extern int speech; + extern unsigned int metric; + + class PanelFront : public Frontend { +@@ -383,10 +381,6 @@ + + int hsize, vsize; + +- int old_sound; +- int old_speech; +- int muted; +- + vector packet_history; + + float lat, lon, spd, alt, heading; +diff -urN kismet-2005-04-R1.old/panelfront_input.cc kismet-2005-04-R1.dev/panelfront_input.cc +--- kismet-2005-04-R1.old/panelfront_input.cc 2005-04-03 07:33:42.000000000 +0200 ++++ kismet-2005-04-R1.dev/panelfront_input.cc 2005-05-04 21:18:19.000000000 +0200 +@@ -639,21 +639,6 @@ + } + + 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) {