
# midp2_rp.xpf

# Copyright (c) 2004-2005 By Symbian Software Ltd. All rights reserved.

# This file defines one possible interpretation of the MIDP2 Security RP security policy,
# but with a JTWIr1 compliant policy for untrusted MIDlet suites

FormatVersion: 1.0

Domains

  Domain: "*MFD*"

  Domain: "*ODOPD*"

  Domain: "*OPD*"

  Domain: "*TTPD*"

  Domain: [UNTRUSTED]

    ConnectionFilters

      NegativePortFilter: "datagram"

        Port: "9200"

        Port: "9201"

        Port: "9202"

        Port: "9203"

      EndNegativePortFilter

      NegativePortFilter: "socket"

        Port:  "80"

        Port:  "443"

        Port: "8080"

      EndNegativePortFilter

      NegativePortFilter: "ssl"

        Port:  "443"

      EndNegativePortFilter

    EndConnectionFilters

  EndDomain

EndDomains

FunctionGroups

  FunctionGroup: "Application Auto Invocation"

    Permissions
      javax.microedition.io.PushRegistry
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Authentication"

    Permissions
      javax.microedition.securityservice.CMSMessageSignatureService
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Call Control"

    Permissions
      javax.microedition.io.Connector.sip
      javax.microedition.io.Connector.sips
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Landmark"

    Permissions
      javax.microedition.location.LandmarkStore.read
      javax.microedition.location.LandmarkStore.write
      javax.microedition.location.LandmarkStore.category
      javax.microedition.location.LandmarkStore.management
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Local Connectivity"

    Permissions
      javax.microedition.io.Connector.comm
      javax.microedition.io.Connector.bluetooth.client
      javax.microedition.io.Connector.bluetooth.server
      javax.microedition.io.Connector.obex.client
      javax.microedition.io.Connector.obex.server
      javax.obex.ClientSession
      javax.obex.Operation
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Location"

    Permissions
      javax.microedition.location.Location
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Messaging"

    Permissions
      javax.microedition.io.Connector.sms
      javax.wireless.messaging.sms.send
      javax.wireless.messaging.sms.receive
      javax.microedition.io.Connector.mms
      javax.wireless.messaging.mms.send
      javax.wireless.messaging.mms.receive
      javax.microedition.io.Connector.cbs
      javax.wireless.messaging.cbs.receive
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Multimedia Recording"

    Permissions
      javax.microedition.media.control.RecordControl
      javax.microedition.media.control.VideoControl.getSnapshot
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Net Access"

    Permissions
      javax.microedition.io.Connector.http
      javax.microedition.io.Connector.https
      javax.microedition.io.Connector.rtsp
      javax.microedition.io.Connector.datagram
      javax.microedition.io.Connector.datagramreceiver
      javax.microedition.io.Connector.socket
      javax.microedition.io.Connector.serversocket
      javax.microedition.io.Connector.ssl
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Orientation"

    Permissions
      javax.microedition.location.Orientation
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Platform Request"

    Permissions
      com.nokia.midp.platformrequest.netaccess
      com.nokia.midp.platformrequest.tel
      com.nokia.midp.platformrequest.localapp
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Read User Data Access"

    Permissions
      javax.microedition.io.Connector.file.read
      javax.microedition.pim.ContactList.read
      javax.microedition.pim.EventList.read
      javax.microedition.pim.ToDoList.read
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "SATSA APDU"

    Permissions
      javax.microedition.apdu.sat
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Smart Card Communication"

    Permissions
      javax.microedition.apdu.aid
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Write User Data Access"

    Permissions
      javax.microedition.io.Connector.file.write
      javax.microedition.pim.ContactList.write
      javax.microedition.pim.EventList.write
      javax.microedition.pim.ToDoList.write
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "API Extensions"

    Permissions
      com.nokia.mid.ActiveIdle.set
      com.nokia.mid.sasf.set
      com.nokia.mid.sasf.get
      com.nokia.mid.SoftNotification.set
      com.nokia.mid.NewMailLED.set
    EndPermissions

  EndFunctionGroup

  FunctionGroup: "Restricted API Extensions"

    Permissions
      com.nokia.mid.Mobinfo.IMSI
    EndPermissions

  EndFunctionGroup

EndFunctionGroups

Bindings

  DomainBindings: "*MFD*"

    FunctionGroupBinding: "Application Auto Invocation"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Authentication"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Call Control"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Landmark"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Local Connectivity"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Location"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Messaging"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Multimedia Recording"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Net Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Read User Data Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Write User Data Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "API Extensions"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Restricted API Extensions"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Platform Request"

      Permission:   Allowed

    EndFunctionGroupBinding

  EndDomainBindings

  DomainBindings: "*ODOPD*"

    FunctionGroupBinding: "Application Auto Invocation"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Authentication"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Call Control"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Landmark"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Local Connectivity"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Location"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Messaging"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Multimedia Recording"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Net Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Read User Data Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "SATSA APDU"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Write User Data Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "API Extensions"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Restricted API Extensions"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Platform Request"

      Permission:   Allowed

    EndFunctionGroupBinding

  EndDomainBindings

  DomainBindings: "*OPD*"

    FunctionGroupBinding: "Application Auto Invocation"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Authentication"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Call Control"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Landmark"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Local Connectivity"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Location"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Messaging"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Multimedia Recording"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Net Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Read User Data Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "SATSA APDU"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Write User Data Access"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "API Extensions"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Restricted API Extensions"

      Permission: Allowed

    EndFunctionGroupBinding

    FunctionGroupBinding: "Platform Request"

      Permission:   Allowed

    EndFunctionGroupBinding

  EndDomainBindings

# MIDlets in thirdparty MIDlet suites need user permission before doing certain things

  DomainBindings: "*TTPD*"

    FunctionGroupBinding: "Application Auto Invocation"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Authentication"

      Permission:   User

      DefaultMode:  Session

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Call Control"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Landmark"

      Permission:   User

      DefaultMode:  Session

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Local Connectivity"

      Permission:   User

      DefaultMode:  Session

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Location"

      Permission:   User

      DefaultMode:  Session

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Messaging"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Blanket

      Rules

        SimpleMapping: javax.microedition.io.Connector.sms

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

          FunctionGroupMode:  Session

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.wireless.messaging.sms.receive

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

          FunctionGroupMode:  Session

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.microedition.io.Connector.cbs

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

          FunctionGroupMode:  Session

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.wireless.messaging.cbs.receive

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

          FunctionGroupMode:  Session

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.microedition.io.Connector.mms

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

          FunctionGroupMode:  Session

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.wireless.messaging.mms.receive

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

          FunctionGroupMode:  Session

          PermissionMode:  Blanket

        EndSimpleMapping

      EndRules

    EndFunctionGroupBinding

    FunctionGroupBinding: "Multimedia Recording"

      Permission:   User

      DefaultMode:  Session

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Net Access"

      Permission:   User

      DefaultMode:  Session

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Platform Request"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Oneshot

    EndFunctionGroupBinding

    FunctionGroupBinding: "Read User Data Access"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Write User Data Access"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Blanket

    EndFunctionGroupBinding

  EndDomainBindings

# MIDlets in untrusted MIDlet suites need user permission before doing anything

  DomainBindings: [UNTRUSTED]

    FunctionGroupBinding: "Application Auto Invocation"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Session

    EndFunctionGroupBinding

    FunctionGroupBinding: "Call Control"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Oneshot

    EndFunctionGroupBinding

    FunctionGroupBinding: "Landmark"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Session

    EndFunctionGroupBinding

    FunctionGroupBinding: "Local Connectivity"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Blanket

    EndFunctionGroupBinding

    FunctionGroupBinding: "Location"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Session

    EndFunctionGroupBinding

    FunctionGroupBinding: "Messaging"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Oneshot

      Rules

        SimpleMapping: javax.microedition.io.Connector.sms

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.wireless.messaging.sms.receive

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.microedition.io.Connector.cbs

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.wireless.messaging.cbs.receive

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.microedition.io.Connector.mms

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

        EndSimpleMapping

        SimpleMapping: javax.wireless.messaging.mms.receive

          FunctionGroupMode:  Oneshot

          PermissionMode:  Blanket

        EndSimpleMapping

      EndRules

    EndFunctionGroupBinding

    FunctionGroupBinding: "Multimedia Recording"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Session

    EndFunctionGroupBinding

    FunctionGroupBinding: "Net Access"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Session

    EndFunctionGroupBinding

    FunctionGroupBinding: "Platform Request"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Oneshot

    EndFunctionGroupBinding

    FunctionGroupBinding: "Read User Data Access"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Oneshot

    EndFunctionGroupBinding

    FunctionGroupBinding: "Write User Data Access"

      Permission:   User

      DefaultMode:  Oneshot

      MaximumMode:  Oneshot

    EndFunctionGroupBinding

  EndDomainBindings

EndBindings
