diff -r 000000000000 -r 99ef825efeca serviceapifw_plat/rtsecuritymanager_client_api/tsrc/src/ui_tsecuritymanagerblocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/src/ui_tsecuritymanagerblocks.cpp Mon Mar 30 12:51:20 2009 +0300 @@ -0,0 +1,1889 @@ +/* +* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: ?Description +* +*/ + + + + + + + + +#include +#include +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "ui_tsecuritymanager.h" +#include + +#include +#include +#include +#include +#include +#include +#include +//#include +#include +_LIT(KSecMgrServerExeName, "RTSecMgrServer.exe"); +_LIT(KServerStartFailed, "Security manager server starting failed"); +_LIT(KSecServerProcessName, "SecurityManagerServer"); +const TUint KDefaultMessageSlots= 16; +const TUint KRTSecMgrServMajorVersionNumber=0; +const TUint KRTSecMgrServMinorVersionNumber=1; +const TUint KRTSecMgrServBuildVersionNumber=1; + + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void Cui_tsecuritymanager::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "serverstart1", Cui_tsecuritymanager::serverstart1 ), + ENTRY( "serverstart2", Cui_tsecuritymanager::serverstart2 ), + ENTRY( "secclient1", Cui_tsecuritymanager::secclient1 ), + ENTRY( "secclient2", Cui_tsecuritymanager::secclient2 ), + ENTRY( "secclient3",Cui_tsecuritymanager::secclient3), + ENTRY( "secclient4",Cui_tsecuritymanager::secclient4), + ENTRY( "secclient5",Cui_tsecuritymanager::secclient5), + ENTRY( "secclient6",Cui_tsecuritymanager::secclient6), + ENTRY( "secclient7",Cui_tsecuritymanager::secclient7), + ENTRY( "secclient8",Cui_tsecuritymanager::secclient8), + ENTRY( "secclient9",Cui_tsecuritymanager::secclient9), + ENTRY( "secclient10",Cui_tsecuritymanager::secclient10), + ENTRY( "secclient11",Cui_tsecuritymanager::secclient11), + ENTRY( "secclient12",Cui_tsecuritymanager::secclient12), + ENTRY( "secclient13",Cui_tsecuritymanager::secclient13), + + // [test cases entries] - Do not remove + + }; + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::serverstart1 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::serverstart1( CStifItemParser& aItem ) + { + __UHEAP_MARK; + + TInt retry(2); // Try this twice + TInt err(KErrNone); + + while (retry>KErrNone) + { + // Try to create a Server session + err = CreateSession ( KSecServerProcessName, Version (), + KDefaultMessageSlots); + + if ( err != KErrNotFound && err != KErrServerTerminated) + { + // KErrNone or unrecoverable error + if ( err != KErrNone) + { + } + retry = 0; + } + else + { + // Return code was KErrNotFound or KErrServerTerminated. + // Try to start a new security manager server instance + + err = StartSecManagerServer (); + + + + if ( err != KErrNone && err != KErrAlreadyExists) + { + // Unrecoverable error + + retry = 0; + } + } + + retry--; + } + + +// __UHEAP_MARKEND; + + + + return KErrNone; + + } + + + TVersion Cui_tsecuritymanager::Version(void) const + { + return (TVersion(KRTSecMgrServMajorVersionNumber,KRTSecMgrServMinorVersionNumber,KRTSecMgrServBuildVersionNumber)); + } + + + + TInt Cui_tsecuritymanager::StartSecManagerServer() const + { + + RProcess server ,server1; + const TUidType serverUid( KNullUid, KSecMgrServerUid2, KNullUid); + TInt err = server.Create ( ServerLocation (), + KNullDesC, + serverUid, + EOwnerProcess); + + TInt err1 = server1.Create ( ServerLocation (), + KNullDesC, + serverUid, + EOwnerProcess); + + // Return error code if we the process couldn't be created + if ( KErrNone == err) + { + // Rendezvous is used to detect server start + TRequestStatus status; + server.Rendezvous ( status); + + if ( status != KRequestPending) + { + + server.Kill ( 0); // Abort startup + } + else + { + server.Resume (); // Logon OK - start the server + } + User::WaitForRequest (status); // Wait for start or death + + if ( server.ExitType ()== EExitPanic) + { + + err = KErrGeneral; + } + else + { + err = status.Int (); + } + + // We can close the handle now + server.Close (); + + } + return err; + } + + + TFullName Cui_tsecuritymanager::ServerLocation() const + { + TFullName fullPathAndName; + fullPathAndName.Append ( KSecMgrServerExeName); + return fullPathAndName; + } + + + + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::serverstart1 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::serverstart2( CStifItemParser& aItem ) + { + __UHEAP_MARK; +CRTSecMgrClientProxy *proxy; + RSecMgrSession *isecmgrsession; + // Connect(); + // proxy->ConstructL(); + +// __UHEAP_MARKEND; + + + + return KErrNone; + + } + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient1 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient1( CStifItemParser& aItem ) + { + + + TInt cnt = User::CountAllocCells(); + // __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + aItem.GetNextString(sptr); + + iSession = CRTSecManager::NewL (); + // iSession2 = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + + TBuf8<5000> aFilebuffer ; + + + + + + aItem.GetNextString(sptr); + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + + + CleanupClosePushL (secPolicyFile); + + + + if(!sptr.Compare(_L("File"))) + { + + + + iPolicyId = iSession->SetPolicy (secPolicyFile); + } + if(!sptr.Compare(_L("Buffer"))) + { + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + } + } + + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + aItem.GetNextString(sptr); + + if(!sptr.Compare(_L("nohash"))) + { + + + exId = iSession->RegisterScript (iPolicyId, *iTrust); + } + + if(!sptr.Compare(_L("hash"))) + { + + _LIT(KHash,"sdsds"); + TBuf<10> aHash; + aHash.Copy(_L("sdsds")); + exId = iSession->RegisterScript(iPolicyId,aHash,*iTrust); + + } + + + + CRTSecMgrScriptSession* scriptSession; + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; + + cnt = User::CountAllocCells(); +//__UHEAP_MARKEND; +return KErrNone; +} + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient2 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient2( CStifItemParser& aItem ) + { + + __UHEAP_MARK; + + iSession = CRTSecManager::NewL (); + iSession2 = CRTSecManager::NewL (); // 2nd session + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + CleanupClosePushL (secPolicyFile); + + iPolicyId = iSession->SetPolicy (secPolicyFile); + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + TInt32 exId = iSession2->RegisterScript (iPolicyId, *iTrust); + + CRTSecMgrScriptSession* scriptSession; + +//#ifdef AUTO_TESTING +// scriptSession = iSession->GetScriptSessionL(iPolicyId, exId, *iTrust, this); +//#else + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient3 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient3( CStifItemParser& aItem ) + { + + __UHEAP_MARK; + + iSession = CRTSecManager::NewL (); + iSession2 = CRTSecManager::NewL (); // 2nd session + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + CleanupClosePushL (secPolicyFile); + iPolicyId = iSession->SetPolicy (secPolicyFile); + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + TInt32 exId = iSession2->RegisterScript (iPolicyId, *iTrust); + + CRTSecMgrScriptSession* scriptSession; + + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + TInt result = iSession->UnSetPolicy (iPolicyId); + + + TExecutableID exId2 = iSession2->RegisterScript (iPolicyId, *iTrust); + + +// TInt32 x = -108; + if(exId2 != ErrRegisterScriptFailed) + { + delete iSession; +delete iSession2; +delete iTrust; + return exId2; + + } + + + +//delete scriptSession1; +delete iSession; +delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient4 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient4(CStifItemParser& aItem ) + { + + __UHEAP_MARK; + + iSession = CRTSecManager::NewL (); + iSession2 = CRTSecManager::NewL (); // 2nd session + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + CleanupClosePushL (secPolicyFile); + iPolicyId = iSession->SetPolicy (secPolicyFile); + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + TInt32 exId = iSession->RegisterScript (iPolicyId, *iTrust); + + CRTSecMgrScriptSession* scriptSession; + + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + TInt result = iSession->UnRegisterScript (exId, iPolicyId); + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + if(scriptSession) + + { + return KErrGeneral; + } + + +//delete scriptSession1; +delete iSession; +delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient5 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient5(CStifItemParser& aItem ) + { + + __UHEAP_MARK; + + + int i= 0; + + + CRTSecManager *iSession[10]; + + while(i<10) + { + + + iSession[i] = CRTSecManager::NewL (); + i++; + } + + + + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + CleanupClosePushL (secPolicyFile); + iPolicyId = iSession[0]->SetPolicy (secPolicyFile); + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + TInt32 exId = iSession[1]->RegisterScript (iPolicyId, *iTrust); + + CRTSecMgrScriptSession* scriptSession; + + + scriptSession = iSession[2]->GetScriptSessionL(iPolicyId, exId); + + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + + int j = 0; + + while(j<10) + { + + delete iSession[j] ; + j++; + } + + +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient6 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient6(CStifItemParser& aItem ) + { + + __UHEAP_MARK; + + iSession = CRTSecManager::NewL (); + iSession2 = CRTSecManager::NewL (); // 2nd session + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileReadDirectIO)) + { + CleanupClosePushL (secPolicyFile); + iPolicyId = iSession->SetPolicy (secPolicyFile); + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + TInt32 exId = iSession->RegisterScript (iPolicyId, *iTrust); + + CRTSecMgrScriptSession* scriptSession; + + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + TInt result = iSession->UnRegisterScript (exId, iPolicyId); + + TInt result1 = iSession->UnRegisterScript (exId, iPolicyId); + + +if(result1 != ErrUnRegisterScriptFailed ) +{ + +delete iSession; +delete iSession2; +delete iTrust; +return result1; + } + +//delete scriptSession1; +delete iSession; +delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient7 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient7(CStifItemParser& aItem ) + { + + __UHEAP_MARK; + TPtrC sptr; + TInt32 exId; + aItem.GetNextString(sptr); + + iSession = CRTSecManager::NewL (); + iSession2 = CRTSecManager::NewL (); // 2nd session + iTrust = CTrustInfo::NewL (); + RFile secPolicyFile; + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + CleanupClosePushL (secPolicyFile); + // iPolicyId = iSession->SetPolicy (secPolicyFile); + iPolicyId = iSession->UpdatePolicy(iPolicyId,secPolicyFile); + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + + + + + if(iPolicyId!= ErrInvalidPolicyID) + return KErrGeneral; + + if(!sptr.Compare(_L("gsswithtrust"))) + { + + + scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust ); +if(scriptSession != NULL) +return KErrGeneral; + } + + if(!sptr.Compare(_L("gsswithouttrust"))) + { +exId = iSession->RegisterScript(iPolicyId, *iTrust); + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + +if(scriptSession != NULL) +return KErrGeneral; + } + + + + +//delete scriptSession1; +delete iSession; +delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient8 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient8( CStifItemParser& aItem ) + { + + __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + aItem.GetNextString(sptr); + CRTSecMgrScriptSession* scriptSession; + iSession = CRTSecManager::NewL (); + // iSession2 = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + TBuf8<5000> aFilebuffer ; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + + + CleanupClosePushL (secPolicyFile); + + + + if(!sptr.Compare(_L("File"))) + { + + + + iPolicyId = iSession->SetPolicy (secPolicyFile); + + iPolicyId = iSession->UpdatePolicy(iPolicyId,secPolicyFile); + + + + } + + if(!sptr.Compare(_L("Buffer"))) + { + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + iPolicyId = iSession->UpdatePolicy(iPolicyId,aFilebuffer); + + + } + } + + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + aItem.GetNextString(sptr); + + if(!sptr.Compare(_L("registerscript"))) + { + + + exId = iSession->RegisterScript(iPolicyId, *iTrust); + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + } + + if(!sptr.Compare(_L("noregisterscript"))) + { + //no implementaion + + scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust ); + } + + + + + + + + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps ; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + aItem.GetNextString(sptr); + if(!sptr.Compare(_L("advancedprompt"))) + { + + scriptSession->PromptHandler()->SetPromptOption(RTPROMPTUI_ADVANCED); + } + + + RCapabilityArray unMatchedCapabilities; + TInt isAllowed(scriptSession->IsAllowed (caps,unMatchedCapabilities)); + + // TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient1 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient9( CStifItemParser& aItem ) + { + + __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + + + iSession = CRTSecManager::NewL (); + // iSession2 = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + + TBuf8<5000> aFilebuffer ; + + + + + + + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + + + CleanupClosePushL (secPolicyFile); + + + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + } + + + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + aItem.GetNextString(sptr); + + if(!sptr.Compare(_L("nohash"))) + { + + + exId = iSession->RegisterScript (iPolicyId, *iTrust); + scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust ); + } + + if(!sptr.Compare(_L("hash"))) + { + + _LIT(KHash,"sdsds"); + TBuf<10> aHash; + aHash.Copy(_L("sdsds")); + exId = iSession->RegisterScript(iPolicyId,aHash,*iTrust); + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + } + + + +// CRTSecMgrScriptSession* scriptSession; + + + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + // RCapabilityArray caps; + RCapabilityArray unMatchedCapabilities; + TInt isAllowed(scriptSession->IsAllowed (caps,unMatchedCapabilities)); + + // TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient10 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient10( CStifItemParser& aItem ) + { + + __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + aItem.GetNextString(sptr); + CRTSecMgrScriptSession* scriptSession; + iSession = CRTSecManager::NewL (); + // iSession2 = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + TBuf8<5000> aFilebuffer ; + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + + + CleanupClosePushL (secPolicyFile); + + + + if(!sptr.Compare(_L("File"))) + { + + + + iPolicyId = iSession->SetPolicy (secPolicyFile); + + iPolicyId = iSession->UpdatePolicy(iPolicyId,secPolicyFile); + + + + } + + if(!sptr.Compare(_L("Buffer"))) + { + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + iPolicyId = iSession->UpdatePolicy(iPolicyId,aFilebuffer); + + + } + } + + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + aItem.GetNextString(sptr); + + if(!sptr.Compare(_L("registerscript"))) + { + + + exId = iSession->RegisterScript(iPolicyId, *iTrust); + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + } + + if(!sptr.Compare(_L("noregisterscript"))) + { + //no implementaion + + scriptSession = iSession->GetScriptSessionL(iPolicyId,*iTrust ); + } + + + + + + + + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps ; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + // caps.Append(ECapabilitySurroundingsDD); + aItem.GetNextString(sptr); + if(!sptr.Compare(_L("advancedprompt"))) + { + + scriptSession->PromptHandler()->SetPromptOption(RTPROMPTUI_ADVANCED); + } + + + RCapabilityArray unMatchedCapabilities; + unMatchedCapabilities.Append (ECapabilitySurroundingsDD); + TInt isAllowed(scriptSession->IsAllowed (caps,unMatchedCapabilities)); + + // TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient1 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient11( CStifItemParser& aItem ) + { + + + TInt cnt = User::CountAllocCells(); + // __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + aItem.GetNextString(sptr); + + iSession = CRTSecManager::NewL (); + // iSession2 = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + // isubsession = RSecMgrSubSession::NewL(); + // SubSessionHandle(); + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + + TBuf8<5000> aFilebuffer ; + + + + + + aItem.GetNextString(sptr); + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + + + CleanupClosePushL (secPolicyFile); + + + + if(!sptr.Compare(_L("File"))) + { + + + + iPolicyId = iSession->SetPolicy (secPolicyFile); + } + if(!sptr.Compare(_L("Buffer"))) + { + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + } + } + + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + aItem.GetNextString(sptr); + + if(!sptr.Compare(_L("nohash"))) + { + + + exId = iSession->RegisterScript (iPolicyId, *iTrust); + } + + if(!sptr.Compare(_L("hash"))) + { + + _LIT(KHash,"sdsds"); + TBuf<10> aHash; + aHash.Copy(_L("sdsds")); + exId = iSession->RegisterScript(iPolicyId,aHash,*iTrust); + + } + + + + CRTSecMgrScriptSession* scriptSession; + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + // caps.Append (ECapabilityWriteUserData); + // caps.Append (ECapabilityReadUserData); + // caps.Append (ECapabilityLocation); + caps.Append (ECapabilityNetworkServices); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; + + cnt = User::CountAllocCells(); +//__UHEAP_MARKEND; +return KErrNone; +} + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient12 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient12( CStifItemParser& aItem ) + { + + + TInt cnt = User::CountAllocCells(); + // __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + aItem.GetNextString(sptr); + + iSession = CRTSecManager::NewL (); + // iSession2 = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + + TBuf8<500> aFilebuffer ; + + + + + + aItem.GetNextString(sptr); + + if ( KErrNone == secPolicyFile.Open (fileSession, _L("c:\\data\\Others\\accesspolicy.xml"), + EFileShareAny)) + { + + + + + + + CleanupClosePushL (secPolicyFile); + + + + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + } + + if(iPolicyId!=ErrInvalidPolicyFormat ) + return KErrGeneral; + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + + + + exId = iSession->RegisterScript (iPolicyId, *iTrust); + + if(exId!=ErrInvalidPolicyID) + return KErrGeneral; + + + CRTSecMgrScriptSession* scriptSession; + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + } + + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; + + cnt = User::CountAllocCells(); +//__UHEAP_MARKEND; +return KErrNone; +} + + + + + + // ----------------------------------------------------------------------------- +// Cui_tsecuritymanager::secclient13 +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt Cui_tsecuritymanager::secclient13( CStifItemParser& aItem ) + { + + + TInt cnt = User::CountAllocCells(); + // __UHEAP_MARK; + TInt32 exId; + TPtrC sptr; + + TBuf<50> path; + aItem.GetNextString(sptr); + + + + // _LIT(path,"c:\\data\\Others\\accesspolicy_1.xml"); + + if(!sptr.Compare(_L("1"))) + { + path.Copy(_L("c:\\data\\Others\\accesspolicy_1.xml")) ; + } + + if(!sptr.Compare(_L("2"))) + { + + path.Copy(_L("c:\\data\\Others\\accesspolicy_2.xml")) ; + } + if(!sptr.Compare(_L("3"))) + { + + path.Copy(_L("c:\\data\\Others\\accesspolicy_3.xml")) ; + } + + + + + + iSession = CRTSecManager::NewL (); + iTrust = CTrustInfo::NewL (); + + + + RFs fileSession; + if ( KErrNone==fileSession.Connect ()) + { + CleanupClosePushL (fileSession); + if(KErrNone==fileSession.ShareProtected()) + { + RFile secPolicyFile; + + + TBuf8<5000> aFilebuffer ; + + + + + + + if ( KErrNone == secPolicyFile.Open (fileSession,path, + EFileShareAny)) + { + + + + CleanupClosePushL (secPolicyFile); + + + + if(KErrNone == secPolicyFile.Read(aFilebuffer)) + { + + iPolicyId = iSession->SetPolicy (aFilebuffer); + } + + if(iPolicyId!=ErrInvalidPolicyFormat ) + return KErrGeneral; + + + CleanupStack::PopAndDestroy ();//secPolicyFile + } + } + CleanupStack::PopAndDestroy ();//fileSession + } + + + + + + exId = iSession->RegisterScript (iPolicyId, *iTrust); + + if(exId!=ErrInvalidPolicyID) + return KErrGeneral; + + + CRTSecMgrScriptSession* scriptSession; + + scriptSession = iSession->GetScriptSessionL(iPolicyId, exId); + + + +//#endif + + + + if(scriptSession) + { + CleanupStack::PushL (scriptSession); + RCapabilityArray caps; + caps.Append (ECapabilityWriteUserData); + caps.Append (ECapabilityReadUserData); + caps.Append (ECapabilityLocation); + caps.Append (ECapabilityUserEnvironment); + + + + + TInt IsAllowed(scriptSession->IsAllowed(caps)); + + + + + caps.Close(); + + CleanupStack::PopAndDestroy ();//scriptSession + + return KErrGeneral; + } + + + + // TInt result = iSession->UnSetPolicy (iPolicyId); + + + + + + + + +//delete scriptSession1; +delete iSession; +//delete iSession2; +delete iTrust; + + cnt = User::CountAllocCells(); +//__UHEAP_MARKEND; +return KErrNone; +} + + + + +