summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-01-07 20:30:21 (UTC)
committer mickeyl <mickeyl>2004-01-07 20:30:21 (UTC)
commit49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5 (patch) (unidiff)
tree78981f89d8e9d93766f9d04154ce1d485fbf975c
parentf1a1b0e56e676c655e9728d97cdf68d63df7f5d5 (diff)
downloadopie-49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5.zip
opie-49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5.tar.gz
opie-49ae69c0f1d3a839492eb93e25bf83b7c7dc58a5.tar.bz2
OWaveLanManagementSSID::ID() now can decloak SSIDs (caution:API change)
Diffstat (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
@@ -819,32 +819,41 @@ bool OWaveLanManagementPacket::canPrivacy() const
819OWaveLanManagementSSID::OWaveLanManagementSSID( const unsigned char* end, const struct ssid_t* data, QObject* parent ) 819OWaveLanManagementSSID::OWaveLanManagementSSID( const unsigned char* end, const struct ssid_t* data, QObject* parent )
820 :QObject( parent, "802.11 SSID" ), _data( data ) 820 :QObject( parent, "802.11 SSID" ), _data( data )
821{ 821{
822 odebug << "OWaveLanManagementSSID()" << oendl; 822 odebug << "OWaveLanManagementSSID()" << oendl;
823} 823}
824 824
825 825
826OWaveLanManagementSSID::~OWaveLanManagementSSID() 826OWaveLanManagementSSID::~OWaveLanManagementSSID()
827{ 827{
828} 828}
829 829
830 830
831QString OWaveLanManagementSSID::ID() const 831QString OWaveLanManagementSSID::ID( bool decloak ) const
832{ 832{
833 int length = _data->length; 833 int length = _data->length;
834 if ( length > 32 ) length = 32; 834 if ( length > 32 ) length = 32;
835 char essid[length+1]; 835 char essid[length+1];
836 memcpy( &essid, &_data->ssid, length ); 836 memcpy( &essid, &_data->ssid, length );
837 essid[length] = 0x0; 837 essid[length] = 0x0;
838 return essid; 838 if ( !decloak || length < 2 || essid[0] != '\0' ) return essid;
839 odebug << "OWaveLanManagementSSID:ID(): SSID is cloaked - decloaking..." << oendl;
840
841 QString decloakedID;
842 for ( int i = 1; i < length; ++i )
843 {
844 if ( essid[i] >= 32 && essid[i] <= 126 ) decloakedID.append( essid[i] );
845 else decloakedID.append( '.' );
846 }
847 return decloakedID;
839} 848}
840 849
841 850
842/*====================================================================================== 851/*======================================================================================
843 * OWaveLanManagementRates 852 * OWaveLanManagementRates
844 *======================================================================================*/ 853 *======================================================================================*/
845 854
846OWaveLanManagementRates::OWaveLanManagementRates( const unsigned char* end, const struct rates_t* data, QObject* parent ) 855OWaveLanManagementRates::OWaveLanManagementRates( const unsigned char* end, const struct rates_t* data, QObject* parent )
847 :QObject( parent, "802.11 Rates" ), _data( data ) 856 :QObject( parent, "802.11 Rates" ), _data( data )
848{ 857{
849 odebug << "OWaveLanManagementRates()" << oendl; 858 odebug << "OWaveLanManagementRates()" << oendl;
850} 859}
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
@@ -240,25 +240,25 @@ class OWaveLanManagementPacket : public QObject
240/*====================================================================================== 240/*======================================================================================
241 * OWaveLanManagementSSID 241 * OWaveLanManagementSSID
242 *======================================================================================*/ 242 *======================================================================================*/
243 243
244class OWaveLanManagementSSID : public QObject 244class OWaveLanManagementSSID : public QObject
245{ 245{
246 Q_OBJECT 246 Q_OBJECT
247 247
248 public: 248 public:
249 OWaveLanManagementSSID( const unsigned char*, const struct ssid_t*, QObject* parent = 0 ); 249 OWaveLanManagementSSID( const unsigned char*, const struct ssid_t*, QObject* parent = 0 );
250 virtual ~OWaveLanManagementSSID(); 250 virtual ~OWaveLanManagementSSID();
251 251
252 QString ID() const; 252 QString ID( bool decloak = false ) const;
253 253
254 private: 254 private:
255 const struct ssid_t* _data; 255 const struct ssid_t* _data;
256}; 256};
257 257
258/*====================================================================================== 258/*======================================================================================
259 * OWaveLanManagementRates 259 * OWaveLanManagementRates
260 *======================================================================================*/ 260 *======================================================================================*/
261 261
262class OWaveLanManagementRates : public QObject 262class OWaveLanManagementRates : public QObject
263{ 263{
264 Q_OBJECT 264 Q_OBJECT
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
@@ -10,25 +10,25 @@ HEADERS = 802_11_user.h \
10 onetutils.h \ 10 onetutils.h \
11 onetwork.h \ 11 onetwork.h \
12 opcap.h \ 12 opcap.h \
13 ostation.h 13 ostation.h
14SOURCES = odebugmapper.cpp \ 14SOURCES = odebugmapper.cpp \
15 omanufacturerdb.cpp \ 15 omanufacturerdb.cpp \
16 onetutils.cpp \ 16 onetutils.cpp \
17 onetwork.cpp \ 17 onetwork.cpp \
18 opcap.cpp \ 18 opcap.cpp \
19 ostation.cpp 19 ostation.cpp
20INTERFACES = 20INTERFACES =
21TARGET = opienet2 21TARGET = opienet2
22VERSION = 1.8.2 22VERSION = 1.8.3
23INCLUDEPATH += $(OPIEDIR)/include 23INCLUDEPATH += $(OPIEDIR)/include
24DEPENDPATH += $(OPIEDIR)/include 24DEPENDPATH += $(OPIEDIR)/include
25LIBS += -lpcap 25LIBS += -lpcap
26 26
27 27
28!contains( platform, x11 ) { 28!contains( platform, x11 ) {
29 include ( $(OPIEDIR)/include.pro ) 29 include ( $(OPIEDIR)/include.pro )
30} 30}
31 31
32contains( platform, x11 ) { 32contains( platform, x11 ) {
33 LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib 33 LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib
34} 34}