diff -r d746aee05493 -r 02ba3f1733c6 supl/locationsuplfw/gateway/src/epos_csuplserver.cpp --- 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)) {