source: branches/samba-3.5.x/source4/ldap_server/devdocs/rfc4525.txt

Last change on this file was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 11.0 KB
Line 
1
2
3
4
5
6
7Network Working Group K. Zeilenga
8Request for Comments: 4525 OpenLDAP Foundation
9Category: Informational June 2006
10
11
12 Lightweight Directory Access Protocol (LDAP)
13 Modify-Increment Extension
14
15
16Status of This Memo
17
18 This memo provides information for the Internet community. It does
19 not specify an Internet standard of any kind. Distribution of this
20 memo is unlimited.
21
22Copyright Notice
23
24 Copyright (C) The Internet Society (2006).
25
26Abstract
27
28 This document describes an extension to the Lightweight Directory
29 Access Protocol (LDAP) Modify operation to support an increment
30 capability. This extension is useful in provisioning applications,
31 especially when combined with the assertion control and/or the pre-
32 read or post-read control extension.
33
34Table of Contents
35
36 1. Background and Intended Use .....................................1
37 2. The Modify-Increment Extension ..................................2
38 3. LDIF Support ....................................................2
39 4. Security Considerations .........................................3
40 5. IANA Considerations .............................................3
41 5.1. Object Identifier ..........................................3
42 5.2. LDAP Protocol Mechanism ....................................3
43 5.3. LDAP Protocol Mechanism ....................................4
44 6. References ......................................................4
45 6.1. Normative References .......................................4
46 6.2. Informative References .....................................5
47
481. Background and Intended Use
49
50 The Lightweight Directory Access Protocol (LDAP) [RFC4510] does not
51 currently provide an operation to increment values of an attribute.
52 A client must read the values of the attribute and then modify those
53 values to increment them by the desired amount. As the values may be
54 updated by other clients between this add and modify, the client must
55
56
57
58Zeilenga Informational [Page 1]
59
60
61RFC 4525 LDAP Modify-Increment Extension June 2006
62
63
64 be careful to construct the modify request so that it fails in this
65 case, and upon failure, to re-read the values and construct a new
66 modify request.
67
68 This document extends the LDAP Modify Operation [RFC4511] to support
69 an increment values capability. This feature is intended to be used
70 with either the LDAP pre-read or post-read control extensions
71 [RFC4527]. This feature may also be used with the LDAP assertion
72 control extension [RFC4528] to provide test-and-increment
73 functionality.
74
75 In this document key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
76 "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
77 "OPTIONAL" are to be interpreted as described in BCP 14 [RFC2119].
78
792. The Modify-Increment Extension
80
81 This document extends the LDAP Modify request to support a increment
82 values capability. Implementations of this extension SHALL support
83 an additional ModifyRequest operation enumeration value increment
84 (3), as described herein. Implementations not supporting this
85 extension will treat this value as they would an unlisted value,
86 e.g., as a protocol error.
87
88 The increment (3) operation value specifies that an increment values
89 modification is requested. All existing values of the modification
90 attribute are to be incremented by the listed value. The
91 modification attribute must be appropriate for the request (e.g., it
92 must have INTEGER or other increment-able values), and the
93 modification must provide one and only one value. If the attribute
94 is not appropriate for the request, a constraintViolation or other
95 appropriate error is to be returned. If multiple values are
96 provided, a protocolError is to be returned.
97
98 Servers supporting this feature SHOULD publish the object identifier
99 (OID) 1.3.6.1.1.14 as a value of the 'supportedFeatures' [RFC4512]
100 attribute in the root DSE. Clients supporting this feature SHOULD
101 NOT use the feature unless they know the server supports it.
102
1033. LDIF Support
104
105 To represent Modify-Increment requests in LDAP Data Interchange
106 Format [RFC2849], the ABNF [RFC4234] production <mod-spec> is
107 extended as follows:
108
109 mod-spec =/ "increment:" FILL AttributeDescription SEP
110 attrval-spec "-" SEP
111
112
113
114
115Zeilenga Informational [Page 2]
116
117
118RFC 4525 LDAP Modify-Increment Extension June 2006
119
120
121 For example,
122
123 # Increment uidNumber
124 dn: cn=max-assigned uidNumber,dc=example,dc=com
125 changetype: modify
126 increment: uidNumber
127 uidNumber: 1
128 -
129
130 This LDIF fragment represents a Modify request to increment the
131 value(s) of uidNumber by 1.
132
1334. Security Considerations
134
135 General LDAP security considerations [RFC4510], as well as those
136 specific to the LDAP Modify [RFC4511], apply to this Modify-Increment
137 extension. Beyond these considerations, it is noted that
138 introduction of this extension should reduce application complexity
139 (by providing one operation for what presently requires multiple
140 operations) and, hence, it may aid in the production of correct and
141 secure implementations.
142
1435. IANA Considerations
144
145 Registration of the following values [RFC4520] have been completed.
146
1475.1. Object Identifier
148
149 The IANA has assigned an LDAP Object Identifier to identify the LDAP
150 Modify-Increment feature, as defined in this document.
151
152 Subject: Request for LDAP Object Identifier Registration
153 Person & email address to contact for further information:
154 Kurt Zeilenga <kurt@OpenLDAP.org>
155 Specification: RFC 4525
156 Author/Change Controller: Author
157 Comments:
158 Identifies the LDAP Modify-Increment feature
159
1605.2. LDAP Protocol Mechanism
161
162 The following LDAP Protocol Mechanism has been registered.
163
164 Subject: Request for LDAP Protocol Mechanism Registration
165 Object Identifier: 1.3.6.1.1.14
166 Description: Modify-Increment
167 Person & email address to contact for further information:
168 Kurt Zeilenga <kurt@openldap.org>
169
170
171
172Zeilenga Informational [Page 3]
173
174
175RFC 4525 LDAP Modify-Increment Extension June 2006
176
177
178 Usage: Feature
179 Specification: RFC 4525
180 Author/Change Controller: Kurt Zeilenga <kurt@openldap.org>
181 Comments: none
182
1835.3. LDAP Protocol Mechanism
184
185 The IANA has assigned an LDAP ModifyRequest Operation Type (3)
186 [RFC4520] for use in this document.
187
188 Subject: Request for LDAP Protocol Mechanism Registration
189 ModifyRequest Operation Name: increment
190 Description: Modify-Increment
191 Person & email address to contact for further information:
192 Kurt Zeilenga <kurt@openldap.org>
193 Usage: Feature
194 Specification: RFC 4525
195 Author/Change Controller: Kurt Zeilenga <kurt@openldap.org>
196 Comments: none
197
1986. References
199
2006.1. Normative References
201
202 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
203 Requirement Levels", BCP 14, RFC 2119, March 1997.
204
205 [RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
206 Specifications: ABNF", RFC 4234, October 2005.
207
208 [RFC2849] Good, G., "The LDAP Data Interchange Format (LDIF) -
209 Technical Specification", RFC 2849, June 2000.
210
211 [RFC4510] Zeilenga, K., Ed., "Lightweight Directory Access
212 Protocol (LDAP): Technical Specification Road Map", RFC
213 4510, June 2006.
214
215 [RFC4511] Sermersheim, J., Ed., "Lightweight Directory Access
216 Protocol (LDAP): The Protocol", RFC 4511, June 2006.
217
218 [RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol
219 (LDAP): Directory Information Models", RFC 4512, June
220 2006.
221
222
223
224
225
226
227
228
229Zeilenga Informational [Page 4]
230
231
232RFC 4525 LDAP Modify-Increment Extension June 2006
233
234
2356.2. Informative References
236
237 [RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority
238 (IANA) Considerations for the Lightweight Directory
239 Access Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
240
241 [RFC4527] Zeilenga, K., "Lightweight Directory Access Protocol
242 (LDAP) Read Entry Controls", RFC 4527, June 2006.
243
244 [RFC4528] Zeilenga, K., "Lightweight Directory Access Protocol
245 (LDAP) Assertion Control", RFC 4528, June 2006.
246
247Author's Address
248
249 Kurt D. Zeilenga
250 OpenLDAP Foundation
251
252 EMail: Kurt@OpenLDAP.org
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286Zeilenga Informational [Page 5]
287
288
289RFC 4525 LDAP Modify-Increment Extension June 2006
290
291
292Full Copyright Statement
293
294 Copyright (C) The Internet Society (2006).
295
296 This document is subject to the rights, licenses and restrictions
297 contained in BCP 78, and except as set forth therein, the authors
298 retain all their rights.
299
300 This document and the information contained herein are provided on an
301 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
302 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
303 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
304 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
305 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
306 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
307
308Intellectual Property
309
310 The IETF takes no position regarding the validity or scope of any
311 Intellectual Property Rights or other rights that might be claimed to
312 pertain to the implementation or use of the technology described in
313 this document or the extent to which any license under such rights
314 might or might not be available; nor does it represent that it has
315 made any independent effort to identify any such rights. Information
316 on the procedures with respect to rights in RFC documents can be
317 found in BCP 78 and BCP 79.
318
319 Copies of IPR disclosures made to the IETF Secretariat and any
320 assurances of licenses to be made available, or the result of an
321 attempt made to obtain a general license or permission for the use of
322 such proprietary rights by implementers or users of this
323 specification can be obtained from the IETF on-line IPR repository at
324 http://www.ietf.org/ipr.
325
326 The IETF invites any interested party to bring to its attention any
327 copyrights, patents or patent applications, or other proprietary
328 rights that may cover technology that may be required to implement
329 this standard. Please address the information to the IETF at
330 ietf-ipr@ietf.org.
331
332Acknowledgement
333
334 Funding for the RFC Editor function is provided by the IETF
335 Administrative Support Activity (IASA).
336
337
338
339
340
341
342
343Zeilenga Informational [Page 6]
344
345
Note: See TracBrowser for help on using the repository browser.