summaryrefslogtreecommitdiff
path: root/libopie2
Side-by-side diff
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/opcap.cpp13
-rw-r--r--libopie2/opienet/opcap.h2
-rw-r--r--libopie2/opienet/opienet.pro2
3 files changed, 13 insertions, 4 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
@@ -829,5 +829,5 @@ OWaveLanManagementSSID::~OWaveLanManagementSSID()
-QString OWaveLanManagementSSID::ID() const
+QString OWaveLanManagementSSID::ID( bool decloak ) const
{
int length = _data->length;
@@ -836,5 +836,14 @@ QString OWaveLanManagementSSID::ID() const
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;
}
diff --git a/libopie2/opienet/opcap.h b/libopie2/opienet/opcap.h
index b373c56..f5dc5c0 100644
--- a/libopie2/opienet/opcap.h
+++ b/libopie2/opienet/opcap.h
@@ -250,5 +250,5 @@ class OWaveLanManagementSSID : public QObject
virtual ~OWaveLanManagementSSID();
- QString ID() const;
+ QString ID( bool decloak = false ) const;
private:
diff --git a/libopie2/opienet/opienet.pro b/libopie2/opienet/opienet.pro
index 2027481..cab6da6 100644
--- a/libopie2/opienet/opienet.pro
+++ b/libopie2/opienet/opienet.pro
@@ -20,5 +20,5 @@ SOURCES = odebugmapper.cpp \
INTERFACES =
TARGET = opienet2
-VERSION = 1.8.2
+VERSION = 1.8.3
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include