コード例 #1
0
ファイル: mainSecSm.c プロジェクト: bluewater-cn/ti_wilink
/**
*
* mainSec_config
*
* \b Description: 
*
* Init main security state machine state machine
*
* \b ARGS:
*
*  none
*
* \b RETURNS:
*
*  TI_OK on success, TI_NOK otherwise.
*
* \sa 
*/
TI_STATUS mainSec_config (mainSec_t *pMainSec, 
                          mainSecInitData_t *pInitData, 
                          void *pParent,
                          TI_HANDLE hReport,
                          TI_HANDLE hOs,
                          TI_HANDLE hCtrlData,
                          TI_HANDLE hEvHandler,
                          TI_HANDLE hConn,
                          TI_HANDLE hTimer)
{
    TI_STATUS               status;

    pMainSec->setKey = mainSec_setKey;
    pMainSec->removeKey = mainSec_removeKey;
    pMainSec->setDefaultKeyId = mainSec_setDefaultKeyId;

    pMainSec->pParent = pParent;
    pMainSec->hReport = hReport;
    pMainSec->hOs = hOs; 

    if (TI_TRUE == pMainSec->pParent->bRsnExternalMode)
    {
            status = externalSec_config(pMainSec);
    }
    else
    {
         switch (pInitData->pPaeConfig->keyExchangeProtocol)
         {
            case RSN_KEY_MNG_NONE:
                status = mainSecSmNull_config(pMainSec, pInitData->pPaeConfig);
                break;
            case RSN_KEY_MNG_802_1X:
                status = mainSecKeysOnly_config(pMainSec, pInitData->pPaeConfig);
                break;
            default:
                status = mainSecSmNull_config(pMainSec, pInitData->pPaeConfig);
                break;
         }
    }
  
    status  = mainKeys_config (pMainSec->pMainKeys, 
                               pInitData->pPaeConfig, 
                               pMainSec, 
                               pMainSec->hReport, 
                               pMainSec->hOs, 
                               hCtrlData, 
                               hEvHandler, 
                               hConn, 
                               pMainSec->pParent,
                               hTimer);
    if (status != TI_OK)
    {
        return status;
    }

    return status;
}
コード例 #2
0
/**
*
* mainSec_config
*
* \b Description: 
*
* Init main security state machine state machine
*
* \b ARGS:
*
*  none
*
* \b RETURNS:
*
*  OK on success, NOK otherwise.
*
* \sa 
*/
TI_STATUS mainSec_config(mainSec_t *pMainSec, 
                      mainSecInitData_t *pInitData, 
                      void *pParent,
                      TI_HANDLE hReport,
                      TI_HANDLE hOs,
                      TI_HANDLE hCtrlData,
                      TI_HANDLE hEvHandler,
                      TI_HANDLE hConn,
                      TI_HANDLE hHalCtrl   )
{
    TI_STATUS               status;

    pMainSec->setKey = mainSec_setKey;
    pMainSec->removeKey = mainSec_removeKey;
    pMainSec->setDefaultKeyId = mainSec_setDefaultKeyId;

    pMainSec->pParent = pParent;
    pMainSec->hReport = hReport;
    pMainSec->hOs = hOs;

    WLAN_REPORT_SM(pMainSec->hReport,RSN_MODULE_LOG, 
				   ("MainSec SM: config, authProtocol = %d, keyExchangeProtocol=%d, unicastSuite=%d, broadcastSuite=%d\n", 
                    pInitData->pPaeConfig->authProtocol, pInitData->pPaeConfig->keyExchangeProtocol, 
                    pInitData->pPaeConfig->unicastSuite, pInitData->pPaeConfig->broadcastSuite));

    switch (pInitData->pPaeConfig->keyExchangeProtocol)
    {
    case RSN_KEY_MNG_NONE:
        status = mainSecSmNull_config(pMainSec, pInitData->pPaeConfig);
        break;
    case RSN_KEY_MNG_802_1X:
        status = mainSecKeysOnly_config(pMainSec, pInitData->pPaeConfig);
        break;
    default:
        status = mainSecSmNull_config(pMainSec, pInitData->pPaeConfig);
        break;
    }

    status  = mainKeys_config(pMainSec->pMainKeys, pInitData->pPaeConfig, pMainSec, pMainSec->hReport, pMainSec->hOs, 
                           hCtrlData, hEvHandler, hConn, pMainSec->pParent);
    if (status != OK)
    {
        WLAN_REPORT_ERROR(pMainSec->hReport, RSN_MODULE_LOG,
                          ("MAIN_SEC_SM: error in configuring mainKeys SM\n"));
        return status;
    }

    WLAN_REPORT_SM(pMainSec->hReport, RSN_MODULE_LOG,
                          ("MAIN_SEC_SM: successful configuration SM\n"));

    return status;
}
コード例 #3
0
/**
*
* mainSec_config
*
* \b Description: 
*
* Init main security state machine state machine
*
* \b ARGS:
*
*  none
*
* \b RETURNS:
*
*  TI_OK on success, TI_NOK otherwise.
*
* \sa 
*/
TI_STATUS mainSec_config (mainSec_t *pMainSec, 
                          mainSecInitData_t *pInitData, 
                          void *pParent,
                          TI_HANDLE hReport,
                          TI_HANDLE hOs,
                          TI_HANDLE hCtrlData,
                          TI_HANDLE hEvHandler,
                          TI_HANDLE hConn,
                          TI_HANDLE hTimer)
{
    TI_STATUS               status;

    pMainSec->setKey = mainSec_setKey;
    pMainSec->removeKey = mainSec_removeKey;
    pMainSec->setDefaultKeyId = mainSec_setDefaultKeyId;

    pMainSec->pParent = pParent;
    pMainSec->hReport = hReport;
    pMainSec->hOs = hOs;

    TRACE4(pMainSec->hReport, REPORT_SEVERITY_SM, "MainSec SM: config, authProtocol = %d, keyExchangeProtocol=%d, unicastSuite=%d, broadcastSuite=%d\n", pInitData->pPaeConfig->authProtocol, pInitData->pPaeConfig->keyExchangeProtocol, pInitData->pPaeConfig->unicastSuite, pInitData->pPaeConfig->broadcastSuite);

    if (TI_TRUE == pMainSec->pParent->bRsnExternalMode)
    {
            status = externalSec_config(pMainSec);
    }
    else
    {
         switch (pInitData->pPaeConfig->keyExchangeProtocol)
         {
            case RSN_KEY_MNG_NONE:
                status = mainSecSmNull_config(pMainSec, pInitData->pPaeConfig);
                break;
            case RSN_KEY_MNG_802_1X:
                status = mainSecKeysOnly_config(pMainSec, pInitData->pPaeConfig);
                break;
            default:
                status = mainSecSmNull_config(pMainSec, pInitData->pPaeConfig);
                break;
         }
    }

    status  = mainKeys_config (pMainSec->pMainKeys, 
                               pInitData->pPaeConfig, 
                               pMainSec, 
                               pMainSec->hReport, 
                               pMainSec->hOs, 
                               hCtrlData, 
                               hEvHandler, 
                               hConn, 
                               pMainSec->pParent,
                               hTimer);
    if (status != TI_OK)
    {
        TRACE0(pMainSec->hReport, REPORT_SEVERITY_ERROR, "MAIN_SEC_SM: error in configuring mainKeys SM\n");
        return status;
    }

    TRACE0(pMainSec->hReport, REPORT_SEVERITY_SM, "MAIN_SEC_SM: successful configuration SM\n");

    return status;
}