telephonyserverplugins/simtsy/src/CSimPhoneSecurity.cpp
branchRCL_3
changeset 66 07a122eea281
parent 65 630d2f34d719
equal deleted inserted replaced
65:630d2f34d719 66:07a122eea281
     1 // Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2002-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".
    17 
    17 
    18 /**
    18 /**
    19  @file
    19  @file
    20 */
    20 */
    21 
    21 
    22 
       
    23 
       
    24 #include "OstTraceDefinitions.h"
       
    25 #ifdef OST_TRACE_COMPILER_IN_USE
       
    26 #include "CSimPhoneSecurityTraces.h"
       
    27 #endif
       
    28 
       
    29 #include "CSimPhone.h"
    22 #include "CSimPhone.h"
       
    23 #include "Simlog.h"
    30 #include "utils.h"
    24 #include "utils.h"
    31 #include "CSimPhoneSecurity.h"
    25 #include "CSimPhoneSecurity.h"
    32 #include <testconfigfileparser.h>
    26 #include <testconfigfileparser.h>
    33 #include "CSimTsyMode.h"
    27 #include "CSimTsyMode.h"
    34 #include <e32math.h>
    28 #include <e32math.h>
    70  * Second phase constructor that allocates memory for the phonebook, batch read buffer and
    64  * Second phase constructor that allocates memory for the phonebook, batch read buffer and
    71  * a delayed completion timer.  The constructor also reads the individual and batch read
    65  * a delayed completion timer.  The constructor also reads the individual and batch read
    72  * delays from the configuration file.
    66  * delays from the configuration file.
    73  */
    67  */
    74 	{
    68 	{
    75 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_1, "Starting to parse PhoneSecurity additional config parameters...");
    69 	LOGPHONE1("Starting to parse PhoneSecurity additional config parameters...");
    76 	
    70 	
    77 	iNotifySettingsTimer = CIccTimer::NewL();
    71 	iNotifySettingsTimer = CIccTimer::NewL();
    78 	iNotifySecurityEventsTimer = CIccTimer::NewL();
    72 	iNotifySecurityEventsTimer = CIccTimer::NewL();
    79 	
    73 	
    80 	iNotifySettingsTimer->iTimer = CSimTimer::NewL(iPhone);
    74 	iNotifySettingsTimer->iTimer = CSimTimer::NewL(iPhone);
    90 		{
    84 		{
    91 		TPtrC8 temp;
    85 		TPtrC8 temp;
    92 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,temp);
    86 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,temp);
    93 		if(ret!=KErrNone)
    87 		if(ret!=KErrNone)
    94 			{
    88 			{
    95 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_2, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,0,KSecurityCodes);
    89 			LOGPARSERR("temp",ret,0,&KSecurityCodes);
    96 			}
    90 			}
    97 		else
    91 		else
    98 			iSecCodes.iPin1.Copy(temp);
    92 			iSecCodes.iPin1.Copy(temp);
    99 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,temp);
    93 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,temp);
   100 		if(ret!=KErrNone)
    94 		if(ret!=KErrNone)
   101 			{
    95 			{
   102 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_3, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,1,KSecurityCodes);
    96 			LOGPARSERR("temp",ret,1,&KSecurityCodes);
   103 			}
    97 			}
   104 		else
    98 		else
   105 			iSecCodes.iPin2.Copy(temp);
    99 			iSecCodes.iPin2.Copy(temp);
   106 
   100 
   107 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,temp);
   101 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,temp);
   108 		if(ret!=KErrNone)
   102 		if(ret!=KErrNone)
   109 			{
   103 			{
   110 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_4, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,2,KSecurityCodes);
   104 			LOGPARSERR("temp",ret,2,&KSecurityCodes);
   111 			}
   105 			}
   112 		else
   106 		else
   113 			iSecCodes.iPuk1.Copy(temp);
   107 			iSecCodes.iPuk1.Copy(temp);
   114 
   108 
   115 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,temp);
   109 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,temp);
   116 		if(ret!=KErrNone)
   110 		if(ret!=KErrNone)
   117 			{
   111 			{
   118 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_5, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,3,KSecurityCodes);
   112 			LOGPARSERR("temp",ret,3,&KSecurityCodes);
   119 			}
   113 			}
   120 		else
   114 		else
   121 			iSecCodes.iPuk2.Copy(temp);
   115 			iSecCodes.iPuk2.Copy(temp);
   122 
   116 
   123 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,temp);
   117 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,temp);
   124 		if(ret!=KErrNone)
   118 		if(ret!=KErrNone)
   125 			{
   119 			{
   126 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_6, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,4,KSecurityCodes);
   120 			LOGPARSERR("temp",ret,4,&KSecurityCodes);
   127 			}
   121 			}
   128 		else
   122 		else
   129 			iSecCodes.iPhonePassword.Copy(temp);
   123 			iSecCodes.iPhonePassword.Copy(temp);
   130 
   124 
   131 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,temp);
   125 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,temp);
   132 		if(ret!=KErrNone)
   126 		if(ret!=KErrNone)
   133 			{
   127 			{
   134 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_7, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,5,KSecurityCodes);
   128 			LOGPARSERR("temp",ret,5,&KSecurityCodes);
   135 			}
   129 			}
   136 		else
   130 		else
   137 			iSecCodes.iSPC.Copy(temp);
   131 			iSecCodes.iSPC.Copy(temp);
   138 
   132 
   139 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,6,temp);
   133 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,6,temp);
   140 		if(ret!=KErrNone)
   134 		if(ret!=KErrNone)
   141 			{
   135 			{
   142 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_8, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,6,KSecurityCodes);
   136 			LOGPARSERR("temp",ret,6,&KSecurityCodes);
   143 			}
   137 			}
   144 		else
   138 		else
   145 			iSecCodes.iPhBkHiddenKey.Copy(temp);
   139 			iSecCodes.iPhBkHiddenKey.Copy(temp);
   146 
   140 
   147 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,7,temp);
   141 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,7,temp);
   148 		if(ret!=KErrNone)
   142 		if(ret!=KErrNone)
   149 			{
   143 			{
   150 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_9, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,7,KSecurityCodes);
   144 			LOGPARSERR("temp",ret,7,&KSecurityCodes);
   151 			}
   145 			}
   152 		else
   146 		else
   153 			iSecCodes.iUSimAppPin.Copy(temp);
   147 			iSecCodes.iUSimAppPin.Copy(temp);
   154 
   148 
   155 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,8,temp);
   149 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,8,temp);
   156 		if(ret!=KErrNone)
   150 		if(ret!=KErrNone)
   157 			{
   151 			{
   158 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_10, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,8,KSecurityCodes);
   152 			LOGPARSERR("temp",ret,8,&KSecurityCodes);
   159 			}
   153 			}
   160 		else
   154 		else
   161 			iSecCodes.iSecondUSimAppPin.Copy(temp);
   155 			iSecCodes.iSecondUSimAppPin.Copy(temp);
   162 
   156 
   163 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,9,temp);
   157 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,9,temp);
   164 		if(ret!=KErrNone)
   158 		if(ret!=KErrNone)
   165 			{
   159 			{
   166 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_11, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,9,KSecurityCodes);
   160 			LOGPARSERR("temp",ret,9,&KSecurityCodes);
   167 			}
   161 			}
   168 		else
   162 		else
   169 			iSecCodes.iUniversalPin.Copy(temp);
   163 			iSecCodes.iUniversalPin.Copy(temp);
   170 		}
   164 		}
   171 	
   165 	
   176 		TInt temp;
   170 		TInt temp;
   177 
   171 
   178 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,temp);
   172 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,temp);
   179 		if(ret!=KErrNone)
   173 		if(ret!=KErrNone)
   180 			{
   174 			{
   181 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_12, "WARNING - CONFIGURATION FILE PARSING - Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s." ,ret,0,KSecurityCodeAttempts);
   175 			LOGPARSERR(&KSecurityCodeAttempts,ret,0,&KSecurityCodeAttempts);
   182 			}
   176 			}
   183 		else
   177 		else
   184 			{
   178 			{
   185 			if (temp <= 0)
   179 			if (temp <= 0)
   186 				{
   180 				{
   187 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_13, "Using default value...");
   181 				LOGPARSERRANGE(&KSecurityCodeAttempts,temp,"> 0",0,&KSecurityCodeAttempts);
       
   182 				LOGCONFIG1("Using default value...");
   188 				temp = KDefaultPinEntryAttempts;
   183 				temp = KDefaultPinEntryAttempts;
   189 				}
   184 				}
   190 			iSecurityCodeRemainigAttempts.iPin1=temp;
   185 			iSecurityCodeRemainigAttempts.iPin1=temp;
   191 			iSecurityCodeDefaultRemainigAttempts.iPin1=temp;
   186 			iSecurityCodeDefaultRemainigAttempts.iPin1=temp;
   192 			}
   187 			}
   193 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,temp);
   188 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,temp);
   194 		if(ret!=KErrNone)
   189 		if(ret!=KErrNone)
   195 			{
   190 			{
   196 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_14, "WARNING - CONFIGURATION FILE PARSING - Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s." ,ret,1,KSecurityCodeAttempts);
   191 			LOGPARSERR(&KSecurityCodeAttempts,ret,1,&KSecurityCodeAttempts);
   197 			}
   192 			}
   198 		else
   193 		else
   199 			{
   194 			{
   200 			if (temp <= 0)
   195 			if (temp <= 0)
   201 				{
   196 				{
   202 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_15, "Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s expected > 0" ,temp,1,KSecurityCodeAttempts);
   197 				LOGPARSERRANGE(&KSecurityCodeAttempts,temp,"> 0",1,&KSecurityCodeAttempts);
   203 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_16, "Using default value...");
   198 				LOGCONFIG1("Using default value...");
   204 				temp = KDefaultPinEntryAttempts;
   199 				temp = KDefaultPinEntryAttempts;
   205 				}
   200 				}
   206 			iSecurityCodeRemainigAttempts.iPin2=temp;
   201 			iSecurityCodeRemainigAttempts.iPin2=temp;
   207 			iSecurityCodeDefaultRemainigAttempts.iPin2=temp;
   202 			iSecurityCodeDefaultRemainigAttempts.iPin2=temp;
   208 			}
   203 			}
   209 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,temp);
   204 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,temp);
   210 		if(ret!=KErrNone)
   205 		if(ret!=KErrNone)
   211 			{
   206 			{
   212 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_17, "WARNING - CONFIGURATION FILE PARSING - Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s." ,ret,2,KSecurityCodeAttempts);
   207 			LOGPARSERR(&KSecurityCodeAttempts,ret,2,&KSecurityCodeAttempts);
   213 			}
   208 			}
   214 		else
   209 		else
   215 			{
   210 			{
   216 			if (temp <= 0)
   211 			if (temp <= 0)
   217 				{
   212 				{
   218 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_18, "Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s expected > 0" ,temp,2,KSecurityCodeAttempts);
   213 				LOGPARSERRANGE(&KSecurityCodeAttempts,temp,"> 0",2,&KSecurityCodeAttempts);
   219 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_19, "Using default value...");
   214 				LOGCONFIG1("Using default value...");
   220 				temp = KDefaultPukEntryAttempts;
   215 				temp = KDefaultPukEntryAttempts;
   221 				}
   216 				}
   222 			iSecurityCodeRemainigAttempts.iPuk1=temp;
   217 			iSecurityCodeRemainigAttempts.iPuk1=temp;
   223 			iSecurityCodeDefaultRemainigAttempts.iPuk1=temp;
   218 			iSecurityCodeDefaultRemainigAttempts.iPuk1=temp;
   224 			}
   219 			}
   225 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,temp);
   220 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,temp);
   226 		if(ret!=KErrNone)
   221 		if(ret!=KErrNone)
   227 			{
   222 			{
   228 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_20, "WARNING - CONFIGURATION FILE PARSING - Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s."  ,ret,3,KSecurityCodeAttempts);
   223 			LOGPARSERR(&KSecurityCodeAttempts,ret,3,&KSecurityCodeAttempts);
   229 			}
   224 			}
   230 		else
   225 		else
   231 			{
   226 			{
   232 			if (temp <= 0)
   227 			if (temp <= 0)
   233 				{
   228 				{
   234 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_21, "Reading element SECURITYCODEATTEMPTS returned %d (element no. %d) from tag %s expected > 0" ,temp,3,KSecurityCodeAttempts);
   229 				LOGPARSERRANGE(&KSecurityCodeAttempts,temp,"> 0",3,&KSecurityCodeAttempts);
   235 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_22, "Using default value...");
   230 				LOGCONFIG1("Using default value...");
   236 				temp = KDefaultPukEntryAttempts;
   231 				temp = KDefaultPukEntryAttempts;
   237 				}
   232 				}
   238 			iSecurityCodeRemainigAttempts.iPuk2=temp;
   233 			iSecurityCodeRemainigAttempts.iPuk2=temp;
   239 			iSecurityCodeDefaultRemainigAttempts.iPuk2=temp;
   234 			iSecurityCodeDefaultRemainigAttempts.iPuk2=temp;
   240 			}
   235 			}
   241 		}
   236 		}
   242 	else
   237 	else
   243 		{
   238 		{
   244 		OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_23, "NOTE tag %s not defined, using default values",KSecurityCodeAttempts);
   239 		LOGPHONE2("NOTE tag %S not defined, using default values",&KSecurityCodeAttempts);
   245 		iSecurityCodeDefaultRemainigAttempts.iPin1= KDefaultPinEntryAttempts;
   240 		iSecurityCodeDefaultRemainigAttempts.iPin1= KDefaultPinEntryAttempts;
   246 		iSecurityCodeRemainigAttempts.iPin1= iSecurityCodeDefaultRemainigAttempts.iPin1;
   241 		iSecurityCodeRemainigAttempts.iPin1= iSecurityCodeDefaultRemainigAttempts.iPin1;
   247 		iSecurityCodeDefaultRemainigAttempts.iPin2= KDefaultPinEntryAttempts;
   242 		iSecurityCodeDefaultRemainigAttempts.iPin2= KDefaultPinEntryAttempts;
   248 		iSecurityCodeRemainigAttempts.iPin2= iSecurityCodeDefaultRemainigAttempts.iPin2;
   243 		iSecurityCodeRemainigAttempts.iPin2= iSecurityCodeDefaultRemainigAttempts.iPin2;
   249 		iSecurityCodeDefaultRemainigAttempts.iPuk1= KDefaultPukEntryAttempts;
   244 		iSecurityCodeDefaultRemainigAttempts.iPuk1= KDefaultPukEntryAttempts;
   258 		TInt temp;
   253 		TInt temp;
   259 
   254 
   260 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,temp);
   255 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,temp);
   261 		if(ret!=KErrNone)
   256 		if(ret!=KErrNone)
   262 			{
   257 			{
   263 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_24, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,0,KICCLockedAtStart);
   258 			LOGPARSERR("temp",ret,0,&KICCLockedAtStart);
   264 			}
   259 			}
   265 		else
   260 		else
   266 			{
   261 			{
   267 			iSecStatus.iPin1=(RMobilePhone::TMobilePhoneLockStatus) temp;
   262 			iSecStatus.iPin1=(RMobilePhone::TMobilePhoneLockStatus) temp;
   268 			iSecSetting.iPin1=(RMobilePhone::TMobilePhoneLockSetting) temp;
   263 			iSecSetting.iPin1=(RMobilePhone::TMobilePhoneLockSetting) temp;
   269 			}
   264 			}
   270 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,temp);
   265 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,temp);
   271 		if(ret!=KErrNone)
   266 		if(ret!=KErrNone)
   272 			{
   267 			{
   273 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_25, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,1,KICCLockedAtStart);
   268 			LOGPARSERR("temp",ret,1,&KICCLockedAtStart);
   274 			}
   269 			}
   275 		else
   270 		else
   276 			{
   271 			{
   277 			iSecStatus.iPin2=(RMobilePhone::TMobilePhoneLockStatus) temp;
   272 			iSecStatus.iPin2=(RMobilePhone::TMobilePhoneLockStatus) temp;
   278 			iSecSetting.iPin2=(RMobilePhone::TMobilePhoneLockSetting) temp;
   273 			iSecSetting.iPin2=(RMobilePhone::TMobilePhoneLockSetting) temp;
   279 			}
   274 			}
   280 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,temp);
   275 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,temp);
   281 		if(ret!=KErrNone)
   276 		if(ret!=KErrNone)
   282 			{
   277 			{
   283 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_26, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,2,KICCLockedAtStart);
   278 			LOGPARSERR("temp",ret,2,&KICCLockedAtStart);
   284 			}
   279 			}
   285 		else
   280 		else
   286 			{
   281 			{
   287 			iSecStatus.iPuk1=(RMobilePhone::TMobilePhoneLockStatus) temp;
   282 			iSecStatus.iPuk1=(RMobilePhone::TMobilePhoneLockStatus) temp;
   288 			iSecSetting.iPuk1=(RMobilePhone::TMobilePhoneLockSetting) temp;
   283 			iSecSetting.iPuk1=(RMobilePhone::TMobilePhoneLockSetting) temp;
   289 			}
   284 			}
   290 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,temp);
   285 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,temp);
   291 		if(ret!=KErrNone)
   286 		if(ret!=KErrNone)
   292 			{
   287 			{
   293 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_27, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,3,KICCLockedAtStart);
   288 			LOGPARSERR("temp",ret,3,&KICCLockedAtStart);
   294 			}
   289 			}
   295 		else
   290 		else
   296 			{
   291 			{
   297 			iSecStatus.iPuk2=(RMobilePhone::TMobilePhoneLockStatus) temp;
   292 			iSecStatus.iPuk2=(RMobilePhone::TMobilePhoneLockStatus) temp;
   298 			iSecSetting.iPuk2=(RMobilePhone::TMobilePhoneLockSetting) temp;
   293 			iSecSetting.iPuk2=(RMobilePhone::TMobilePhoneLockSetting) temp;
   299 			}
   294 			}
   300 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,temp);
   295 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,temp);
   301 		if(ret!=KErrNone)
   296 		if(ret!=KErrNone)
   302 			{
   297 			{
   303 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_28, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,4,KICCLockedAtStart);
   298 			LOGPARSERR("temp",ret,4,&KICCLockedAtStart);
   304 			}
   299 			}
   305 		else
   300 		else
   306 			{
   301 			{
   307 			iSecStatus.iPhonePassword=(RMobilePhone::TMobilePhoneLockStatus) temp;
   302 			iSecStatus.iPhonePassword=(RMobilePhone::TMobilePhoneLockStatus) temp;
   308 			iSecSetting.iPhonePassword=(RMobilePhone::TMobilePhoneLockSetting) temp;
   303 			iSecSetting.iPhonePassword=(RMobilePhone::TMobilePhoneLockSetting) temp;
   309 			}
   304 			}
   310 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,temp);
   305 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,temp);
   311 		if(ret!=KErrNone)
   306 		if(ret!=KErrNone)
   312 			{
   307 			{
   313 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_29, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,5,KICCLockedAtStart);
   308 			LOGPARSERR("temp",ret,5,&KICCLockedAtStart);
   314 			}
   309 			}
   315 		else
   310 		else
   316 			iSecStatus.iSPC=(RMobilePhone::TMobilePhoneLockStatus) temp;
   311 			iSecStatus.iSPC=(RMobilePhone::TMobilePhoneLockStatus) temp;
   317 
   312 
   318 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,6,temp);
   313 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,6,temp);
   319 		if(ret!=KErrNone)
   314 		if(ret!=KErrNone)
   320 			{
   315 			{
   321 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_30, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,6,KICCLockedAtStart);
   316 			LOGPARSERR("temp",ret,6,&KICCLockedAtStart);
   322 			}
   317 			}
   323 		else
   318 		else
   324 			{
   319 			{
   325 			iSecStatus.iPhBkHiddenKey=(RMobilePhone::TMobilePhoneLockStatus) temp;
   320 			iSecStatus.iPhBkHiddenKey=(RMobilePhone::TMobilePhoneLockStatus) temp;
   326 			iSecSetting.iPhBkHiddenKey=(RMobilePhone::TMobilePhoneLockSetting) temp;
   321 			iSecSetting.iPhBkHiddenKey=(RMobilePhone::TMobilePhoneLockSetting) temp;
   327 			}
   322 			}
   328 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,7,temp);
   323 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,7,temp);
   329 		if(ret!=KErrNone)
   324 		if(ret!=KErrNone)
   330 			{
   325 			{
   331 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_31, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,7,KICCLockedAtStart);
   326 			LOGPARSERR("temp",ret,7,&KICCLockedAtStart);
   332 			}
   327 			}
   333 		else
   328 		else
   334 			{
   329 			{
   335 			iSecStatus.iUSimAppPin=(RMobilePhone::TMobilePhoneLockStatus) temp;
   330 			iSecStatus.iUSimAppPin=(RMobilePhone::TMobilePhoneLockStatus) temp;
   336 			iSecSetting.iUSimAppPin=(RMobilePhone::TMobilePhoneLockSetting) temp;
   331 			iSecSetting.iUSimAppPin=(RMobilePhone::TMobilePhoneLockSetting) temp;
   337 			}
   332 			}
   338 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,8,temp);
   333 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,8,temp);
   339 		if(ret!=KErrNone)
   334 		if(ret!=KErrNone)
   340 			{
   335 			{
   341 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_32, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,8,KICCLockedAtStart);
   336 			LOGPARSERR("temp",ret,8,&KICCLockedAtStart);
   342 			}
   337 			}
   343 		else
   338 		else
   344 			{
   339 			{
   345 			iSecStatus.iSecondUSimAppPin=(RMobilePhone::TMobilePhoneLockStatus) temp;
   340 			iSecStatus.iSecondUSimAppPin=(RMobilePhone::TMobilePhoneLockStatus) temp;
   346 			iSecSetting.iSecondUSimAppPin=(RMobilePhone::TMobilePhoneLockSetting) temp;
   341 			iSecSetting.iSecondUSimAppPin=(RMobilePhone::TMobilePhoneLockSetting) temp;
   347 			}
   342 			}
   348 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,9,temp);
   343 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,9,temp);
   349 		if(ret!=KErrNone)
   344 		if(ret!=KErrNone)
   350 			{
   345 			{
   351 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_33, "WARNING - CONFIGURATION FILE PARSING - Reading element TEMP returned %d (element no. %d) from tag %s.",ret,9,KICCLockedAtStart);
   346 			LOGPARSERR("temp",ret,9,&KICCLockedAtStart);
   352 			}
   347 			}
   353 		else
   348 		else
   354 			{
   349 			{
   355 			iSecStatus.iUniversalPin=(RMobilePhone::TMobilePhoneLockStatus) temp;
   350 			iSecStatus.iUniversalPin=(RMobilePhone::TMobilePhoneLockStatus) temp;
   356 			iSecSetting.iUniversalPin=(RMobilePhone::TMobilePhoneLockSetting) temp;
   351 			iSecSetting.iUniversalPin=(RMobilePhone::TMobilePhoneLockSetting) temp;
   367 			TInt duration;
   362 			TInt duration;
   368 			TInt ICCStatus;
   363 			TInt ICCStatus;
   369 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   364 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   370 			if(ret!=KErrNone)
   365 			if(ret!=KErrNone)
   371 				{
   366 				{
   372 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_34, "WARNING - CONFIGURATION FILE PARSING - Reading element DURATION returned %d (element no. %d) from tag %s.",ret,0,KICCStatus);
   367 				LOGPARSERR("duration",ret,0,&KICCStatus);
   373 				continue;
   368 				continue;
   374 				}
   369 				}
   375 			
   370 			
   376 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,ICCStatus);
   371 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,ICCStatus);
   377 			if(ret!=KErrNone)
   372 			if(ret!=KErrNone)
   378 				{
   373 				{
   379 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_35, "WARNING - CONFIGURATION FILE PARSING - Reading element ICCSTATUS returned %d (element no. %d) from tag %s.",ret,1,KICCStatus);
   374 				LOGPARSERR("ICCStatus",ret,1,&KICCStatus);
   380 				continue;
   375 				continue;
   381 				}
   376 				}
   382 			
   377 			
   383 			TICCStatusEntry icc;
   378 			TICCStatusEntry icc;
   384 			icc.iDuration=duration;
   379 			icc.iDuration=duration;
   398 			TInt duration(0), lock(0), lockSetting(0), lockStatus(0);
   393 			TInt duration(0), lock(0), lockSetting(0), lockStatus(0);
   399 
   394 
   400 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   395 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   401 			if(ret!=KErrNone)
   396 			if(ret!=KErrNone)
   402 				{
   397 				{
   403 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_36, "WARNING - CONFIGURATION FILE PARSING - Reading element DURATION returned %d (element no. %d) from tag %s.",ret,0,KICCSetting);
   398 				LOGPARSERR("duration",ret,0,&KICCSetting);
   404 				continue;
   399 				continue;
   405 				}
   400 				}
   406 				
   401 				
   407 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,lock);
   402 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,lock);
   408 			if(ret!=KErrNone)
   403 			if(ret!=KErrNone)
   409 				{
   404 				{
   410 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_37, "WARNING - CONFIGURATION FILE PARSING - Reading element LOCK returned %d (element no. %d) from tag %s.",ret,1,KICCSetting);
   405 				LOGPARSERR("lock",ret,1,&KICCSetting);
   411 				continue;
   406 				continue;
   412 				}
   407 				}
   413 			
   408 			
   414 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,lockSetting);
   409 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,lockSetting);
   415 			if(ret!=KErrNone)
   410 			if(ret!=KErrNone)
   416 				{
   411 				{
   417 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_38, "WARNING - CONFIGURATION FILE PARSING - Reading element LOCKSETTING returned %d (element no. %d) from tag %s.",ret,2,KICCSetting);
   412 				LOGPARSERR("lockSetting",ret,2,&KICCSetting);
   418 				continue;
   413 				continue;
   419 				}
   414 				}
   420 			
   415 			
   421 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,lockStatus);
   416 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,lockStatus);
   422 			if(ret!=KErrNone)
   417 			if(ret!=KErrNone)
   423 				{
   418 				{
   424 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CONSTRUCTL_39, "WARNING - CONFIGURATION FILE PARSING - Reading element LOCKSTATUS returned %d (element no. %d) from tag %s.",ret,3,KICCSetting);
   419 				LOGPARSERR("lockStatus",ret,3,&KICCSetting);
   425 				continue;
   420 				continue;
   426 				}
   421 				}
   427 			
   422 			
   428 			TICCSettingEntry icc;
   423 			TICCSettingEntry icc;
   429 			icc.iLock = (RMobilePhone::TMobilePhoneLock)lock;
   424 			icc.iLock = (RMobilePhone::TMobilePhoneLock)lock;
   640 	case EMobilePhoneNotifySecurityCapsChange:
   635 	case EMobilePhoneNotifySecurityCapsChange:
   641 	case EMobilePhoneNotifySecurityEvent:
   636 	case EMobilePhoneNotifySecurityEvent:
   642 		return KDefaultNumberOfSlots;
   637 		return KDefaultNumberOfSlots;
   643 
   638 
   644 	default:
   639 	default:
   645 		OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_NUMBEROFSLOTSL_1, "CSimPhoneSecurity: Number of Slots error, unknown IPC");
   640 		LOGPHONE1("CSimPhoneSecurity: Number of Slots error, unknown IPC");
   646 		User::Leave(KErrNotSupported);
   641 		User::Leave(KErrNotSupported);
   647 		break;
   642 		break;
   648 		}
   643 		}
   649 	return KDefaultNumberOfSlots;
   644 	return KDefaultNumberOfSlots;
   650 	}
   645 	}
   697 * Returns a pointer to the config file section
   692 * Returns a pointer to the config file section
   698 *
   693 *
   699 * @return CTestConfigSection a pointer to the configuration file data section
   694 * @return CTestConfigSection a pointer to the configuration file data section
   700 */
   695 */
   701 	{
   696 	{
   702 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_CFGFILE_1, ">>CSimPhoneSecurity::CfgFile");
   697 	LOGPHONE1(">>CSimPhoneSecurity::CfgFile");
   703 	return iPhone->CfgFile();
   698 	return iPhone->CfgFile();
   704 	}
   699 	}
   705 
   700 
   706 
   701 
   707 TInt CSimPhoneSecurity::GetSecurityCaps(const TTsyReqHandle aReqHandle, TUint32* aCaps)
   702 TInt CSimPhoneSecurity::GetSecurityCaps(const TTsyReqHandle aReqHandle, TUint32* aCaps)
  1421 			break;
  1416 			break;
  1422 
  1417 
  1423 		case RMobilePhone::ESPCChanged:
  1418 		case RMobilePhone::ESPCChanged:
  1424 			//  FALLTHRU
  1419 			//  FALLTHRU
  1425 		default:
  1420 		default:
  1426 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMPHONESECURITY_SECURITYEVENT_1, "CSimPhoneSecurity::SecurityEvent %d OOR [%d,%d]",aEvent, RMobilePhone::ENoICCFound, RMobilePhone::ESPCChanged);
  1421 			LOGPHONE4("CSimPhoneSecurity::SecurityEvent %d OOR [%d,%d]",
       
  1422 					aEvent, RMobilePhone::ENoICCFound, RMobilePhone::ESPCChanged);
  1427 			return;
  1423 			return;
  1428 		}
  1424 		}
  1429 	
  1425 	
  1430 	if(iNotifyEvent.iNotifyPending)
  1426 	if(iNotifyEvent.iNotifyPending)
  1431 		{
  1427 		{