Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]


Platform Security Guide for MTMs

[Top]


Overview

MTMs are implemented as DLLs. According to the Symbian OS platform security model a DLL can be loaded by a process only if the DLL has a capability set equal to or greater than the capability set of the process loading it.

Based on the processes loading them, MTMs are divided into two categories:

The capability set is defined in the MMP files of the MTMs. The following sections list the capability set required by Symbian OS for each type of MTM.

[Top]


Scope

This section provides guidelines to the developers, for assigning the capability set for different types of MTMs.

[Top]


Server-side MTMs

Server side MTMs are always loaded by the Messaging Server. It is therefore necessary for the server-side MTMs to have the following capability set assigned.

ReadDeviceData WriteDeviceData ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData

[Top]


Client-side MTMs, UI MTMs and UI Data MTMs

These MTMs are used by modules both within and outside of the messaging framework. If a client-side MTM is to provide all the supported Messaging functionality it must have at least the minimum capabilities listed below.

ReadDeviceData WriteDeviceData NetworkServices LocalServices ReadUserData WriteUserData

If a client-side MTM does not need to provide the complete set of messaging functionality then a subset of the capabilities mentioned above may be selected.

E.g. if a client-side MTM communicates over a local connection (IR, Bluetooth, etc.), it needs LocalServices capability only and does not need NetworkServices capability.

Please refer to the Platform Security Engineering Guide to understand the requirements for each capability recommended above. MTM implementers may choose a subset of these capabilities depending on the functionality being provided by the MTM.

Authors of client MTMs that are loaded by the standard messaging applications must give their MTMs the capabilities that those applications have. I.e. the capabilities of Client MTMs are determined by the processes that load them.

The capabilities that need to be selected for applications that use client side MTMs will depend on the functionality that those applications provide. If the client side MTM does not have those capabilities, the application will not be able to load the MTM. It is up to the creator of the MTM to make sure that it is assigned enough capabilities to be loaded into applications that require that MTM.

[Top]


Specifying the capability set

Developers are advised that keywords such as ReadDeviceData are case sensitive, and care should be taken when specifying them in the MMP file. For example a server side MTM will have the capability set defined in the MMP file as follows:

CAPABILITY ReadDeviceData WriteDeviceData ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData