summaryrefslogtreecommitdiff
path: root/noncore
Unidiff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/hexwindow.cpp10
-rw-r--r--noncore/net/wellenreiter/gui/hexwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp23
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp4
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp5
6 files changed, 38 insertions, 6 deletions
diff --git a/noncore/net/wellenreiter/gui/hexwindow.cpp b/noncore/net/wellenreiter/gui/hexwindow.cpp
index a3022f4..8b17285 100644
--- a/noncore/net/wellenreiter/gui/hexwindow.cpp
+++ b/noncore/net/wellenreiter/gui/hexwindow.cpp
@@ -17,23 +17,29 @@
17#include <qmultilineedit.h> 17#include <qmultilineedit.h>
18 18
19MHexWindow::MHexWindow( QWidget * parent, const char * name, WFlags f ) 19MHexWindow::MHexWindow( QWidget * parent, const char * name, WFlags f )
20 :QVBox( parent, name, f ) 20 :QVBox( parent, name, f )
21{ 21{
22 ledit = new QMultiLineEdit( this ); 22 ledit = new QMultiLineEdit( this );
23 23 ledit->setFont( QFont( "fixed", 10 ) );
24
24 // FIXME: Set properties( font, read-only, etc...) 25 // FIXME: Set properties( font, read-only, etc...)
25 26
26}; 27};
27 28
28void MHexWindow::log( QString text ) 29void MHexWindow::log( QString text )
29{ 30{
30 31
31 ledit->append( text ); 32 ledit->append( text );
32 33
33}; 34};
34 35
36const QString MHexWindow::getLog() const
37{
38 return ledit->text();
39}
40
35void MHexWindow::clear() 41void MHexWindow::clear()
36{ 42{
37 ledit->clear(); 43 ledit->clear();
38} 44}
39 45
diff --git a/noncore/net/wellenreiter/gui/hexwindow.h b/noncore/net/wellenreiter/gui/hexwindow.h
index 2618b8c..f2f870c 100644
--- a/noncore/net/wellenreiter/gui/hexwindow.h
+++ b/noncore/net/wellenreiter/gui/hexwindow.h
@@ -25,12 +25,13 @@ class MHexWindow: public QVBox
25{ 25{
26 26
27 public: 27 public:
28 MHexWindow( QWidget * parent = 0, const char * name = "MHexWindow", WFlags f = 0 ); 28 MHexWindow( QWidget * parent = 0, const char * name = "MHexWindow", WFlags f = 0 );
29 29
30 void log( QString text ); 30 void log( QString text );
31 const QString getLog() const;
31 void clear(); 32 void clear();
32 33
33 protected: 34 protected:
34 QMultiLineEdit* ledit; 35 QMultiLineEdit* ledit;
35 36
36}; 37};
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 8e0164f..69d2b3a 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -104,13 +104,14 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
104 int id; 104 int id;
105 105
106 QMenuBar* mb = menuBar(); 106 QMenuBar* mb = menuBar();
107 107
108 QPopupMenu* fileSave = new QPopupMenu( mb ); 108 QPopupMenu* fileSave = new QPopupMenu( mb );
109 fileSave->insertItem( "&Session...", this, SLOT( fileSaveSession() ) ); 109 fileSave->insertItem( "&Session...", this, SLOT( fileSaveSession() ) );
110 fileSave->insertItem( "&Log...", this, SLOT( fileSaveLog() ) ); 110 fileSave->insertItem( "&Text Log...", this, SLOT( fileSaveLog() ) );
111 fileSave->insertItem( "&Hex Log...", this, SLOT( fileSaveHex() ) );
111 112
112 QPopupMenu* fileLoad = new QPopupMenu( mb ); 113 QPopupMenu* fileLoad = new QPopupMenu( mb );
113 fileLoad->insertItem( "&Session...", this, SLOT( fileLoadSession() ) ); 114 fileLoad->insertItem( "&Session...", this, SLOT( fileLoadSession() ) );
114 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) ); 115 //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) );
115 116
116 QPopupMenu* file = new QPopupMenu( mb ); 117 QPopupMenu* file = new QPopupMenu( mb );
@@ -277,12 +278,32 @@ void WellenreiterMainWindow::fileSaveSession()
277 { 278 {
278 qDebug( "Problem saving session to file '%s'", (const char*) fname ); 279 qDebug( "Problem saving session to file '%s'", (const char*) fname );
279 } 280 }
280 } 281 }
281} 282}
282 283
284void WellenreiterMainWindow::fileSaveHex()
285{
286 QString fname = getFileName( true );
287 if ( !fname.isEmpty() )
288 {
289 QFile f( fname );
290 if ( f.open(IO_WriteOnly) )
291 {
292 QTextStream t( &f );
293 t << mw->hexWindow()->getLog();
294 f.close();
295 qDebug( "Saved hex log to file '%s'", (const char*) fname );
296 }
297 else
298 {
299 qDebug( "Problem saving hex log to file '%s'", (const char*) fname );
300 }
301 }
302}
303
283void WellenreiterMainWindow::fileLoadSession() 304void WellenreiterMainWindow::fileLoadSession()
284{ 305{
285 QString fname = getFileName( false ); 306 QString fname = getFileName( false );
286 if ( !fname.isEmpty() ) 307 if ( !fname.isEmpty() )
287 { 308 {
288 QFile f( fname ); 309 QFile f( fname );
diff --git a/noncore/net/wellenreiter/gui/mainwindow.h b/noncore/net/wellenreiter/gui/mainwindow.h
index e06a60c..1b08c5b 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.h
+++ b/noncore/net/wellenreiter/gui/mainwindow.h
@@ -50,12 +50,13 @@ class WellenreiterMainWindow: public QMainWindow
50 QString getFileName( bool save ); 50 QString getFileName( bool save );
51 51
52 public slots: 52 public slots:
53 void showConfigure(); 53 void showConfigure();
54 void demoAddStations(); 54 void demoAddStations();
55 void fileSaveLog(); 55 void fileSaveLog();
56 void fileSaveHex();
56 void fileSaveSession(); 57 void fileSaveSession();
57 void fileLoadSession(); 58 void fileLoadSession();
58 void fileNew(); 59 void fileNew();
59}; 60};
60 61
61#endif 62#endif
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index a006a3c..34c69f5 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -191,13 +191,13 @@ const int col_firstseen = 7;
191const int col_lastseen = 8; 191const int col_lastseen = 8;
192 192
193MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr, 193MScanListItem::MScanListItem( QListView* parent, QString type, QString essid, QString macaddr,
194 bool wep, int channel, int signal ) 194 bool wep, int channel, int signal )
195 :OListViewItem( parent, essid, QString::null, macaddr, QString::null, QString::null ), 195 :OListViewItem( parent, essid, QString::null, macaddr, QString::null, QString::null ),
196 _type( type ), _essid( essid ), _macaddr( macaddr ), _wep( wep ), 196 _type( type ), _essid( essid ), _macaddr( macaddr ), _wep( wep ),
197 _channel( channel ), _signal( signal ), _beacons( 0 ) 197 _channel( channel ), _signal( signal ), _beacons( 1 )
198{ 198{
199 qDebug( "creating scanlist item" ); 199 qDebug( "creating scanlist item" );
200 if ( WellenreiterConfigWindow::instance() && type == "networks" ) 200 if ( WellenreiterConfigWindow::instance() && type == "networks" )
201 playSound( WellenreiterConfigWindow::instance()->soundOnNetwork() ); 201 playSound( WellenreiterConfigWindow::instance()->soundOnNetwork() );
202 decorateItem( type, essid, macaddr, wep, channel, signal ); 202 decorateItem( type, essid, macaddr, wep, channel, signal );
203} 203}
@@ -271,13 +271,13 @@ void MScanListItem::decorateItem( QString type, QString essid, QString macaddr,
271 271
272 this->type = type; 272 this->type = type;
273 _type = type; 273 _type = type;
274 _essid = essid; 274 _essid = essid;
275 _macaddr = macaddr; 275 _macaddr = macaddr;
276 _channel = channel; 276 _channel = channel;
277 _beacons = 0; 277 _beacons = 1;
278 _signal = 0; 278 _signal = 0;
279} 279}
280 280
281 281
282void MScanListItem::setManufacturer( const QString& manufacturer ) 282void MScanListItem::setManufacturer( const QString& manufacturer )
283{ 283{
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index d80a6e6..aa33158 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -107,12 +107,14 @@ void Wellenreiter::setConfigWindow( WellenreiterConfigWindow* cw )
107{ 107{
108 configwindow = cw; 108 configwindow = cw;
109} 109}
110 110
111void Wellenreiter::receivePacket(OPacket* p) 111void Wellenreiter::receivePacket(OPacket* p)
112{ 112{
113 hexWindow()->log( p->dump( 8 ) );
114
113 // check if we received a beacon frame 115 // check if we received a beacon frame
114 // static_cast is justified here 116 // static_cast is justified here
115 OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) ); 117 OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) );
116 if ( !beacon ) return; 118 if ( !beacon ) return;
117 QString type; 119 QString type;
118 120
@@ -158,12 +160,13 @@ void Wellenreiter::startStopClicked()
158 // switch off monitor mode 160 // switch off monitor mode
159 iface->setMonitorMode( false ); 161 iface->setMonitorMode( false );
160 // switch off promisc flag 162 // switch off promisc flag
161 iface->setPromiscuousMode( false ); 163 iface->setPromiscuousMode( false );
162 164
163 system( "cardctl reset; sleep 1" ); //FIXME: Use OProcess 165 system( "cardctl reset; sleep 1" ); //FIXME: Use OProcess
166 logwindow->log( "(i) Stopped Scanning." );
164 167
165 // message the user 168 // message the user
166 QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." ); 169 QMessageBox::information( this, "Wellenreiter II", "Your wireless card\nshould now be usable again." );
167 } 170 }
168 171
169 else 172 else
@@ -219,13 +222,13 @@ void Wellenreiter::startStopClicked()
219 // start channel hopper 222 // start channel hopper
220 iface->setChannelHopping( 1000 ); //use interval from config window 223 iface->setChannelHopping( 1000 ); //use interval from config window
221 224
222 // connect 225 // connect
223 connect( pcap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) ); 226 connect( pcap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) );
224 227
225 logwindow->log( "(i) Daemon has been started." ); 228 logwindow->log( "(i) Started Scanning." );
226 #ifdef QWS 229 #ifdef QWS
227 oApp->setTitle( "Scanning ..." ); 230 oApp->setTitle( "Scanning ..." );
228 #else 231 #else
229 qApp->mainWidget()->setCaption( "Wellenreiter II / Scanning ..." ); 232 qApp->mainWidget()->setCaption( "Wellenreiter II / Scanning ..." );
230 #endif 233 #endif
231 sniffing = true; 234 sniffing = true;