openldap/doc/drafts/draft-ietf-ldup-infomod-xx.txt

1022 lines
37 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

INTERNET-DRAFT
draft-ietf-ldup-infomod-01.txt
Ed Reed
Reed-Matthews, Inc.
March 9, 2000
LDUP Replication Information Model
1. Status of this Memo
This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft expires on May 11, 1999.
2. Abstract
[LDUP Model] describes the architectural approach to replication of
LDAP directory contents. This document describes the information
model and schema elements which support LDAP Replication Services
which conform to [LDUP Model].
Directory schema is extended to provide object classes, subentries,
and attributes to describe areas of the namespace which are under
common administrative authority, units of replication (ie, subtrees,
or partitions of the namespace, which are replicated), servers which
hold replicas of various types for the various partitions of the
namespace, which namespaces are held on given servers, and the
progress of various namespace management and replication operations.
Among other things, this knowledge of where directory content is
Reed [Page 1]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
located will provide the basis for dynamic generation of LDAP
referrals for clients who can follow them.
The controlling framework by which the relationships, types, and
health of replicas of the directory content will be defined so that,
as much as possible, directory content is itself used to monitor and
control the environment.
Security information, including access control policy identifiers and
information will be treated as directory content by the replication
protocols when specified by the LDAPEXT group.
The information model will describe required and optional house-
keeping duties for compliant systems to implement, such as garbage
collection of deleted objects, reconciliation of moved and renamed
objects, update sequencing and transaction bracketing of changes, etc.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. The
sections below reiterate these definitions and include some additional
ones.
2.1 Changes in this version
LDAP Subentry definition is moved to its own document [SUBENTRY].
LDAP Schedule Subentry definition is defined.
LDAP Access Point removed in favor of just using the DN of the server
holding the replica (so a new syntax isn't required).
LDAP Change Sequence Number syntax eleminated in favor of just calling
it a CaseIgnoreString, so new comparison rules aren't required.
Deleted ldapSearchFilter definition from here. Sparse replicas is
deferred. Might sparse be supported for single-master configurations
(read-only, of course).
Fractional are okay in multi-master configurations, but again, only on
read-only replicas.
Changed the naming convention upper-lower case usage to look less
weird.
Note:
Reed [Page 2]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
Consistency discussion
Schema document must clearly indicate that clients can and should
inspect the replica subentries to understand the single-master/multi-
master nature of the naming context to which they're talking.
The paradigm change, to distributed data, needs to be exhaustively
discussed in the profile documents. How old applications which assume
single-master behave or misbehave in a multi-master environment is
critical to make clear. Draw examples from SMP pre-emptive
programming practices, from DNS vs host file models, etc.
Decisions from wash ietf_
1) define two simple schema classes _ event driven histeresis
buckets, and cron-like thing. Then, the replica has a single
value pointer to a schedule. More schedule things can be
defined in the future.
2) Create attribute ReplicaURI to provide service access point for
that replica. No DSA entry requirement.
3) Replica id table discussion should move to protocol spec.
To do:
1) define the cron schedule subentry class
2) define the rest of the attributes used in the classes
3) verify LDUP OID number with Novell (!) one more time
4) verify all OIDs assigned
5) verify all OIDs documented at the end of the document
6) scrub editorial comments
7) cross reference with arch document on schema element names
Reed [Page 3]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
Table of Contents
1. Status of this Memo .............................................1
2. Abstract 1
2.1 Changes in this version........................................2
3. Introduction ....................................................4
3.1 Scope 4
3.2 Terms and Definitions..........................................5
4. Data design: ....................................................5
5. Directory Knowledge .............................................5
6. Schema 6
6.1 Data Structure Definitions.....................................6
6.1.1 ldapChangeSequenceNumber..................................6
6.2 Attribute Definitions..........................................7
6.2.1 attributeExclusionFilter..................................7
6.2.2 attributeInclusionFilter..................................8
6.2.3 replicaURI................................................8
6.2.4 replicationStatus.........................................9
6.2.5 replicaType...............................................9
6.2.6 SecsToWait Attributes....................................11
6.2.6.1 secsToWaitCat1 ........................................11
6.2.6.2 secsToWaitCat2 ........................................11
6.2.6.3 secsToWaitCat3 ........................................11
6.2.6.4 secsToWaitCat4 ........................................11
6.2.6.5 secsToWaitCat5 ........................................11
6.2.7 updateVector.............................................12
6.3 Class Definitions.............................................12
6.3.1 nameContext..............................................12
6.3.2 replicaSubentry..........................................12
6.3.3 replicaAgreementSubentry.................................13
6.3.4 eventScheduledSubentry Class.............................14
6.3.5 timeScheduledSubentry Class..............................15
7. Object Identifier Assignments ..................................15
8. Security Considerations ........................................16
9. References .....................................................16
10. Copyright Notice ...............................................17
11. Acknowledgements ...............................................17
12. Author's Address ...............................................18
3. Introduction
3.1 Scope
This document describes schema of subentries representing replicas,
replication agreements and their dependencies.
Reed [Page 4]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
Management and status schema elements may be defined if there is
sufficient consensus.
Semantic interpretation of schema elements, including any special
handling expectations are to be provided here.
3.2 Terms and Definitions
Definitions are provided in [LDUP Requirements], and may be reproduced
here for the convenience of the reader.
4. Data design:
As described in [LDUP Model], knowledge of replicated portions of the
directory information tree (DIT) is stored in the directory itself.
An auxiliary class is defined to designate containers, or nodes, in
the DIT which are the root-most, or base, of naming contexts
[RFC2251]. Directory subentries [X501] are used to hold information
about replicas and replica agreements.
5. Directory Knowledge
Information about what replicas exist, what they contain, their types,
where they are stored, and how they may be contacted inevitably
provides the basis for distributed directory knowledge. As namespaces
from stand-alone servers are inter-connected with one another, this
replica information can and will be used by name resolution operations
to locate servers holding copies of specific objects, and to optimize
distributed searches which span multiple Naming Contexts.
However, the focus of this document is NOT to fully enable such
distributed directory uses. Instead, we are focused on how portions
of the namespace (Directory Information Tree - DIT) may be replicated,
and how those replicas are configured and related to one another via
Replication Agreements.
As such, the following high level description (from [LDUP Model])of
the information model envisioned is provided as reference for the
reader before presenting the detailed specifications.
Generally, the DSE Naming Context attribute of an LDAPv3 server names
the Naming Contexts for which there are replicas on that server.
Reed [Page 5]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
The Naming Context Auxiliary Class (nameContext) is added to container
objects which may have separately defined replication policy.
Immediately subordinate to a Naming Context object are the Replica
Subentry containers which identify where the identified replica
resides (ie, its LDAP Access Point), its type (Primary, Updateable,
ReadOnly), if it is sparse, the LDAP search filter which defines what
object classes it holds, and if it is fractional, the attributes it
does or does not hold.
Immediately subordinate in the namespace to a Replica Subentry are
Replication Agreement leaf entries which each identify another
Replica, the scheduling policy for replication operations (including
times when replication is to be performed, when it is not to be
performed, or the policies governing event-driven replication
initiation).
6. Schema
6.1 Data Structure Definitions
For the purposes of defining the encoding rules for attribute
structures, the BNF definitions in section 4.1 of [RFC2252] will be
used. They are based on the BNF styles of [RFC822].
To avoid requiring new syntax support to be added unnecessarily to
existing LDAPv3 directory service implementations (and the
accompanying matching rules, etc. they would entail), a string
encoding is defined for ldapChangeSequenceNumber which can use
CaseIgnoreString matching rules for ordering and equality.
6.1.1 ldapChangeSequenceNumber
( 1.3.6.1.4.1.1466.115.121.1.TBD DESC 'LDAP Change Sequence Number' )
Values in this syntax are encoded according to the following BNF.
Note there MUST NOT be any whitespace separators, unless they are in
replicaID, which must be encoded according to the instructions below.
This encoding is specified so that the CaseIgnoreString equality and
ordering rules will work correctly when replicaNumber is used.
When replicaID is used, CaseIgnoreString comparison rules will not
work unless each replicaID is exactly the same length with no padded
Reed [Page 6]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
white spaces (because CaseIgnoreString suppresses duplicate adjacent
white space when it compares two strings).
LDAPChangeSequenceNumber = GeneralizedZTime "#" S1 "#" replicaID
"#" S2
GeneralizedZTime = yyyy | mm | dd | hh | mi | ss | "Z"
yyyy = dddd <four digit year, e.g. 1998>
mm = dd <two digit month of the year, e.g. 06>
dd = dd <two digit day of month, e.g. 17>
hh = dd <two digit hour of the day, inclusive range (00..23)>
mi = dd <two digit minute of the hour, inclusive range (00..59)>
ss = dd <two digit seconds of the minute, inclusive range (00..59)>
replicaID = dstring
S1, S2 = numericstring
The GeneralizedTime is used as described (cf. [X680] section 39.3 case
b) without separators or whitespace, and representing a coordinated
universal time (i.e., Greenwich Mean Time, or GMT). All times
referenced by this syntax MUST be normalized to GMT - no local times,
nor time zone offsets are permitted. To simplify comparisons of two
CSNs, the "Z" MUST be the UTF-8 capital-Z character.
The ReplicaID represents the specific Replica of this Naming Context
where the event associated with this LDAPChangeSequenceNumber
occurred. Note that in actual transfer, the ReplicaID MAY be
represented by a number (see the specification of the
replicaLookupTable, above).
S1 and S2 are sequence numbers which are used to order two events with
the same Generalized Time and ReplicaID. In order to use string
matching rules for equality and ordering with values with this
encoding, the length of each field must be consistent. Thus, all
instances of S1 MUST be represented with the same number of digits,
using leading zeros as necessary. The same with S2 and replicaID.
6.2 Attribute Definitions
6.2.1 attributeExclusionFilter
( 2.16.840.1.113719.142.4.1 NAME 'attributeExclusionFilter'
SYNTAX OCTET STRING
SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
Reed [Page 7]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
The attributeExclusionFilter is intended to contain a list of
attributes in the form of an AttributeDescriptionList as described in
section 4.5.1. Search Request of [RFC2251] with the following
interpretation: an empty attributeExclusionFilter means that no
attributes are excluded; the special values "*" and "1.1" mean that
ALL attributes are excluded.
A non-empty attributeExclusionFilter attribute on a replica subEntry
describes the attributes NOT PRESENT on entries held by that replica.
Replicas MUST NOT accept changes for attributes they're not permitted
to hold, per the attributeInclusionFilter and attributeExclusionFilter
attributes on their replica subEntry.
A non-empty attributeExclusionFilter attribute on a
replicationAgreement subEntry describes which additional attributes
are to be excluded from the updates to be sent from the supplier
replica to the consumer replica.
6.2.2 attributeInclusionFilter
( {2.16.840.1.113719.142.4.2 NAME 'attributeInclusionFilter'
SYNTAX OCTET STRING
SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
The attributeInclusionFilter is intended to contain a list of
attributes in the form of an AttributeDescriptionList as described in
section 4.5.1. Search Request of [RFC2251] with the following
interpretation: an empty attributeInclusionFilter means that all
attributes are included; the special value "*" means that ALL
attributes are included; the special value "1.1" is meaningless and is
ignored in this usage.
A non-empty attributeInclusionFilter attribute on a replica subEntry
describes the attributes that may be PRESENT on entries held by that
replica. Replicas MUST NOT accept changes for attributes they're not
permitted to hold, per the attributeIncludionFilter and
attributeExclusionFilter attributes on their replica subEntry.
6.2.3 replicaURI
(2.16.840.1.113719.142.4.x NAME `replicaURI'
DESC `how to connect to this replica'
SYNTAX ldapURI
USAGE dSAOperation )
Reed [Page 8]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
6.2.4 replicationStatus
(2.16.840.1.113719.142.4.3 NAME 'replicationStatus'
DESC 'human readable status of last replication attempt'
SYNTAX DirectoryString
SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
The replicationStatus attribute MAY be used to hold a human readable
message describing the most recent replication session attempt for a
replicationAgreement.
For example, such a messages might include
1) 19980805162203Z # Success #
2) 19980805162322Z # Failure # Server too busy, try again
3) 19980805170215Z # Failure # Unable to connect to DSA
4) 19980806002301Z # Failure # Authentication failed
5) 19980806003201Z # Failure # lost connection, reset by peer
It is suggested, but not required, that the time of a replication
attempt (completion, if successful or failure, if not), the result of
the attempt, and any additional information about a failure be
included in the string message.
It is suggested, but not required, that the messages be stored with
language tags (English, French, German, Japanese, Chinese, per [LANG
TAG]) particularly if multiple translations of the error messages are
available to the DSA implementers.
Note that this is a single-valued attribute. Sequences of status
entries SHOULD be written to log files or other persistent storage, or
in multi-valued replication history attributes, but are not specified
here.
6.2.5 replicaType
(2.16.840.1.113719.142.4.4 NAME 'replicaType'
DESC 'Enum: 0-reserved, 1-Primary, 2-Updateable, 3-ReadOnly, all
others reserved'
EQUALITY integerMatch
SYNTAX INTEGER
SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )
Reed [Page 9]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
ReplicaType is a simple enumeration, used to identify what kind of
replica is being described in a Replica object entry.
A ReadOnly replica only accepts LDAP Search operations (to Read
entries, list containers, and search for entries). Because no updates
ever originate from ReadOnly replicas, they never have changes to send
to another replica. However, a ReadOnly replica may be designated a
supplier DSA in a replica agreement, if it is simply passing along
information it receives from other Updateable replicas about entries
and their changes.
ReadOnly replicas may be incomplete replicas.
An Updateable replica may accept both LDAP Search operations (to read,
list, or search entries), as well as modification operations (to add,
modify, or delete entries).
The consequences of having incomplete updateable replicas are not
fully understood. LDAP DSAs MAY require updateable replicas to be
complete replicas.
A Primary replica is an Updateable replica, but it is "more special"
than other Updateable replicas. When LDAP application want to direct
their operations to a single replica, so that the application can be
sure that all application LDAP modification (add, delete, modify)
operations will be immediately visible to application readers, the
Primary replica is a good choice. Such a use would be consistent with
High Confidence DAP option [X518]. One such application might be a
management application which creates new naming contexts or joins two
naming contexts into a single naming context. Another application
might be one which creates new replicas, or replication agreements.
There SHOULD be only one Primary replica defined for a naming context
at any time. If applications, expecting there to be a Primary replica
discover, by search or inspection of ReplicaType attributes of the
defined Replicas of a naming context, find more than one _ they should
realize that something is wrong.
There MAY be NO primary replica defined for a naming context.
Primary replicas MAY NOT be incomplete replicas.
The way in which replicas change their type, as from ReadOnly to
Updateable, or Updateable to Primary is outside the scope of this
document.
Section 5.1 "Replica Type" of [LDUP MODEL] details the permissible
combinations of replica types and sparse/fractional replicas.
Reed [Page 10]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
6.2.6 SecsToWait Attributes
The secsToWait attributes document the number of seconds a replica is
to wait after the occurrence of a "category n" change event before
initiating a new replication session for replicationAgreements
governed by an eventScheduledSubentry. The definition of a "category
n" change event is implementation dependent, and may be defined
differently by different directory servers. The absence of a value
for any of these attributes MUST be interpreted as meaning "do not
initiate a replication session for change events of this category".
6.2.6.1 secsToWaitCat1
( 2.16.840.1.113719.142.4.5.1 NAME 'secsToWaitCat1'
SYNTAX INTEGER
USAGE dSAOperation )
6.2.6.2 secsToWaitCat2
( 2.16.840.1.113719.142.4.5.2 NAME 'secsToWaitCat2'
SYNTAX INTEGER
USAGE dSAOperation )
6.2.6.3 secsToWaitCat3
( 2.16.840.1.113719.142.4.5.3 NAME 'secsToWaitCat3'
SYNTAX INTEGER
USAGE dSAOperation )
6.2.6.4 secsToWaitCat4
( 2.16.840.1.113719.142.4.5.4 NAME 'secsToWaitCat4'
SYNTAX INTEGER
USAGE dSAOperation )
6.2.6.5 secsToWaitCat5
( 2.16.840.1.113719.142.4.5.5 NAME 'secsToWaitCat5'
SYNTAX INTEGER
USAGE dSAOperation )
Reed [Page 11]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
6.2.7 updateVector
( 2.16.840.1.113719.142.4.6 NAME 'updateVector'
SYNTAX ldapChangeSequenceNumberSyntax
NO-USER-MODIFICATION USAGE dSAOperation )
The attribute updateVector is a multi-valued attribute which contains
information for a replica describing the latest changes received by
the replica from other replicas.
There may be only one ldapChangeSequenceNumber entry from each replica
in the updateVector. That is to say, there is a unique value
constraint on the ReplicaID component of entries in the list.
6.3 Class Definitions
6.3.1 nameContext
( 2.16.840.1.113719.142.6.2.1 NAME 'nameContext' SUP top AUXILIARY )
The nameContext auxiliary class, when present on an object, indicates
the beginning, or root, of a naming context. The naming context is
said to be rooted at the entry with the nameContext auxiliary class in
its list of object classes. The root-most entry of a naming context
is the entry with the nameContext auxiliary class in its list of
object classes.
Characteristics of the replication topology of a naming context are
defined in the replicaSubentry sub-entries associated with the naming
context.
The attribute accessControlPolicyOID has been removed from here, and
should be published as an ldapSubEntry subordinate to the nameContext,
instead.
The attribute nameContextCreationTimestamp used here in previous
drafts has been eliminated as redundant. The ldapChangeSequenceNumber
associated with the nameContext value in the list of objectClasses
attribute serves the same purpose.
6.3.2 replicaSubentry
( 2.16.840.1.113719.142.6.3.1 NAME 'replicaSubentry' SUP ldapSubEntry
STRUCTURAL
Reed [Page 12]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
MUST (cn, replicaURI, replicaType)
MAY (attributeExclusionFilter, attributeInclusionFilter,
description, updateVector) )
Entries of type replicaSubentry MAY be named by their cn attribute.
The attributes attributeExclusionFilter and attributeInclusionFilter,
if present, govern which entries and attributes from the local naming
context are to be sent (or not sent) to the replica named in replicaDN
of replica agreements for this replica. The attributeExclusionFilter
names attributes which SHOULD NOT be sent. The
attributeInclusionFilter names attributes which SHOULD be sent.
The attribute replicaURI contains information in ldapURI format that
can be used to contact (ie, open a connection to) this replica.
The attribute description contains a human-readable description of the
sub-entry.
The attribute updateVector contains a set of
ldapChangeSequenceNumbers, one for each of the other replicas for this
naming context, which records, from this replicas perspective, the
last change event received from the other indicated replica.
6.3.3 replicaAgreementSubentry
( 2.16.840.1.113719.142.6.4.1 NAME 'replicaAgreementSubentry'
SUP ldapSubEntry STRUCTURAL
MUST ( cn )
MAY ( attributeExclusionFilter, description, replicaDN,
replicationMechanismOID, replicationStatus, scheduleDN ) )
Entries of type replicaAgreementSubentry MAY be named by their cn
attribute.
The attributes attributeExclusionFilter, and ldapSearchFilter, if
present, govern which entries and attributes from the local naming
context are to be sent (or not sent) to the replica named in
replicaDN. The attributeExclusionFilter names attributes SHOULD NOT be
sent. Note there is no attributeInclusionFilter, because the list of
attributes that may be sent may not be extended beyond those
documented in the attributeInclusionFilter on the replicaSubentry.
Processing of allowable changes to be sent is as follows:
1) the attributeInclusionFilter from the replica subentry defines a
set of attributes which SHOULD be sent, less exclusions;
Reed [Page 13]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
2) the union of attributes excluded by the attributeExclusionFilter
from the replicasubentry and the attributeExclusionFilter from the
replicaAgreementSubentry defines a set of attributes which SHOULD
NOT be sent;
3) the subtraction of attributes which SHOULD NOT be sent by (2) from
the attributes which SHOULD be sent by (1) constitute the set of
attributes for which changes MAY be sent.
The attribute description contains a human-readable description of the
sub-entry.
The attribute replicaDN of syntax DN names another sub-entry of type
replicaSubentry to whom changes are to be sent. If there is no value
for the replicaDN attribute on a replicaAgreementSubentry, the
replicaAgreementSubentry is ignored. Absence of a value may occur
briefly when replicas and replica agreements are first being created,
or when the replica to which a replica agreement applies is being
deleted.
The attribute replicationStatus MAY be used to record the most recent
result of an attempt to send changes to the replica named in
replicaDN, whether success, or if failure, the nature of the problem
encountered.
The attribute schedule, if present, names one or more entries of type
scheduleSubentry which govern the schedule for replication attempts.
If not present, replication MUST be attempted when there are changes
to be sent.
6.3.4 eventScheduledSubentry Class
( 2.16.840.1.113719.142.6.1.1 NAME 'eventScheduledSubentry'
SUP ldapSubEntry STRUCTURAL
MUST ( cn )
MAY ( description, secsToWaitCat1, secsToWaitCat2, secsToWaitCat3,
secsToWaitCat4, secsToWaitCat5 ) )
Note that replication agreements using eventScheduledSubentry policy
are, by definition, supplier-initiated.
The description attribute may be used by the administrator to document
or comment on this subentry.
The secsToWaitCat1 attribute documents the number of seconds a replica
is to wait after the occurrence of a "category 1" change event before
initiating a new replication session for replicationAgreements
Reed [Page 14]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
governed by this eventScheduledSubentry. The definition of a
"category 1" change event is implementation dependent, and may be
defined differently by different directory servers. The absence of a
value for this attribute MUST be interpreted as meaning "do not
initiate a replication session for change events of this category".
The secsToWaitCat2 _ secsToWaitCat5 attributes are similarly defined
for their respective categoriess of change events.
6.3.5 timeScheduledSubentry Class
( 2.16.840.1.113719.142.6.5.1 NAME 'timeScheduledSubentry'
SUP ldapSubEntry STRUCTURAL
MUST ( cn )
MAY ( description ) )
7. Object Identifier Assignments
The LDUP OID prefix is
ID ::= OBJECT IDENTIFIER
ldup ID ::= { joint-iso-ccitt(2) country(16) us(840)
organization(1) novell(113719) ldup(142) }
The OID assignments defined in this document are:
Attributes:
attributeExclusionFilter ID ::= 2.16.840.1.113719.142.4.1
attributeInclusionFilter ID ::= 2.16.840.1.113719.142.4.2
replicationStatus ID ::= 2.16.840.1.113719.142.4.3
replicaType ID ::= 2.16.840.1.113719.142.4.4
secsToWaitClass1 ID ::= 2.16.840.1.113719.142.4.5.1
secsToWaitClass2 ID ::= 2.16.840.1.113719.142.4.5.2
secsToWaitClass3 ID ::= 2.16.840.1.113719.142.4.5.3
secsToWaitClass4 ID ::= 2.16.840.1.113719.142.4.5.4
secsToWaitClass5 ID ::= 2.16.840.1.113719.142.4.5.5
updateVector ID ::= 2.16.840.1.113719.142.4.6
Object Classes:
eventScheduledSubentry ID ::= 2.16.840.1.113719.142.6.1.1
nameContext ID ::= 2.16.840.1.113719.142.6.2.1
replicaSubentry ID ::= 2.16.840.1.113719.142.6.3.1
replicaAgreementSubentry ID ::= 2.16.840.1.113719.142.6.4.1
timeScheduledSubentry ID ::= 2.16.840.1.113719.142.6.5.1
Reed [Page 15]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
Note: Object Class OIDs have version numbers, Attribute OIDs don't.
8. Security Considerations
Many of the attributes and object classes described in this document
should be considered _security sensitive_, and protected from
unintended modification by LDAP servers. Generally, creating Naming
Contexts, Replicas and Replica Agreement entries should only be
allowed by directory administrators who are authorized to do so.
The values of attributes defined here are intended to control the
behavior of the directory service agents, themselves. Unintended
modification of their values may result in incomplete replication of
data (if ldapSearchFilter or attributeExclusionFilter are changed),
inappropriate disclosure of information (if attributeInclusionFilter
is changed), or updates may be lost (if updateVector is changed).
To avoid depending to much on the ldapAccessPoint values for other
replicas, connections between LDAP servers for the purpose of
replication MUST ALWAYS be authenticated using an authentication
mechanism appropriate for the nature of information to be exchanged.
9. References
[LANG TAG] _ M. Wahl, T. Howes, _Use of Language Codes in LDAP_,
Internet draft, draft-ietf-ldapext-lang-01.txt
[LDUP Model] - J. Merrells, E. Reed, U. Srinivisan, _An Abstract Model
of LDAP Replication_, Internet draft, draft-merrells-ldup-model-01.txt
[LDUP Requirements] - R. Weiser, E. Stokes _LDAP Replication
Requirements_, Internet draft, draft-weiser-replica-req-02.txt, April
1998
[RFC2251] _ M. Wahl, T. Howes, S. Kille, _Lightweight Directory Access
Protocol (v3)_, December 1997, RFC 2251
[RFC2252] _ M. Wahl, A. Coulbeck, T. Howes, S. Kille, _Lightweight
Directory Access Protocol (v3): Attribute Syntax Definitions_,
December 1997, RFC 2252
[X525] - ITU-T Recommendation X.525 (1997) | ISO/IEC 9594-9:1997,
Information Technology _ Open Systems Interconnection _ The Directory:
Replication
Reed [Page 16]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
[X680] - ITU-T Recommendation X.680 (1994) | ISO/IEC 8824-1:1995,
Information technology _ Abstract Syntax Notation One (ASN.1):
Specification of Basic Notation
10. Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of developing
Internet standards in which case the procedures for copyrights defined
in the Internet Standards process must be followed, or as required to
translate it into languages other than English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
11. Acknowledgements
The use of subEntry object class to store Replica and Replication
Agreement information is due primarily to the lucid explanation by
Mark Wahl, Innosoft, of how they could be used and extended.
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights might or
might not be available; neither does it represent that it has made any
effort to identify any such rights. Information on the IETF's
procedures with respect to rights in standards-track and standards-
related documentation can be found in BCP-11. Copies of claims of
Reed [Page 17]
Expires September 9, 2000
INTERNET-DRAFT 9 March 2000
LDUP Replication Information Model
rights made available for publication and any assurances of licenses
to be made available, or the result of an attempt made to obtain a
general license or permission for the use of such proprietary rights
by implementors or users of this specification can be obtained from
the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
12. Author's Address
Edwards E. Reed
Reed-Matthews, Inc.
1064 East 140 North
Lindon, UT 84042
USA
E-mail: eer@oncalldba.com
LDUP Mailing List: ietf-ldup@idc.org
Reed [Page 18]
Expires September 9, 2000