summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-10-06 17:38:00 (UTC)
committer mickeyl <mickeyl>2003-10-06 17:38:00 (UTC)
commite0acd0d9400bb489415d21ec715c5f6704c22b95 (patch) (unidiff)
treea6bb6077c3da3d31bc9e86d6f8276aed90bd3d5c
parent634a68b636a0fa24232029b79ffa915a5621b2be (diff)
downloadopie-e0acd0d9400bb489415d21ec715c5f6704c22b95.zip
opie-e0acd0d9400bb489415d21ec715c5f6704c22b95.tar.gz
opie-e0acd0d9400bb489415d21ec715c5f6704c22b95.tar.bz2
decode DHCP ACK packets and show the extracted client IP address
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/scanlist.cpp2
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp9
2 files changed, 7 insertions, 4 deletions
diff --git a/noncore/net/wellenreiter/gui/scanlist.cpp b/noncore/net/wellenreiter/gui/scanlist.cpp
index 9d6ed6a..1cca507 100644
--- a/noncore/net/wellenreiter/gui/scanlist.cpp
+++ b/noncore/net/wellenreiter/gui/scanlist.cpp
@@ -372,13 +372,13 @@ void MScanListView::addService( const QString& name, const OMacAddress& macaddr,
372 subitem->receivedBeacon(); //FIXME: sent data bit 372 subitem->receivedBeacon(); //FIXME: sent data bit
373 return; 373 return;
374 } 374 }
375 375
376 // never seen that - add new item 376 // never seen that - add new item
377 377
378 MScanListItem* item = new MScanListItem( it.current(), "service", "N/A", false, -1, -1 ); 378 MScanListItem* item = new MScanListItem( it.current(), "service", "N/A", " ", false, -1, -1 );
379 item->setText( col_essid, name ); 379 item->setText( col_essid, name );
380 380
381 return; 381 return;
382 } 382 }
383 } 383 }
384 qDebug( "D'oh! Received identification, but item not yet in list... ==> Handle this!" ); 384 qDebug( "D'oh! Received identification, but item not yet in list... ==> Handle this!" );
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 7394742..9460f56 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -253,18 +253,21 @@ void Wellenreiter::handleIPData( OPacket* p, OIPPacket* ip, OMacAddress& source,
253 ODHCPPacket* dhcp = (ODHCPPacket*) p->child( "DHCP" ); 253 ODHCPPacket* dhcp = (ODHCPPacket*) p->child( "DHCP" );
254 if ( dhcp ) 254 if ( dhcp )
255 { 255 {
256 qDebug( "Received DHCP '%s' packet", (const char*) dhcp->type() ); 256 qDebug( "Received DHCP '%s' packet", (const char*) dhcp->type() );
257 if ( dhcp->type() == "OFFER" ) 257 if ( dhcp->type() == "OFFER" )
258 { 258 {
259 qDebug( "ADDSERVICE: '%s' ('%s') seems to be a DHCP server.", (const char*) source.toString(), (const char*) dhcp->serverAddress().toString() ); 259 qDebug( "DHCP: '%s' ('%s') seems to be a DHCP server.", (const char*) source.toString(), (const char*) dhcp->serverAddress().toString() );
260 //netView()->addNewItem( "station", "<wired>", from, false, -1, 0, GpsLocation( 0, 0 ) );
261
262 netView()->identify( source, dhcp->serverAddress().toString() ); 260 netView()->identify( source, dhcp->serverAddress().toString() );
263 netView()->addService( "DHCP", source, dhcp->serverAddress().toString() ); 261 netView()->addService( "DHCP", source, dhcp->serverAddress().toString() );
264 } 262 }
263 else if ( dhcp->type() == "ACK" )
264 {
265 qDebug( "DHCP: '%s' ('%s') accepted the offered DHCP address.", (const char*) dhcp->clientMacAddress().toString(), (const char*) dhcp->yourAddress().toString() );
266 netView()->identify( dhcp->clientMacAddress(), dhcp->yourAddress().toString() );
267 }
265 } 268 }
266} 269}
267 270
268 271
269QObject* Wellenreiter::childIfToParse( OPacket* p, const QString& protocol ) 272QObject* Wellenreiter::childIfToParse( OPacket* p, const QString& protocol )
270{ 273{