summaryrefslogtreecommitdiff
path: root/libopie2/opienet/opcap.cpp
Unidiff
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
@@ -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}