summaryrefslogtreecommitdiff
path: root/libopie2/opienet/opcap.cpp
authormickeyl <mickeyl>2004-01-07 20:30:21 (UTC)
committer mickeyl <mickeyl>2004-01-07 20:30:21 (UTC)
commit49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5 (patch) (side-by-side diff)
tree78981f89d8e9d93766f9d04154ce1d485fbf975c /libopie2/opienet/opcap.cpp
parentf1a1b0e56e676c655e9728d97cdf68d63df7f5d5 (diff)
downloadopie-49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5.zip
opie-49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5.tar.gz
opie-49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5.tar.bz2
OWaveLanManagementSSID::ID() now can decloak SSIDs (caution:API change)
Diffstat (limited to 'libopie2/opienet/opcap.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/opcap.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/libopie2/opienet/opcap.cpp b/libopie2/opienet/opcap.cpp
index 012c0a3..4d786f5 100644
--- a/libopie2/opienet/opcap.cpp
+++ b/libopie2/opienet/opcap.cpp
@@ -828,14 +828,23 @@ OWaveLanManagementSSID::~OWaveLanManagementSSID()
}
-QString OWaveLanManagementSSID::ID() const
+QString OWaveLanManagementSSID::ID( bool decloak ) const
{
int length = _data->length;
if ( length > 32 ) length = 32;
char essid[length+1];
memcpy( &essid, &_data->ssid, length );
essid[length] = 0x0;
- return essid;
+ if ( !decloak || length < 2 || essid[0] != '\0' ) return essid;
+ odebug << "OWaveLanManagementSSID:ID(): SSID is cloaked - decloaking..." << oendl;
+
+ QString decloakedID;
+ for ( int i = 1; i < length; ++i )
+ {
+ if ( essid[i] >= 32 && essid[i] <= 126 ) decloakedID.append( essid[i] );
+ else decloakedID.append( '.' );
+ }
+ return decloakedID;
}