summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-02-14 23:28:10 (UTC)
committer mickeyl <mickeyl>2003-02-14 23:28:10 (UTC)
commite8f0c623ff6a8822b84b9cc4ee3c1fb3b3016738 (patch) (side-by-side diff)
treedd6a6e1e7e33c94b41240c9547ce0e7f7a255414
parent643c8058bbd67a8fedfd98cb895419cadde04e78 (diff)
downloadopie-e8f0c623ff6a8822b84b9cc4ee3c1fb3b3016738.zip
opie-e8f0c623ff6a8822b84b9cc4ee3c1fb3b3016738.tar.gz
opie-e8f0c623ff6a8822b84b9cc4ee3c1fb3b3016738.tar.bz2
- remove manual switch into monitor mode ==> wellenreiterd handles this now
- remove manual start of channelswitcher ==> wellenreiterd handles this now - add device type configurations for cisco, wlan-ng, hostap and orinoco - minor bugfix to the start/stop logic
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui30
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp26
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h9
-rw-r--r--noncore/net/wellenreiter/gui/manufacturers.h3
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp97
5 files changed, 95 insertions, 70 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index 8dcf513..7992e6b 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -13,3 +13,3 @@
<y>0</y>
- <width>228</width>
+ <width>224</width>
<height>267</height>
@@ -155,2 +155,6 @@
</property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the interface used for sniffing.</string>
+ </property>
</widget>
@@ -182,3 +186,9 @@
<name>text</name>
- <string>orinoco</string>
+ <string>cisco</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>wlan-ng</string>
</property>
@@ -188,3 +198,9 @@
<name>text</name>
- <string>prism</string>
+ <string>hostap</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>orinoco</string>
</property>
@@ -205,2 +221,6 @@
</property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the type of driver used for sniffing.</string>
+ </property>
</widget>
@@ -247,2 +267,6 @@
</property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the channel hop interval.</string>
+ </property>
</widget>
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 04e3457..515d9b2 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -16,2 +16,5 @@
#include "configwindow.h"
+#include <qmap.h>
+#include <qcombobox.h>
+#include <qspinbox.h>
@@ -20,4 +23,25 @@ WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char
{
-
+ _devicetype[ "cisco" ] = 1;
+ _devicetype[ "wlan-ng" ] = 2;
+ _devicetype[ "hostap" ] = 3;
+ _devicetype[ "orinoco" ] = 4;
+ _devicetype[ "<manual>" ] = 5;
};
+int WellenreiterConfigWindow::daemonDeviceType()
+{
+ QString name = deviceType->currentText();
+ if ( _devicetype.contains( name ) )
+ {
+ return _devicetype[name];
+ }
+ else
+ {
+ return 0;
+ }
+};
+
+int WellenreiterConfigWindow::daemonHopInterval()
+{
+ return hopInterval->cleanText().toInt();
+}
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h
index c2db283..c627901 100644
--- a/noncore/net/wellenreiter/gui/configwindow.h
+++ b/noncore/net/wellenreiter/gui/configwindow.h
@@ -19,2 +19,3 @@
#include "configbase.h"
+#include <qmap.h>
@@ -25,4 +26,8 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase
WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 );
-
-
+ int daemonDeviceType();
+ int daemonHopInterval();
+
+ protected:
+ QMap<QString, int> _devicetype;
+
};
diff --git a/noncore/net/wellenreiter/gui/manufacturers.h b/noncore/net/wellenreiter/gui/manufacturers.h
index 67afe21..75728b1 100644
--- a/noncore/net/wellenreiter/gui/manufacturers.h
+++ b/noncore/net/wellenreiter/gui/manufacturers.h
@@ -19,3 +19,2 @@
#include <qmap.h>
-#include <string.h>
@@ -32,3 +31,3 @@ class ManufacturerDB
QMap<QString, QString> manufacturers;
-
+
};
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 4ee9a35..4c1c972 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -70,3 +70,3 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
//
-
+
QString manufile;
@@ -91,3 +91,3 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
#endif
-
+
//
@@ -116,3 +116,3 @@ Wellenreiter::Wellenreiter( QWidget* parent, const char* name, WFlags fl )
netview->setColumnWidthMode( 1, QListView::Manual );
-
+
if ( manufacturerdb )
@@ -153,3 +153,3 @@ void Wellenreiter::handleMessage()
int result = wl_recv( &daemon_fd, sockaddr, (char*) &buffer, WL_SOCKBUF );
-
+
if ( result == -1 )
@@ -159,5 +159,5 @@ void Wellenreiter::handleMessage()
}
-
+
int command = buffer[1] - 48;
-
+
/*
@@ -210,3 +210,3 @@ void Wellenreiter::dataReceived()
logwindow->log( "(d) Received data from daemon" );
- handleMessage();
+ handleMessage();
}
@@ -228,25 +228,20 @@ void Wellenreiter::buttonClicked()
daemonRunning = false;
-
+
logwindow->log( "(i) Daemon has been stopped." );
button->setText( "Start Scanning" );
-
+
// Stop daemon - ugly for now... later better
-
- system( "killall orinoco_hopper" );
+
system( "killall wellenreiterd" );
-
+
// get configuration from config window
-
+
const QString& interface = configwindow->interfaceName->currentText();
const QString& cardtype = configwindow->deviceType->currentText();
- const QString& interval = configwindow->hopInterval->cleanText();
-
+ //const QString& interval = configwindow->hopInterval->cleanText();
+
// reset the card trying to get into a usable state again
-
+
QString cmdline;
- cmdline.sprintf( "iwpriv %s monitor 1", (const char*) interface );
- system( cmdline );
- cmdline.sprintf( "iwpriv %s monitor 1 6", (const char*) interface );
- system( cmdline );
- cmdline.sprintf( "ifconfig %s -promisc", (const char*) interface );
+ cmdline.sprintf( "cardctl eject; cardctl insert" );
system( cmdline );
@@ -255,3 +250,3 @@ void Wellenreiter::buttonClicked()
cmdline.sprintf( "killall -10 udhcpc" );
-
+
// message the user
@@ -260,17 +255,13 @@ void Wellenreiter::buttonClicked()
}
-
+
else
- {
-
- logwindow->log( "(i) Daemon has been started." );
- daemonRunning = true;
- button->setText( "Stop Scanning" );
-
+ {
+
// get configuration from config window
-
+
const QString& interface = configwindow->interfaceName->currentText();
- const QString& cardtype = configwindow->deviceType->currentText();
- const QString& interval = configwindow->hopInterval->cleanText();
-
- if ( ( interface == "<select>" ) || ( cardtype == "<select>" ) )
+ const int cardtype = configwindow->daemonDeviceType();
+ const int interval = configwindow->daemonHopInterval();
+
+ if ( ( interface == "<select>" ) || ( cardtype == 0 ) )
{
@@ -279,33 +270,15 @@ void Wellenreiter::buttonClicked()
}
-
- // set interface into monitor mode
- /* Global::Execute definitely does not work very well with non-gui stuff! :( */
-
+
+ // start wellenreiterd
+
QString cmdline;
- cmdline.sprintf( "iwpriv %s monitor 2", (const char*) interface );
- system( cmdline );
- cmdline.sprintf( "iwpriv %s monitor 2 1", (const char*) interface );
- system( cmdline );
-
- // start channel hopper
-
- cmdline = "orinoco_hopper ";
- cmdline += interface;
- cmdline += " -i ";
- cmdline += interval;
- cmdline += " &";
- qDebug( "execute: %s", (const char*) cmdline );
- system( cmdline );
- qDebug( "done" );
-
- // start daemon
-
- cmdline = "wellenreiterd ";
- cmdline += interface;
- cmdline += " 3";
- cmdline += " &";
+ cmdline.sprintf( "wellenreiterd %s %d &", (const char*) interface, cardtype );
- qDebug( "execute: %s", (const char*) cmdline );
+ qDebug( "about to execute '%s' ...", (const char*) cmdline );
system( cmdline );
- qDebug( "done" );
+ qDebug( "done!" );
+
+ logwindow->log( "(i) Daemon has been started." );
+ daemonRunning = true;
+ button->setText( "Stop Scanning" );