Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / bsd / openldap / dist / doc / drafts / draft-sermersheim-ldap-csn-xx.txt
blob53f135c4948e100646bd07c405fd662f33bd26da
5 Network Working Group                                     J. Sermersheim
6 Internet-Draft                                               Novell, Inc
7 Expires: August 5, 2005                                           H. Chu
8                                                              Symas Corp.
9                                                            February 2005
12                     The LDAP Change Sequence Number
13                    draft-sermersheim-ldap-csn-02.txt
15 Status of this Memo
17    By submitting this Internet-Draft, each author represents that any
18    applicable patent or other IPR claims of which he or she is aware
19    have been or will be disclosed, and any of which he or she becomes
20    aware will be disclosed, in accordance with Section 6 of BCP 79.
22    Internet-Drafts are working documents of the Internet Engineering
23    Task Force (IETF), its areas, and its working groups.  Note that
24    other groups may also distribute working documents as Internet-
25    Drafts.
27    Internet-Drafts are draft documents valid for a maximum of six months
28    and may be updated, replaced, or obsoleted by other documents at any
29    time.  It is inappropriate to use Internet-Drafts as reference
30    material or to cite them other than as "work in progress."
32    The list of current Internet-Drafts can be accessed at
33    http://www.ietf.org/ietf/1id-abstracts.txt.
35    The list of Internet-Draft Shadow Directories can be accessed at
36    http://www.ietf.org/shadow.html.
38    This Internet-Draft will expire on August 5, 2005.
40 Copyright Notice
42    Copyright (C) The Internet Society (2005).
44 Abstract
46    This document defines a syntax schema element for the Lightweight
47    Directory Access Protocol (LDAP) which is used to hold a Change
48    Sequence Number (CSN).  In general, a change sequence number
49    represents the place and time that a directory entity was changed.
50    It may be used by various attributes for various LDAP replication,
51    and synchronization applications.
56 Sermersheim & Chu        Expires August 5, 2005                 [Page 1]
58 Internet-Draft                  LDAP CSN                   February 2005
61 Discussion Forum
63    Technical discussion of this document will take place on the IETF
64    LDAP Extensions mailing list <ldapext@ietf.org>.  Please send
65    editorial comments directly to the author(s).
68 Table of Contents
70    1.          Introduction . . . . . . . . . . . . . . . . . . . . .  3
71    2.          Conventions  . . . . . . . . . . . . . . . . . . . . .  4
72    3.          Syntaxes . . . . . . . . . . . . . . . . . . . . . . .  5
73    3.1.        ChangeSequenceNumber Syntax  . . . . . . . . . . . . .  5
74    3.2.        UTF8String . . . . . . . . . . . . . . . . . . . . . .  6
75    4.          Matching Rules . . . . . . . . . . . . . . . . . . . .  7
76    4.1.        changeSequenceNumberMatch Matching Rule  . . . . . . .  7
77    4.2.        utf8CodePointMatch Matching Rule . . . . . . . . . . .  7
78    4.3.        changeSequenceNumberOrderingMatch Matching Rule  . . .  7
79    4.4.        utf8CodePointOrderingMatch Matching Rule . . . . . . .  8
80    5.          Attributes . . . . . . . . . . . . . . . . . . . . . .  9
81    5.1.        entryCSN Attribute . . . . . . . . . . . . . . . . . .  9
82    6.          Security Considerations  . . . . . . . . . . . . . . . 10
83    7.          Normative References . . . . . . . . . . . . . . . . . 10
84    Appendix A. IANA Considerations  . . . . . . . . . . . . . . . . . 11
85    A.1.        LDAP Object Identifier Registrations . . . . . . . . . 11
86    A.2.        LDAP Descriptor Registrations  . . . . . . . . . . . . 11
87                Authors' Addresses . . . . . . . . . . . . . . . . . . 15
88                Intellectual Property and Copyright Statements . . . . 16
112 Sermersheim & Chu        Expires August 5, 2005                 [Page 2]
114 Internet-Draft                  LDAP CSN                   February 2005
117 1.  Introduction
119    A number of technologies have been documented, implemented and
120    experimented with which in one way or another seek to replicate, or
121    synchronize directory data.  A common need among these technologies
122    is to determine which of two copies of an element represents the
123    latest or most authoritative data.  Part of meeting this need
124    involves associating a change sequence number to an element copy at
125    the time of an update to that element.  When replication or
126    synchronization occurs, the change sequence numbers associated with
127    directory elements can be used to decide which element's data will be
128    copied to the other element(s).
168 Sermersheim & Chu        Expires August 5, 2005                 [Page 3]
170 Internet-Draft                  LDAP CSN                   February 2005
173 2.  Conventions
175    Imperative keywords defined in [RFC2119] are used in this document,
176    and carry the meanings described there.
178    The General Considerations of [I-D.ietf-ldapbis-syntaxes] apply to
179    the syntax definition in this document.
181    The terms "directory element" and "element" refer to data held in a
182    directory and may apply to an attribute value, attribute, entry, or
183    any other identifiable directory entity.
224 Sermersheim & Chu        Expires August 5, 2005                 [Page 4]
226 Internet-Draft                  LDAP CSN                   February 2005
229 3.  Syntaxes
231 3.1.  ChangeSequenceNumber Syntax
233    A value of the ChangeSequenceNumber syntax is the time of a change
234    along with a replicaID which represents the Directory System Agent
235    (DSA) holding the element when it was changed.  There are also two
236    sequence numbers used to disambiguate directory entities that are
237    changed at the same time and place.
239    The Abstract Syntax Notation One (ASN.1)[X680] type corresponding to
240    this syntax is defined as follows:
242       ChangeSequenceNumber ::= SEQUENCE {
244          time GeneralizedTime,
246          timeCount INTEGER (0 ..  MaxInt),
248          replicaID UTF8String,
250          changeCount INTEGER (0 ..  MaxInt)}
252    MaxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
254    GeneralizedTime is defined in [X680].  Local time without a
255    differential SHALL NOT be used.
257    UTF8String is defined below.
259    The LDAP-specific encoding of a value of this syntax is the Generic
260    String Encoding Rules (GSER)[RFC3641] encoding of the ASN.1 type.
262       Example:
264          { time "196701160315-0700",
266          timeCount 0,
268          replicaID "DSA666",
270          changeCount 1 }
272    The following is an LDAP syntax description [RFC2252] suitable for
273    publication in the subschema.
275    ( IANA-ASSIGNED-OID.1 DESC 'ChangeSequenceNumber' )
280 Sermersheim & Chu        Expires August 5, 2005                 [Page 5]
282 Internet-Draft                  LDAP CSN                   February 2005
285 3.2.  UTF8String
287    The UTF8String syntax is used to express a string of characters from
288    the [ISO.10646-1.1993] character set (a superset of [Unicode]),
289    encoded following the [UTF-8] algorithm.  Note that Unicode
290    characters U+0000 through U+007F are the same as ASCII 0 through 127,
291    respectively, and have the same single octet UTF-8 encoding.  Other
292    Unicode characters have a multiple octet UTF-8 encoding.
294       UTF8String::= OCTET STRING -- UTF-8 encoded,
296       -- [ISO10646] characters
298    The LDAP-specific encoding of a value of this syntax are the UTF-8
299    encoded characters themselves.
301    The following is an LDAP syntax description [RFC2252] suitable for
302    publication in the subschema.
304    ( IANA-ASSIGNED-OID.2 DESC 'UTF8String' )
336 Sermersheim & Chu        Expires August 5, 2005                 [Page 6]
338 Internet-Draft                  LDAP CSN                   February 2005
341 4.  Matching Rules
343 4.1.  changeSequenceNumberMatch Matching Rule
345    The changeSequenceNumberMatch rule compares an assertion value of the
346    ChangeSequenceNumber syntax to a value of a syntax (e.g the
347    ChangeSequenceNumber syntax) whose corresponding ASN.1 type is
348    ChangeSequenceNumber.
350    The rule evaluates to TRUE if and only if each of the components of
351    the two values evaluate to TRUE using the following rules:
353    o  The time component uses generalizedTimeMatch.
355    o  The timeCount and changeCount components use integerMatch.
357    o  The replicaID component uses utf8CodePointMatch.
359    The following is a LDAP matching rule description [RFC2252] suitable
360    for publication in the subschema.
362    ( IANA-ASSIGNED-OID.3 NAME changeSequenceNumberMatch SYNTAX IANA-
363    ASSIGNED-OID.1 )
365 4.2.  utf8CodePointMatch Matching Rule
367    The utf8CodePointMatch rule compares an assertion value of the
368    UTF8String syntax to a value of a syntax (e.g the UTF8String syntax)
369    whose corresponding ASN.1 type is UTF8String.  The rule evaluates to
370    TRUE if and only if the code points [Unicode] of each of the
371    characters is equal.
373    The following is a LDAP matching rule description [RFC2252] suitable
374    for publication in the subschema.
376    ( IANA-ASSIGNED-OID.4 NAME utf8CodePointMatch SYNTAX IANA-ASSIGNED-
377    OID.2 )
379 4.3.  changeSequenceNumberOrderingMatch Matching Rule
381    The changeSequenceNumberOrderingMatch rule compares the
382    ChangeSequenceNumber ordering of an assertion value of the
383    ChangeSequenceNumber syntax to a value of a syntax (e.g the
384    ChangeSequenceNumber syntax) whose corresponding ASN.1 type is
385    ChangeSequenceNumber.
387    When evaluating ChangeSequenceNumber values for ordering, the
388    components are evaluated in this order: time, timeCount, replicaID,
392 Sermersheim & Chu        Expires August 5, 2005                 [Page 7]
394 Internet-Draft                  LDAP CSN                   February 2005
397    changeCount.  If a component evaluates to TRUE using the appropriate
398    ordering matching rule specified below, then the rule evaluates to
399    TRUE.  Otherwise if the component evaluates to TRUE using the
400    equality matching rule specified below, the next component is
401    evaluated.  Otherwise the changeSequenceNumberOrderingMatch rule
402    evaluates to FALSE or Undefined as appropriate.
404    o  The time components of the two values are evaluated for ordering
405       using GeneralizedTimeOrderingMatch, and evaluated for equality
406       using GeneralizedTimeMatch.
408    o  The timeCount and changeCount components of the two values are
409       evaluated for ordering using integerOrderingMatch, and evaluated
410       for equality using integerMatch.
412    o  The replicaID components of the two values are evaluated for
413       ordering using utf8CodePointOrderingMatch and evaluated for
414       equality using utf8CodePointMatch.
416    The following is a LDAP matching rule description [RFC2252] suitable
417    for publication in the subschema.
419    ( IANA-ASSIGNED-OID.5 NAME changeSequenceNumberOrderingMatch SYNTAX
420    SYNTAX IANA-ASSIGNED-OID.1 )
422 4.4.  utf8CodePointOrderingMatch Matching Rule
424    The utf8CodePointOrderingMatch rule compares the ordering of an
425    assertion value of the UTF8String syntax to a stored value of a
426    syntax (e.g. the UTF8String syntax) whose corresponding ASN.1 type is
427    UTF8String.
429    The rule evaluates to TRUE if, and only if, in the code point
430    collation order, the stored value character string appears earlier
431    than the assertion value character string, i.e., the stored value is
432    "less than" the assertion value.
434    The following is a LDAP matching rule description [RFC2252] suitable
435    for publication in the subschema.
437    ( IANA-ASSIGNED-OID.6 NAME utf8CodePointOrderingMatch SYNTAX IANA-
438    ASSIGNED-OID.2 )
448 Sermersheim & Chu        Expires August 5, 2005                 [Page 8]
450 Internet-Draft                  LDAP CSN                   February 2005
453 5.  Attributes
455 5.1.  entryCSN Attribute
457    The entryCSN operational attribute provides the CSN of the last
458    update applied to the entry.
460    The following is a LDAP attribute type description [RFC2252] suitable
461    for publication in the subschema.
463    ( IANA-ASSIGNED-OID.7 NAME entryCSN DESC 'CSN of the entry content'
464    EQUALITY changeSequenceNumberMatch ORDERING
465    changeSequenceNumberOrderingMatch SYNTAX IANA-ASSIGNED-OID.1 SINGLE-
466    VALUE NO-USER-MODIFICATION USAGE directoryOperation )
468    Servers MAY assign a CSN to each entry upon its addition to the
469    directory and provide the entry's CSN as the value of the entryCSN
470    operational attribute.  If the entryCSN attribute is assigned, the
471    attribute SHOULD be updated upon every update of the entry.
504 Sermersheim & Chu        Expires August 5, 2005                 [Page 9]
506 Internet-Draft                  LDAP CSN                   February 2005
509 6.  Security Considerations
511 7.  Normative References
513    [I-D.ietf-ldapbis-syntaxes]
514               Legg, S., "Lightweight Directory Access Protocol (LDAP):
515               Syntaxes and Matching Rules",
516               draft-ietf-ldapbis-syntaxes-11 (work in progress),
517               June 2005.
519    [ISO.10646-1.1993]
520               International Organization for Standardization,
521               "Information Technology - Universal Multiple-octet coded
522               Character Set (UCS) - Part 1: Architecture and Basic
523               Multilingual Plane", ISO Standard 10646-1, May 1993.
525    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
526               Requirement Levels", BCP 14, RFC 2119, March 1997.
528    [RFC2252]  Wahl, M., Coulbeck, A., Howes, T., and S. Kille,
529               "Lightweight Directory Access Protocol (v3): Attribute
530               Syntax Definitions", RFC 2252, December 1997.
532    [RFC3383]  Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
533               Considerations for the Lightweight Directory Access
534               Protocol (LDAP)", BCP 64, RFC 3383, September 2002.
536    [RFC3641]  Legg, S., "Generic String Encoding Rules (GSER) for ASN.1
537               Types", RFC 3641, October 2003.
539    [UTF-8]    International Organization for Standardization,
540               "Information Technology - Universal Multiple-octet coded
541               Character Set (UCS) - Amendment 2: UCS Transformation
542               Format 8 (UTF-8)", ISO Standard 10646-1 Addendum 2,
543               October 1996.
545    [Unicode]  The Unicode Consortium, "The Unicode Standard", 2004.
547    [X680]     International Telecommunications Union, "Abstract Syntax
548               Notation One (ASN.1): Specification of basic notation",
549               ITU-T Recommendation X.680, July 2002.
560 Sermersheim & Chu        Expires August 5, 2005                [Page 10]
562 Internet-Draft                  LDAP CSN                   February 2005
565 Appendix A.  IANA Considerations
567    Registration of the following values is requested [RFC3383].
569 A.1.  LDAP Object Identifier Registrations
571    It is requested that IANA register upon Standards Action an LDAP
572    Object Identifier in identifying the protocol elements defined in
573    this technical specification.  The following registration template is
574    provided:
576       Subject: Request for LDAP OID Registration
578       Person & email address to contact for further information:
580          Jim Sermersheim
582          jimse@novell.com
584       Specification: RFCXXXX
586       Author/Change Controller: IESG
588       Comments:
590       Seven delegations will be made under the assigned OID:
592       IANA-ASSIGNED-OID.1 ChangeSequenceNumber: LDAP Syntax
594       IANA-ASSIGNED-OID.2 UTF8String: LDAP Syntax
596       IANA-ASSIGNED-OID.3 changeSequenceNumberMatch: LDAP Matching Rule
598       IANA-ASSIGNED-OID.4 utf8CodePointMatch: LDAP Matching Rule
600       IANA-ASSIGNED-OID.5 changeSequenceNumberOrderingMatch: LDAP
601       Matching Rule
603       IANA-ASSIGNED-OID.6 utf8CodePointOrderingMatch: LDAP Matching Rule
605       IANA-ASSIGNED-OID.7 entryCSN: LDAP Attribute Type
607 A.2.  LDAP Descriptor Registrations
609    It is requested that IANA register upon Standards Action the LDAP
610    descriptors described in this document.  The following registration
611    templates are given:
616 Sermersheim & Chu        Expires August 5, 2005                [Page 11]
618 Internet-Draft                  LDAP CSN                   February 2005
621       Subject: Request for LDAP Descriptor Registration
623       Descriptor (short name): ChangeSequenceNumber
625       Object Identifier: IANA-ASSIGNED-OID.1
627       Person & email address to contact for further information:
629          Jim Sermersheim
631          jimse@novell.com
633       Usage: other
635       Specification: RFCXXXX
637       Author/Change Controller: IESG
639       Comments: LDAP Syntax
641       Subject: Request for LDAP Descriptor Registration
643       Descriptor (short name): UTF8String
645       Object Identifier: IANA-ASSIGNED-OID.2
647       Person & email address to contact for further information:
649          Jim Sermersheim
651          jimse@novell.com
653       Usage: other
655       Specification: RFCXXXX
657       Author/Change Controller: IESG
659       Comments: LDAP Syntax
661       Subject: Request for LDAP Descriptor Registration
663       Descriptor (short name): changeSequenceNumberMatch
665       Object Identifier: IANA-ASSIGNED-OID.3
667       Person & email address to contact for further information:
672 Sermersheim & Chu        Expires August 5, 2005                [Page 12]
674 Internet-Draft                  LDAP CSN                   February 2005
677          Jim Sermersheim
679          jimse@novell.com
681       Usage: other
683       Specification: RFCXXXX
685       Author/Change Controller: IESG
687       Comments: LDAP Matching Rule
689       Subject: Request for LDAP Descriptor Registration
691       Descriptor (short name): utf8CodePointMatch
693       Object Identifier: IANA-ASSIGNED-OID.4
695       Person & email address to contact for further information:
697          Jim Sermersheim
699          jimse@novell.com
701       Usage: other
703       Specification: RFCXXXX
705       Author/Change Controller: IESG
707       Comments: LDAP Matching Rule
709       Subject: Request for LDAP Descriptor Registration
711       Descriptor (short name): changeSequenceNumberOrderingMatch
713       Object Identifier: IANA-ASSIGNED-OID.5
715       Person & email address to contact for further information:
717          Jim Sermersheim
719          jimse@novell.com
721       Usage: other
723       Specification: RFCXXXX
728 Sermersheim & Chu        Expires August 5, 2005                [Page 13]
730 Internet-Draft                  LDAP CSN                   February 2005
733       Author/Change Controller: IESG
735       Comments: LDAP Matching Rule
737       Subject: Request for LDAP Descriptor Registration
739       Descriptor (short name): utf8CodePointOrderingMatch
741       Object Identifier: IANA-ASSIGNED-OID.6
743       Person & email address to contact for further information:
745          Jim Sermersheim
747          jimse@novell.com
749       Usage: other
751       Specification: RFCXXXX
753       Author/Change Controller: IESG
755       Comments: LDAP Matching Rule
757       Subject: Request for LDAP Descriptor Registration
759       Descriptor (short name): entryCSN
761       Object Identifier: IANA-ASSIGNED-OID.7
763       Person & email address to contact for further information:
765          Jim Sermersheim
767          jimse@novell.com
769       Usage: Attribute Type
771       Specification: RFCXXXX
773       Author/Change Controller: IESG
775       Comments: LDAP Attribute Type
784 Sermersheim & Chu        Expires August 5, 2005                [Page 14]
786 Internet-Draft                  LDAP CSN                   February 2005
789 Authors' Addresses
791    Jim Sermersheim
792    Novell, Inc
793    1800 South Novell Place
794    Provo, Utah  84606
795    USA
797    Phone: +1 801 861-3088
798    Email: jimse@novell.com
801    Howard Chu
802    Symas Corp.
803    18740 Oxnard Street, Suite 313A
804    Tarzana, California  91356
805    USA
807    Phone: +1 818 757-7087
808    Email: hyc@symas.com
840 Sermersheim & Chu        Expires August 5, 2005                [Page 15]
842 Internet-Draft                  LDAP CSN                   February 2005
845 Intellectual Property Statement
847    The IETF takes no position regarding the validity or scope of any
848    Intellectual Property Rights or other rights that might be claimed to
849    pertain to the implementation or use of the technology described in
850    this document or the extent to which any license under such rights
851    might or might not be available; nor does it represent that it has
852    made any independent effort to identify any such rights.  Information
853    on the procedures with respect to rights in RFC documents can be
854    found in BCP 78 and BCP 79.
856    Copies of IPR disclosures made to the IETF Secretariat and any
857    assurances of licenses to be made available, or the result of an
858    attempt made to obtain a general license or permission for the use of
859    such proprietary rights by implementers or users of this
860    specification can be obtained from the IETF on-line IPR repository at
861    http://www.ietf.org/ipr.
863    The IETF invites any interested party to bring to its attention any
864    copyrights, patents or patent applications, or other proprietary
865    rights that may cover technology that may be required to implement
866    this standard.  Please address the information to the IETF at
867    ietf-ipr@ietf.org.
870 Disclaimer of Validity
872    This document and the information contained herein are provided on an
873    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
874    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
875    ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
876    INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
877    INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
878    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
881 Copyright Statement
883    Copyright (C) The Internet Society (2005).  This document is subject
884    to the rights, licenses and restrictions contained in BCP 78, and
885    except as set forth therein, the authors retain all their rights.
888 Acknowledgment
890    Funding for the RFC Editor function is currently provided by the
891    Internet Society.
896 Sermersheim & Chu        Expires August 5, 2005                [Page 16]