networksecurity/ipsec/ipsecpol/inc/ipsecpolmanhandler.h
branchRCL_3
changeset 58 8d540f55e491
parent 57 abbed5a4b42a
child 75 c1029e558ef5
--- 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 <f32file.h>
 #include <es_sock.h>
 #include <in_sock.h>
+#include <featdiscovery.h>
 
 #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<TActivePolicyListEntry*> 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<TIpsecSelectorInfo>* 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