rfc-4991

A Common Schema for Internet Registry Information Service Transfer Protocols

A. Newton
date2007-08 streamIETF areaapp wgcrisp statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc4991 doi10.17487/RFC4991 errataview
This document describes an XML Schema for use by Internet Registry Information Service (IRIS) application transfer protocols that share common characteristics. It describes common information about the transfer protocol, such as version, supported extensions, and supported security mechanisms. [STANDARDS-TRACK]

Extracted elements (18)

design-rationale §1

The XML Schema approach was chosen over simple bit fields and length-specified octet sequences because the status information exchanged during IRIS protocol negotiation (version, extensions, security mechanisms) is too complex for simpler encodings.

interoperability-note §1

Both LWZ (RFC 4993) and XPC (RFC 4992) IRIS transfer protocols use this common XML Schema for their negotiation mechanisms, ensuring consistent capability exchange across both transports.

normative-requirement §9 MUST

Application transfer protocols using this XML Schema MUST define which additional character encodings beyond UTF-8 and UTF-16 are allowed, as XML processors are obliged to recognize both UTF-8 and UTF-16.

normative-requirement §4 SHOULD

During capabilities negotiation, if neither side can recognize the 'protocolId' of <transferProtocol> and at least one <application> and <dataModel>, an error SHOULD be given and communication ended.

normative-requirement §6 MUST

Each <description> element in <authenticationSuccess>, <authenticationFailure>, and <other> MUST have a 'language' attribute, and servers MUST NOT provide multiple <description> elements with the same language descriptor.

normative-requirement §8 MUST

Specifications making use of this XML Schema MUST define the identifiers for the 'type' attribute of the <other> element so clients can take differentiated actions.

normative-requirement §4 MUST

Specifications using this XML Schema MUST define the identifiers for use with the <versions> element and its children, as this document defines none.

normative-requirement §4 MUST

Specifications using this XML Schema MUST describe how octet counts are calculated, since different transfer protocols count octets differently (data-only vs. including framing overhead).

normative-requirement §4 MUST

Unrecognized 'extensionIds' values MUST be ignored; implementations are not required to recognize extension identifiers during negotiation.

normative-requirement §3 REQUIRED

Updates or changes to the XML Schema defined in Section 3 require a document that UPDATES or OBSOLETES RFC 4991; the schema cannot be modified by lesser documents.

process

protocol-element §7

The <authenticationFailure> element indicates failed client authentication and may contain multilingual <description> child elements to convey failure information to users.

security

protocol-element §6

The <authenticationSuccess> element indicates successful client authentication. It may contain multilingual <description> child elements and an optional <data> element of type base64Binary for additional security data.

security

protocol-element §8

The <other> element conveys status information requiring human interpretation. It has a required 'type' attribute (an identifier for the nature of the information) and optional <description> children. Specifications MUST define the identifiers used.

protocol-element §5

The <size> element communicates to a client that a request exceeded a negotiated size (<request>) or that a response will exceed a negotiated size (<response>). It uses either an <exceedsMaximum> child (bare indication) or an <octets> child (exact count).

protocol-element §4

The <transferProtocol> element carries optional 'authenticationIds', 'responseSizeOctets', and 'requestSizeOctets' attributes identifying supported authentication mechanisms and size constraints for the associated transfer protocol.

security

protocol-element §4

The <versions> element describes version information about the transfer protocol, application protocol, and data models. It contains one or more <transferProtocol> child elements, each with optional <application> and <dataModel> children, identified by 'protocolId' and optional 'extensionIds' attributes.

registry

registry §10.1

IANA registered the XML Namespace URN 'urn:ietf:params:xml:ns:iris-transport' and the XML Schema URN 'urn:ietf:params:xml:schema:iris-transport' in the IETF XML Registry (RFC 3688).

registry

security-consideration §11 SHOULD

Transfer protocols offering authentication and confidentiality SHOULD send an initial <versions> message from server to client containing all relevant authentication identifiers in 'authenticationId' to help thwart downgrade attacks.

security