Home | History | Annotate | Download | only in Connection_Managment

Lines Matching refs:pRsn

93 TI_STATUS rsn_sendKeysNotSet(rsn_t *pRsn);
125 rsn_t *pRsn;
128 pRsn = (rsn_t*)os_memoryAlloc (hOs, sizeof(rsn_t));
129 if (pRsn == NULL)
134 os_memoryZero (hOs, pRsn, sizeof(rsn_t));
137 pRsn->pAdmCtrl = admCtrl_create (hOs);
138 if (pRsn->pAdmCtrl == NULL)
140 os_memoryFree (hOs, pRsn, sizeof(rsn_t));
145 pRsn->pMainSecSm = mainSec_create (hOs);
146 if (pRsn->pMainSecSm == NULL)
148 admCtrl_unload (pRsn->pAdmCtrl);
149 os_memoryFree (hOs, pRsn, sizeof(rsn_t));
153 pRsn->pKeyParser = pRsn->pMainSecSm->pKeyParser;
155 pRsn->hOs = hOs;
157 return pRsn;
181 rsn_t *pRsn;
189 pRsn = (rsn_t*)hRsn;
191 if (pRsn->hMicFailureReportWaitTimer)
193 tmr_DestroyTimer (pRsn->hMicFailureReportWaitTimer);
195 if (pRsn->hMicFailureGroupReKeyTimer)
197 tmr_DestroyTimer (pRsn->hMicFailureGroupReKeyTimer);
199 if (pRsn->hMicFailurePairwiseReKeyTimer)
201 tmr_DestroyTimer (pRsn->hMicFailurePairwiseReKeyTimer);
204 status = admCtrl_unload (pRsn->pAdmCtrl);
205 status = mainSec_unload (pRsn->pMainSecSm);
207 os_memoryFree (pRsn->hOs, hRsn, sizeof(rsn_t));
229 rsn_t *pRsn = (rsn_t*)(pStadHandles->hRsn);
231 pRsn->eGroupKeyUpdate = GROUP_KEY_UPDATE_FALSE;
232 pRsn->ePairwiseKeyUpdate = PAIRWISE_KEY_UPDATE_FALSE;
233 pRsn->PrivacyOptionImplemented = TI_TRUE;
235 pRsn->hTxCtrl = pStadHandles->hTxCtrl;
236 pRsn->hRx = pStadHandles->hRxData;
237 pRsn->hConn = pStadHandles->hConn;
238 pRsn->hTWD = pStadHandles->hTWD;
239 pRsn->hCtrlData = pStadHandles->hCtrlData;
240 pRsn->hSiteMgr = pStadHandles->hSiteMgr;
241 pRsn->hReport = pStadHandles->hReport;
242 pRsn->hOs = pStadHandles->hOs;
243 pRsn->hXCCMngr = pStadHandles->hXCCMngr;
244 pRsn->hEvHandler= pStadHandles->hEvHandler;
245 pRsn->hSmeSm = pStadHandles->hSme;
246 pRsn->hAPConn = pStadHandles->hAPConnection;
247 pRsn->hMlme = pStadHandles->hMlmeSm;
248 pRsn->hPowerMgr = pStadHandles->hPowerMgr;
249 pRsn->hTimer = pStadHandles->hTimer;
250 pRsn->hCurrBss = pStadHandles->hCurrBss;
252 pRsn->setPaeConfig = rsn_setPaeConfig;
253 pRsn->getNetworkMode = rsn_getNetworkMode;
254 pRsn->setKey = rsn_setKey;
255 pRsn->removeKey = rsn_removeKey;
256 pRsn->reportStatus = rsn_reportStatus;
257 pRsn->setDefaultKeyId = rsn_setDefaultKeyId;
258 pRsn->defaultKeysOn = TI_TRUE;
259 pRsn->eapType = OS_EAP_TYPE_NONE;
260 pRsn->numOfBannedSites = 0;
266 rsn_t *pRsn = (rsn_t*)hRsn;
271 pRsn->hMicFailureReportWaitTimer = tmr_CreateTimer (pRsn->hTimer);
272 if (pRsn->hMicFailureReportWaitTimer == NULL)
274 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, "rsn_SetDefaults(): Failed to create hMicFailureReportWaitTimer!\n");
277 pRsn->hMicFailureGroupReKeyTimer = tmr_CreateTimer (pRsn->hTimer);
278 if (pRsn->hMicFailureGroupReKeyTimer == NULL)
280 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, "rsn_SetDefaults(): Failed to create hMicFailureGroupReKeyTimer!\n");
285 pRsn->bRsnExternalMode = pInitParam->bRsnExternalMode;
287 pRsn->hMicFailurePairwiseReKeyTimer = tmr_CreateTimer (pRsn->hTimer);
288 if (pRsn->hMicFailurePairwiseReKeyTimer == NULL)
290 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, "rsn_SetDefaults(): Failed to create hMicFailurePairwiseReKeyTimer!\n");
294 pRsn->bPairwiseMicFailureFilter = pInitParam->bPairwiseMicFailureFilter;
297 status = admCtrl_config (pRsn->pAdmCtrl,
298 pRsn->hMlme,
299 pRsn->hRx,
300 pRsn->hReport,
301 pRsn->hOs,
302 pRsn,
303 pRsn->hXCCMngr,
304 pRsn->hPowerMgr,
305 pRsn->hEvHandler,
306 pRsn->hTimer,
307 pRsn->hCurrBss,
318 pRsn->wepStaticKey = TI_TRUE;
321 pRsn->defaultKeyId = pInitParam->defaultKeyId;
324 os_memoryCopy (pRsn->hOs, &pRsn->keys[keyIndex], &pInitParam->keys[keyIndex], sizeof(TSecurityKeys));
325 if (pRsn->keys[keyIndex].keyType != KEY_NULL)
327 pRsn->wepDefaultKeys[keyIndex] = TI_TRUE;
329 pRsn->keys_en [keyIndex] = TI_FALSE;
356 rsn_t *pRsn = (rsn_t *)hRsn;
361 pRsn->keys_en [keyIndex] = TI_FALSE;
385 TI_STATUS rsn_setDefaultKeys(rsn_t *pRsn)
394 if (pRsn->wepDefaultKeys[keyIndex] /*pRsn->keys[keyIndex].encLen>0*/)
397 pRsn->keys[keyIndex].keyType = KEY_WEP;
399 status = pRsn->pMainSecSm->setKey (pRsn->pMainSecSm, &pRsn->keys[keyIndex]);
403 TRACE1(pRsn->hReport, REPORT_SEVERITY_ERROR, "RSN: Setting key #%d failed \n", keyIndex);
410 if (pRsn->defaultKeyId < MAX_KEYS_NUM)
413 tTwdParam.content.configureCmdCBParams.pCb = &pRsn->defaultKeyId;
416 status = TWD_SetParam (pRsn->hTWD, &tTwdParam);
418 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: default key ID =%d \n", pRsn->defaultKeyId);
446 rsn_t *pRsn;
451 pRsn = (rsn_t*)hRsn;
453 if (pRsn == NULL)
458 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_start ...\n");
459 pRsn->rsnStartedTs = os_timeStampMs (pRsn->hOs);
461 status = pRsn->pMainSecSm->start (pRsn->pMainSecSm);
463 pRsn->defaultKeysOn = TI_FALSE;
464 pRsn->pAdmCtrl->getCipherSuite (pRsn->pAdmCtrl, &suite);
465 pRsn->pAdmCtrl->getExtAuthMode (pRsn->pAdmCtrl, &extAuthMode);
467 if (pRsn->wepStaticKey && ( (suite == TWD_CIPHER_WEP) || (suite == TWD_CIPHER_CKIP) ) )
469 status = rsn_sendKeysNotSet (pRsn);
470 pRsn->eapType = OS_EAP_TYPE_NONE;
474 pRsn->wepStaticKey = TI_FALSE;
475 status = rsn_removedDefKeys (pRsn);
480 status = TWD_SetParam (pRsn->hTWD, &tTwdParam);
485 pRsn->eapType = OS_EAP_TYPE_NONE;
492 TI_STATUS rsn_sendKeysNotSet(rsn_t *pRsn)
500 if (pRsn->wepDefaultKeys[keyIndex])
502 rsnOsKey.KeyIndex = pRsn->keys[keyIndex].keyIndex;
503 rsnOsKey.KeyLength = pRsn->keys[keyIndex].encLen;
507 pRsn->keys[keyIndex].keyType = KEY_WEP;
509 MAC_COPY (rsnOsKey.BSSID, pRsn->keys[keyIndex].macAddress);
510 os_memoryCopy (pRsn->hOs, &rsnOsKey.KeyRSC,
511 (void *)pRsn->keys[keyIndex].keyRsc,
513 os_memoryCopy (pRsn->hOs, rsnOsKey.KeyMaterial,
514 (void *)pRsn->keys[keyIndex].encKey,
515 MAX_KEY_LEN /*pRsn->keys[keyIndex].encLen*/);
518 if (keyIndex == pRsn->defaultKeyId)
523 status = pRsn->pKeyParser->recv (pRsn->pKeyParser, (TI_UINT8*)&rsnOsKey, sizeof(rsnOsKey));
534 rsn_t *pRsn = (rsn_t*)hRsn;
536 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_removedDefKeys Enter \n");
542 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_removedDefKeys, Remove keyId=%d\n", keyIndex);
544 pRsn->wepDefaultKeys[keyIndex] = TI_FALSE;
545 os_memoryCopy (pRsn->hOs, &key, &pRsn->keys[keyIndex], sizeof(TSecurityKeys));
546 pRsn->removeKey (pRsn, &key);
549 if (keyIndex == pRsn->defaultKeyId)
551 pRsn->defaultKeyId = 0;
580 rsn_t *pRsn;
584 pRsn = (rsn_t*)hRsn;
586 if (pRsn == NULL)
591 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: calling STOP... removeKeys=%d\n", removeKeys);
595 os_memoryCopy (pRsn->hOs, &key, &pRsn->keys[keyIndex], sizeof(TSecurityKeys));
597 if (!pRsn->wepDefaultKeys[keyIndex])
599 TRACE2(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_stop, Remove keyIndex=%d, key.keyIndex=%d\n",keyIndex, key.keyIndex);
601 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8 *)key.macAddress, 6);
603 pRsn->removeKey (pRsn, &key);
608 tmr_StopTimer (pRsn->hMicFailureReportWaitTimer);
611 tmr_StopTimer (pRsn->pAdmCtrl->hPreAuthTimerWpa2);
613 status = pRsn->pMainSecSm->stop (pRsn->pMainSecSm);
615 pRsn->eGroupKeyUpdate = GROUP_KEY_UPDATE_FALSE;
616 pRsn->ePairwiseKeyUpdate = PAIRWISE_KEY_UPDATE_FALSE;
617 pRsn->defaultKeysOn = TI_TRUE;
621 pRsn->pAdmCtrl->resetPmkidList (pRsn->pAdmCtrl);
629 rsn_t *pRsn = (rsn_t *)hRsn;
632 if ( (NULL == pRsn) || (NULL == rsnStatus) )
636 status = pRsn->pAdmCtrl->getCipherSuite(pRsn->pAdmCtrl, rsnStatus);
661 rsn_t *pRsn = (rsn_t *)hRsn;
665 if ( (NULL == pRsn) || (NULL == pParam) )
677 pParam->content.pRsnKey = &pRsn->keys[pParam->content.pRsnKey->keyIndex];
678 if (pParam->content.pRsnKey->keyIndex == pRsn->defaultKeyId)
681 TRACE1(pRsn->hReport, REPORT_SEVERITY_WARNING, "default Key: %d\n", pRsn->defaultKeyId);
686 status = pRsn->pMainSecSm->getAuthState (pRsn->pMainSecSm, (TIWLN_SECURITY_STATE*)&(pParam->content.rsnAuthState));
690 status = pRsn->pAdmCtrl->getCipherSuite (pRsn->pAdmCtrl, &pParam->content.rsnEncryptionStatus);
694 status = pRsn->pAdmCtrl->getExtAuthMode (pRsn->pAdmCtrl, &pParam->content.rsnExtAuthneticationMode);
698 status = pRsn->pAdmCtrl->getMixedMode (pRsn->pAdmCtrl, &pParam->content.rsnMixedMode);
702 status = pRsn->pAdmCtrl->getAuthEncrCap(pRsn->pAdmCtrl, pParam->content.pRsnAuthEncrCapability);
707 status = pRsn->pAdmCtrl->getPmkidList (pRsn->pAdmCtrl, &pParam->content.rsnPMKIDList);
715 pParam->content.rsnPreAuthStatus = pRsn->pAdmCtrl->getPreAuthStatus (pRsn->pAdmCtrl, &pParam->content.rsnApMac, &cacheIndex);
720 status = pRsn->pAdmCtrl->getWPAMixedModeSupport (pRsn->pAdmCtrl, &pParam->content.rsnWPAMixedModeSupport);
721 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Get WPA Mixed MODE support %d \n",pParam->content.rsnWPAMixedModeSupport);
725 status = pRsn->pAdmCtrl->getPromoteFlags (pRsn->pAdmCtrl,
727 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Get WPA promote flags %d \n",pParam->content.rsnWPAPromoteFlags);
733 status = pRsn->pAdmCtrl->getNetworkEap (pRsn->pAdmCtrl, &pParam->content.networkEap);
737 pParam->content.eapType = pRsn->eapType;
738 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Get RSN_EAP_TYPE eapType %d \n", pParam->content.eapType);
743 status = pRsn->pAdmCtrl->get802_1x_AkmExists(pRsn->pAdmCtrl, &pParam->content.wpa_802_1x_AkmExists);
744 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Get WPA_801_1X_AKM_EXISTS %d \n", pParam->content.wpa_802_1x_AkmExists);
748 pParam->content.rsnDefaultKeyID = pRsn->defaultKeyId;
749 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Get RSN_DEFAULT_KEY_ID %d \n", pParam->content.rsnDefaultKeyID);
781 rsn_t *pRsn;
786 pRsn = (rsn_t*)hRsn;
788 if ( (NULL == pRsn) || (NULL == pParam) )
793 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set rsn_setParam %X \n", pParam->paramType);
806 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, "RSN: Error - the value of the default Key Id is incorrect \n");
813 pRsn->keys[i].keyIndex &= 0x7FFFFFFF;
817 pRsn->defaultKeyId = defKeyId;
821 tTwdParam.content.configureCmdCBParams.pCb = &pRsn->defaultKeyId;
824 status = TWD_SetParam (pRsn->hTWD, &tTwdParam);
826 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: default key ID =%d \n", pRsn->defaultKeyId);
828 sme_Restart (pRsn->hSmeSm);
837 status = pRsn->pAdmCtrl->getCipherSuite (pRsn->pAdmCtrl, &cipherSuite);
843 TRACE2(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_ADD_KEY_PARAM KeyIndex %x , keyLength=%d\n", pParam->content.rsnOsKey.KeyIndex,pParam->content.rsnOsKey.KeyLength);
850 status = pRsn->pKeyParser->recv (pRsn->pKeyParser, (TI_UINT8*)&pParam->content.rsnOsKey, sizeof(pParam->content.rsnOsKey));
854 TRACE1(pRsn->hReport, REPORT_SEVERITY_WARNING, ": pRsn->pKeyParser->recv satus returned with status=%x. returning with NOK\n", status);
862 if (pRsn->wepDefaultKeys[keyIndex] == TI_TRUE)
864 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "Set RSN_ADD_KEY_PARAM KeyIndex %x\n", keyIndex);
865 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "Set RSN_ADD_KEY_PARAM wepDefaultKeys=%d\n", pRsn->wepDefaultKeys[keyIndex]);
867 pRsn->wepDefaultKeys[keyIndex] = TI_FALSE;
871 pRsn->keys[keyIndex].keyIndex = pParam->content.rsnOsKey.KeyIndex;
872 pRsn->keys[keyIndex].encLen = pParam->content.rsnOsKey.KeyLength;
873 MAC_COPY (pRsn->keys[keyIndex].macAddress, pParam->content.rsnOsKey.BSSID);
874 os_memoryCopy (pRsn->hOs, (void *)pRsn->keys[keyIndex].keyRsc, (TI_UINT8*)&(pParam->content.rsnOsKey.KeyRSC), KEY_RSC_LEN);
875 os_memoryCopy (pRsn->hOs, (void *)pRsn->keys[keyIndex].encKey, pParam->content.rsnOsKey.KeyMaterial, MAX_KEY_LEN);
883 pRsn->defaultKeyId = keyIndex;
889 pRsn->keys[i].keyIndex &= 0x7FFFFFFF;
894 if (pRsn->defaultKeysOn)
896 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN_ADD_KEY_PARAM, Default key configured - keyIndex=%d-TI_TRUE\n", keyIndex);
898 pRsn->wepDefaultKeys[keyIndex] = TI_TRUE;
899 pRsn->wepStaticKey = TI_TRUE;
909 status = pRsn->pAdmCtrl->getCipherSuite (pRsn->pAdmCtrl, &cipherSuite);
916 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, "RSN: Error Remove Wep/Key when no encryption \n");
920 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_REMOVE_KEY_PARAM KeyIndex %x \n", pParam->content.rsnOsKey.KeyIndex);
927 status = pRsn->pKeyParser->remove (pRsn->pKeyParser,
933 pRsn->keys[keyIndex].keyType = KEY_NULL;
934 pRsn->keys[keyIndex].keyIndex &= 0x000000FF;
944 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_ENCRYPTION_STATUS_PARAM rsnEncryptionStatus %d \n", pParam->content.rsnEncryptionStatus);
946 pRsn->pAdmCtrl->getCipherSuite (pRsn->pAdmCtrl, &cipherSuite);
949 status = pRsn->pAdmCtrl->setUcastSuite (pRsn->pAdmCtrl, pParam->content.rsnEncryptionStatus);
950 status = pRsn->pAdmCtrl->setBcastSuite (pRsn->pAdmCtrl, pParam->content.rsnEncryptionStatus);
951 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, " status = %d \n", status);
953 pRsn->defaultKeysOn = TI_TRUE;
961 pRsn->pAdmCtrl->getExtAuthMode (pRsn->pAdmCtrl, &extAuthMode);
964 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_EXT_AUTHENTICATION_MODE rsnExtAuthneticationMode %d \n", pParam->content.rsnExtAuthneticationMode);
967 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: remove all Keys\n");
971 os_memoryCopy(pRsn->hOs, &key, &pRsn->keys[keyIndex], sizeof(TSecurityKeys));
972 pRsn->removeKey(pRsn, &key);
976 status = pRsn->pAdmCtrl->setExtAuthMode (pRsn->pAdmCtrl, pParam->content.rsnExtAuthneticationMode);
978 pRsn->defaultKeysOn = TI_TRUE;
987 pRsn->pAdmCtrl->getNetworkEap (pRsn->pAdmCtrl, &networkEap);
990 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_XCC_NETWORK_EAP networkEap %d \n", pParam->content.networkEap);
992 status = pRsn->pAdmCtrl->setNetworkEap (pRsn->pAdmCtrl, pParam->content.networkEap);
1005 pRsn->pAdmCtrl->getMixedMode (pRsn->pAdmCtrl, &mixedMode);
1008 status = pRsn->pAdmCtrl->setMixedMode (pRsn->pAdmCtrl, pParam->content.rsnMixedMode);
1010 TRACE2(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_MIXED_MODE mixedMode %d, status=%d \n", pParam->content.rsnMixedMode, status);
1016 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_PMKID_LIST \n");
1018 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8*)&pParam->content.rsnPMKIDList ,sizeof(OS_802_11_PMKID));
1019 status = pRsn->pAdmCtrl->setPmkidList (pRsn->pAdmCtrl,
1023 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_PMKID_LIST: %d PMKID entries has been added to the cache.\n", pParam->content.rsnPMKIDList.BSSIDInfoCount);
1027 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set RSN_PMKID_LIST failure");
1032 status = pRsn->pAdmCtrl->setPromoteFlags (pRsn->pAdmCtrl,
1036 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set WPA promote options: %d \n", pParam->content.rsnWPAPromoteFlags);
1040 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Set WPA promote options failure");
1045 TRACE1(pRsn
1047 pRsn->eapType = pParam->content.eapType;
1048 pRsn->defaultKeysOn = TI_TRUE;
1057 TRACE2(pRsn->hReport,REPORT_SEVERITY_INFORMATION,"RSN:Set RSN_SET_KEY_PARAM KeyIndex %x,keyLength=%d\n",pSecurityKey->keyIndex,pSecurityKey->encLen);
1065 status = rsn_setKey (pRsn, pSecurityKey); /* send key to FW*/
1069 //os_memoryCopy(pKeyDerive->hOs,&pRsn->pKeyParser->pUcastKey/pBcastKey, pEncodedKey, sizeof(encodedKeyMaterial_t));
1076 pRsn->keys[keyIndex].keyIndex = pSecurityKey->keyIndex;
1077 pRsn->keys[keyIndex].encLen = pSecurityKey->encLen;
1078 MAC_COPY (pRsn->keys[keyIndex].macAddress, pSecurityKey->macAddress);
1079 os_memoryCopy(pRsn->hOs,(void*)pRsn->keys[keyIndex].keyRsc, (TI_UINT8*)&(pSecurityKey->keyRsc), KEY_RSC_LEN);
1080 os_memoryCopy (pRsn->hOs, (void *)pRsn->keys[keyIndex].encKey, (void*)pSecurityKey->encKey, MAX_KEY_LEN);
1088 pRsn->defaultKeyId = keyIndex;
1094 pRsn->keys[j].keyIndex &= 0x7FFFFFFF;
1099 if (pRsn->defaultKeysOn)
1101 TRACE1(pRsn->hReport,REPORT_SEVERITY_INFORMATION, "RSN_SET_KEY_PARAM, Default key configured-keyIndex=%d-TI_TRUE\n", keyIndex);
1103 pRsn->wepDefaultKeys[keyIndex] = TI_TRUE;
1104 pRsn->wepStaticKey = TI_TRUE;
1137 TI_STATUS rsn_reportStatus (rsn_t *pRsn, TI_STATUS rsnStatus)
1143 if (pRsn == NULL)
1151 pRsn->rsnCompletedTs = os_timeStampMs (pRsn->hOs);
1153 status = pRsn->pAdmCtrl->getExtAuthMode (pRsn->pAdmCtrl, &extAuthMode);
1160 txCtrlParams_setEapolEncryptionStatus (pRsn->hTxCtrl, TI_TRUE);
1162 txCtrlParams_setEapolEncryptionStatus (pRsn->hTxCtrl, TI_FALSE);
1165 switch (pRsn->paeConfig.unicastSuite)
1176 txCtrlParams_setCurrentPrivacyInvokedMode(pRsn->hTxCtrl, param.content.txDataCurrentPrivacyInvokedMode);
1179 rxData_setParam (pRsn->hRx, &param);
1182 if (pRsn->pAdmCtrl->mixedMode)
1186 rxData_setParam (pRsn->hRx, &param);
1192 status = conn_reportRsnStatus (pRsn->hConn, (mgmtStatus_e)rsnStatus);
1201 EvHandlerSendEvent (pRsn->hEvHandler, IPC_EVENT_AUTH_SUCC, NULL, 0);
1204 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: rsn_reportStatus \n");
1229 TI_STATUS rsn_setPaeConfig(rsn_t *pRsn, TRsnPaeConfig *pPaeConfig)
1234 if ( (NULL == pRsn) || (NULL == pPaeConfig) )
1239 TRACE2(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: Calling set PAE config..., unicastSuite = %d, broadcastSuite = %d \n", pPaeConfig->unicastSuite, pPaeConfig->broadcastSuite);
1241 os_memoryCopy(pRsn->hOs, &pRsn->paeConfig, pPaeConfig, sizeof(TRsnPaeConfig));
1243 initData.pPaeConfig = &pRsn->paeConfig;
1245 status = mainSec_config (pRsn->pMainSecSm,
1247 pRsn,
1248 pRsn->hReport,
1249 pRsn->hOs,
1250 pRsn->hCtrlData,
1251 pRsn->hEvHandler,
1252 pRsn->hConn,
1253 pRsn->hTimer);
1278 TI_STATUS rsn_getNetworkMode(rsn_t *pRsn, ERsnNetworkMode *pNetMode)
1285 status = ctrlData_getParam (pRsn->hCtrlData, &param);
1329 rsn_t *pRsn;
1338 pRsn = (rsn_t*)hRsn;
1343 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Site is banned!\n");
1347 status = pRsn->pAdmCtrl->evalSite (pRsn->pAdmCtrl, pRsnData, pRsnSiteParams, pMetric);
1349 TRACE2(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": pMetric=%d status=%d\n", *pMetric, status);
1377 rsn_t *pRsn;
1385 pRsn = (rsn_t*)hRsn;
1387 status = pRsn->pAdmCtrl->getInfoElement (pRsn->pAdmCtrl, pRsnIe, pRsnIeLen);
1389 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_getInfoElement pRsnIeLen= %d\n",*pRsnIeLen);
1418 rsn_t *pRsn;
1426 pRsn = (rsn_t*)hRsn;
1428 status = admCtrlXCC_getInfoElement (pRsn->pAdmCtrl, pRsnIe, pRsnIeLen);
1430 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_getXCCExtendedInfoElement pRsnIeLen= %d\n",*pRsnIeLen);
1458 rsn_t *pRsn;
1467 pRsn = (rsn_t*)hRsn;
1469 status = pRsn->pAdmCtrl->setSite (pRsn->pAdmCtrl, pRsnData, pAssocIe, pAssocIeLen);
1471 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_setSite ieLen= %d\n",pRsnData->ieLen);
1476 TI_STATUS rsn_setKey (rsn_t *pRsn, TSecurityKeys *pKey)
1483 if (pRsn == NULL || pKey == NULL)
1505 txCtrlParams_setEncryptionFieldSizes (pRsn->hTxCtrl, IV_FIELD_SIZE);
1508 txCtrlParams_setEncryptionFieldSizes (pRsn->hTxCtrl, AES_AFTER_HEADER_FIELD_SIZE);
1514 txCtrlParams_setEncryptionFieldSizes (pRsn->hTxCtrl, 0);
1522 if ((pRsn->keys[keyIndex].keyType != KEY_NULL )&&
1523 macIsBroadcast && !MAC_BROADCAST((pRsn->keys[keyIndex].macAddress)))
1526 rsn_removeKey(pRsn, &pRsn->keys[keyIndex]);
1529 pRsn->keys[keyIndex].keyType = pKey->keyType;
1530 pRsn->keys[keyIndex].keyIndex = keyIndex;
1539 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: rsn_setKey, Group ReKey timer started\n");
1540 tmr_StopTimer (pRsn->hMicFailureGroupReKeyTimer);
1541 tmr_StartTimer (pRsn->hMicFailureGroupReKeyTimer,
1543 (TI_HANDLE)pRsn,
1546 pRsn->eGroupKeyUpdate = GROUP_KEY_UPDATE_TRUE;
1550 if (pRsn->bPairwiseMicFailureFilter) /* the value of this flag is taken from registry */
1552 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: rsn_setKey, Pairwise ReKey timer started\n");
1553 tmr_StopTimer (pRsn->hMicFailurePairwiseReKeyTimer);
1554 tmr_StartTimer (pRsn->hMicFailurePairwiseReKeyTimer,
1556 (TI_HANDLE)pRsn,
1559 pRsn->ePairwiseKeyUpdate = PAIRWISE_KEY_UPDATE_TRUE;
1565 pRsn->keys_en [keyIndex] = TI_TRUE;
1567 status = TWD_SetParam (pRsn->hTWD, &tTwdParam);
1570 TRACE3(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: rsn_setKey, KeyType=%d, KeyId = 0x%lx,encLen=0x%x\n", pKey->keyType,pKey->keyIndex, pKey->encLen);
1572 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "\nEncKey = ");
1574 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8 *)pKey->encKey, pKey->encLen);
1578 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "\nMac address = ");
1579 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8 *)pKey->macAddress, MAC_ADDR_LEN);
1580 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "\nRSC = ");
1581 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8 *)pKey->keyRsc, KEY_RSC_LEN);
1582 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "\nMic RX = ");
1583 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8 *)pKey->micRxKey, MAX_KEY_LEN);
1584 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "\nMic TX = ");
1585 TRACE_INFO_HEX(pRsn->hReport, (TI_UINT8 *)pKey->micTxKey, MAX_KEY_LEN);
1592 TI_STATUS rsn_removeKey (rsn_t *pRsn, TSecurityKeys *pKey)
1598 if (pRsn == NULL || pKey == NULL)
1609 TRACE2(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_removeKey Entry, keyType=%d, keyIndex=0x%lx\n",pKey->keyType, keyIndex);
1612 if (pKey->keyType != KEY_NULL && pRsn->keys_en[keyIndex])
1615 /*os_memoryCopy(pRsn->hOs, &tTwdParam.content.rsnKey, pKey, sizeof(TSecurityKeys));*/
1637 os_memoryZero(pRsn->hOs,(void*)pKey->macAddress,sizeof(TMacAddr));
1642 pRsn->keys_en[keyIndex] = TI_FALSE;
1644 status = TWD_SetParam (pRsn->hTWD, &tTwdParam);
1646 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_removeKey in whal, status =%d\n", status);
1649 pRsn->keys[keyIndex].keyIndex &= 0x000000FF;
1650 pRsn->keys[keyIndex].keyType = KEY_NULL;
1651 pRsn->keys[keyIndex].encLen = 0;
1652 pRsn->wepDefaultKeys[keyIndex] = TI_FALSE;
1659 TI_STATUS rsn_setDefaultKeyId(rsn_t *pRsn, TI_UINT8 keyId)
1664 if (pRsn == NULL)
1668 pRsn->defaultKeyId = keyId;
1674 status = TWD_SetParam (pRsn->hTWD, &tTwdParam);
1676 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "RSN: rsn_setDefaultKeyId, KeyId = 0x%lx\n", keyId);
1684 rsn_t *pRsn;
1692 pRsn = (rsn_t*)hRsn;
1696 status = ctrlData_getParam(pRsn->hCtrlData, &param);
1699 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, "rsn_reportAuthFailure, unable to retrieve BSSID \n");
1703 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "current station is banned from the roaming candidates list for %d Ms\n", RSN_AUTH_FAILURE_TIMEOUT);
1710 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "CALLING rougeAP, status= %d \n",authStatus);
1711 status = XCCMngr_rogueApDetected (pRsn->hXCCMngr, authStatus);
1713 TI_VOIDCAST(pRsn);
1723 rsn_t *pRsn = (rsn_t *) hRsn;
1732 if (((pRsn->paeConfig.unicastSuite == TWD_CIPHER_TKIP) && (failureType == KEY_TKIP_MIC_PAIRWISE)) ||
1733 ((pRsn->paeConfig.broadcastSuite == TWD_CIPHER_TKIP) && (failureType == KEY_TKIP_MIC_GROUP)))
1738 (pRsn->eGroupKeyUpdate == GROUP_KEY_UPDATE_TRUE))
1740 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Group MIC failure ignored, key update was performed within the last 3 seconds.\n");
1747 (pRsn->ePairwiseKeyUpdate == PAIRWISE_KEY_UPDATE_TRUE))
1749 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Pairwise MIC failure ignored, key update was performed within the last 3 seconds.\n");
1758 if (ctrlData_getParam (pRsn->hCtrlData, &param) != TI_OK)
1777 EvHandlerSendEvent (pRsn->hEvHandler,
1786 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Second MIC failure, closing Rx port...\n");
1790 rxData_setParam(pRsn->hRx, &param);
1793 tmr_StopTimer (pRsn->hMicFailureReportWaitTimer);
1794 apConn_setDeauthPacketReasonCode(pRsn->hAPConn, STATUS_MIC_FAILURE);
1795 tmr_StartTimer (pRsn->hMicFailureReportWaitTimer,
1797 (TI_HANDLE)pRsn,
1804 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": First MIC failure, business as usual for now...\n");
1814 rsn_t *pRsn;
1816 pRsn = (rsn_t*)hRsn;
1818 if (pRsn == NULL)
1823 pRsn->eGroupKeyUpdate = GROUP_KEY_UPDATE_FALSE;
1829 rsn_t *pRsn;
1831 pRsn = (rsn_t*)hRsn;
1833 if (pRsn == NULL)
1838 pRsn->ePairwiseKeyUpdate = PAIRWISE_KEY_UPDATE_FALSE;
1843 rsn_t *pRsn;
1845 pRsn = (rsn_t*)hRsn;
1847 if (pRsn == NULL)
1852 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": MIC failure reported, disassociating...\n");
1854 apConn_reportRoamingEvent (pRsn->hAPConn, ROAMING_TRIGGER_SECURITY_ATTACK, NULL);
1877 rsn_t *pRsn = (rsn_t*)hRsn;
1879 if (!pRsn)
1882 return (pRsn->pAdmCtrl->resetPmkidList (pRsn->pAdmCtrl));
1888 rsn_t *pRsn;
1894 pRsn = (rsn_t*)hRsn;
1896 WLAN_OS_REPORT(("rsnStartedTs, ts = %d\n", pRsn->rsnStartedTs));
1897 WLAN_OS_REPORT(("rsnCompletedTs, ts = %d\n", pRsn->rsnCompletedTs));
1922 rsn_t *pRsn;
1930 pRsn = (rsn_t*)hRsn;
1932 status = pRsn->pAdmCtrl->startPreAuth (pRsn->pAdmCtrl, pBssidList);
1934 TRACE0(pRsn->hReport, REPORT_SEVERITY_INFORMATION, "rsn_startPreAuth \n");
1960 rsn_t * pRsn = (rsn_t *) hRsn;
1969 TRACE7(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Site %02X-%02X-%02X-%02X-%02X-%02X found with ban level %d...\n", siteBssid[0], siteBssid[1], siteBssid[2], siteBssid[3], siteBssid[4], siteBssid[5], entry->banLevel);
1995 rsn_t *pRsn = (rsn_t *)hRsn;
1998 pExtSec = pRsn->pMainSecSm->pExternalSec;
2029 rsn_t * pRsn = (rsn_t *) hRsn;
2036 TRACE6(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Site %02X-%02X-%02X-%02X-%02X-%02X found and has been set to ban level full!\n", siteBssid[0], siteBssid[1], siteBssid[2], siteBssid[3], siteBssid[4], siteBssid[5]);
2043 TRACE7(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Site %02X-%02X-%02X-%02X-%02X-%02X added with ban level %d!\n", siteBssid[0], siteBssid[1], siteBssid[2], siteBssid[3], siteBssid[4], siteBssid[5], banLevel);
2050 pRsn->numOfBannedSites++;
2053 entry->banStartedMs = os_timeStampMs (pRsn->hOs);
2079 rsn_t * pRsn = (rsn_t *) hRsn;
2082 if (pRsn->numOfBannedSites == RSN_MAX_NUMBER_OF_BANNED_SITES)
2084 TRACE0(pRsn->hReport, REPORT_SEVERITY_ERROR, ": No room left to insert new banned site, overwriting old one!\n");
2086 return &(pRsn->bannedSites[0]);
2089 return &(pRsn->bannedSites[pRsn->numOfBannedSites]);
2118 rsn_t * pRsn = (rsn_t *) hRsn;
2121 for (iter = 0; iter < pRsn->numOfBannedSites; iter++)
2124 if (os_timeStampMs(pRsn->hOs) - pRsn->bannedSites[iter].banStartedMs >= pRsn->bannedSites[iter].banDurationMs)
2126 TRACE1(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Found expired entry at index %d, cleaning it up...\n", iter);
2129 pRsn->bannedSites[iter] = pRsn->bannedSites[pRsn->numOfBannedSites - 1];
2130 pRsn->numOfBannedSites--;
2139 if (MAC_EQUAL (siteBssid, pRsn->bannedSites[iter].siteBssid))
2141 TRACE7(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Site %02X-%02X-%02X-%02X-%02X-%02X found at index %d!\n", siteBssid[0], siteBssid[1], siteBssid[2], siteBssid[3], siteBssid[4], siteBssid[5], iter);
2143 return &pRsn->bannedSites[iter];
2148 TRACE6(pRsn->hReport, REPORT_SEVERITY_INFORMATION, ": Site %02X-%02X-%02X-%02X-%02X-%02X not found...\n", siteBssid[0], siteBssid[1], siteBssid[2], siteBssid[3], siteBssid[4], siteBssid[5]);
2163 * pRsn - pointer to RSN module context \n
2170 TI_BOOL rsn_getPortStatus(rsn_t *pRsn)
2174 pExtSec = pRsn->pMainSecSm->pExternalSec;
2221 rsn_t *pRsn;
2223 pRsn = (rsn_t*)hRsn;
2225 if (pRsn == NULL)
2230 if (rxData_IsReAuthInProgress(pRsn->hRx))
2232 rxData_SetReAuthInProgress(pRsn->hRx, TI_FALSE);
2233 rxData_StopReAuthActiveTimer(pRsn->hRx);
2234 rxData_ReauthDisablePriority(pRsn->hRx);
2235 EvHandlerSendEvent(pRsn->hEvHandler, IPC_EVENT_RE_AUTH_COMPLETED, NULL, 0);