summaryrefslogtreecommitdiffstats
path: root/openwrt/package/kismet/patches/120-wrt54g_source.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-08-23 00:06:14 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-08-23 00:06:14 +0000
commit7f58c40bd705c92376d01be3a471896e8c599f63 (patch)
tree0322a77bdb9b1f25770bdf3abe2a7b24ba8da612 /openwrt/package/kismet/patches/120-wrt54g_source.patch
parentb85c041bcefead34ebda03ce326f604b8fb8876e (diff)
update kismet package and fix broken ssid handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@1728 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/kismet/patches/120-wrt54g_source.patch')
-rw-r--r--openwrt/package/kismet/patches/120-wrt54g_source.patch181
1 files changed, 0 insertions, 181 deletions
diff --git a/openwrt/package/kismet/patches/120-wrt54g_source.patch b/openwrt/package/kismet/patches/120-wrt54g_source.patch
deleted file mode 100644
index 2a0eac24a..000000000
--- a/openwrt/package/kismet/patches/120-wrt54g_source.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-diff -urN kismet.old/kis_packsources.cc kismet.dev/kis_packsources.cc
---- kismet.old/kis_packsources.cc 2005-08-15 00:15:11.107594000 +0200
-+++ kismet.dev/kis_packsources.cc 2005-08-15 01:56:36.467769104 +0200
-@@ -215,7 +215,7 @@
- #endif
- sourcetracker->RegisterPacketsource("wrt54g", 1, "na", 0,
- pcapsource_wrt54g_registrant,
-- monitor_wrt54g, NULL, NULL, 0);
-+ monitor_wrt54g, unmonitor_wrt54g, chancontrol_wext, 0);
- #else
- REG_EMPTY_CARD(sourcetracker, "wlanng");
- REG_EMPTY_CARD(sourcetracker, "wlanng_avs");
-diff -urN kismet.old/packetsourcetracker.cc kismet.dev/packetsourcetracker.cc
---- kismet.old/packetsourcetracker.cc 2005-08-15 00:33:14.628874000 +0200
-+++ kismet.dev/packetsourcetracker.cc 2005-08-15 01:20:41.284203096 +0200
-@@ -984,6 +984,7 @@
- (meta_packsources[chanpak.meta_num]->device.c_str(),
- chanpak.channel, errstr,
- (void *) (meta_packsources[chanpak.meta_num]->capsource)) < 0) {
-+#if 0
-
- meta_packsources[chanpak.meta_num]->consec_errors++;
-
-@@ -1005,6 +1006,7 @@
- CHANFLAG_FATAL));
- continue;
- }
-+#endif
- } else {
- // Otherwise reset the error count
- meta_packsources[chanpak.meta_num]->consec_errors = 0;
-diff -urN kismet.old/pcapsource.cc kismet.dev/pcapsource.cc
---- kismet.old/pcapsource.cc 2005-08-15 00:40:28.291416000 +0200
-+++ kismet.dev/pcapsource.cc 2005-08-15 01:55:53.972229408 +0200
-@@ -115,6 +115,53 @@
- u_char callback_data[MAX_PACKET_LEN];
-
- // Open a source
-+int PcapSourceWrt54g::OpenSource() {
-+ channel = 0;
-+
-+ errstr[0] = '\0';
-+
-+ char *unconst = strdup("prism0");
-+
-+ pd = pcap_open_live(unconst, MAX_PACKET_LEN, 1, 1000, errstr);
-+
-+ #if defined (SYS_OPENBSD) || defined(SYS_NETBSD) && defined(HAVE_RADIOTAP)
-+ /* Request desired DLT on multi-DLT systems that default to EN10MB. We do this
-+ later anyway but doing it here ensures we have the desired DLT from the get go. */
-+ pcap_set_datalink(pd, DLT_IEEE802_11_RADIO);
-+ #endif
-+
-+ free(unconst);
-+
-+ if (strlen(errstr) > 0)
-+ return -1; // Error is already in errstr
-+
-+ paused = 0;
-+
-+ errstr[0] = '\0';
-+
-+ num_packets = 0;
-+
-+ if (DatalinkType() < 0)
-+ return -1;
-+
-+#ifdef HAVE_PCAP_NONBLOCK
-+ pcap_setnonblock(pd, 1, errstr);
-+#elif !defined(SYS_OPENBSD)
-+ // do something clever (Thanks to Guy Harris for suggesting this).
-+ int save_mode = fcntl(pcap_get_selectable_fd(pd), F_GETFL, 0);
-+ if (fcntl(pcap_get_selectable_fd(pd), F_SETFL, save_mode | O_NONBLOCK) < 0) {
-+ snprintf(errstr, 1024, "fcntl failed, errno %d (%s)",
-+ errno, strerror(errno));
-+ }
-+#endif
-+
-+ if (strlen(errstr) > 0)
-+ return -1; // Ditto
-+
-+ return 1;
-+}
-+
-+// Open a source
- int PcapSource::OpenSource() {
- channel = 0;
-
-@@ -1561,45 +1608,39 @@
-
- int monitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if,
- void *in_ext) {
-- char cmdline[2048];
-+ char cmdline[2048];
- int mode;
- int wlmode = 0;
-
-- vector<string> devbits = StrTokenize(in_dev, ":");
-+ vector<string> devbits = StrTokenize(in_dev, ":");
-
-- if (devbits.size() < 2) {
-- snprintf(cmdline, 2048, "/usr/sbin/wl monitor 1");
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to set mode using 'wl monitor 1'. Some "
-- "custom firmware images require you to specify the origial "
-- "device and a new dynamic device and use the iwconfig controls. "
-- "see the README for how to configure your capture source.");
-- return -1;
-- }
-- } else {
-- // Get the mode ... If this doesn't work, try the old wl method.
-- if (Iwconfig_Get_Mode(devbits[0].c_str(), in_err, &mode) < 0) {
-- fprintf(stderr, "WARNING: Getting wireless mode via ioctls failed, "
-- "defaulting to trying the 'wl' command.\n");
-- wlmode = 1;
-- }
-+ snprintf(cmdline, 2048, "/usr/sbin/iwpriv %s set_monitor 1", in_dev);
-+ if (RunSysCmd(cmdline) < 0) {
-+ snprintf(in_err, 1024, "Unable to set mode using 'iwpriv %s set_monitor 1'. Some "
-+ "custom firmware images require you to specify the origial "
-+ "device and a new dynamic device and use the iwconfig controls. "
-+ "see the README for how to configure your capture source.", in_dev);
-+ return -1;
-+ }
-
-- if (wlmode == 1) {
-- snprintf(cmdline, 2048, "/usr/sbin/wl monitor 1");
-- if (RunSysCmd(cmdline) < 0) {
-- snprintf(in_err, 1024, "Unable to execute '%s'", cmdline);
-- return -1;
-- }
-- } else if (mode != LINUX_WLEXT_MONITOR) {
-- // Set it
-- if (Iwconfig_Set_Mode(devbits[0].c_str(), in_err,
-- LINUX_WLEXT_MONITOR) < 0) {
-- snprintf(in_err, STATUS_MAX, "Unable to set iwconfig monitor "
-- "mode. If you are using an older wrt54g, try specifying "
-- "only the ethernet device, not ethX:prismX");
-- return -1;
-- }
-- }
-+ return 1;
-+}
-+
-+int unmonitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if,
-+ void *in_ext) {
-+ char cmdline[2048];
-+ int mode;
-+ int wlmode = 0;
-+
-+ vector<string> devbits = StrTokenize(in_dev, ":");
-+
-+ snprintf(cmdline, 2048, "/usr/sbin/iwpriv %s set_monitor 0", in_dev);
-+ if (RunSysCmd(cmdline) < 0) {
-+ snprintf(in_err, 1024, "Unable to set mode using 'iwpriv %s set_monitor 0'. Some "
-+ "custom firmware images require you to specify the origial "
-+ "device and a new dynamic device and use the iwconfig controls. "
-+ "see the README for how to configure your capture source.", in_dev);
-+ return -1;
- }
-
- return 1;
-diff -urN kismet.old/pcapsource.h kismet.dev/pcapsource.h
---- kismet.old/pcapsource.h 2005-08-15 00:42:50.849744000 +0200
-+++ kismet.dev/pcapsource.h 2005-08-15 01:56:07.649150200 +0200
-@@ -265,6 +265,7 @@
- PcapSourceWrt54g(string in_name, string in_dev) : PcapSource(in_name, in_dev) {
- fcsbytes = 4;
- }
-+ int OpenSource();
- int FetchPacket(kis_packet *packet, uint8_t *data, uint8_t *moddata);
- protected:
- carrier_type IEEE80211Carrier();
-@@ -388,6 +389,7 @@
- #ifdef SYS_LINUX
- // linksys wrt54g monitoring
- int monitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext);
-+int unmonitor_wrt54g(const char *in_dev, int initch, char *in_err, void **in_if, void *in_ext);
- #endif
-
- // This should be expanded to handle BSD...