3.4.1 Abstract Data Model

In addition to the abstract data model described in section 3.2.1, when implementing an IXnRemote client role, an MSDTC Connection Manager: OleTx Transports Protocol partner MUST implement the following local data elements:

  • Session Setup Retry Count: a 4-byte unsigned element that identifies the number of times that the client SHOULD try to establish a session to another partner before giving up.<32>

  • Client Security Settings: A collection of settings that are used to configure the RPC security of the client. As those settings are internal to this protocol and no network traffic is involved in the setting of their values, the following conditions SHOULD be observed:<33>

    • They are stored on an implementation-specific source that SHOULD be secured for write access by system administrators only.

    • They SHOULD be established during installation, and the MSDTC Connection Manager: OleTx Transports Protocol does not modify the settings. It only reads them during protocol instance initialization. There are no protocols defined to initialize them.

    • Since the storage location is implementation-specific, a separate tool could be used to update the storage locations independent of the protocol.

    The following Client Security Settings MUST be specified:

    • RPC Security Provider: A 4-byte unsigned integer element that identifies the security provider being used. The possible values for this element are defined in [MS-RPCE] section 2.2.1.1.7. The client and server RPC Security Provider SHOULD always have the same value. This value SHOULD be used only in the case of authenticated RPC calls. In the case of unauthenticated RPC calls, the partner SHOULD ignore the value of this element and use the value RPC_C_AUTHN_NONE.

    • RPC Authentication Level: A 4-byte unsigned integer element that specifies the authentication level being used. Through the authentication level, it is possible to specify if encryption will be used during the exchange of RPC messages between the client and the server. The possible values for these settings are defined in [MS-RPCE] section 2.2.1.1.8.<34> This value SHOULD be used only in the case of authenticated RPC calls. In the case of unauthenticated RPC calls, the partner SHOULD ignore the value of this element and use the value RPC_C_AUTHN_LEVEL_NONE.