diff -r abbed5a4b42a -r 8d540f55e491 networksecurity/ipsec/ipsecpol/inc/ipsecpolmanhandler.h --- a/networksecurity/ipsec/ipsecpol/inc/ipsecpolmanhandler.h Tue Aug 31 16:45:15 2010 +0300 +++ b/networksecurity/ipsec/ipsecpol/inc/ipsecpolmanhandler.h Wed Sep 01 12:33:58 2010 +0100 @@ -27,10 +27,12 @@ #include #include #include +#include #include "ipsecpolapi.h" #include "ipsecpol.h" #include "autoloadlistitem.h" +#include "log_ipsecpol.H" #ifdef SYMBIAN_IPSEC_VOIP_SUPPORT #include "spdb.h" #endif // SYMBIAN_IPSEC_VOIP_SUPPORT @@ -52,6 +54,7 @@ const TInt KDropMode = 0; // Drop mode const TInt KInboundBypass = (1 << 0); // Inbound bypass mode const TInt KOutboundBypass = (1 << 1); // Outbound bypass mode +const TInt KSymmetricBypass = (KInboundBypass | KOutboundBypass ); // To allow UMA traffic // // Forward declarations @@ -79,6 +82,8 @@ TBool iActiveState; // EFalse = loaded, not active; ETrue = active TInt iBypassOrDropMode; // See flags below TPolicyType iPolicyType; + TBool iException; // UMA exception + }; typedef CArrayFixFlat CActivePolicyList; @@ -184,7 +189,7 @@ TInt DeletePolicyFromList(); TInt SearchPolicyFromListAndActivate(); - + TInt GetAvailableSelectors(const RMessage2& aMsg); TInt GetSelectorsCount(const RMessage2& aMsg); @@ -340,6 +345,16 @@ //determines whether the last manual autoload policy has been unloaded TBool IsLastManualLoadPolicy(TUint32 aPolicyHandle); + //Exception Selectors to be loaded. + TInt AddExceptionSelectors(); + + //Check for Exception policy loading. Work around done for UMA. Need to check more. + TBool CheckException(); + + //Method to set the SID of the application that load policy + void SetOptL(const RMessage2& aMsg); + + private: // Read the algorithms.conf file void ReadAlgorithmsFileL(); @@ -358,6 +373,17 @@ TInt CalculatePolicyBypassDropMode(CSecurityPolicy& aSp) const; + //UMA support + void SearchIAPIdL( const TUint32& aNetId, TUint32& aIapId ); + TBool CheckUMAL(TUint32 aIapId); + void CheckFeatureSupportL(TUid aFeature);////To check a Feature flag is enabled or not + + /** + *This method to check the exception. + **/ + void CheckUMAEXception(TUint32 aVpnNetId); + + public: // List containing all loaded policies @@ -443,6 +469,13 @@ TInetAddr iTunnel; CArrayFixFlat* iSelectorInfoArray; - }; + + //UMA support + TBool iCurrentException; + //This variable holds sid of the application that loads + //exception policies + TUint32 iAppSid; + TBool iIPSecGANSupported; //To check whether FF_IPSEC_UMA_SUPPORT_ENABLE is defined and UMA supported + }; #endif