Ejemplo n.º 1
0
/**
*
* admCtrl_setExtAuthMode  - Set current External authentication Mode Status.
*
* \b Description: 
*
* Set current External authentication Mode Status.
*
* \b ARGS:
*
*  I   - pAdmCtrl - context \n
*  I   - extAuthMode - External authentication Mode \n
*  
* \b RETURNS:
*
*  TI_OK on success, TI_NOK on failure.
*
* \sa 
*/
TI_STATUS admCtrl_setExtAuthMode(admCtrl_t *pAdmCtrl, EExternalAuthMode extAuthMode)
{

    if (extAuthMode >= RSN_EXT_AUTH_MODEMAX)
    {
        return TI_NOK;
    }


    if (pAdmCtrl->externalAuthMode == extAuthMode)
    {
        return TI_OK;
    }
    pAdmCtrl->externalAuthMode = extAuthMode;
    if (extAuthMode <= RSN_EXT_AUTH_MODE_AUTO_SWITCH)
    {
        pAdmCtrl->authSuite = (EAuthSuite)extAuthMode;
    }
    else
    {
        pAdmCtrl->authSuite = RSN_AUTH_OPEN;
    }
    
    return (admCtrl_subConfig(pAdmCtrl));
}
Ejemplo n.º 2
0
/**
*
* admCtrl_setUcastSuite  - Set current unicast cipher suite support.
*
* \b Description: 
*
* Set current unicast cipher suite support.
*
* \b ARGS:
*
*  I   - pAdmCtrl - context \n
*  I   - suite - cipher suite to work with \n
*  
* \b RETURNS:
*
*  TI_OK on success, TI_NOK on failure.
*
* \sa 
*/
TI_STATUS admCtrl_setUcastSuite(admCtrl_t * pAdmCtrl, ECipherSuite suite)
{
	TI_STATUS status;

	if (suite == pAdmCtrl->unicastSuite) {
		return TI_OK;
	}
	status = admCtrl_checkSetSuite(pAdmCtrl, suite, TI_FALSE);
	if (status == TI_OK) {
		pAdmCtrl->unicastSuite = suite;
		status = admCtrl_subConfig(pAdmCtrl);
	}

	return status;
}
Ejemplo n.º 3
0
/**
*
* admCtrl_setAuthSuite - Change current authentication suite.
*
* \b Description: 
*
* Change current authentication suite.
*
* \b ARGS:
*
*  I   - pAdmCtrl - context \n
*  I   - authSuite - authentication suite to work with \n
*  
* \b RETURNS:
*
*  TI_OK on success, TI_NOK on failure.
*
* \sa 
*/
TI_STATUS admCtrl_setAuthSuite(admCtrl_t * pAdmCtrl, EAuthSuite authSuite)
{
	TI_STATUS status = TI_NOK;

	if (pAdmCtrl == NULL) {
		return TI_NOK;
	}

	if (pAdmCtrl->authSuite == authSuite) {
		return TI_OK;
	}

	if (pAdmCtrl->authSuite > RSN_AUTH_AUTO_SWITCH) {
		return TI_NOK;
	}
	pAdmCtrl->externalAuthMode = (EExternalAuthMode) authSuite;
	pAdmCtrl->authSuite = authSuite;
	status = admCtrl_subConfig(pAdmCtrl);
	return status;
}
Ejemplo n.º 4
0
/**
*
* admCtrl_config
*
* \b Description: 
*
* Configure the admission control module.
*
* \b ARGS:
*
*  I   - role - admission cotrol role (AP or Station)  \n
*  I   - authSuite - authentication suite to work with \n
*  
* \b RETURNS:
*
*  TI_OK on success, TI_NOK on failure.
*
* \sa 
*/
TI_STATUS admCtrl_config (TI_HANDLE hAdmCtrl,
                          TI_HANDLE hMlme,
                          TI_HANDLE hRx,
                          TI_HANDLE hReport,
                          TI_HANDLE hOs,
                          struct _rsn_t *pRsn,
                          TI_HANDLE hXCCMngr,
                          TI_HANDLE hPowerMgr,
                          TI_HANDLE hEvHandler,
                          TI_HANDLE hTimer,
                          TI_HANDLE hCurrBss,
                          TRsnInitParams *pInitParam)
{
    admCtrl_t       *pAdmCtrl;
    TI_STATUS           status;

    if (hAdmCtrl == NULL)
    {
        return TI_NOK;
    }
    
    pAdmCtrl = (admCtrl_t*)hAdmCtrl;

    pAdmCtrl->pRsn = pRsn;
    pAdmCtrl->hMlme = hMlme;
    pAdmCtrl->hRx = hRx;
    pAdmCtrl->hReport = hReport;
    pAdmCtrl->hOs = hOs;
    pAdmCtrl->hXCCMngr = hXCCMngr;
    pAdmCtrl->hPowerMgr = hPowerMgr;
    pAdmCtrl->hEvHandler = hEvHandler;
    pAdmCtrl->hTimer = hTimer;
    pAdmCtrl->hCurrBss = hCurrBss;

    /* Initialize admission control parameters */
    pAdmCtrl->role = RSN_PAE_SUPP;
    pAdmCtrl->networkMode = RSN_INFRASTRUCTURE;
    pAdmCtrl->authSuite = pInitParam->authSuite;
    pAdmCtrl->externalAuthMode = pInitParam->externalAuthMode;
    pAdmCtrl->mixedMode = pInitParam->mixedMode;
    
    if (pInitParam->privacyOn)
    {
        pAdmCtrl->broadcastSuite = TWD_CIPHER_WEP;
        pAdmCtrl->unicastSuite = TWD_CIPHER_WEP;
    } else {
        pAdmCtrl->broadcastSuite = TWD_CIPHER_NONE;
        pAdmCtrl->unicastSuite = TWD_CIPHER_NONE;
    }

    pAdmCtrl->preAuthSupport     = pInitParam->preAuthSupport;
    pAdmCtrl->preAuthTimeout     = pInitParam->preAuthTimeout;
    pAdmCtrl->WPAMixedModeEnable = pInitParam->WPAMixedModeEnable;
    /*pAdmCtrl->PMKIDCandListDelay = pInitParam->PMKIDCandListDelay;*/
    pAdmCtrl->MaxNumOfPMKIDs     = PMKID_MAX_NUMBER;

    /* Initialize admission control member functions */
    pAdmCtrl->setAuthSuite = admCtrl_setAuthSuite;
    pAdmCtrl->setNetworkMode = admCtrl_setNetworkMode;
    pAdmCtrl->getAuthSuite = admCtrl_getAuthSuite;
    pAdmCtrl->setExtAuthMode = admCtrl_setExtAuthMode;
    pAdmCtrl->getExtAuthMode = admCtrl_getExtAuthMode;
    pAdmCtrl->setUcastSuite = admCtrl_setUcastSuite;
    pAdmCtrl->setBcastSuite = admCtrl_setBcastSuite;
    pAdmCtrl->getCipherSuite = admCtrl_getCipherSuite;
    pAdmCtrl->setKeyMngSuite = admCtrl_setKeyMngSuite;
    pAdmCtrl->getMixedMode = admCtrl_getMixedMode;
    pAdmCtrl->setMixedMode = admCtrl_setMixedMode;
    pAdmCtrl->getAuthEncrCap = admCtrl_getAuthEncrCapability;
    pAdmCtrl->getPmkidList   = admCtrl_nullGetPMKIDlist;
    pAdmCtrl->setPmkidList   = admCtrl_nullSetPMKIDlist;
    pAdmCtrl->resetPmkidList = admCtrl_resetPMKIDlist;
    pAdmCtrl->getPromoteFlags = admCtrl_getPromoteFlags;
    pAdmCtrl->setPromoteFlags = admCtrl_setPromoteFlags;
    pAdmCtrl->getWPAMixedModeSupport = admCtrl_getWPAMixedModeSupport;
#ifdef XCC_MODULE_INCLUDED
    pAdmCtrl->setNetworkEap = admCtrl_setNetworkEap;
    pAdmCtrl->getNetworkEap = admCtrl_getNetworkEap;
    pAdmCtrl->networkEapMode = OS_XCC_NETWORK_EAP_OFF;
#endif

    pAdmCtrl->getPreAuthStatus = admCtrl_nullGetPreAuthStatus;
    pAdmCtrl->startPreAuth  = admCtrl_nullStartPreAuth;
    pAdmCtrl->get802_1x_AkmExists = admCtrl_nullGet802_1x_AkmExists;
    /* Zero number of sent wpa2 preauthentication candidates */
    pAdmCtrl->numberOfPreAuthCandidates = 0;

    /* Create hPreAuthTimerWpa2 timer */
    pAdmCtrl->hPreAuthTimerWpa2 = tmr_CreateTimer (pAdmCtrl->hTimer);
    if (pAdmCtrl->hPreAuthTimerWpa2 == NULL)
    {
        TRACE0(pAdmCtrl->hReport, REPORT_SEVERITY_ERROR , "admCtrl_config(): Failed to create hPreAuthTimerWpa2!\n");
    }

    status = admCtrl_subConfig(pAdmCtrl);

    return status;
}