omaprovisioning/provisioning/accesspointadapter/Src/CWPAPNapdef.cpp
changeset 35 0deca9b72b62
parent 2 5594fba90824
equal deleted inserted replaced
32:5d0ec111abfc 35:0deca9b72b62
    37 #include <cmpluginwlandef.h>
    37 #include <cmpluginwlandef.h>
    38 #include <cmmanagerext.h>
    38 #include <cmmanagerext.h>
    39 #include <cmconnectionmethodext.h>
    39 #include <cmconnectionmethodext.h>
    40 #include <commdb.h>
    40 #include <commdb.h>
    41 #include <WlanCdbCols.h>
    41 #include <WlanCdbCols.h>
    42 
    42 #include <EapExpandedType.h>
    43 #include <centralrepository.h>
    43 #include <centralrepository.h>
    44 #include <pdpcontextmanagerinternalcrkeys.h>
    44 #include <pdpcontextmanagerinternalcrkeys.h>
       
    45 #include <EapGeneralSettings.h>
       
    46 #include <EapTypeDefinitions.h>
    45 
    47 
    46 const TUint KIapColumn        = 0x00000100;
    48 const TUint KIapColumn        = 0x00000100;
    47 const TUint KLingerColumn     = 0x00000200;
    49 const TUint KLingerColumn     = 0x00000200;
    48 const TUint KColumnMask       = 0xFFFFFF00;
    50 const TUint KColumnMask       = 0xFFFFFF00;
    49 const TUint KRowMask          = 0x000000FF;
    51 const TUint KRowMask          = 0x000000FF;
   608 			    {
   610 			    {
   609 			    if(aCharacteristic.Name().Compare( KEAP ) == 0)
   611 			    if(aCharacteristic.Name().Compare( KEAP ) == 0)
   610 			        {
   612 			        {
   611                     CEapTypeElement* newEap = new (ELeave) CEapTypeElement;
   613                     CEapTypeElement* newEap = new (ELeave) CEapTypeElement;
   612                     newEap->iEAPSettings = new (ELeave) EAPSettings;
   614                     newEap->iEAPSettings = new (ELeave) EAPSettings;
   613                	    newEap->iCertificate = new (ELeave) CertificateEntry;
   615                	    newEap->iCertificate = new (ELeave) EapCertificateEntry;
   614                     iEapTypeArray.AppendL(newEap);
   616                     iEapTypeArray.AppendL(newEap);
   615 			        }
   617 			        }
   616 			    else if(aCharacteristic.Name().Compare( SECSSID ) == 0)
   618 			    else if(aCharacteristic.Name().Compare( SECSSID ) == 0)
   617 			        {
   619 			        {
   618                     SECssID* newsecSSID = new (ELeave) SECssID;
   620                     SECssID* newsecSSID = new (ELeave) SECssID;
  1026 	
  1028 	
  1027     if( ( aParameter.Name().Compare( EAPTYPE ) ) == 0 )
  1029     if( ( aParameter.Name().Compare( EAPTYPE ) ) == 0 )
  1028         {
  1030         {
  1029         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTYPE" ) );
  1031         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTYPE" ) );
  1030               
  1032               
  1031         ConvertEAPStringToIds( value, eap->iEapTypeString, reinterpret_cast<TUint &> ( eap->iEAPSettings->iEAPType )  );
  1033         ConvertEAPStringToIds( value, eap->iEapTypeString, eap->iEAPSettings->iEAPExpandedType );
  1032         
  1034         
  1033         }
  1035         }
  1034     else if( ( aParameter.Name().Compare( EAPUSERNAME ) ) == 0 )
  1036     else if( ( aParameter.Name().Compare( EAPUSERNAME ) ) == 0 )
  1035         {
  1037         {
  1036         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSERNAME" ) );
  1038         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSERNAME" ) );
  1037         if ( eap->iEAPSettings->iUsername.Length() == 0 )
  1039         if ( eap->iEAPSettings->iUsername.Length() == 0 )
  1038             {
  1040             {
  1039             eap->iEAPSettings->iUsername = value;
  1041             eap->iEAPSettings->iUsername = value;
  1040             eap->iEAPSettings->iUsernamePresent = ETrue;
  1042             eap->iEAPSettings->iUsernamePresent = ETrue;
       
  1043             eap->iEAPSettings->iUseAutomaticUsernamePresent = ETrue;
       
  1044             eap->iEAPSettings->iUseAutomaticUsername = EFalse;
  1041             }
  1045             }
  1042         }// else if 
  1046         }// else if 
  1043     else if( ( aParameter.Name().Compare( EAPPASSWORD ) ) == 0 )
  1047     else if( ( aParameter.Name().Compare( EAPPASSWORD ) ) == 0 )
  1044         {
  1048         {
  1045         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPASSWORD" ) );
  1049         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPASSWORD" ) );
  1046         if ( eap->iEAPSettings->iPassword.Length() == 0 )
  1050         if ( eap->iEAPSettings->iPassword.Length() == 0 )
  1047             {
  1051             {
  1048             eap->iEAPSettings->iPassword = value;
  1052             eap->iEAPSettings->iPassword = value;
  1049             eap->iEAPSettings->iPasswordPresent = ETrue;
  1053             eap->iEAPSettings->iPasswordPresent = ETrue;
       
  1054             eap->iEAPSettings-> iShowPassWordPromptPresent = ETrue;
       
  1055             eap->iEAPSettings-> iShowPassWordPrompt = EFalse;
  1050             }
  1056             }
  1051         }// else if 
  1057         }// else if 
  1052     else if( ( aParameter.Name().Compare( EAPREALM ) ) == 0 )
  1058     else if( ( aParameter.Name().Compare( EAPREALM ) ) == 0 )
  1053         {
  1059         {
  1054         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPREALM" ) );
  1060         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPREALM" ) );
  1055 
  1061 
  1056         if ( eap->iEAPSettings->iRealm.Length() == 0 )
  1062         if ( eap->iEAPSettings->iRealm.Length() == 0 )
  1057             {
  1063             {
  1058             eap->iEAPSettings->iRealm = value;
  1064             eap->iEAPSettings->iRealm = value;
  1059             eap->iEAPSettings->iRealmPresent = ETrue;
  1065             eap->iEAPSettings->iRealmPresent = ETrue;
       
  1066             eap->iEAPSettings->iUseAutomaticRealmPresent = ETrue;
       
  1067             eap->iEAPSettings->iUseAutomaticRealm = EFalse;
  1060             }
  1068             }
  1061         }// else if 
  1069         }// else if 
  1062     else if( ( aParameter.Name().Compare( EAPUSEPSEUD ) ) == 0 )
  1070     else if( ( aParameter.Name().Compare( EAPUSEPSEUD ) ) == 0 )
  1063         {
  1071         {
  1064         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSEPSEUD" ) );
  1072         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSEPSEUD" ) );
  1083         }// else if 
  1091         }// else if 
  1084     else if( ( aParameter.Name().Compare( EAPENCAPS ) ) == 0 )
  1092     else if( ( aParameter.Name().Compare( EAPENCAPS ) ) == 0 )
  1085         {
  1093         {
  1086         
  1094         
  1087         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPENCAPS" ) );
  1095         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPENCAPS" ) );
  1088         TUint dummy;
  1096         
       
  1097         TEapExpandedType dummy; 
  1089         ConvertEAPStringToIds( value, eap->iEncapsulatingExpandedEapId, dummy );
  1098         ConvertEAPStringToIds( value, eap->iEncapsulatingExpandedEapId, dummy );
  1090                      
  1099                      
  1091         }// else if    
  1100         }// else if    
  1092     else if( ( aParameter.Name().Compare( EAPVERSERREALM ) ) == 0 )
  1101     else if( ( aParameter.Name().Compare( EAPVERSERREALM ) ) == 0 )
  1093         {
  1102         {
  1202         
  1211         
  1203     else if( ( aParameter.Name().Compare( EAPISSNAME ) ) == 0 )
  1212     else if( ( aParameter.Name().Compare( EAPISSNAME ) ) == 0 )
  1204         {
  1213         {
  1205         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPISSNAME" ) );
  1214         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPISSNAME" ) );
  1206         
  1215         
  1207         eap->iCertificate->iSubjectName = value;
  1216         eap->iCertificate->SetSubjectName(value);
  1208         eap->iCertificate->iSubjectNamePresent = ETrue;
  1217         eap->iCertificate->SetSubjectNamePresent();
  1209         }// else if        
  1218         }// else if        
  1210         
  1219         
  1211     else if( ( aParameter.Name().Compare( EAPSUBNAME ) ) == 0 )
  1220     else if( ( aParameter.Name().Compare( EAPSUBNAME ) ) == 0 )
  1212         {
  1221         {
  1213         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBNAME" ) );
  1222         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBNAME" ) );
  1214         
  1223         
  1215         eap->iCertificate->iIssuerName = value;
  1224         eap->iCertificate->SetIssuerName(value);
  1216         eap->iCertificate->iIssuerNamePresent = ETrue;
  1225         eap->iCertificate->SetIssuerNamePresent();       
  1217        
       
  1218         }// else if        
  1226         }// else if        
  1219         
  1227         
  1220     else if( ( aParameter.Name().Compare( EAPCERTTYPE ) ) == 0 )
  1228     else if( ( aParameter.Name().Compare( EAPCERTTYPE ) ) == 0 )
  1221         {
  1229         {
  1222         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCERTTYPE" ) );
  1230         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCERTTYPE" ) );
  1223         if ( value == EAPCERTCA )
  1231         if ( value == EAPCERTCA )
  1224 			{
  1232 			{
  1225 			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EEapSim" ) );
  1233 			FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EEapSim" ) );
  1226             
  1234             
  1227             eap->iCertificate->iCertType = CertificateEntry::ECA;
  1235             eap->iCertificate->SetCertType(EapCertificateEntry::ECA);
       
  1236             eap->iEAPSettings-> iUseAutomaticCACertificatePresent = ETrue;
       
  1237             eap->iEAPSettings-> iUseAutomaticCACertificate = EFalse;
  1228 			}
  1238 			}
  1229 		else
  1239 		else
  1230 		    {
  1240 		    {
  1231 		    eap->iCertificate->iCertType = CertificateEntry::EUser;
  1241 		    eap->iCertificate->SetCertType(EapCertificateEntry::EUser);
  1232 		    }
  1242 		    }
  1233 		// Certificates must be present since this field was added
  1243 		// Certificates must be present since this field was added
  1234 		eap->iEAPSettings->iCertificatesPresent = ETrue; 
  1244 		eap->iEAPSettings->iCertificatesPresent = ETrue;
       
  1245 		eap->iCertificate->SetIsEnabledPresent();
       
  1246 		eap->iCertificate->SetIsEnabled(ETrue) ;
  1235         
  1247         
  1236         }// else if        
  1248         }// else if        
  1237     else if( ( aParameter.Name().Compare( EAPSERNUM ) ) == 0 )
  1249     else if( ( aParameter.Name().Compare( EAPSERNUM ) ) == 0 )
  1238         {
  1250         {
  1239         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSERNUM" ) );
  1251         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSERNUM" ) );
  1240         
  1252         
  1241         eap->iCertificate->iSerialNumber = value;
  1253         eap->iCertificate->SetSerialNumber(value);
  1242         eap->iCertificate->iSerialNumberPresent = ETrue;
  1254         eap->iCertificate->SetSerialNumberPresent();
  1243         }// else if
  1255         }// else if
  1244         
  1256         
  1245     else if( ( aParameter.Name().Compare( EAPSUBKEYID ) ) == 0 )
  1257     else if( ( aParameter.Name().Compare( EAPSUBKEYID ) ) == 0 )
  1246         {
  1258         {
  1247         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBKEYID" ) );
  1259         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBKEYID" ) );
  1329        		else
  1341        		else
  1330        			{
  1342        			{
  1331        			break;
  1343        			break;
  1332        			}
  1344        			}
  1333        		}
  1345        		}
       
  1346        	TBuf8<KMaxSubKeyLenght> keyIdentifier;
       
  1347        	keyIdentifier.Copy(key);
  1334        	// store key value only if no errors occurred
  1348        	// store key value only if no errors occurred
  1335        	if (err == KErrNone) 
  1349        	if (err == KErrNone) 
  1336        		{
  1350        		{
  1337        		eap->iCertificate->iSubjectKeyID.Copy(key);
  1351        		eap->iCertificate->SetSubjectKeyId(keyIdentifier);
  1338        		eap->iCertificate->iSubjectKeyIDPresent = ETrue;
  1352        		eap->iCertificate->SetSubjectKeyIdPresent();
  1339        		eap->iEAPSettings->iCertificatesPresent = ETrue; 
  1353        		eap->iEAPSettings->iCertificatesPresent = ETrue; 
  1340        		}
  1354        		}
  1341        	}
  1355        	}
  1342        	
  1356        	
  1343         
  1357         
  1344     else if( ( aParameter.Name().Compare( EAPTHUMBPRINT ) ) == 0 )
  1358     else if( ( aParameter.Name().Compare( EAPTHUMBPRINT ) ) == 0 )
  1345         {
  1359         {
  1346         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTHUMBPRINT" ) );
  1360         FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTHUMBPRINT" ) );
  1347         eap->iCertificate->iThumbprintPresent = ETrue;
  1361         eap->iCertificate->SetThumbprintPresent();
  1348         eap->iCertificate->iThumbprint = value;
  1362         eap->iCertificate->SetThumbprint(value);
  1349         }// else if                  
  1363         }// else if                  
  1350     }
  1364     }
  1351 
  1365 
  1352 
  1366 
  1353 // -----------------------------------------------------------------------------
  1367 // -----------------------------------------------------------------------------
  1587             CEapTypeElement* eap = iEapTypeArray[i];
  1601             CEapTypeElement* eap = iEapTypeArray[i];
  1588             
  1602             
  1589             if ( eap->iEAPSettings->iCertificatesPresent )
  1603             if ( eap->iEAPSettings->iCertificatesPresent )
  1590             	{
  1604             	{
  1591             	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL Certificate was present." ) );
  1605             	FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL Certificate was present." ) );
  1592             	eap->iEAPSettings->iCertificates.AppendL( *eap->iCertificate );	
  1606             	eap->iEAPSettings->iCertificates.Append( eap->iCertificate );	
  1593             	}                  
  1607             	}                  
  1594 
  1608 
  1595             // Save EAP list
  1609             // Save EAP list
  1596             if ( eap->iEapTypeString.Length() > 0  
  1610             if ( eap->iEapTypeString.Length() > 0  
  1597             	 && eap->iEncapsulatingExpandedEapId.Length() == 0) // AND method is not encapsulated
  1611             	 && eap->iEncapsulatingExpandedEapId.Length() == 0) // AND method is not encapsulated
  1611                     {
  1625                     {
  1612                     eapList[index-offset] = KEapPlus; 
  1626                     eapList[index-offset] = KEapPlus; 
  1613                     }
  1627                     }
  1614                 
  1628                 
  1615                 }
  1629                 }
  1616             
  1630             // Set iEncapsulatingEapTypes
  1617 			// Set iEncapsulatingEapTypes
  1631                  for ( TInt j = 0; j < iEapTypeArray.Count(); j++ )
  1618 			for ( TInt j = 0; j < iEapTypeArray.Count(); j++ )
  1632                      {
  1619 				{
  1633                      // Check if any method has this method as the encapsulating method
  1620 				// Check if any method has this method as the encapsulating method
  1634                      if ( eap->iEapTypeString == iEapTypeArray[j]->iEncapsulatingExpandedEapId )
  1621 				if ( eap->iEapTypeString == iEapTypeArray[j]->iEncapsulatingExpandedEapId )
  1635                          {
  1622 					{
  1636                          // Append this method to iEncapsulatedEAPType
  1623 					// Append this method to iEncapsulatedEAPType
  1637                          eap->iEAPSettings->iEnabledEncapsulatedEAPExpandedTypes.Append( iEapTypeArray[j]->iEAPSettings->iEAPExpandedType );
  1624 					eap->iEAPSettings->iEncapsulatedEAPTypes.Append( iEapTypeArray[j]->iEAPSettings->iEAPType );
  1638                          eap->iEAPSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
  1625 					eap->iEAPSettings->iEncapsulatedEAPTypesPresent = ETrue;
  1639                          }
  1626 					}
  1640                      }
  1627 				}			
  1641                  
  1628 			
       
  1629             FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings CEapType::NewL" ) );        
  1642             FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings CEapType::NewL" ) );        
  1630             CEapType* eapType = NULL;
  1643             CEapType* eapType = NULL;
  1631 
  1644 
  1632             TRAPD( error, ( eapType = CEapType::NewL( eap->iEapTypeString, ELan, serviceId ) ) );
  1645             
       
  1646             TRAPD( error, ( eapType = CEapType::NewL( ELan, serviceId, eap->iEAPSettings->iEAPExpandedType ) ) );
  1633 
  1647 
  1634             if ( ( error == KErrNone ) && eapType )
  1648             if ( ( error == KErrNone ) && eapType )
  1635                 {
  1649                 {
  1636                 CleanupStack::PushL( eapType );
  1650                 CleanupStack::PushL( eapType );
  1637                 
  1651                 
  1638                 // Check if this type is tunneled
  1652                 // Check if this type is tunneled
  1639                 if ( eap->iEncapsulatingExpandedEapId.Length() > 0 )
  1653                 if ( eap->iEncapsulatingExpandedEapId.Length() > 0 )
  1640                 	{
  1654                 	{
  1641                 	// It is tunneled. Take the last byte of the expanded id.
  1655                 	// It is tunneled. 
  1642                 	eapType->SetTunnelingType( eap->iEncapsulatingExpandedEapId[KExpandedEapIdLength - 1] );
  1656                 	eapType->SetTunnelingType( eap->iEncapsulatingExpandedEapId);
  1643                 	
  1657                 	
  1644                 	}
  1658                 	}
  1645                 
  1659                 
  1646                 FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings SetConfigurationL" ) );
  1660                 FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings SetConfigurationL" ) );
  1647                 TRAP_IGNORE( eapType->SetConfigurationL( *eap->iEAPSettings ) );
  1661                 TRAP_IGNORE( eapType->SetConfigurationL( *eap->iEAPSettings ) );
  1676     		    {
  1690     		    {
  1677     		    ch = lex.Get();
  1691     		    ch = lex.Get();
  1678     		    if ( ch == '+' ) ++numPlus;
  1692     		    if ( ch == '+' ) ++numPlus;
  1679     		    else if ( ch == '-' ) ++numMinus;
  1693     		    else if ( ch == '-' ) ++numMinus;
  1680     		    }
  1694     		    }
  1681     		    
  1695     		// load general EAP settings If
  1682     		// each entry consumes 8 bytes in binary format
  1696     		CEapGeneralSettings* genSettings;
  1683     		HBufC8* enabledEAPPlugin = HBufC8::NewL( 8 * numPlus );
  1697     		genSettings = CEapGeneralSettings::NewL(ELan, serviceId);
  1684     		CleanupStack::PushL( enabledEAPPlugin );
  1698     		CleanupStack::PushL( genSettings );
       
  1699 
       
  1700     		// get lists of enabled/disabled EAPs for the IAP
  1685     		
  1701     		
  1686     		HBufC8* disabledEAPPlugin = HBufC8::NewL( 8 * numMinus );
  1702     		RArray<TEapExpandedType> enabledEapMethods;
  1687     		CleanupStack::PushL( disabledEAPPlugin );
  1703     		RArray<TEapExpandedType> disabledEapMethods;
  1688     		    
  1704 
       
  1705     		enabledEapMethods.Reset();
       
  1706     		disabledEapMethods.Reset();
       
  1707    		    
  1689     		lex.Assign( eapList );
  1708     		lex.Assign( eapList );
  1690     		
  1709     		
  1691     		while ( !lex.Eos() )
  1710     		while ( !lex.Eos() )
  1692     		    {
  1711     		    {
  1693     		    // beginning of implementation UID
  1712     		    // beginning of implementation UID
  1694     		    TInt16 implUid = 0;
  1713     		    TInt16 implUid = 0;
  1695     		    
  1714     		    
  1696     		    if ( lex.Val( implUid ) != KErrNone || !implUid )
  1715     		    if ( lex.Val( implUid ) != KErrNone || !implUid )
  1697     		        {
  1716     		        {
  1698     		        // if the old string is corrupted, null out both lists
       
  1699     		        enabledEAPPlugin->Des().Zero();
       
  1700     		        disabledEAPPlugin->Des().Zero();
       
  1701     		        break;
  1717     		        break;
  1702     		        }
  1718     		        }
  1703     		
  1719     		
  1704     		    // append it to the appropriate list ('+' enabled, '-' disabled)
  1720     		    // append it to the appropriate list ('+' enabled, '-' disabled)
  1705     		    _LIT8( KPadding, "\xFE\0\0\0\0\0\0" );
  1721     		    _LIT8( KPadding, "\xFE\0\0\0\0\0\0" );
  1706     		    _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0");
  1722     		    _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0");
  1707     		    const TInt KPlainMsChapV2ImplUid = 99;
  1723     		    const TInt KPlainMsChapV2ImplUid = 99;
  1708     		    
  1724     		    
  1709     		    if ( implUid > 0 )
  1725     		    if ( implUid > 0 )
  1710     		        {
  1726     		        {
  1711     		        enabledEAPPlugin->Des().Append( 
  1727     		        TBuf8<KExpandedEapIdLength> tempbuf;
  1712     		                            Abs( implUid ) == KPlainMsChapV2ImplUid? 
  1728     		        if(Abs( implUid ) == KPlainMsChapV2ImplUid)
  1713     		                                        KMsChapV2Padding: KPadding );
  1729     		            {
  1714     		        enabledEAPPlugin->Des().Append( Abs( implUid ) );
  1730     		            tempbuf.Append(KMsChapV2Padding);
       
  1731     		            }
       
  1732     		        else
       
  1733     		            {
       
  1734     		            tempbuf.Append(KPadding);
       
  1735     		            }
       
  1736     		        tempbuf.Append(Abs( implUid ));
       
  1737     		        TEapExpandedType expandedTypebuf(tempbuf);
       
  1738     		        enabledEapMethods.Append(expandedTypebuf);   
  1715     		        }
  1739     		        }
  1716     		    else if (implUid < 0 )
  1740     		        		    
  1717     		        {
       
  1718     		        disabledEAPPlugin->Des().Append( 
       
  1719     		                            Abs( implUid ) == KPlainMsChapV2ImplUid? 
       
  1720     		                                        KMsChapV2Padding: KPadding );
       
  1721     		        disabledEAPPlugin->Des().Append( Abs( implUid ) );
       
  1722     		        }
       
  1723     		    
       
  1724     		    // swallow the delimiter (',')
  1741     		    // swallow the delimiter (',')
  1725     		    lex.Get();
  1742     		    lex.Get();
  1726     		    }
  1743     		    }
  1727                 	
  1744     
  1728 	
  1745     		genSettings->SetEapMethods(enabledEapMethods, disabledEapMethods);  
  1729 	
  1746     		            
  1730 	  		wLanServiceTable->WriteTextL( TPtrC( WLAN_ENABLED_EAPS ), 
  1747     		CleanupStack::PopAndDestroy( genSettings );
  1731     		                              enabledEAPPlugin? 
       
  1732     		                                    (const TDesC8&)*enabledEAPPlugin: 
       
  1733     		                                    (const TDesC8&)KNullDesC8 );
       
  1734     		
  1748     		
  1735     		wLanServiceTable->WriteTextL( TPtrC( WLAN_DISABLED_EAPS ), 
       
  1736     		                              disabledEAPPlugin? 
       
  1737     		                                    (const TDesC8&)*disabledEAPPlugin: 
       
  1738     		                                    (const TDesC8&)KNullDesC8 );
       
  1739     		CleanupStack::PopAndDestroy( disabledEAPPlugin );
       
  1740     		CleanupStack::PopAndDestroy( enabledEAPPlugin );
       
  1741     
  1749     
  1742      
  1750      
  1743             
  1751             
  1744        iEapTypeArray.ResetAndDestroy();
  1752        iEapTypeArray.ResetAndDestroy();
  1745        wLanServiceTable->PutRecordChanges();
  1753        wLanServiceTable->PutRecordChanges();
  1931     
  1939     
  1932     User::LeaveIfError( err );
  1940     User::LeaveIfError( err );
  1933     
  1941     
  1934     }
  1942     }
  1935 
  1943 
  1936 void CWPAPNapdef::ConvertEAPStringToIds( const TDesC& aEAPString, TDes8& aExpandedId, TUint& aId)
  1944 void CWPAPNapdef::ConvertEAPStringToIds( const TDesC& aEAPString, TDes8& aExpandedId, TEapExpandedType& aID)
  1937 	{
  1945 	{
  1938     if ( aEAPString == KEAPSIM )
  1946     if ( aEAPString == KEAPSIM )
  1939 		{	
  1947 		{	
  1940 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapSim" ) );
  1948 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapSim" ) );
  1941 		aExpandedId.Copy( KEapSimTypeId, KExpandedEapIdLength );		
  1949 		aExpandedId.Copy( KEapSimTypeId, KExpandedEapIdLength );
  1942 		aId = EAPSettings::EEapSim;
  1950 		aID = *EapExpandedTypeSim.GetType();
  1943 		}
  1951 		}
  1944     else if( aEAPString == KEAPAKA )
  1952     else if( aEAPString == KEAPAKA )
  1945         {
  1953         {
  1946   		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapAka" ) );
  1954   		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapAka" ) );
  1947 		aExpandedId.Copy( KEapAkaTypeId, KExpandedEapIdLength );	
  1955 		aExpandedId.Copy( KEapAkaTypeId, KExpandedEapIdLength );	
  1948 		aId = EAPSettings::EEapAka;	
  1956 		aID = *EapExpandedTypeAka.GetType();	
  1949         }
  1957         }
  1950     else if( aEAPString == KEAPTLS )
  1958     else if( aEAPString == KEAPTLS )
  1951         {
  1959         {
  1952 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTls" ) );
  1960 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTls" ) );
  1953 		aExpandedId.Copy( KEapTlsTypeId, KExpandedEapIdLength );	
  1961 		aExpandedId.Copy( KEapTlsTypeId, KExpandedEapIdLength );	
  1954 		aId = EAPSettings::EEapTls;	
  1962 		aID = *EapExpandedTypeTls.GetType();	
  1955         }
  1963         }
  1956     else if( aEAPString == KEAPPEAP )
  1964     else if( aEAPString == KEAPPEAP )
  1957         {
  1965         {
  1958 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapPeap" ) );
  1966 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapPeap" ) );
  1959 		aExpandedId.Copy( KEapPeapTypeId, KExpandedEapIdLength );	
  1967 		aExpandedId.Copy( KEapPeapTypeId, KExpandedEapIdLength );	
  1960 		aId = EAPSettings::EEapPeap;	
  1968 		aID = *EapExpandedTypePeap.GetType();	
  1961         }
  1969         }
  1962     else if( aEAPString == KEAPTTLS )
  1970     else if( aEAPString == KEAPTTLS )
  1963         {
  1971         {
  1964 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTtls" ) );
  1972 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTtls" ) );
  1965 		aExpandedId.Copy( KEapTtlsTypeId, KExpandedEapIdLength );		
  1973 		aExpandedId.Copy( KEapTtlsTypeId, KExpandedEapIdLength );		
  1966 		aId = EAPSettings::EEapTtls;
  1974 		aID = *EapExpandedTypeTtls.GetType();
  1967         }
  1975         }
  1968    else if( aEAPString == KEAPLEAP )
  1976    else if( aEAPString == KEAPLEAP )
  1969         {
  1977         {
  1970 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapLeap" ) );
  1978 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapLeap" ) );
  1971 		aExpandedId.Copy( KEapLeapTypeId, KExpandedEapIdLength );
  1979 		aExpandedId.Copy( KEapLeapTypeId, KExpandedEapIdLength );
  1972 		aId = EAPSettings::EEapLeap;		
  1980 		aID = *EapExpandedTypeLeap.GetType();		
  1973         }                                    
  1981         }                                    
  1974    else if( aEAPString == KEAPMSCHAPV2 )
  1982    else if( aEAPString == KEAPMSCHAPV2 )
  1975         {
  1983         {
  1976 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapMschapv2" ) );
  1984 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapMschapv2" ) );
  1977 		aExpandedId.Copy( KEapMschapv2TypeId, KExpandedEapIdLength );		
  1985 		aExpandedId.Copy( KEapMschapv2TypeId, KExpandedEapIdLength );		
  1978 		aId = EAPSettings::EEapMschapv2;
  1986 		aID = *EapExpandedTypeMsChapv2.GetType();
  1979         }     
  1987         }     
  1980    else if( aEAPString == KEAPGTC )
  1988    else if( aEAPString == KEAPGTC )
  1981         {
  1989         {
  1982 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapGtc" ) );
  1990 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapGtc" ) );
  1983 		aExpandedId.Copy( KEapGtcTypeId, KExpandedEapIdLength );
  1991 		aExpandedId.Copy( KEapGtcTypeId, KExpandedEapIdLength );
  1984 		aId = EAPSettings::EEapGtc;
  1992 		aID = *EapExpandedTypeGtc.GetType();
  1985         }
  1993         }
  1986    else if( aEAPString == KEAPFAST )
  1994    else if( aEAPString == KEAPFAST )
  1987         {
  1995         {
  1988 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapFast" ) );
  1996 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapFast" ) );
  1989 		aExpandedId.Copy( KEapFastTypeId, KExpandedEapIdLength );
  1997 		aExpandedId.Copy( KEapFastTypeId, KExpandedEapIdLength );
  1990 		aId = EAPSettings::EEapFast;
  1998 		aID = *EapExpandedTypeFast.GetType();
  1991         }
  1999         }
  1992 
  2000 
  1993     else
  2001     else
  1994         {
  2002         {
  1995 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapNone" ) );
  2003 		FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapNone" ) );
  1996 		aExpandedId.Copy( KEapNoneId, KExpandedEapIdLength );
  2004 		aExpandedId.Copy( KEapNoneId, KExpandedEapIdLength );
  1997 		aId = EAPSettings::EEapNone;
  2005 		aID = *EapExpandedTypeNone.GetType();
  1998         }
  2006         }
  1999 
  2007 
  2000 	}
  2008 	}
  2001  
  2009  
  2002 // ---------------------------------------------------------------------------
  2010 // ---------------------------------------------------------------------------