From 9634c11f8ea28af19a4afc6821c68cdc2b3e7c8a Mon Sep 17 00:00:00 2001 From: mickeyl Date: Thu, 08 Jan 2004 17:21:28 +0000 Subject: add parsing of ProbeRequests --- (limited to 'libopie2/opienet') diff --git a/libopie2/opienet/opcap.cpp b/libopie2/opienet/opcap.cpp index 4d786f5..7463320 100644 --- a/libopie2/opienet/opcap.cpp +++ b/libopie2/opienet/opcap.cpp @@ -724,8 +724,12 @@ OWaveLanManagementPacket::OWaveLanManagementPacket( const unsigned char* end, co odebug << "OWaveLanManagementPacket::OWaveLanManagementPacket(): decoding frame..." << oendl; odebug << "Detected subtype is " << managementType() << oendl; - // grab tagged values - const unsigned char* ptr = (const unsigned char*) (_body+1); + // Grab tagged values. + // Beacons contain a 12 byte long fixed parameters set before the tagged parameters come, + // Other management frames don't - which is why we have to inspect the subtype here. + + const unsigned char* ptr = managementType() == "Beacon" ? (const unsigned char*) (_body+1) : (const unsigned char*) (_header+1); + while (ptr < end) { switch ( *ptr ) -- cgit v0.9.0.2