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 */ 95 TI_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 */ 128 TI_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 */ 155 TI_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 */ 178 TI_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 203 TI_STATUS mainSecNull_getAuthState(mainSec_t *pMainSec, TIWLN_SECURITY_STATE *secState) 204 { 205 *secState = eSecurityStateHalted; 206 return TI_OK; 207 208 } /*mainSecKeysOnly_getAuthState*/ 209 210 211 TI_STATUS mainSecSmNull_nop(mainSec_t *pMainSec) 212 { 213 return TI_OK; 214 215 } /*mainSecKeysOnly_getAuthState*/ 216 217 218 TI_STATUS mainSecNull_reportAuthFailure(mainSec_t *pMainSec, EAuthStatus authStatus) 219 { 220 return TI_OK; 221 } 222 223 224 TI_STATUS mainSecNull_setAuthIdentity(mainSec_t *pMainSec, authIdentity_t *authIdentity) 225 { 226 227 return TI_OK; 228 } 229