telephonyserverplugins/simtsy/src/csimsmartcardauth.cpp
branchRCL_3
changeset 20 07a122eea281
parent 19 630d2f34d719
equal deleted inserted replaced
19:630d2f34d719 20:07a122eea281
     1 // Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    15 
    15 
    16 /**
    16 /**
    17  @file
    17  @file
    18 */
    18 */
    19 
    19 
    20 
       
    21 
       
    22 #include "OstTraceDefinitions.h"
       
    23 #ifdef OST_TRACE_COMPILER_IN_USE
       
    24 #include "csimsmartcardauthTraces.h"
       
    25 #endif
       
    26 
       
    27 #include <testconfigfileparser.h>
    20 #include <testconfigfileparser.h>
    28 #include "CSimPhone.h"
    21 #include "CSimPhone.h"
       
    22 #include "Simlog.h"
    29 #include "csimsmartcardauth.h"
    23 #include "csimsmartcardauth.h"
    30 #include "utils.h"
    24 #include "utils.h"
    31 
    25 
    32 CSimSmartCardAuth* CSimSmartCardAuth::NewL(CSimPhone *aPhone)
    26 CSimSmartCardAuth* CSimSmartCardAuth::NewL(CSimPhone *aPhone)
    33 	{
    27 	{
    48 void CSimSmartCardAuth::ConstructL()
    42 void CSimSmartCardAuth::ConstructL()
    49 	{
    43 	{
    50 	ParseAuthInfoL();
    44 	ParseAuthInfoL();
    51 	ParseGBAAuthInfoL();
    45 	ParseGBAAuthInfoL();
    52 	ParseMBMSAuthInfoL();
    46 	ParseMBMSAuthInfoL();
    53 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_CONSTRUCTL_1, "CSimSmartCardAuth created");
    47 	LOGPHONE1("CSimSmartCardAuth created");
    54 	}
    48 	}
    55 
    49 
    56 CSimSmartCardAuth::~CSimSmartCardAuth()
    50 CSimSmartCardAuth::~CSimSmartCardAuth()
    57 	{
    51 	{
    58 	iAuthInfoList.Close();
    52 	iAuthInfoList.Close();
    64 	if(iMBMSInfoList)
    58 	if(iMBMSInfoList)
    65 		{
    59 		{
    66 		iMBMSInfoList->Delete(0,iMBMSInfoList->Count());
    60 		iMBMSInfoList->Delete(0,iMBMSInfoList->Count());
    67 		delete iMBMSInfoList;
    61 		delete iMBMSInfoList;
    68 		}
    62 		}
    69 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_DTOR_1, "CSimSmartCardAuth destroyed");
    63 	LOGPHONE1("CSimSmartCardAuth destroyed");
    70 	}
    64 	}
    71 
    65 
    72 TInt CSimSmartCardAuth::GetScAuthenticationData(const TTsyReqHandle aTsyReqHandle, TDes8* aPckg1, const RMobilePhone::TAID* aAID)
    66 TInt CSimSmartCardAuth::GetScAuthenticationData(const TTsyReqHandle aTsyReqHandle, TDes8* aPckg1, const RMobilePhone::TAID* aAID)
    73 	{
    67 	{
    74 
    68 
    75 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_GETSCAUTHENTICATIONDATA_1, "CSimSmartCardAuth::GetScAuthenticationData called");
    69 	LOGPHONE1("CSimSmartCardAuth::GetScAuthenticationData called");
    76 
    70 
    77 	RMobilePhone::TSmartCardAuthenticateDataV6Pckg
    71 	RMobilePhone::TSmartCardAuthenticateDataV6Pckg
    78 			* authenticateDataPckgd =reinterpret_cast<RMobilePhone::TSmartCardAuthenticateDataV6Pckg*>(aPckg1);
    72 			* authenticateDataPckgd =reinterpret_cast<RMobilePhone::TSmartCardAuthenticateDataV6Pckg*>(aPckg1);
    79 	RMobilePhone::TSmartCardAuthenticateDataV6& authenticateData=(*authenticateDataPckgd) ();
    73 	RMobilePhone::TSmartCardAuthenticateDataV6& authenticateData=(*authenticateDataPckgd) ();
    80 
    74 
   444 	return KErrNone;
   438 	return KErrNone;
   445 	}
   439 	}
   446 
   440 
   447 TInt CSimSmartCardAuth::GetScAuthenticationDataCancel(const TTsyReqHandle aTsyReqHandle)
   441 TInt CSimSmartCardAuth::GetScAuthenticationDataCancel(const TTsyReqHandle aTsyReqHandle)
   448 	{
   442 	{
   449 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_GETSCAUTHENTICATIONDATACANCEL_1, "CSimSmartCardAuth::GetScAuthenticationDataCancel called");
   443 	LOGPHONE1("CSimSmartCardAuth::GetScAuthenticationDataCancel called");
   450 	iPhone->ReqCompleted(aTsyReqHandle, KErrCancel);
   444 	iPhone->ReqCompleted(aTsyReqHandle, KErrCancel);
   451 	return KErrNone;
   445 	return KErrNone;
   452 	}
   446 	}
   453 
   447 
   454 const CTestConfigSection* CSimSmartCardAuth::CfgFile()
   448 const CTestConfigSection* CSimSmartCardAuth::CfgFile()
   459 /**
   453 /**
   460 Parses the list of SmartCardAuthInfo tags from the config.txt file.
   454 Parses the list of SmartCardAuthInfo tags from the config.txt file.
   461 */
   455 */
   462 void CSimSmartCardAuth::ParseAuthInfoL()
   456 void CSimSmartCardAuth::ParseAuthInfoL()
   463 	{
   457 	{
   464 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_1, "CSimSmartCardAuth::ParseAuthInfoL called");
   458 	LOGPHONE1("CSimSmartCardAuth::ParseAuthInfoL called");
   465 
   459 
   466 	CTestConfigItem* item = NULL;
   460 	CTestConfigItem* item = NULL;
   467 
   461 
   468 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_2, "Starting to Parse Smart Card Authentication Info");
   462 	LOGPHONE1("Starting to Parse Smart Card Authentication Info");
   469 	TInt count = CfgFile()->ItemCount(KScAuthInfo);
   463 	TInt count = CfgFile()->ItemCount(KScAuthInfo);
   470 
   464 
   471 	TInt index;
   465 	TInt index;
   472 	for(index = 0; index < count; index++)
   466 	for(index = 0; index < count; index++)
   473 		{
   467 		{
   485 
   479 
   486 		//Get the data format
   480 		//Get the data format
   487 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 8, appId);
   481 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 8, appId);
   488 		if(ret != KErrNone)
   482 		if(ret != KErrNone)
   489 			{
   483 			{
   490 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_3, "WARNING - CONFIGURATION FILE PARSING - Reading element APPID returned %d (element no. %d) from tag %s.",ret,8,KScAuthInfo);
   484 			LOGPARSERR("appId",ret,8,&KScAuthInfo);
   491 			_LIT8(emptyAID, "");
   485 			_LIT8(emptyAID, "");
   492 			appId.Set(emptyAID);
   486 			appId.Set(emptyAID);
   493 			}
   487 			}
   494 		else
   488 		else
   495 			{
   489 			{
   496 			ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 9, dataFrmt);
   490 			ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 9, dataFrmt);
   497 			if(ret != KErrNone)
   491 			if(ret != KErrNone)
   498 				{
   492 				{
   499 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_4, "WARNING - CONFIGURATION FILE PARSING - Reading element DATAFRMT returned %d (element no. %d) from tag %s.",ret,9,KScAuthInfo);
   493 				LOGPARSERR("dataFrmt",ret,9,&KScAuthInfo);
   500 				}
   494 				}
   501 			else if (dataFrmt >= EMaxConfigDataFormat)
   495 			else if (dataFrmt >= EMaxConfigDataFormat)
   502 				{
   496 				{
   503 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_5, "WARNING IN CONFIGURATION FILE PARSING - Invalid format for SC Authenticate tag");
   497 				LOGPHONE1("WARNING IN CONFIGURATION FILE PARSING - Invalid format for SC Authenticate tag");
   504 				dataFrmt = EConfigDataFormatAscii;
   498 				dataFrmt = EConfigDataFormatAscii;
   505 				}
   499 				}
   506 
   500 
   507 			authInfo.iAID.Copy(appId);
   501 			authInfo.iAID.Copy(appId);
   508 
   502 
   518 
   512 
   519 		//Get the AUTN
   513 		//Get the AUTN
   520 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 0, AUTN);
   514 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 0, AUTN);
   521 		if(ret != KErrNone)
   515 		if(ret != KErrNone)
   522 			{
   516 			{
   523 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_6, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTN returned %d (element no. %d) from tag %s.",ret,0,KScAuthInfo);
   517 			LOGPARSERR("AUTN",ret,0,&KScAuthInfo);
   524 			continue;
   518 			continue;
   525 			}
   519 			}
   526 		else
   520 		else
   527 			{
   521 			{
   528 			authInfo.iAUTN.Copy(AUTN);
   522 			authInfo.iAUTN.Copy(AUTN);
   539 
   533 
   540 		//Get the RAND
   534 		//Get the RAND
   541 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 1, RAND);
   535 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 1, RAND);
   542 		if(ret != KErrNone)
   536 		if(ret != KErrNone)
   543 			{
   537 			{
   544 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_7, "WARNING - CONFIGURATION FILE PARSING - Reading element RAND returned %d (element no. %d) from tag %s.",ret,1,KScAuthInfo);
   538 			LOGPARSERR("RAND",ret,1,&KScAuthInfo);
   545 			continue;
   539 			continue;
   546 			}
   540 			}
   547 		else
   541 		else
   548 			{
   542 			{
   549 			authInfo.iRAND.Copy(RAND);
   543 			authInfo.iRAND.Copy(RAND);
   560 
   554 
   561 		//Get the RES
   555 		//Get the RES
   562 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 2, RES);
   556 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 2, RES);
   563 		if(ret != KErrNone)
   557 		if(ret != KErrNone)
   564 			{
   558 			{
   565 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_8, "WARNING - CONFIGURATION FILE PARSING - Reading element RES returned %d (element no. %d) from tag %s.",ret,2,KScAuthInfo);
   559 			LOGPARSERR("RES",ret,2,&KScAuthInfo);
   566 			continue;
   560 			continue;
   567 			}
   561 			}
   568 		else
   562 		else
   569 			{
   563 			{
   570 			authInfo.iRES.Copy(RES);
   564 			authInfo.iRES.Copy(RES);
   581 		
   575 		
   582 		//Get the IK
   576 		//Get the IK
   583 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 3, IK);
   577 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 3, IK);
   584 		if(ret != KErrNone)
   578 		if(ret != KErrNone)
   585 			{
   579 			{
   586 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_9, "WARNING - CONFIGURATION FILE PARSING - Reading element IK returned %d (element no. %d) from tag %s.",ret,3,KScAuthInfo);
   580 			LOGPARSERR("IK",ret,3,&KScAuthInfo);
   587 			continue;
   581 			continue;
   588 			}
   582 			}
   589 		else
   583 		else
   590 			{
   584 			{
   591 			authInfo.iIK.Copy(IK);
   585 			authInfo.iIK.Copy(IK);
   602 
   596 
   603 		//Get the CK
   597 		//Get the CK
   604 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 4, CK);
   598 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 4, CK);
   605 		if(ret != KErrNone)
   599 		if(ret != KErrNone)
   606 			{
   600 			{
   607 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_10, "WARNING - CONFIGURATION FILE PARSING - Reading element CK returned %d (element no. %d) from tag %s.",ret,4,KScAuthInfo);
   601 			LOGPARSERR("CK",ret,4,&KScAuthInfo);
   608 			continue;
   602 			continue;
   609 			}
   603 			}
   610 		else
   604 		else
   611 			{
   605 			{
   612 			authInfo.iCK.Copy(CK);
   606 			authInfo.iCK.Copy(CK);
   623 
   617 
   624 		//Get the CK
   618 		//Get the CK
   625 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 5, Kc);
   619 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 5, Kc);
   626 		if(ret != KErrNone)
   620 		if(ret != KErrNone)
   627 			{
   621 			{
   628 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_11, "WARNING - CONFIGURATION FILE PARSING - Reading element KC returned %d (element no. %d) from tag %s.",ret,5,KScAuthInfo);
   622 			LOGPARSERR("Kc",ret,5,&KScAuthInfo);
   629 			continue;
   623 			continue;
   630 			}
   624 			}
   631 		else
   625 		else
   632 			{
   626 			{
   633 			authInfo.iKc.Copy(Kc);
   627 			authInfo.iKc.Copy(Kc);
   644 
   638 
   645 		//Get the AUTS
   639 		//Get the AUTS
   646 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 6, AUTS);
   640 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 6, AUTS);
   647 		if(ret != KErrNone)
   641 		if(ret != KErrNone)
   648 			{
   642 			{
   649 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_12, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTS returned %d (element no. %d) from tag %s.",ret,6,KScAuthInfo);
   643 			LOGPARSERR("AUTS",ret,6,&KScAuthInfo);
   650 			continue;
   644 			continue;
   651 			}
   645 			}
   652 		else
   646 		else
   653 			{
   647 			{
   654 			authInfo.iAUTS.Copy(AUTS);
   648 			authInfo.iAUTS.Copy(AUTS);
   665 
   659 
   666 		//Get authentication error
   660 		//Get authentication error
   667 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 7, authErr);
   661 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 7, authErr);
   668 		if(ret != KErrNone)
   662 		if(ret != KErrNone)
   669 			{
   663 			{
   670 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEAUTHINFOL_13, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTHERR returned %d (element no. %d) from tag %s.",ret,7,KScAuthInfo);
   664 			LOGPARSERR("authErr",ret,7,&KScAuthInfo);
   671 			continue;
   665 			continue;
   672 			}
   666 			}
   673 		else
   667 		else
   674 			{
   668 			{
   675 			authInfo.iAuthErr = authErr;
   669 			authInfo.iAuthErr = authErr;
   683 /**
   677 /**
   684 Parses the list of GBAAuthInfo tags from the config.txt file.
   678 Parses the list of GBAAuthInfo tags from the config.txt file.
   685 */
   679 */
   686 void CSimSmartCardAuth::ParseGBAAuthInfoL()
   680 void CSimSmartCardAuth::ParseGBAAuthInfoL()
   687 	{
   681 	{
   688 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_1, "CSimSmartCardAuth::ParseGBAAuthInfoL called");
   682 	LOGPHONE1("CSimSmartCardAuth::ParseGBAAuthInfoL called");
   689 
   683 
   690 	CTestConfigItem* item = NULL;
   684 	CTestConfigItem* item = NULL;
   691 
   685 
   692 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_2, "Starting to Parse GBA Authentication Info");
   686 	LOGPHONE1("Starting to Parse GBA Authentication Info");
   693 	TInt count = CfgFile()->ItemCount(KGBAAuthInfo);
   687 	TInt count = CfgFile()->ItemCount(KGBAAuthInfo);
   694 
   688 
   695 	TInt index;
   689 	TInt index;
   696 	for(index = 0; index < count; index++)
   690 	for(index = 0; index < count; index++)
   697 		{
   691 		{
   710 
   704 
   711 		//Get the AUTN
   705 		//Get the AUTN
   712 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 0, AUTN);
   706 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 0, AUTN);
   713 		if(ret != KErrNone)
   707 		if(ret != KErrNone)
   714 			{
   708 			{
   715 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_3, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTN returned %d (element no. %d) from tag %s.",ret,0,KGBAAuthInfo);
   709 			LOGPARSERR("AUTN",ret,0,&KGBAAuthInfo);
   716 			continue;
   710 			continue;
   717 			}
   711 			}
   718 		else
   712 		else
   719 			{
   713 			{
   720 			authInfo.iAUTN.Copy(AUTN);
   714 			authInfo.iAUTN.Copy(AUTN);
   722 
   716 
   723 		//Get the RAND
   717 		//Get the RAND
   724 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 1, RAND);
   718 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 1, RAND);
   725 		if(ret != KErrNone)
   719 		if(ret != KErrNone)
   726 			{
   720 			{
   727 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_4, "WARNING - CONFIGURATION FILE PARSING - Reading element RAND returned %d (element no. %d) from tag %s.",ret,1,KGBAAuthInfo);
   721 			LOGPARSERR("RAND",ret,1,&KGBAAuthInfo);
   728 			continue;
   722 			continue;
   729 			}
   723 			}
   730 		else
   724 		else
   731 			{
   725 			{
   732 			authInfo.iRAND.Copy(RAND);
   726 			authInfo.iRAND.Copy(RAND);
   734 
   728 
   735 		//Get the APPID
   729 		//Get the APPID
   736 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 2, appId);
   730 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 2, appId);
   737 		if(ret != KErrNone)
   731 		if(ret != KErrNone)
   738 			{
   732 			{
   739 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_5, "WARNING - CONFIGURATION FILE PARSING - Reading element APPID returned %d (element no. %d) from tag %s.",ret,2,KGBAAuthInfo);
   733 			LOGPARSERR("APPID",ret,2,&KGBAAuthInfo);
   740 			continue;
   734 			continue;
   741 			}
   735 			}
   742 		else
   736 		else
   743 			{
   737 			{
   744 			authInfo.iAID.Copy(appId);
   738 			authInfo.iAID.Copy(appId);
   746 		
   740 		
   747 		//Get the RES
   741 		//Get the RES
   748 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 3, RES);
   742 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 3, RES);
   749 		if(ret != KErrNone)
   743 		if(ret != KErrNone)
   750 			{
   744 			{
   751 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_6, "WARNING - CONFIGURATION FILE PARSING - Reading element RES returned %d (element no. %d) from tag %s.",ret,3,KGBAAuthInfo);
   745 			LOGPARSERR("RES",ret,3,&KGBAAuthInfo);
   752 			continue;
   746 			continue;
   753 			}
   747 			}
   754 		else
   748 		else
   755 			{
   749 			{
   756 			authInfo.iRES.Copy(RES);
   750 			authInfo.iRES.Copy(RES);
   758 		
   752 		
   759 		//Get the AUTS
   753 		//Get the AUTS
   760 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 4, AUTS);
   754 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 4, AUTS);
   761 		if(ret != KErrNone)
   755 		if(ret != KErrNone)
   762 			{
   756 			{
   763 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_7, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTS returned %d (element no. %d) from tag %s.",ret,4,KGBAAuthInfo);
   757 			LOGPARSERR("AUTS",ret,4,&KGBAAuthInfo);
   764 			continue;
   758 			continue;
   765 			}
   759 			}
   766 		else
   760 		else
   767 			{
   761 			{
   768 			authInfo.iAUTS.Copy(AUTS);
   762 			authInfo.iAUTS.Copy(AUTS);
   770 		
   764 		
   771 		//Get the NAFID
   765 		//Get the NAFID
   772 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 5, NAFID);
   766 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 5, NAFID);
   773 		if(ret != KErrNone)
   767 		if(ret != KErrNone)
   774 			{
   768 			{
   775 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_8, "WARNING - CONFIGURATION FILE PARSING - Reading element NAFID returned %d (element no. %d) from tag %s.",ret,5,KGBAAuthInfo);
   769 			LOGPARSERR("NAFID",ret,5,&KGBAAuthInfo);
   776 			continue;
   770 			continue;
   777 			}
   771 			}
   778 		else
   772 		else
   779 			{
   773 			{
   780 			authInfo.iNAFID.Copy(NAFID);
   774 			authInfo.iNAFID.Copy(NAFID);
   782 		
   776 		
   783 		//Get the IMPI
   777 		//Get the IMPI
   784 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 6, IMPI);
   778 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 6, IMPI);
   785 		if(ret != KErrNone)
   779 		if(ret != KErrNone)
   786 			{
   780 			{
   787 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_9, "WARNING - CONFIGURATION FILE PARSING - Reading element IMPI returned %d (element no. %d) from tag %s.",ret,6,KGBAAuthInfo);
   781 			LOGPARSERR("IMPI",ret,6,&KGBAAuthInfo);
   788 			continue;
   782 			continue;
   789 			}
   783 			}
   790 		else
   784 		else
   791 			{
   785 			{
   792 			authInfo.iIMPI.Copy(IMPI);
   786 			authInfo.iIMPI.Copy(IMPI);
   794 		
   788 		
   795 		//Get the KsExtNaf
   789 		//Get the KsExtNaf
   796 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 7, KSExtNaf);
   790 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 7, KSExtNaf);
   797 		if(ret != KErrNone)
   791 		if(ret != KErrNone)
   798 			{
   792 			{
   799 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_10, "WARNING - CONFIGURATION FILE PARSING - Reading element KSEXTNAF returned %d (element no. %d) from tag %s.",ret,7,KGBAAuthInfo);
   793 			LOGPARSERR("KSExtNaf",ret,7,&KGBAAuthInfo);
   800 			continue;
   794 			continue;
   801 			}
   795 			}
   802 		else
   796 		else
   803 			{
   797 			{
   804 			authInfo.iKsExtNaf.Copy(KSExtNaf);
   798 			authInfo.iKsExtNaf.Copy(KSExtNaf);
   806 		
   800 		
   807 		//Get the BtID
   801 		//Get the BtID
   808 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 8, BtID);
   802 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 8, BtID);
   809 		if(ret != KErrNone)
   803 		if(ret != KErrNone)
   810 			{
   804 			{
   811 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_11, "WARNING - CONFIGURATION FILE PARSING - Reading element BTID returned %d (element no. %d) from tag %s.",ret,8,KGBAAuthInfo);
   805 			LOGPARSERR("BtID",ret,8,&KGBAAuthInfo);
   812 			continue;
   806 			continue;
   813 			}
   807 			}
   814 		else
   808 		else
   815 			{
   809 			{
   816 			authInfo.iBtid.Copy(BtID);
   810 			authInfo.iBtid.Copy(BtID);
   818 		
   812 		
   819 		//Get the KeyLifeTime
   813 		//Get the KeyLifeTime
   820 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 9, KeyLifeTime);
   814 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 9, KeyLifeTime);
   821 		if(ret != KErrNone)
   815 		if(ret != KErrNone)
   822 			{
   816 			{
   823 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_12, "WARNING - CONFIGURATION FILE PARSING - Reading element KEYLIFETIME returned %d (element no. %d) from tag %s.",ret,9,KGBAAuthInfo);
   817 			LOGPARSERR("KeyLifeTime",ret,9,&KGBAAuthInfo);
   824 			continue;
   818 			continue;
   825 			}
   819 			}
   826 		else
   820 		else
   827 			{
   821 			{
   828 			authInfo.iKeyLifeTime.Copy(KeyLifeTime);
   822 			authInfo.iKeyLifeTime.Copy(KeyLifeTime);
   830 
   824 
   831 		//Get the OtherApplnBusy
   825 		//Get the OtherApplnBusy
   832 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 10, OtherApplnBusy);
   826 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 10, OtherApplnBusy);
   833 		if(ret != KErrNone)
   827 		if(ret != KErrNone)
   834 			{
   828 			{
   835 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_13, "WARNING - CONFIGURATION FILE PARSING - Reading element OTHERAPPLNBUSY returned %d (element no. %d) from tag %s.",ret,10,KGBAAuthInfo);
   829 			LOGPARSERR("OtherApplnBusy",ret,10,&KGBAAuthInfo);
   836 			continue;
   830 			continue;
   837 			}
   831 			}
   838 		else
   832 		else
   839 			{
   833 			{
   840 			authInfo.iOtherApplnBusy = OtherApplnBusy;
   834 			authInfo.iOtherApplnBusy = OtherApplnBusy;
   842 
   836 
   843 		//Get the CurrentApplnActive
   837 		//Get the CurrentApplnActive
   844 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 11, applnActive);
   838 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 11, applnActive);
   845 		if(ret != KErrNone)
   839 		if(ret != KErrNone)
   846 			{
   840 			{
   847 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_14, "WARNING - CONFIGURATION FILE PARSING - Reading element APPLNACTIVE returned %d (element no. %d) from tag %s.",ret,11,KGBAAuthInfo);
   841 			LOGPARSERR("applnActive",ret,11,&KGBAAuthInfo);
   848 			continue;
   842 			continue;
   849 			}
   843 			}
   850 		else
   844 		else
   851 			{
   845 			{
   852 			authInfo.iApplnActive = applnActive;
   846 			authInfo.iApplnActive = applnActive;
   854 
   848 
   855 		//Get authentication error
   849 		//Get authentication error
   856 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 12, authErr);
   850 		ret = CTestConfig::GetElement(item->Value(), KStdDelimiter, 12, authErr);
   857 		if(ret != KErrNone)
   851 		if(ret != KErrNone)
   858 			{
   852 			{
   859 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEGBAAUTHINFOL_15, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTHERR returned %d (element no. %d) from tag %s.",ret,12,KGBAAuthInfo);
   853 			LOGPARSERR("authErr",ret,12,&KGBAAuthInfo);
   860 			continue;
   854 			continue;
   861 			}
   855 			}
   862 		else
   856 		else
   863 			{
   857 			{
   864 			authInfo.iAuthErr = authErr;
   858 			authInfo.iAuthErr = authErr;
   872 /**
   866 /**
   873  Parses the list of MBMSAuthInfo tags from the config.txt file.
   867  Parses the list of MBMSAuthInfo tags from the config.txt file.
   874 */
   868 */
   875 void CSimSmartCardAuth::ParseMBMSAuthInfoL()
   869 void CSimSmartCardAuth::ParseMBMSAuthInfoL()
   876 	{
   870 	{
   877 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_1, "CSimSmartCardAuth::ParseMBMSAuthInfoL called");
   871 	LOGPHONE1 ("CSimSmartCardAuth::ParseMBMSAuthInfoL called");
   878 
   872 
   879 	CTestConfigItem* item = NULL;
   873 	CTestConfigItem* item = NULL;
   880 
   874 
   881 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_2, "Starting to Parse MBMS Authentication Info");
   875 	LOGPHONE1 ("Starting to Parse MBMS Authentication Info");
   882 
   876 
   883 	TInt count = CfgFile()->ItemCount (KMBMSInfo);
   877 	TInt count = CfgFile()->ItemCount (KMBMSInfo);
   884 	TMBMSInfo tMbmsInfo;
   878 	TMBMSInfo tMbmsInfo;
   885 
   879 
   886 	for (TInt index = 0; index < count; index++)
   880 	for (TInt index = 0; index < count; index++)
   900 
   894 
   901 		//Get the input Mikey
   895 		//Get the input Mikey
   902 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 0, iMikey);
   896 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 0, iMikey);
   903 		if ( ret != KErrNone)
   897 		if ( ret != KErrNone)
   904 			{
   898 			{
   905 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_3, "WARNING - CONFIGURATION FILE PARSING - Reading element IMIKEY returned %d (element no. %d) from tag %s.", ret, 0, KMBMSInfo);
   899 			LOGPARSERR ("iMikey", ret, 0, &KMBMSInfo);
   906 			continue;
   900 			continue;
   907 			}
   901 			}
   908 		else
   902 		else
   909 			{
   903 			{
   910 			tMbmsInfo.iInputMikey.Copy (iMikey);
   904 			tMbmsInfo.iInputMikey.Copy (iMikey);
   912 
   906 
   913 		//Get the output Mikey
   907 		//Get the output Mikey
   914 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 1, oMikey);
   908 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 1, oMikey);
   915 		if ( ret != KErrNone)
   909 		if ( ret != KErrNone)
   916 			{
   910 			{
   917 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_4, "WARNING - CONFIGURATION FILE PARSING - Reading element OMIKEY returned %d (element no. %d) from tag %s.", ret, 1, KMBMSInfo);
   911 			LOGPARSERR ("oMikey", ret, 1, &KMBMSInfo);
   918 			continue;
   912 			continue;
   919 			}
   913 			}
   920 		else
   914 		else
   921 			{
   915 			{
   922 			tMbmsInfo.iOutputMikey.Copy (oMikey);
   916 			tMbmsInfo.iOutputMikey.Copy (oMikey);
   924 
   918 
   925 		//Get the MTK
   919 		//Get the MTK
   926 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 2, mtk);
   920 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 2, mtk);
   927 		if ( ret != KErrNone)
   921 		if ( ret != KErrNone)
   928 			{
   922 			{
   929 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_5, "WARNING - CONFIGURATION FILE PARSING - Reading element MTK returned %d (element no. %d) from tag %s.", ret, 2, KMBMSInfo);
   923 			LOGPARSERR ("MTK", ret, 2, &KMBMSInfo);
   930 			continue;
   924 			continue;
   931 			}
   925 			}
   932 		else
   926 		else
   933 			{
   927 			{
   934 			tMbmsInfo.iMtk.Copy (mtk);
   928 			tMbmsInfo.iMtk.Copy (mtk);
   937 		//Get the SaltKey
   931 		//Get the SaltKey
   938 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 3,
   932 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 3,
   939 				saltKey);
   933 				saltKey);
   940 		if ( ret != KErrNone)
   934 		if ( ret != KErrNone)
   941 			{
   935 			{
   942 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_6, "WARNING - CONFIGURATION FILE PARSING - Reading element SALTKEY returned %d (element no. %d) from tag %s.", ret, 3, KMBMSInfo);
   936 			LOGPARSERR ("saltKey", ret, 3, &KMBMSInfo);
   943 			continue;
   937 			continue;
   944 			}
   938 			}
   945 		else
   939 		else
   946 			{
   940 			{
   947 			tMbmsInfo.iSaltkey.Copy (saltKey);
   941 			tMbmsInfo.iSaltkey.Copy (saltKey);
   949 
   943 
   950 		//Get the KeyDomain
   944 		//Get the KeyDomain
   951 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 4, keyDmn);
   945 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 4, keyDmn);
   952 		if ( ret != KErrNone)
   946 		if ( ret != KErrNone)
   953 			{
   947 			{
   954 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_7, "WARNING - CONFIGURATION FILE PARSING - Reading element KEYDMN  returned %d (element no. %d) from tag %s.", ret, 4, KMBMSInfo);
   948 			LOGPARSERR ("keyDmn ", ret, 4, &KMBMSInfo);
   955 			continue;
   949 			continue;
   956 			}
   950 			}
   957 		else
   951 		else
   958 			{
   952 			{
   959 			tMbmsInfo.iKeyDmn.Copy (keyDmn);
   953 			tMbmsInfo.iKeyDmn.Copy (keyDmn);
   962 		//Get the MskIdgrp
   956 		//Get the MskIdgrp
   963 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 5,
   957 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 5,
   964 				MskIdgrp);
   958 				MskIdgrp);
   965 		if ( ret != KErrNone)
   959 		if ( ret != KErrNone)
   966 			{
   960 			{
   967 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_8, "WARNING - CONFIGURATION FILE PARSING - Reading element MSKIDGRP returned %d (element no. %d) from tag %s.", ret, 5, KMBMSInfo);
   961 			LOGPARSERR ("MskIdgrp", ret, 5, &KMBMSInfo);
   968 			continue;
   962 			continue;
   969 			}
   963 			}
   970 		else
   964 		else
   971 			{
   965 			{
   972 			tMbmsInfo.iMskIdGrp.Copy (MskIdgrp);
   966 			tMbmsInfo.iMskIdGrp.Copy (MskIdgrp);
   974 
   968 
   975 		//Get the iMukIdTlv
   969 		//Get the iMukIdTlv
   976 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 6, MukId);
   970 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 6, MukId);
   977 		if ( ret != KErrNone)
   971 		if ( ret != KErrNone)
   978 			{
   972 			{
   979 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_9, "WARNING - CONFIGURATION FILE PARSING - Reading element MUKID  returned %d (element no. %d) from tag %s.", ret, 6, KMBMSInfo);
   973 			LOGPARSERR ("MukId ", ret, 6, &KMBMSInfo);
   980 			continue;
   974 			continue;
   981 			}
   975 			}
   982 		else
   976 		else
   983 			{
   977 			{
   984 			tMbmsInfo.iMukIdTlv.Copy (MukId);
   978 			tMbmsInfo.iMukIdTlv.Copy (MukId);
   986 
   980 
   987 		//Get the MukIdi
   981 		//Get the MukIdi
   988 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 7, MukIdi);
   982 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 7, MukIdi);
   989 		if ( ret != KErrNone)
   983 		if ( ret != KErrNone)
   990 			{
   984 			{
   991 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_10, "WARNING - CONFIGURATION FILE PARSING - Reading element MUKIDI returned %d (element no. %d) from tag %s.", ret, 7, KMBMSInfo);
   985 			LOGPARSERR ("MukIdi", ret, 7, &KMBMSInfo);
   992 			continue;
   986 			continue;
   993 			}
   987 			}
   994 		else
   988 		else
   995 			{
   989 			{
   996 			tMbmsInfo.iMukIdi.Copy (MukIdi);
   990 			tMbmsInfo.iMukIdi.Copy (MukIdi);
   998 
   992 
   999 		//Get the MukIdr 
   993 		//Get the MukIdr 
  1000 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 8, MukIdr);
   994 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 8, MukIdr);
  1001 		if ( ret != KErrNone)
   995 		if ( ret != KErrNone)
  1002 			{
   996 			{
  1003 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_11, "WARNING - CONFIGURATION FILE PARSING - Reading element MUKIDR  returned %d (element no. %d) from tag %s.", ret, 8, KMBMSInfo);
   997 			LOGPARSERR ("MukIdr ", ret, 8, &KMBMSInfo);
  1004 			continue;
   998 			continue;
  1005 			}
   999 			}
  1006 		else
  1000 		else
  1007 			{
  1001 			{
  1008 			tMbmsInfo.iMukIdr.Copy (MukIdr);
  1002 			tMbmsInfo.iMukIdr.Copy (MukIdr);
  1010 
  1004 
  1011 		//Get the MukTimeStamp
  1005 		//Get the MukTimeStamp
  1012 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 9,MukTimeStamp);
  1006 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 9,MukTimeStamp);
  1013 		if ( ret != KErrNone)
  1007 		if ( ret != KErrNone)
  1014 			{
  1008 			{
  1015 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_12, "WARNING - CONFIGURATION FILE PARSING - Reading element IMIKEY returned %d (element no. %d) from tag %s.", ret, 9, KMBMSInfo);
  1009 			LOGPARSERR ("iMikey", ret, 9, &KMBMSInfo);
  1016 			continue;
  1010 			continue;
  1017 			}
  1011 			}
  1018 		else
  1012 		else
  1019 			{
  1013 			{
  1020 			tMbmsInfo.iMukTimestamp.Copy (MukTimeStamp);
  1014 			tMbmsInfo.iMukTimestamp.Copy (MukTimeStamp);
  1022 
  1016 
  1023 		//Get the APPID
  1017 		//Get the APPID
  1024 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 10, appId);
  1018 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 10, appId);
  1025 		if ( ret != KErrNone)
  1019 		if ( ret != KErrNone)
  1026 			{
  1020 			{
  1027 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_13, "WARNING - CONFIGURATION FILE PARSING - Reading element APPID returned %d (element no. %d) from tag %s.", ret, 10, KMBMSInfo);
  1021 			LOGPARSERR ("APPID", ret, 10, &KMBMSInfo);
  1028 			continue;
  1022 			continue;
  1029 			}
  1023 			}
  1030 		else
  1024 		else
  1031 			{
  1025 			{
  1032 			tMbmsInfo.iAID.Copy (appId);
  1026 			tMbmsInfo.iAID.Copy (appId);
  1034 
  1028 
  1035 		//Get the KsIntNaf
  1029 		//Get the KsIntNaf
  1036 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 11,KSIntNaf);
  1030 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 11,KSIntNaf);
  1037 		if ( ret != KErrNone)
  1031 		if ( ret != KErrNone)
  1038 			{
  1032 			{
  1039 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_14, "WARNING - CONFIGURATION FILE PARSING - Reading element KSINTNAF returned %d (element no. %d) from tag %s.", ret, 11, KMBMSInfo);
  1033 			LOGPARSERR ("KSIntNaf", ret, 11, &KMBMSInfo);
  1040 			continue;
  1034 			continue;
  1041 			}
  1035 			}
  1042 		else
  1036 		else
  1043 			{
  1037 			{
  1044 			tMbmsInfo.iKsIntNaf.Copy (KSIntNaf);
  1038 			tMbmsInfo.iKsIntNaf.Copy (KSIntNaf);
  1046 
  1040 
  1047 		//Get the CurrentApplnActive
  1041 		//Get the CurrentApplnActive
  1048 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 12,applnActive);
  1042 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 12,applnActive);
  1049 		if ( ret != KErrNone)
  1043 		if ( ret != KErrNone)
  1050 			{
  1044 			{
  1051 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_15, "WARNING - CONFIGURATION FILE PARSING - Reading element APPLNACTIVE returned %d (element no. %d) from tag %s.", ret, 12, KMBMSInfo);
  1045 			LOGPARSERR ("applnActive", ret, 12, &KMBMSInfo);
  1052 			continue;
  1046 			continue;
  1053 			}
  1047 			}
  1054 		else
  1048 		else
  1055 			{
  1049 			{
  1056 			tMbmsInfo.iApplnActive = applnActive;
  1050 			tMbmsInfo.iApplnActive = applnActive;
  1058 
  1052 
  1059 		//Get authentication error
  1053 		//Get authentication error
  1060 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 13,authErr);
  1054 		ret = CTestConfig::GetElement (item->Value (), KStdDelimiter, 13,authErr);
  1061 		if ( ret != KErrNone)
  1055 		if ( ret != KErrNone)
  1062 			{
  1056 			{
  1063 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMSMARTCARDAUTH_PARSEMBMSAUTHINFOL_16, "WARNING - CONFIGURATION FILE PARSING - Reading element AUTHERR returned %d (element no. %d) from tag %s.", ret, 13, KMBMSInfo);
  1057 			LOGPARSERR ("authErr", ret, 13, &KMBMSInfo);
  1064 			continue;
  1058 			continue;
  1065 			}
  1059 			}
  1066 		else
  1060 		else
  1067 			{
  1061 			{
  1068 			tMbmsInfo.iAuthErr = authErr;
  1062 			tMbmsInfo.iAuthErr = authErr;