diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-DB441DFF-0075-5122-A2EB-A6EF76375D71.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-DB441DFF-0075-5122-A2EB-A6EF76375D71.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,842 @@ + + + + + + APIs affected by the platsecprocessisolation keywordCertain legacy APIs are insecure. Using the platsecprocessisolation keyword affects whether those APIs are allowed. +

Each Symbian platform release may include APIs, which are insecure. +These APIs are inherited from earlier versions of the OS, which are +based on EKA1 kernel. You may choose to allow or not allow such APIs +using the platsecprocessisolation Obey file keyword. The following is +a list of APIs, which are affected by platsecprocessisolation keyword.

+

Note: The list also states whether the API can be hidden +at build time by defining the __SECURE_API__ macro.

+ + + + + +

API

+

Restriction

+

Hidden by __SECURE_API__ macro ?

+
+ +

RThread::Kill(TInt aReason)

+

Not allowed on threads in a different process.

+

No

+
+ +

RThread::Terminate(TInt aReason)

+

Not allowed on threads in a different proces.

+

No

+
+ +

RThread::Panic(const TDesC& aCategory,TInt + aReason)

+

Not allowed on threads in a different process.

+

No

+
+ +

RThread::Suspend()

+

Not allowed on threads in a different process.

+

No

+
+ +

RThread::Resume()

+

Not allowed on threads in a different process.

+

No

+
+ +

RThread::SetPriority(TThreadPriority aPriority)

+

Not allowed on threads in a different process. (Unless the +process has enabled PriorityControl then it's priority can be changed +between Foreground and Background.)

+

No

+
+ +

RThread::RequestComplete(TRequestStatus*& aStatus, +TInt aReason)

+

Not allowed on threads in a different process.

+

No

+
+ +

RThread::Heap()

+

Removed. Not allowed on threads in a different process.

+

Yes

+
+ +

RThread::SetProcessPriority(TProcessPriority + aPriority)

+

Deprecated. Not allowed on threads in a different process.

+

No

+
+ +

RThread::Protected()

+

Removed.

+

Yes

+
+ +

RThread::SetProtected(TBool aState)

+

Removed. Use User::SetCritical() instead.

+

Yes

+
+ +

RThread::System()

+

Removed. Use User::Critical() instead.

+

Yes

+
+ +

RThread::SetSystem(TBool aState)

+

Removed. Use User::SetCritical() instead. +Not allowed on threads in a different process.

+

Yes

+
+ +

RThread::GetDesLength(const TAny *aPtr)

+

Removed.

+

Yes

+
+ +

RThread::GetDesMaxLength(const TAny *aPtr)

+

Removed.

+

Yes

+
+ +

RThread::ReadL(const TAny* aPtr, TDes8& aBuf, +TInt anOffset)

+

Removed.

+

Yes

+
+ +

RThread::ReadL(const TAny* aPtr, TDes16& aBuf, +TInt anOffset)

+

Removed.

+

Yes

+
+ +

RThread::WriteL(const TAny* aPtr, const TDesC8& +aBuf, TInt anOffset)

+

Removed.

+

Yes

+
+ +

RThread::WriteL(const TAny* aPtr, const TDesC16& +aBuf, TInt anOffset)

+

Removed.

+

Yes

+
+ +

RThread::Rename(const TDesC& aName)

+

Removed. Use User::RenameThread() instead. +Not allowed on threads in a different process

+

Yes

+
+ +

RThread::ExceptionHandler()

+

Removed. Use User::ExceptionHandler() instead. Can only be called to get the handler for the current thread.

+

Yes

+
+ +

RThread::SetExceptionHandler(TExceptionHandler + aHandler,TUint32 aMask)

+

Removed. Use User::SetExceptionHandler() instead. Can only be called to set the handler for the current thread.

+

Yes

+
+ +

RThread::ModifyExceptionMask(TUint32 aClearMask, +TUint32 aSetMask)

+

Removed. Use User::ModifyExceptionMask() instead. Can only be called to modify the exception mask for the +current thread.

+

Yes

+
+ +

RThread::RaiseException(TExcType aType)

+

Removed. Use User::RaiseException() instead. +Can only be called to raise an exception on the current thread.

+

Yes

+
+ +

RThread::IsExceptionHandled(TExcType aType)

+

Removed. Use User::IsExceptionHandled() instead. Can only be called to query the current thread.

+

Yes

+
+ +

RThread::Create(const TDesC& aName,TThreadFunction + aFunction,TInt aStackSize,TAny* aPtr,RLibrary* aLibrary,RHeap* +aHeap, TInt aHeapMinSize,TInt aHeapMaxSize,TOwnerType +aType)

+

Removed.

+

No

+
+ +

RProcess::Kill(TInt aReason)

+

Unless PowerMgmt capabilility is held this can only allowed +to be called by the process itself, or by the process which created +it (if it has not yet been resumed).

+

No

+
+ +

RProcess::Terminate(TInt aReason)

+

Unless PowerMgmt capabilility is held this can only allowed +to be called by the process itself or by the process which created +it (if it has not yet been resumed).

+

No

+
+ +

RProcess::Panic(const TDesC& aCategory,TInt + aReason)

+

Unless PowerMgmt capabilility is held this can only allowed +to be called by the process itself or by the process which created +it (if it has not yet been resumed).

+

No

+
+ +

RProcess::SetType(const TUidType& aType)

+

Removed.

+

Yes

+
+ +

RProcess::Resume()

+

Can only be called by the process which created the process +to be resumed.

+

No

+
+ +

RProcess::CommandLineLength()

+

Removed. Use User::CommandLineLength() instead.

+

Yes

+
+ +

RProcess::CommandLine(TDes& aCommand)S

+

Removed. Use User::CommandLine() instead.

+

Yes

+
+ +

RProcess::SetPriority(TProcessPriority aPriority)

+

Can only be called by a process to change it's own priority, +or by the process which created the process having it's priority changed +if it hasn't yet been resumed. Iff a process has enabled PriorityControl +then it's priority can be changed between Foreground and Background.

+

No

+
+ +

RProcess::Protected()

+

Removed. Use User::ProcessCritical() instead.

+

Yes

+
+ +

RProcess::SetProtected(TBool aState)

+

Removed. Use User::ProcessSetCritical() instead.

+

Yes

+
+ +

RProcess::System()

+

Removed. Use User::ProcessCritical() instead.

+

Yes

+
+ +

RProcess::SetSystem(TBool aState)

+

Removed. Use User::ProcessSetCritical() instead. Can only be used on the current process.

+

Yes

+
+ +

RProcess::SetJustInTime(TBool aState)

+

Can only be called by a process to change it's own JustInTime +state or by the process which created the process having it's JustInTime +state changed if it hasn't yet been resumed.

+

No

+
+ +

RProcess::Owner(RProcess& aOwner)

+

Removed.

+

Yes

+
+ +

RProcess::SetOwner(const RProcess& aProcess)

+

Removed.

+

Yes

+
+ +

RProcess::Rename(const TDesC& aName)

+

Removed. Use User::RenameProcess() instead. +Only allowed for a process renaming itself.

+

Yes

+
+ +

RMessagePtr2::Read(TInt aParam,TDes8& aDes,TInt + aOffset)O

+

The client descriptor refered to by aParam must be a TDesC8 (not a TDesC16). Failure is indicated by a return code of KErrBadDescriptor.

+

No

+
+ +

RMessagePtr2::Read(TInt aParam,TDes16& aDes,TInt + aOffset)

+

The client descriptor refered to by aParam must be a TDesC16 (not a TDesC8). Failure is indicated by a return code of KErrBadDescriptor.

+

No

+
+ +

RMessagePtr2::Write(TInt aParam,const TDesC8& +aDes,TInt aOffset)

+

The client descriptor refered to by aParam must be a TDes8 (not a TDes16). Failure is indicated by a return code of KErrBadDescriptor.

+

No

+
+ +

RMessagePtr2::Write(TInt aParam,const TDesC16& +aDes,TInt aOffset)

+

The client descriptor refered to by aParam must be a TDes16 (not a TDes8). Failure is indicated by a return code of KErrBadDescriptor.

+

No

+
+ +

RMessagePtr2::SetProcessPriority(TProcessPriority + aPriority)

+

Client must have enabled priority control with User::SetPriorityControl().

+

No

+
+ +

RMessage::ReadL(const TAny* aPtr,TDes8& aDes)

+

Removed.

+

Yes

+
+ +

RMessage::ReadL(const TAny* aPtr,TDes8& aDes,TInt + anOffset)

+

Removed.

+

Yes

+
+ +

RMessage::ReadL(const TAny* aPtr,TDes16& aDes)

+

Removed.

+

Yes

+
+ +

RMessage::ReadL(const TAny* aPtr,TDes16& aDes,TInt + anOffset)

+

Removed.

+

Yes

+
+ +

RMessage::WriteL(const TAny* aPtr,const TDesC8& + aDes)

+

Removed.

+

Yes

+
+ +

RMessage::WriteL(const TAny* aPtr,const TDesC8& +aDes,TInt anOffset)

+

Removed.

+

Yes

+
+ +

RMessage::WriteL(const TAny* aPtr,const TDesC16& + aDes)

+

Removed.

+

Yes

+
+ +

RMessage::WriteL(const TAny* aPtr,const TDesC16& + aDes,TInt anOffset)

+

Removed.

+

Yes

+
+ +

RMessage::RMessage(const RMessagePtr2& aPtr)

+

Removed.

+

No

+
+ +

RMessage (all other methods)

+

Removed.

+

Yes

+
+ +

TFindChunk::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindLogicalDevice::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindPhysicalDevice::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindLibrary::Next(TFullName& aResult)

+

Can't find objects without a name

+

No

+
+ +

TFindServer::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindMutex::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindProcess::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindSemaphore::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

TFindThread::Next(TFullName& aResult)

+

Can't find objects without a name.

+

No

+
+ +

RChunk::OpenGlobal(const TDesC& aName,TBool + isReadOnly,TOwnerType aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RDevice::Open(const TDesC& aName,TOwnerType +aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RMutex::OpenGlobal(const TDesC& aName,TOwnerType + aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RCondVar::OpenGlobal(const TDesC& aName, TOwnerType + aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RSemaphore::OpenGlobal(const TDesC& aName,TOwnerType + aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RProcess::Open(const TDesC& aName,TOwnerType + aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RThread::Open(const TDesC& aName,TOwnerType +aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RMsgQueueBase::OpenGlobal(const TDesC& aName, +TOwnerType aType)

+

Can't open objects without a name or objects that are not +global.

+

No

+
+ +

RChunk::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RDevice::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RMutex::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RCondVar::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RSemaphore::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RProcess::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RThread::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RMsgQueueBase::Duplicate(const RThread& aSrc,TOwnerType + aType=EOwnerProcess)

+

If the handle being duplicated belongs to a different process +then it can't be duplicated if the object doesn't have a name or isn't +global.

+

No

+
+ +

RThread::Open(TThreadId aID, TOwnerType + aType=EOwnerProcess)

+

Can't open objects without a name.

+

No

+
+ +

RHandleBase::Open(const TFindHandleBase& + aFindHandle,TOwnerType aType)

+

Can't open objects without a name or those which aren't +global.

+

No

+
+ +

UserSvr::CaptureEventHook()

+

Can only be called by the Window Server process.

+

No

+
+ +

class CSharableSession

+

Removed.

+

Yes

+
+ +

class CSession

+

Removed.

+

Yes

+
+ +

class CServer

+

Removed.

+

Yes

+
+ +

class RServer

+

Removed.

+

Yes

+
+ +

RSessionBase::Share(TAttachMode aAttachMode=EExplicitAttach)

+

Removed.

+

Yes

+
+ +

RSessionBase::Attach()

+

Removed.

+

Yes

+
+ +

RSessionBase::Send(TInt aFunction,TAny* aPtr)

+

Removed.

+

Yes

+
+ +

RSessionBase::SendReceive(TInt aFunction,TAny* + aPtr,TRequestStatus& aStatus)

+

Removed.

+

Yes

+
+ +

RSessionBase::SendReceive(TInt aFunction,TAny* +aPtr)

+

Removed.

+

Yes

+
+ +

RSubSessionBase::CreateSubSession(RSessionBase& + aSession,TInt aFunction,const TAny* aPtr)

+

Removed.

+

Yes

+
+ +

RSubSessionBase::Send(TInt aFunction,const TAny* +aPtr)

+

Removed.

+

Yes

+
+ +

RSubSessionBase::SendReceive(TInt aFunction,const +TAny* aPtr,TRequestStatus& aStatus)

+

Removed.

+

Yes

+
+ +

RSubSessionBase::SendReceive(TInt aFunction,const +TAny* aPtr)

+

Removed.

+

Yes

+
+ +

UserSvr::DllGlobalAlloc(TInt aHandle,TInt aSize)

+

Removed.

+

Yes

+
+ +

UserSvr::DllGlobalAllocated(TInt aHandle)

+

Removed.

+

Yes

+
+ +

UserSvr::DllGlobalRead(TInt aHandle,TInt aPos,TInt + aLength,TDes8& aDes)

+

Removed.

+

Yes

+
+ +

UserSvr::DllGlobalWrite(TInt aHandle,TInt aPos,const + TDesC8& aDes)

+

Removed.

+

Yes

+
+ +

Dll::GlobalAlloc(TInt aSize)

+

Removed.

+

Yes

+
+ +

Dll::GlobalAllocated()

+

Removed.

+

Yes

+
+ +

Dll::GlobalRead(TInt aPos, TInt aLength, TDes8& + aDes)

+

Removed.

+

Yes

+
+ +

Dll::GlobalWrite(TInt aPos,const TDesC8& aDes)

+

Removed.

+

Yes

+
+ +

TBusLocalDrive::Lock(TMediaPassword& aOldPassword, + TMediaPassword& aNewPassword, TBool aStorePassword)

+

Removed.

+

Yes

+
+ +

class CSecurityEncryptBase

+

Removed.

+

Yes

+
+ +

class CSecurityDecryptBase

+

Removed.

+

Yes

+
+ +

class CSecurityBase

+

Removed.

+

Yes

+
+ +

class CBoundedSecurityBase

+

Removed.

+

Yes

+
+ +

class Security

+

Removed.

+

Yes

+
+ +

RBusLogicalChannel::DoCreate(const TDesC& aDevice,const + TVersion& aVer,const TDesC* aChan,TInt aUnit,const +TDesC* aDriver,const TDesC8* anInfo,TOwnerType aType=EOwnerProcess)

+

Removed.

+

Yes

+
+ +

RHeap::Adjust(TAny* aCell,TInt anOffset,TInt aDelta)

+

Removed.

+

Yes

+
+ +

RHeap::AdjustL(TAny* aCell,TInt anOffset,TInt aDelta)

+

Removed.

+

Yes

+
+ +

RHeap::FreeAll()

+

Removed.

+

Yes

+
+ +

class THeapWalk

+

Removed.

+

Yes

+
+ +

enum TDllReason

+

Removed.

+

Yes

+
+ +

class RDebug

+

) Removed. (Apart from Printf functions

+

Yes

+
+ +

class TFindLogicalChannel

+

Removed.

+

Yes

+
+ +

Rdevice::IsAvailable(TInt aUnit, const TDesC* + aPhysicalDevice, const TDesC16* anInfo)

+

Removed.

+

Yes

+
+ +

RLibrary::EntryPoint()

+

Removed.

+

Yes

+
+ +

RLibrary::DllRefTable()

+

Removed.

+

Yes

+
+ +

RThread::GetRamSizes(TInt& aHeapSize,TInt& + aStackSize)

+

Removed. Use RThread::StackInfo() instead.

+

Yes

+
+ +

RProcess::GetRamSizes(TInt& aCodeSize, TInt& + aConstDataSize, TInt& anInitialisedDataSize, TInt& + anUninitialisedDataSize)

+

Removed. Use RThread::GetMemoryInfo() instead.

+

Yes

+
+ +

class TNotifyInfo

+

Removed.

+

Yes

+
+ +

class Password

+

Removed.

+

Yes

+
+ +

User::Adjust(TAny* aCell,TInt aOffset,TInt aDelta)

+

Removed.

+

Yes

+
+ +

User::AdjustL(TAny* aCell,TInt aOffset,TInt aDelta)

+

Removed.

+

Yes

+
+ +

User::__DbgMarkStart(RHeap::TDbgHeapType aHeapType)

+

Removed.

+

Yes

+
+ +

User::__DbgMarkCheck(RHeap::TDbgHeapType aHeapType,TBool + aCountAll,TInt aCount,const TDesC8& aFileName,TInt +aLineNum)

+

Removed.

+

Yes

+
+ +

User::__DbgMarkEnd(RHeap::TDbgHeapType aHeapType,TInt + aCount)

+

Removed.

+

Yes

+
+ +

User::__DbgSetAllocFail(RHeap::TDbgHeapType + aHeapType,RHeap::TAllocFail aType,TInt aRate)

+

Removed.

+

Yes

+
+ +

UserSvr::InitRegisterCallback(TCallBack, TInt)

+

Removed.

+

Yes

+
+ +

UserSvr::ChangeLocale(RLibrary aLibrary)

+

Removed.

+

Yes

+
+ +

UserSvr::DllInitialiseData(TInt aHandle)

+

Removed.

+

Yes

+
+ +

UserSvr::DllFreeData(TInt aHandle)

+

Removed.

+

Yes

+
+ +

UserSvr::WsRegisterThread(TThreadFunction)

+

Removed.

+

Yes

+
+ +

UserSvr::ServerStarted()

+

Removed.

+

Yes

+
+ +

RMutex::Count()

+

Removed.

+

Yes

+
+ +

RSemaphore::Count()

+

Removed.

+

Yes

+
+ + +
\ No newline at end of file