summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-05-08 13:37:06 (UTC)
committer mickeyl <mickeyl>2003-05-08 13:37:06 (UTC)
commit78c60031b506b85dc20bd555d83486aeb831bf38 (patch) (side-by-side diff)
tree8bd0af604c911309162560fcac7bc2dcd9855d51
parent08f9d5965b127b0b889b96cf16b7d34b5a9a6928 (diff)
downloadopie-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
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui8
-rw-r--r--noncore/net/wellenreiter/gui/main.cpp17
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp9
-rw-r--r--noncore/net/wellenreiter/gui/protolistview.cpp2
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp16
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.h1
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* );