45 const unsigned char abyOUIGK[4] = { 0x00, 0x0F, 0xAC, 0x00 };
46 const unsigned char abyOUIWEP40[4] = { 0x00, 0x0F, 0xAC, 0x01 };
48 const unsigned char abyOUITKIP[4] = { 0x00, 0x0F, 0xAC, 0x02 };
49 const unsigned char abyOUICCMP[4] = { 0x00, 0x0F, 0xAC, 0x04 };
51 const unsigned char abyOUI8021X[4] = { 0x00, 0x0F, 0xAC, 0x01 };
52 const unsigned char abyOUIPSK[4] = { 0x00, 0x0F, 0xAC, 0x02 };
82 pBSSNode->bWPA2Valid =
false;
85 for (ii=0; ii < 4; ii ++)
87 pBSSNode->wCSSPKCount = 1;
88 for (ii=0; ii < 4; ii ++)
90 pBSSNode->wAKMSSAuthCount = 1;
91 pBSSNode->sRSNCapObj.bRSNCapExist =
false;
92 pBSSNode->sRSNCapObj.wRSNCap = 0;
117 unsigned short m = 0,
n = 0;
118 unsigned char *pbyOUI;
125 if (pRSN->
len == 2) {
127 pBSSNode->bWPA2Valid =
true;
143 pbyOUI = &(pRSN->
abyRSN[0]);
161 if (pRSN->
len == 6) {
162 pBSSNode->bWPA2Valid =
true;
166 if (pRSN->
len >= 8) {
167 pBSSNode->wCSSPKCount = *((
unsigned short *) &(pRSN->
abyRSN[4]));
169 pbyOUI = &(pRSN->
abyRSN[6]);
171 for (i = 0; (i < pBSSNode->wCSSPKCount) && (j <
sizeof(pBSSNode->abyCSSPK)/
sizeof(
unsigned char)); i++) {
173 if (pRSN->
len >= 8+i*4+4) {
198 if (bUseGK ==
true) {
208 if ((pBSSNode->wCSSPKCount != 0) && (j == 0)) {
212 pBSSNode->wCSSPKCount = (
unsigned short)j;
216 m = *((
unsigned short *) &(pRSN->
abyRSN[4]));
218 if (pRSN->
len >= 10+m*4) {
219 pBSSNode->wAKMSSAuthCount = *((
unsigned short *) &(pRSN->
abyRSN[6+4*m]));
221 pbyOUI = &(pRSN->
abyRSN[8+4*
m]);
222 for (i = 0; (i < pBSSNode->wAKMSSAuthCount) && (j <
sizeof(pBSSNode->abyAKMSSAuthType)/
sizeof(
unsigned char)); i++) {
223 if (pRSN->
len >= 10+(m+i)*4+4) {
235 pBSSNode->wAKMSSAuthCount = (
unsigned short)j;
238 n = *((
unsigned short *) &(pRSN->
abyRSN[6+4*m]));
239 if (pRSN->
len >= 12+4*m+4*
n) {
240 pBSSNode->sRSNCapObj.bRSNCapExist =
true;
241 pBSSNode->sRSNCapObj.wRSNCap = *((
unsigned short *) &(pRSN->
abyRSN[8+4*m+4*
n]));
245 pBSSNode->bWPA2Valid =
true;
271 unsigned char *pbyBuffer =
NULL;
273 unsigned short *pwPMKID =
NULL;
275 if (pRSNIEs ==
NULL) {
282 pbyBuffer = (
unsigned char *) pRSNIEs;
287 pRSNIEs->
abyRSN[0] = 0x00;
288 pRSNIEs->
abyRSN[1] = 0x0F;
289 pRSNIEs->
abyRSN[2] = 0xAC;
303 pRSNIEs->
abyRSN[6] = 0x00;
304 pRSNIEs->
abyRSN[7] = 0x0F;
305 pRSNIEs->
abyRSN[8] = 0xAC;
320 pRSNIEs->
abyRSN[12] = 0x00;
321 pRSNIEs->
abyRSN[13] = 0x0F;
322 pRSNIEs->
abyRSN[14] = 0xAC;
333 if (pMgmt->
pCurrBSS->sRSNCapObj.bRSNCapExist ==
true) {
345 pwPMKID = (
unsigned short *)(&pRSNIEs->
abyRSN[18]);
347 pbyBuffer = &pRSNIEs->
abyRSN[20];
356 pRSNIEs->
len += (2 + (*pwPMKID)*16);
358 pbyBuffer = &pRSNIEs->
abyRSN[18];