1/* 2 * mainSecNull.c 3 * 4 * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * * Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * * Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in 15 * the documentation and/or other materials provided with the 16 * distribution. 17 * * Neither the name Texas Instruments nor the names of its 18 * contributors may be used to endorse or promote products derived 19 * from this software without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34/** \file mainSecSm.c 35 * \brief 802.1X finite state machine header file 36 * 37 * \see mainSecSm.h 38 */ 39 40 41/***************************************************************************/ 42/* */ 43/* MODULE: mainSecSm.c */ 44/* PURPOSE: Main Security State Machine API */ 45/* */ 46/***************************************************************************/ 47 48#define __FILE_ID__ FILE_ID_38 49#include "osApi.h" 50#include "paramOut.h" 51#include "report.h" 52#include "DataCtrl_Api.h" 53#include "smeApi.h" 54#include "rsn.h" 55#include "rsnApi.h" 56#include "mainSecSm.h" 57#include "mainSecNull.h" 58 59/* Constants */ 60 61/* Enumerations */ 62 63/* Typedefs */ 64 65/* Structures */ 66 67/* External data definitions */ 68 69/* External functions definitions */ 70 71/* Global variables */ 72 73/* Local function prototypes */ 74 75/* functions */ 76 77/** 78* 79* rsn_mainSecSmFullInit 80* 81* \b Description: 82* 83* Init main security state machine state machine 84* 85* \b ARGS: 86* 87* none 88* 89* \b RETURNS: 90* 91* TI_OK on success, TI_NOK otherwise. 92* 93* \sa 94*/ 95TI_STATUS mainSecSmNull_config(mainSec_t *pMainSec, 96 TRsnPaeConfig *pPaeConfig) 97{ 98 pMainSec->start = (mainSecSmStart_t)mainSecSmNull_start; 99 pMainSec->stop = mainSecSmNull_stop; 100 pMainSec->reportAuthStatus = NULL; 101 pMainSec->reportKeysStatus = mainSecNull_reportKeysStatus; 102 pMainSec->reportReAuthenticate = NULL; 103 pMainSec->getAuthIdentity = NULL; 104 pMainSec->setAuthIdentity = (mainSecSm_getAuthIdentity_t)mainSecNull_setAuthIdentity; 105 pMainSec->getAuthState = mainSecNull_getAuthState; 106 pMainSec->reportAuthFailure = (mainSecSm_reportAuthFailure_t)mainSecNull_reportAuthFailure; 107 return TI_OK; 108} 109 110/** 111* 112* mainSecSmNull_Start 113* 114* \b Description: 115* 116* Start the NULL main security SM. Reports success to the rsn module immediately. 117* 118* \b ARGS: 119* 120* none 121* 122* \b RETURNS: 123* 124* TI_OK on success, TI_NOK otherwise. 125* 126* \sa 127*/ 128TI_STATUS mainSecSmNull_start(mainSec_t *pMainSec) 129{ 130 TI_STATUS status; 131 132 status = rsn_reportStatus(pMainSec->pParent, TI_OK); 133 134 return status; 135} 136 137/** 138* 139* mainSecSmNull_Stop 140* 141* \b Description: 142* 143* Start the NULL main security SM. Reports success to the rsn module immediately. 144* 145* \b ARGS: 146* 147* none 148* 149* \b RETURNS: 150* 151* TI_OK on success, TI_NOK otherwise. 152* 153* \sa 154*/ 155TI_STATUS mainSecSmNull_stop(mainSec_t *pMainSec) 156{ 157 return TI_OK; 158} 159 160/** 161* 162* mainSecNull_reportKeysStatus 163* 164* \b Description: 165* 166* Start the NULL main security SM. Reports success to the rsn module immediately. 167* 168* \b ARGS: 169* 170* none 171* 172* \b RETURNS: 173* 174* TI_OK on success, TI_NOK otherwise. 175* 176* \sa 177*/ 178TI_STATUS mainSecNull_reportKeysStatus(mainSec_t *pMainSec, TI_STATUS keysStatus) 179{ 180 181 return TI_OK; 182} 183/** 184* 185* mainSecKeysOnly_getAuthState: \n 186* 187* \b Description: 188* 189* Get authentication state from supp1x SM. 190* 191* \b ARGS: 192* 193* I - pMainSec - pMainSec SM context \n 194* I - authIdentity - pointer to authentication state \n 195* 196* \b RETURNS: 197* 198* TI_OK if successful, TI_NOK otherwise. 199* 200* \sa 201*/ 202 203TI_STATUS mainSecNull_getAuthState(mainSec_t *pMainSec, TIWLN_SECURITY_STATE *secState) 204{ 205 *secState = eSecurityStateHalted; 206 return TI_OK; 207 208} /*mainSecKeysOnly_getAuthState*/ 209 210 211TI_STATUS mainSecSmNull_nop(mainSec_t *pMainSec) 212{ 213 return TI_OK; 214 215} /*mainSecKeysOnly_getAuthState*/ 216 217 218TI_STATUS mainSecNull_reportAuthFailure(mainSec_t *pMainSec, EAuthStatus authStatus) 219{ 220 return TI_OK; 221} 222 223 224TI_STATUS mainSecNull_setAuthIdentity(mainSec_t *pMainSec, authIdentity_t *authIdentity) 225{ 226 227 return TI_OK; 228} 229