diff -r 29cff3b150f3 -r 958eca8527dd terminalsecurity/SCP/SCPServer/src/SCPSession.cpp --- a/terminalsecurity/SCP/SCPServer/src/SCPSession.cpp Fri Jan 22 10:33:42 2010 +0200 +++ b/terminalsecurity/SCP/SCPServer/src/SCPSession.cpp Tue Jan 26 12:43:57 2010 +0200 @@ -842,21 +842,31 @@ // Status : Approved // --------------------------------------------------------- // -void CSCPSession::HandleAuthenticationMessageL( const RMessage2 &aMessage ) - { +void CSCPSession :: HandleAuthenticationMessageL( const RMessage2 &aMessage ) { + if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements)) { FeatureManager::UnInitializeLib(); User::Leave(KErrNotSupported); } - if ((aMessage.SecureId() != KSCPServerSIDAutolock)&&(aMessage.SecureId() != KAknNfySrvUid)&& - (aMessage.SecureId() != KSCPServerSIDGeneralSettings)&&(aMessage.SecureId() != KSCPServerSIDSysAp)&& - (aMessage.SecureId() != KSCPServerSIDTerminalControl)) - { - Dprint( (_L("CSCPSession::HandleAuthenticationMessageL():\ - ERROR: Permission denied") )); + + TSecureId id = aMessage.SecureId(); + + switch(id.iId) { + case KSCPServerSIDAutolock: + case KAknNfySrvUid: + case KSCPServerSIDGeneralSettings: + case KSCPServerSIDSysAp: + case KSCPServerSIDTerminalControl: + case KSCPServerSIDTelephone: + case KSCPServerSIDLog: + break; + default: { + Dprint( (_L("[CSCPSession]-> ERROR: Permission denied") )); User::Leave( KErrPermissionDenied ); } + }; + Dprint( (_L("--> CSCPSession::HandleAuthenticationMessage()") )); HBufC* servBuf = NULL;