diff -r 4af31167ea77 -r 13d7c31c74e0 terminalsecurity/SCP/SCPServer/src/SCPSession.cpp --- a/terminalsecurity/SCP/SCPServer/src/SCPSession.cpp Thu Jul 15 19:36:11 2010 +0300 +++ b/terminalsecurity/SCP/SCPServer/src/SCPSession.cpp Thu Aug 19 10:44:50 2010 +0300 @@ -1553,20 +1553,26 @@ Dprint(_L("[CSCPSession]-> NotifyAllStakeHoldersL() <<<")); return KErrNone; } + TInt CSCPSession :: HandleCleanupL(const RMessage2& aMessage) { + Dprint((_L("[CSCPSession]-> HandleCleanupL() >>>"))); + + if( (aMessage.SecureId().iId != KSCPServerSIDTerminalControl) && + (aMessage.SecureId().iId != KSCPEvntHndlrUid)) { + + Dprint((_L("[CSCPSession]-> ERROR: caller app id=%ld. Permission denied..."), aMessage.SecureId().iId)); + User :: Leave(KErrPermissionDenied); + } + // Copy the client data into a local buffer TInt32 lCount = aMessage.GetDesLength(1); -/* // If the caller is not SCPEventHandler the deny access - if(aMessage.SecureId() != KSCPEvntHndlrUid) { - return KErrPermissionDenied; - }*/ - // Atleast one application id has to be present in the received message (atleast 8 bytes) if(lCount < sizeof(TInt32)) { return KErrArgument; } + TInt lStatus = KErrNone; RArray lChangeArray; CleanupClosePushL(lChangeArray); @@ -1575,9 +1581,7 @@ HBufC8* lBuffer = HBufC8 :: NewLC(lCount); TPtr8 bufPtr = lBuffer->Des(); - aMessage.ReadL(1, bufPtr); - - TInt lStatus = KErrNone; + aMessage.ReadL(1, bufPtr); TRAPD(lErr, lStatus = iServer.PerformCleanupL(lBuffer, lChangeArray, lParamValArray)); @@ -1601,8 +1605,10 @@ lParamValArray.ResetAndDestroy(); CleanupStack :: PopAndDestroy(3); // lParamIDArray lParamValArray lBuffer + Dprint((_L("[CSCPSession]-> HandleCleanupL() <<<"))); return lStatus; } + TInt CSCPSession :: HandleSetALPeriodL( const RMessage2& aMessage ) { Dprint((_L("[CSCPSession]-> HandleSetParamMessageL() >>>"))); TBool oldALState = EFalse;