add more config files to kismet, remove sound and speech features
authorFelix Fietkau <nbd@openwrt.org>
Thu, 5 May 2005 09:37:29 +0000 (09:37 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 5 May 2005 09:37:29 +0000 (09:37 +0000)
SVN-Revision: 803

openwrt/package/kismet/Makefile
openwrt/package/kismet/files/ap_manuf [new file with mode: 0644]
openwrt/package/kismet/files/client_manuf [new file with mode: 0644]
openwrt/package/kismet/files/kismet.conf
openwrt/package/kismet/files/kismet_drone.conf
openwrt/package/kismet/files/kismet_ui.conf
openwrt/package/kismet/patches/100-remove_sources.patch [new file with mode: 0644]
openwrt/package/kismet/patches/110-uclibc++_fixes.patch [new file with mode: 0644]
openwrt/package/kismet/patches/120-remove_sound.patch [new file with mode: 0644]
openwrt/package/kismet/patches/remove-sources.patch [deleted file]
openwrt/package/kismet/patches/uclibc++-fixes.patch [deleted file]

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