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 /noncore/net/wellenreiter | |
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 @@ -113,6 +113,10 @@ <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> @@ -459,6 +463,10 @@ <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> 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 @@ -46,6 +46,7 @@ int main( int argc, char **argv ) a.showMainWidget( w ); #else a.setMainWidget( w ); + w->setCaption( "Wellenreiter II" ); w->show(); #endif @@ -65,6 +66,8 @@ 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 ); @@ -89,11 +92,23 @@ int main( int argc, char **argv ) 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 @@ -135,8 +135,9 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n //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 ); @@ -215,6 +216,8 @@ 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 ); @@ -359,3 +362,5 @@ 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 @@ -84,7 +84,7 @@ void ProtocolListView::addProtocol( const QString& name ) #ifdef QWS combo->setFixedWidth( 75 ); #endif - combo->insertItem( "Ignore" ); + combo->insertItem( "Pass" ); combo->insertItem( "Discard!" ); combo->insertItem( "TouchSound" ); combo->insertItem( "AlarmSound" ); 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 @@ -403,12 +403,19 @@ void Wellenreiter::startClicked() } // 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 ) @@ -430,7 +437,7 @@ void Wellenreiter::startClicked() 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; } } @@ -461,7 +468,7 @@ 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; } @@ -530,3 +537,4 @@ void Wellenreiter::doAction( const QString& action, const QString& protocol, OPa 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 @@ -48,6 +48,7 @@ class Wellenreiter : public WellenreiterBase { MHexWindow* hexWindow() const { return hexwindow; }; bool isDaemonRunning() const { return sniffing; }; + public: bool sniffing; protected: |