author | mickeyl <mickeyl> | 2003-05-08 13:37:06 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-05-08 13:37:06 (UTC) |
commit | 78c60031b506b85dc20bd555d83486aeb831bf38 (patch) (side-by-side diff) | |
tree | 8bd0af604c911309162560fcac7bc2dcd9855d51 | |
parent | 08f9d5965b127b0b889b96cf16b7d34b5a9a6928 (diff) | |
download | opie-78c60031b506b85dc20bd555d83486aeb831bf38.zip opie-78c60031b506b85dc20bd555d83486aeb831bf38.tar.gz opie-78c60031b506b85dc20bd555d83486aeb831bf38.tar.bz2 |
- add more sanity checks and verbose error messages
- try to restart dhcp client after having killed it before
-rw-r--r-- | noncore/net/wellenreiter/gui/configbase.ui | 8 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/main.cpp | 17 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.cpp | 9 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/protolistview.cpp | 2 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 16 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.h | 1 |
6 files changed, 45 insertions, 8 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui index 422826a..590ca92 100644 --- a/noncore/net/wellenreiter/gui/configbase.ui +++ b/noncore/net/wellenreiter/gui/configbase.ui @@ -112,8 +112,12 @@ <name>name</name> <cstring>GroupBox1</cstring> </property> <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> <name>title</name> <string>Scan on channel</string> </property> <property> @@ -458,8 +462,12 @@ <name>name</name> <cstring>adaptiveHopping</cstring> </property> <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> <name>text</name> <string>Use Adaptive(TM) Hop Scheme</string> </property> </widget> diff --git a/noncore/net/wellenreiter/gui/main.cpp b/noncore/net/wellenreiter/gui/main.cpp index 96ebb3f..55a5260 100644 --- a/noncore/net/wellenreiter/gui/main.cpp +++ b/noncore/net/wellenreiter/gui/main.cpp @@ -45,8 +45,9 @@ int main( int argc, char **argv ) #ifdef QWS a.showMainWidget( w ); #else a.setMainWidget( w ); + w->setCaption( "Wellenreiter II" ); w->show(); #endif a.processEvents(); // show the window before doing the safety checks @@ -64,8 +65,10 @@ int main( int argc, char **argv ) // dhcp check - NOT HERE! This really belongs as a static member to OProcess // and I want to call it like that: if ( OProcess::isRunning( QString& ) ) ... + static int killed = false; + QString line; QDir d = QDir( "/proc" ); QStringList dirs = d.entryList( QDir::Dirs ); QStringList::Iterator it; @@ -88,12 +91,24 @@ int main( int argc, char **argv ) QMessageBox::Yes, QMessageBox::No ); if ( result == QMessageBox::Yes ) { if ( -1 == ::kill( (*it).toInt(), SIGTERM ) ) - qWarning( "Wellenreiter: can't kill process (%s)", result, strerror( errno ) ); + qWarning( "Wellenreiter: can't kill process #%d (%s)", result, strerror( errno ) ); + else + killed = true; } } a.exec(); + + if ( killed ) + { + result = QMessageBox::warning( w, " - Wellenreiter II - (dhcp)", QObject::tr( "Restart your dhcp client?" ), QMessageBox::Yes, QMessageBox::No ); + if ( result == QMessageBox::Yes ) + { + system( QString().sprintf( "dhclient &; udhcpcd &; dhcpcd &" ) ); + } + } + delete w; return 0; } diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp index 7241f7a..3e36f5b 100644 --- a/noncore/net/wellenreiter/gui/mainwindow.cpp +++ b/noncore/net/wellenreiter/gui/mainwindow.cpp @@ -134,10 +134,11 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n id = mb->insertItem( tr( "&File" ), file ); //id = mb->insertItem( tr( "&View" ), view ); //mb->setItemEnabled( id, false ); id = mb->insertItem( tr( "&Sniffer" ), sniffer ); - //id = mb->insertItem( tr( "&Demo" ), demo ); - //mb->setItemEnabled( id, true ); + + id = mb->insertItem( tr( "&Demo" ), demo ); + mb->setItemEnabled( id, true ); #ifdef QWS mb->insertItem( startButton ); mb->insertItem( stopButton ); @@ -214,8 +215,10 @@ WellenreiterMainWindow::~WellenreiterMainWindow() }; void WellenreiterMainWindow::demoAddStations() { + mw = 0; + mw->netView()->addNewItem( "managed", "Vanille", "00:00:20:EF:A6:43", true, 6, 80 ); mw->netView()->addNewItem( "managed", "Vanille", "00:30:6D:EF:A6:23", true, 11, 10 ); mw->netView()->addNewItem( "adhoc", "ELAN", "00:A0:F8:E7:16:22", false, 3, 10 ); mw->netView()->addNewItem( "adhoc", "ELAN", "00:AA:01:E7:56:62", false, 3, 15 ); @@ -358,4 +361,6 @@ void WellenreiterMainWindow::closeEvent( QCloseEvent* e ) { QMainWindow::closeEvent( e ); } } + + diff --git a/noncore/net/wellenreiter/gui/protolistview.cpp b/noncore/net/wellenreiter/gui/protolistview.cpp index f4b45d0..daca095 100644 --- a/noncore/net/wellenreiter/gui/protolistview.cpp +++ b/noncore/net/wellenreiter/gui/protolistview.cpp @@ -83,9 +83,9 @@ void ProtocolListView::addProtocol( const QString& name ) QComboBox* combo = new QComboBox( hbox, (const char*) name ); #ifdef QWS combo->setFixedWidth( 75 ); #endif - combo->insertItem( "Ignore" ); + combo->insertItem( "Pass" ); combo->insertItem( "Discard!" ); combo->insertItem( "TouchSound" ); combo->insertItem( "AlarmSound" ); combo->insertItem( "KeySound" ); diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp index 965f6b0..4257be1 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp @@ -402,14 +402,21 @@ void Wellenreiter::startClicked() return; } // configure device - ONetwork* net = ONetwork::instance(); iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface )); - // set monitor mode + // bring device UP + iface->setUp( true ); + if ( !iface->isUp() ) + { + QMessageBox::warning( this, "Wellenreiter II", + tr( "Can't bring interface '%1' up:\n" ).arg( iface->name() ) + strerror( errno ) ); + return; + } + // set monitor mode bool usePrism = configwindow->usePrismHeader(); switch ( cardtype ) { @@ -429,9 +436,9 @@ void Wellenreiter::startClicked() iface->setMonitorMode( true ); if ( !iface->monitorMode() ) { QMessageBox::warning( this, "Wellenreiter II", - tr( "Can't set device into monitor mode." ) ); + tr( "Can't set interface '%1' into monitor mode:\n" ).arg( iface->name() ) + strerror( errno ) ); return; } } @@ -460,9 +467,9 @@ void Wellenreiter::startClicked() if ( !pcap->isOpen() ) { QMessageBox::warning( this, "Wellenreiter II", - tr( "Can't open packet capturer:\n" ) + QString(strerror( errno ) )); + tr( "Can't open packet capturer for '%1':\n" ).arg( iface->name() ) + QString(strerror( errno ) )); return; } // set capturer to non-blocking mode @@ -529,4 +536,5 @@ void Wellenreiter::doAction( const QString& action, const QString& protocol, OPa else if ( action == "MessageBox" ) QMessageBox::information ( this, "Notification!", QString().sprintf( "Got packet with protocol '%s'", (const char*) protocol ) ); } + diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h index 37e692c..d776492 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.h +++ b/noncore/net/wellenreiter/gui/wellenreiter.h @@ -47,8 +47,9 @@ class Wellenreiter : public WellenreiterBase { MLogWindow* logWindow() const { return logwindow; }; MHexWindow* hexWindow() const { return hexwindow; }; bool isDaemonRunning() const { return sniffing; }; + public: bool sniffing; protected: virtual void timerEvent( QTimerEvent* ); |