supl/locationsuplfw/gateway/src/epos_csuplserver.cpp
branchRCL_3
changeset 19 02ba3f1733c6
parent 0 667063e416a2
child 20 2b4ea9893b66
--- a/supl/locationsuplfw/gateway/src/epos_csuplserver.cpp	Thu Jul 15 19:06:58 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplserver.cpp	Thu Aug 19 10:20:18 2010 +0300
@@ -142,8 +142,8 @@
     // Settings
     TInt keyValue;
     TInt err = KErrNone;
-    
-    CRepository* repository = CRepository::NewL(KCRUidSuplConfiguration);
+    CRepository* repository = NULL;
+    TRAP(err, repository = CRepository::NewL(KCRUidSuplConfiguration));
     CleanupStack::PushL(repository);
     
     if (err != KErrNone)
@@ -264,7 +264,7 @@
         }
 
     //if secure id is not equal to KSuplWapSecureId or KSuplWapSecureId, then perform capability check
-    if ((aMessage.SecureId() != KSuplWapSecureId && aMessage.SecureId() != KNetworkGatewaySID))
+    if ((aMessage.SecureId() != KSuplWapSecureId && aMessage.SecureId() != KNetworkGatewaySID && aMessage.SecureId() != 0x102869DF))
     	{
         if (!aMessage.HasCapability(ECapabilityCommDD))
             {
@@ -322,8 +322,11 @@
     static _LIT_SECURITY_POLICY_S0(allowSuplWapPolicy, KSuplWapSecureId);
     TBool isSuplWap = allowSuplWapPolicy().CheckPolicy(aMessage); 
     
-    //Check if the request was made by one of the allowed processes else check for required capability
-    if (!isNetworkGateway && !isSuplWap )
+    static _LIT_SECURITY_POLICY_S0(allowlocationserverPolicy, 0x102869DF);
+       TBool islocationserver = allowlocationserverPolicy().CheckPolicy(aMessage); 
+       
+       //Check if the request was made by one of the allowed processes else check for required capability
+       if (!isNetworkGateway && !isSuplWap && !islocationserver)
         {
         if (!aMessage.HasCapability(ECapabilityCommDD))
             {