According to the platform security model of the Symbian platform, any application connecting to a network must have the NetworkServices capability. All applications that have the Networking service capability must be signed. The Comms User Prompt Service (UPS) enables even the unsigned applications to access the network if user authorisation is provided.
Any application that requires network access uses the Socket Server API with the help of RConnection or RSocket. The platform security model checks the capability of the client application to access the network. The comms user prompt service is used to notify the user about the network access. The UPS feature enables applications without NetworkServices capability to access the network if the user authorises the connection.
The target audience of this document is the device creators who write MCPR plug-ins. Symbian provides a reference plug-in for the device creators, which can be modified for customisation. The device creators implementing the comms user prompt service must have knowledge of the Comms Framework, for more information see Communications Framework.
When comms UPS is implemented, the user is requested to authorise a network connection, when an application opens a new connection or when it attaches to an existing connection. The UPS prompts the user when an application tries to send data through a socket which is not explicitly associated with an authorised network connection. The IP network user prompt is implemented as an MCPR plug-in. The plug-in will invoke the UPS server. The UPS functionality can be configured by Symbian developers.
The UPS server generates the user prompts and responds back to the MCPR with the user selection. The dialog creator, a UPS plug-in, formats and streams the dialog box to the UPS server. The UPS server interacts with the User Interface (UI) and responds back to the MCPR.
The UPS server is also responsible for checking the policy files which has the details of the process and the available options.
Messaging server
The Service UIDs used by the messaging server are:
const TUid KUidPOPService = {0x2000BB68};
const TUid KUidIMAPService = {0x2000BB69};
const TUid KUidSMTPService = {0x2000BB6A};
const TUid KUidSendAs2Service = {0x2000BB6B};
const TUid KUidSMSService = {0x2000BB6C};
When the comms user prompt service component is configured for Session life time, user responds to a UPS dialog prompt by authorising the request with either 'Session Yes' or 'Always' response. Any other applications running in the same process of the user authorised session will be granted network access for the duration of the process.
When the comms user prompt service component is configured for Network session life time, user responds to a UPS dialog prompt by authorising the request with either 'Session Yes' or 'Always' response. Any other applications running in the same process of the user authorised application will be granted the network access. The UPS response for a particular process is valid for the duration of the network connection associated with the process.