Home | History | Annotate | Download | only in Connection_Managment
      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