datatracker.ietf.org
Sign in
Version 5.7.4, 2014-11-12
Report a bug

The X.500 String Representation of Standard Attribute Syntaxes
RFC 1488

Document type: RFC - Proposed Standard (July 1993; No errata)
Obsoleted by RFC 1778
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Document shepherd: No shepherd assigned

IESG State: RFC 1488 (Proposed Standard)
Responsible AD: (None)
Send notices to: No addresses provided

Network Working Group                                         T. Howes
Request for Comments: 1488                      University of Michigan
                                                              S. Kille
                                                      ISODE Consortium
                                                              W. Yeong
                                     Performance Systems International
                                                            C. Robbins
                                                            NeXor Ltd.
                                                             July 1993

     The X.500 String Representation of Standard Attribute Syntaxes

Status of this Memo

   This RFC specifies an IAB standards track protocol for the Internet
   community, and requests discussion and suggestions for improvements.
   Please refer to the current edition of the "IAB Official Protocol
   Standards" for the standardization state and status of this protocol.
   Distribution of this memo is unlimited.

Abstract

   The Lightweight Directory Access Protocol (LDAP) [9] requires that
   the contents of AttributeValue fields in protocol elements be octet
   strings.  This document defines the requirements that must be
   satisfied by encoding rules used to render Directory attribute
   syntaxes into a form suitable for use in the LDAP, then goes on to
   define the encoding rules for the standard set of attribute syntaxes
   defined in [1,2] and [3].

1.  Attribute Syntax Encoding Requirements

   This section defines general requirements for lightweight directory
   protocol attribute syntax encodings. All documents defining attribute
   syntax encodings for use by the lightweight directory protocols are
   expected to conform to these requirements.

   The encoding rules defined for a given attribute syntax must produce
   octet strings.  To the greatest extent possible, encoded octet
   strings should be usable in their native encoded form for display
   purposes. In particular, encoding rules for attribute syntaxes
   defining non-binary values should produce strings that can be
   displayed with little or no translation by clients implementing the
   lightweight directory protocols.

Howes, Kille, Yeong & Robbins                                   [Page 1]
RFC 1488                 X.500 Syntax Encoding                 July 1993

2.  Standard Attribute Syntax Encodings

   For the purposes of defining the encoding rules for the standard
   attribute syntaxes, the following auxiliary BNF definitions will be
   used:

     <a> ::= 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' |
             'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' |
             's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | 'A' |
             'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' |
             'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' |
             'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z'

     <d> ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'

     <hex-digit> ::= <d> | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' |
                      'A' | 'B' | 'C' | 'D' | 'E' | 'F'

     <k> ::= <a> | <d> | '-'

     <p> ::= <a> | <d> | ''' | '(' | ')' | '+' | ',' | '-' | '.' |
             '/' | ':' | '?' | ' '

     <CRLF> ::= The ASCII newline character with hexadecimal value 0x0A

     <letterstring> ::= <a> | <a> <letterstring>

     <numericstring> ::= <d> | <d> <numericstring>

     <keystring> ::= <a> | <a> <anhstring>

     <anhstring> ::= <k> | <k> <anhstring>

     <printablestring> ::= <p> | <p> <printablestring>

     <space> ::= ' ' | ' ' <space>

2.1.  Undefined

   Values of type Undefined are encoded as if they were values of type
   Octet String.

2.2.  Case Ignore String

   A string of type caseIgnoreStringSyntax is encoded as the string
   value itself.

[include full document text]