]> git.sur5r.net Git - openldap/blob - doc/drafts/draft-zeilenga-ldap-incr.txt
return to releng
[openldap] / doc / drafts / draft-zeilenga-ldap-incr.txt
1 INTERNET-DRAFT                                      Kurt D. Zeilenga
2 Intended Category: Experimental                  OpenLDAP Foundation
3 Expires in six months                                17 October 2004
4
5
6                      LDAP Modify-Increment Extension
7                     <draft-zeilenga-ldap-incr-00.txt>
8
9
10 Status of this Memo
11
12   This document is intended to be, after appropriate review and
13   revision, submitted to the RFC Editor as an Experimental document.
14   Distribution of this memo is unlimited.  Technical discussion of this
15   document will take place on the IETF LDAP Extensions mailing list
16   <ldapext@ietf.org>.  Please send editorial comments directly to the
17   author <Kurt@OpenLDAP.org>.
18
19   By submitting this Internet-Draft, I accept the provisions of Section
20   4 of RFC 3667.  By submitting this Internet-Draft, I certify that any
21   applicable patent or other IPR claims of which I am aware have been
22   disclosed, or will be disclosed, and any of which I become aware will
23   be disclosed, in accordance with RFC 3668.
24
25   Internet-Drafts are working documents of the Internet Engineering Task
26   Force (IETF), its areas, and its working groups. Note that other
27   groups may also distribute working documents as Internet-Drafts.
28
29   Internet-Drafts are draft documents valid for a maximum of six months
30   and may be updated, replaced, or obsoleted by other documents at any
31   time. It is inappropriate to use Internet-Drafts as reference material
32   or to cite them other than as "work in progress."
33
34   The list of current Internet-Drafts can be accessed at
35   <http://www.ietf.org/ietf/1id-abstracts.txt>.  The list of
36   Internet-Draft Shadow Directories can be accessed at
37   <http://www.ietf.org/shadow.html>.
38
39   Copyright (C) The Internet Society (2004).  All Rights Reserved.
40
41   Please see the Full Copyright section near the end of this document
42   for more information.
43
44
45 Abstract
46
47   This document describes an extension to the Lightweight Directory
48   Access Protocol (LDAP) Modify operation to support an increment
49
50
51
52 Zeilenga            LDAP Modify-Increment Extension             [Page 1]
53 \f
54 INTERNET-DRAFT       draft-zeilenga-ldap-incr-00.txt     17 October 2004
55
56
57   capability.  This extension is useful in provisioning applications,
58   especially when combined with the assertion control and/or the
59   pre-read or post-read control extension.
60
61
62 1.  Background and Intended Use
63
64   The Lightwieght Directory Access Protocol [Roadmap] does not currently
65   provide an operation to increment values of an attribute.  A client
66   must read the values of the attribute, then modify those values to
67   increment them by the desired amount.  As the values may be updated by
68   other clients between this add and modify, the client must be careful
69   to construct the modify request so that it fails in this case, and
70   upon failure, re-read the values and construct a new modify request.
71
72   This document extends the LDAP Modify Operation [Protocol] to support
73   an increment values capability.  This feature is intended to be used
74   with either the LDAP pre-read or post-read control extension
75   [READENTRY].  This feature may be used with the LDAP assertion control
76   [ASSERT] to provide test-and-increment functionality.
77
78   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
79   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
80   document are to be interpreted as described in BCP 14 [RFC2119].
81
82
83 2.  The Modify-Increment Extension
84
85   This document extends the LDAP Modify request to support a increment
86   values capability.  Implementations of this extension SHALL support an
87   additional ModifyRequest operation enumeration value increment (3) as
88   described herein.  Implementations not supporting this extension will
89   treat this value as they would an unlisted value, e.g., as a protocol
90   error.
91
92   The increment (3) operation value specifies that an increment values
93   modification is requested.   All existing values of the modification
94   attribute are to be incremented by the listed value.  The modification
95   attribute must be appropriate for request, e.g., must have INTEGER or
96   other incrementable values, and the modification must provide one and
97   only value.
98
99   Servers supporting this feature SHOULD publish the object identifier
100   (OID) OID-TBD as a value of the 'supportedFeatures' [RFC3674]
101   attribute in the root DSE.  Clients supporting this feature SHOULD NOT
102   use the feature unless they have knowledge the server supports it.
103
104
105
106
107
108 Zeilenga            LDAP Modify-Increment Extension             [Page 2]
109 \f
110 INTERNET-DRAFT       draft-zeilenga-ldap-incr-00.txt     17 October 2004
111
112
113   3. LDIF Support
114
115   To represent Modify-Increment requests in LDAP Data Interchange Format
116   [RFC2849], the ABNF [RFC2234] production <mod-spec> is extended as
117   follows:
118
119       mod-spec /= "increment:" FILL AttributeDescription SEP
120            attrval-spec "-" SEP
121
122   For example,
123
124       # Increment uidNumber
125       dn: cn=max-assigned uidNumber,dc=example,dc=com
126       changetype: modify
127       increment: uidNumber
128       uidNumber: 1
129       -
130
131   This LDIF fragment represents a Modify request to increment the
132   value(s) of uidNumber by 1.
133
134
135 4.  Security Considerations
136
137   General LDAP security considerations [Roadmap], as well as those
138   specific to the LDAP Modify [Protocol], apply to this Modify-Increment
139   extension.  Beyond these considerations, it is noted that introduction
140   of this extension should reduce application complexity (by provide one
141   operation what presently requires multiple operation) and, hence, may
142   aide in the production of correct and secure implementations.
143
144
145 5.  IANA Considerations
146
147   Registration of the LDAP Protocol Mechanism [BCP64bis] defined in
148   document is requested.
149
150       Subject: Request for LDAP Protocol Mechanism Registration
151       Object Identifier: OID-TBD
152       Description: Modify-Increment
153       Person & email address to contact for further information:
154           Kurt Zeilenga <kurt@openldap.org>
155       Usage: Feature
156       Specification: RFC XXXX
157       Author/Change Controller: Kurt Zeilenga <kurt@openldap.org>
158       Comments: none
159
160
161
162
163
164 Zeilenga            LDAP Modify-Increment Extension             [Page 3]
165 \f
166 INTERNET-DRAFT       draft-zeilenga-ldap-incr-00.txt     17 October 2004
167
168
169 6.  Author's Address
170
171   Kurt D. Zeilenga
172   OpenLDAP Foundation
173   <Kurt@OpenLDAP.org>
174
175
176 7. Normative References
177
178   [RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
179                 Requirement Levels", BCP 14 (also RFC 2119), March 1997.
180
181   [RFC2234]     Crocker, D. and P. Overell, "Augmented BNF for Syntax
182                 Specifications: ABNF", RFC 2234, November 1997.
183
184   [RFC2849]     Good, G., "The LDAP Data Interchange Format (LDIF) -
185                 Technical Specification", RFC 2849, June 2000.
186
187   [Features]    Zeilenga, K., "Feature Discovery in LDAP", RFC 3674,
188                 December 2003.
189
190   [Roadmap]     Zeilenga, K. (editor), "LDAP: Technical Specification
191                 Road Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in
192                 progress.
193
194   [Protocol]    Sermersheim, J. (editor), "LDAP: The Protocol",
195                 draft-ietf-ldapbis-protocol-xx.txt, a work in progress.
196
197
198 8. Informative References
199
200   [BCP64bis]    Zeilenga, K., "IANA Considerations for LDAP",
201                 draft-ietf-ldapbis-bcp64-xx.txt, a work in progress.
202
203   [READENTRY]   Zeilenga, K., "LDAP Read Entry Controls",
204                 draft-zeilenga-ldap-readentry-xx.txt, a work in
205                 progress.
206
207   [ASSERT]      Zeilenga, K., "LDAP Assertion Control",
208                 draft-zeilenga-ldap-assert-xx.txt, a work in progress.
209
210   [ASSIGN]      OpenLDAP Foundation, "OpenLDAP OID Delegations",
211                 http://www.openldap.org/foundation/oid-delegate.txt.
212
213   [PRIVATE]     IANA, "Private Enterprise Numbers",
214                 http://www.iana.org/assignments/enterprise-numbers.
215
216
217
218
219
220 Zeilenga            LDAP Modify-Increment Extension             [Page 4]
221 \f
222 INTERNET-DRAFT       draft-zeilenga-ldap-incr-00.txt     17 October 2004
223
224
225 Intellectual Property Rights
226
227   The IETF takes no position regarding the validity or scope of any
228   Intellectual Property Rights or other rights that might be claimed to
229   pertain to the implementation or use of the technology described in
230   this document or the extent to which any license under such rights
231   might or might not be available; nor does it represent that it has
232   made any independent effort to identify any such rights.  Information
233   on the procedures with respect to rights in RFC documents can be found
234   in BCP 78 and BCP 79.
235
236   Copies of IPR disclosures made to the IETF Secretariat and any
237   assurances of licenses to be made available, or the result of an
238   attempt made to obtain a general license or permission for the use of
239   such proprietary rights by implementers or users of this specification
240   can be obtained from the IETF on-line IPR repository at
241   http://www.ietf.org/ipr.
242
243   The IETF invites any interested party to bring to its attention any
244   copyrights, patents or patent applications, or other proprietary
245   rights that may cover technology that may be required to implement
246   this standard.  Please address the information to the IETF at
247   ietf-ipr@ietf.org.
248
249
250
251 Full Copyright
252
253   Copyright (C) The Internet Society (2004).  This document is subject
254   to the rights, licenses and restrictions contained in BCP 78, and
255   except as set forth therein, the authors retain all their rights.
256
257   This document and the information contained herein are provided on an
258   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
259   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
260   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
261   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
262   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
263   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
264
265
266
267
268
269
270
271
272
273
274
275
276 Zeilenga            LDAP Modify-Increment Extension             [Page 5]
277 \f
278