1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 *
3 * ***** BEGIN LICENSE BLOCK *****
4 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 1.1 (the "License"); you may not use this file except in compliance with
8 * the License. You may obtain a copy of the License at
9 * http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * The Original Code is part of the mozilla.org LDAP XPCOM SDK.
17 *
18 * The Initial Developer of the Original Code is
19 * Netscape Communications Corporation.
20 * Portions created by the Initial Developer are Copyright (C) 2001
21 * the Initial Developer. All Rights Reserved.
22 *
23 * Contributor(s):
24 * Dan Mosedale <dmose@netscape.com> (Original Author)
25 *
26 * Alternatively, the contents of this file may be used under the terms of
27 * either the GNU General Public License Version 2 or later (the "GPL"), or
28 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 * in which case the provisions of the GPL or the LGPL are applicable instead
30 * of those above. If you wish to allow use of your version of this file only
31 * under the terms of either the GPL or the LGPL, and not to allow others to
32 * use your version of this file under the terms of the MPL, indicate your
33 * decision by deleting the provisions above and replace them with the notice
34 * and other provisions required by the GPL or the LGPL. If you do not delete
35 * the provisions above, a recipient may use your version of this file under
36 * the terms of any one of the MPL, the GPL or the LGPL.
37 *
38 * ***** END LICENSE BLOCK ***** */
39
40 #include "nsISupports.idl"
41
42 /**
43 * Error codes used in the LDAP XPCOM SDK.
44 *
45 * Taken from the Mozilla C SDK's ldap.h include file, these should be
46 * the same as those specified in the draft-ietf-ldapext-ldap-c-api-04.txt
47 * Internet Draft.
48 *
49 * The only good documentation I'm aware of for these error codes is
50 * at <http://docs.iplanet.com/docs/manuals/directory.html#SDKC>.
51 * Unfortunately, this does not currently seem to be available under any
52 * open source license, so I can't include that documentation here as
53 * doxygen comments.
54 *
55 */
56 [scriptable, uuid(f9ac10fa-1dd1-11b2-9798-8d5cbda95d74)]
57 interface nsILDAPErrors : nsISupports
58 {
59
60 const long SUCCESS = 0x00;
61
62 const long OPERATIONS_ERROR = 0x01;
63
64 const long PROTOCOL_ERROR = 0x02;
65
66 const long TIMELIMIT_EXCEEDED = 0x03;
67
68 const long SIZELIMIT_EXCEEDED = 0x04;
69
70 const long COMPARE_FALSE = 0x05;
71
72 const long COMPARE_TRUE = 0x06;
73
74 const long STRONG_AUTH_NOT_SUPPORTED = 0x07;
75
76 const long STRONG_AUTH_REQUIRED = 0x08;
77
78
79 /**
80 * UMich LDAPv2 extension
81 */
82 const long PARTIAL_RESULTS = 0x09;
83
84 /**
85 * new in LDAPv3
86 */
87 const long REFERRAL = 0x0a;
88
89 /**
90 * new in LDAPv3
91 */
92 const long ADMINLIMIT_EXCEEDED = 0x0b;
93
94 /**
95 * new in LDAPv3
96 */
97 const long UNAVAILABLE_CRITICAL_EXTENSION = 0x0c;
98
99 /**
100 * new in LDAPv3
101 */
102 const long CONFIDENTIALITY_REQUIRED = 0x0d;
103
104 /**
105 * new in LDAPv3
106 */
107 const long SASL_BIND_IN_PROGRESS = 0x0e;
108
109 const long NO_SUCH_ATTRIBUTE = 0x10;
110
111 const long UNDEFINED_TYPE = 0x11;
112
113 const long INAPPROPRIATE_MATCHING = 0x12;
114
115 const long CONSTRAINT_VIOLATION = 0x13;
116
117 const long TYPE_OR_VALUE_EXISTS = 0x14;
118
119 const long INVALID_SYNTAX = 0x15;
120
121 const long NO_SUCH_OBJECT = 0x20;
122
123 const long ALIAS_PROBLEM = 0x21;
124
125 const long INVALID_DN_SYNTAX = 0x22;
126
127 /**
128 * not used in LDAPv3
129 */
130 const long IS_LEAF = 0x23;
131
132 const long ALIAS_DEREF_PROBLEM = 0x24;
133
134 const long INAPPROPRIATE_AUTH = 0x30;
135
136 const long INVALID_CREDENTIALS = 0x31;
137
138 const long INSUFFICIENT_ACCESS = 0x32;
139
140 const long BUSY = 0x33;
141
142 const long UNAVAILABLE = 0x34;
143
144 const long UNWILLING_TO_PERFORM = 0x35;
145
146 const long LOOP_DETECT = 0x36;
147
148 /**
149 * server side sort extension
150 */
151 const long SORT_CONTROL_MISSING = 0x3C;
152
153 /**
154 * VLV extension
155 */
156 const long INDEX_RANGE_ERROR = 0x3D;
157
158 const long NAMING_VIOLATION = 0x40;
159
160 const long OBJECT_CLASS_VIOLATION = 0x41;
161
162 const long NOT_ALLOWED_ON_NONLEAF = 0x42;
163
164 const long NOT_ALLOWED_ON_RDN = 0x43;
165
166 const long ALREADY_EXISTS = 0x44;
167
168 const long NO_OBJECT_CLASS_MODS = 0x45;
169
170 /**
171 * reserved CLDAP
172 */
173 const long RESULTS_TOO_LARGE = 0x46;
174
175 /**
176 * new in LDAPv3
177 */
178 const long AFFECTS_MULTIPLE_DSAS = 0x47;
179
180 const long OTHER = 0x50;
181
182 const long SERVER_DOWN = 0x51;
183
184 const long LOCAL_ERROR = 0x52;
185
186 const long ENCODING_ERROR = 0x53;
187
188 const long DECODING_ERROR = 0x54;
189
190 const long TIMEOUT = 0x55;
191
192 const long AUTH_UNKNOWN = 0x56;
193
194 const long FILTER_ERROR = 0x57;
195
196 const long USER_CANCELLED = 0x58;
197
198 const long PARAM_ERROR = 0x59;
199
200 const long NO_MEMORY = 0x5a;
201
202 const long CONNECT_ERROR = 0x5b;
203
204 /**
205 * new in LDAPv3
206 */
207 const long NOT_SUPPORTED = 0x5c;
208
209 /**
210 * new in LDAPv3
211 */
212 const long CONTROL_NOT_FOUND = 0x5d;
213
214 /**
215 * new in LDAPv3
216 */
217 const long NO_RESULTS_RETURNED = 0x5e;
218
219 /**
220 * new in LDAPv3
221 */
222 const long MORE_RESULTS_TO_RETURN = 0x5f;
223
224 /**
225 * new in LDAPv3
226 */
227 const long CLIENT_LOOP = 0x60;
228
229 /**
230 * new in LDAPv3
231 */
232 const long REFERRAL_LIMIT_EXCEEDED = 0x61;
233 };
234
235 /*
236 * Map these errors codes into the nsresult namespace in C++
237 */
238 %{C++
239
240 #define NS_ERROR_LDAP_OPERATIONS_ERROR \
241 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
242 nsILDAPErrors::OPERATIONS_ERROR)
243
244 #define NS_ERROR_LDAP_PROTOCOL_ERROR \
245 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
246 nsILDAPErrors::PROTOCOL_ERROR)
247
248 #define NS_ERROR_LDAP_TIMELIMIT_EXCEEDED \
249 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
250 nsILDAPErrors::TIMELIMIT_EXCEEDED)
251
252 #define NS_ERROR_LDAP_SIZELIMIT_EXCEEDED \
253 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
254 nsILDAPErrors::SIZELIMIT_EXCEEDED)
255
256 #define NS_ERROR_LDAP_COMPARE_FALSE \
257 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
258 nsILDAPErrors::COMPARE_FALSE)
259
260 #define NS_ERROR_LDAP_COMPARE_TRUE \
261 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
262 nsILDAPErrors::COMPARE_TRUE)
263
264 #define NS_ERROR_LDAP_STRONG_AUTH_NOT_SUPPORTED \
265 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
266 nsILDAPErrors::STRONG_AUTH_NOT_SUPPORTED)
267
268 #define NS_ERROR_LDAP_STRONG_AUTH_REQUIRED \
269 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
270 nsILDAPErrors::STRONG_AUTH_REQUIRED)
271
272 #define NS_ERROR_LDAP_PARTIAL_RESULTS \
273 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
274 nsILDAPErrors::PARTIAL_RESULTS)
275
276 #define NS_ERROR_LDAP_REFERRAL \
277 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
278 nsILDAPErrors::REFERRAL)
279
280 #define NS_ERROR_LDAP_ADMINLIMIT_EXCEEDED \
281 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
282 nsILDAPErrors::ADMINLIMIT_EXCEEDED)
283
284 #define NS_ERROR_LDAP_UNAVAILABLE_CRITICAL_EXTENSION \
285 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
286 nsILDAPErrors::UNAVAILABLE_CRITICAL_EXTENSION)
287
288 #define NS_ERROR_LDAP_CONFIDENTIALITY_REQUIRED \
289 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
290 nsILDAPErrors::CONFIDENTIALITY_REQUIRED)
291
292 #define NS_ERROR_LDAP_SASL_BIND_IN_PROGRESS \
293 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
294 nsILDAPErrors::SASL_BIND_IN_PROGRESS)
295
296 #define NS_ERROR_LDAP_NO_SUCH_ATTRIBUTE \
297 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
298 nsILDAPErrors::NO_SUCH_ATTRIBUTE)
299
300 #define NS_ERROR_LDAP_UNDEFINED_TYPE \
301 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
302 nsILDAPErrors::UNDEFINED_TYPE)
303
304 #define NS_ERROR_LDAP_INAPPROPRIATE_MATCHING \
305 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
306 nsILDAPErrors::INAPPROPRIATE_MATCHING)
307
308 #define NS_ERROR_LDAP_CONSTRAINT_VIOLATION \
309 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
310 nsILDAPErrors::CONSTRAINT_VIOLATION)
311
312 #define NS_ERROR_LDAP_TYPE_OR_VALUE_EXISTS \
313 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
314 nsILDAPErrors::TYPE_OR_VALUE_EXISTS)
315
316 #define NS_ERROR_LDAP_INVALID_SYNTAX \
317 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
318 nsILDAPErrors::INVALID_SYNTAX)
319
320 #define NS_ERROR_LDAP_NO_SUCH_OBJECT \
321 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
322 nsILDAPErrors::NO_SUCH_OBJECT)
323
324 #define NS_ERROR_LDAP_ALIAS_PROBLEM \
325 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
326 nsILDAPErrors::ALIAS_PROBLEM)
327
328 #define NS_ERROR_LDAP_INVALID_DN_SYNTAX \
329 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
330 nsILDAPErrors::INVALID_DN_SYNTAX)
331
332 #define NS_ERROR_LDAP_IS_LEAF \
333 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
334 nsILDAPErrors::IS_LEAF)
335
336 #define NS_ERROR_LDAP_ALIAS_DEREF_PROBLEM \
337 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
338 nsILDAPErrors::ALIAS_DEREF_PROBLEM)
339
340 #define NS_ERROR_LDAP_INAPPROPRIATE_AUTH \
341 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
342 nsILDAPErrors::INAPPROPRIATE_AUTH)
343
344 #define NS_ERROR_LDAP_INVALID_CREDENTIALS \
345 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
346 nsILDAPErrors::INVALID_CREDENTIALS)
347
348 #define NS_ERROR_LDAP_INSUFFICIENT_ACCESS \
349 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
350 nsILDAPErrors::INSUFFICIENT_ACCESS)
351
352 #define NS_ERROR_LDAP_BUSY \
353 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
354 nsILDAPErrors::BUSY)
355
356 #define NS_ERROR_LDAP_UNAVAILABLE \
357 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
358 nsILDAPErrors::UNAVAILABLE)
359
360 #define NS_ERROR_LDAP_UNWILLING_TO_PERFORM \
361 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
362 nsILDAPErrors::UNWILLING_TO_PERFORM)
363
364 #define NS_ERROR_LDAP_LOOP_DETECT \
365 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
366 nsILDAPErrors::LOOP_DETECT)
367
368 #define NS_ERROR_LDAP_SORT_CONTROL_MISSING \
369 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
370 nsILDAPErrors::SORT_CONTROL_MISSING)
371
372 #define NS_ERROR_LDAP_INDEX_RANGE_ERROR \
373 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
374 nsILDAPErrors::INDEX_RANGE_ERROR)
375
376 #define NS_ERROR_LDAP_NAMING_VIOLATION \
377 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
378 nsILDAPErrors::NAMING_VIOLATION)
379
380 #define NS_ERROR_LDAP_OBJECT_CLASS_VIOLATION \
381 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
382 nsILDAPErrors::OBJECT_CLASS_VIOLATION)
383
384 #define NS_ERROR_LDAP_NOT_ALLOWED_ON_NONLEAF \
385 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
386 nsILDAPErrors::NOT_ALLOWED_ON_NONLEAF)
387
388 #define NS_ERROR_LDAP_NOT_ALLOWED_ON_RDN \
389 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
390 nsILDAPErrors::NOT_ALLOWED_ON_RDN)
391
392 #define NS_ERROR_LDAP_ALREADY_EXISTS \
393 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
394 nsILDAPErrors::ALREADY_EXISTS)
395
396 #define NS_ERROR_LDAP_NO_OBJECT_CLASS_MODS \
397 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
398 nsILDAPErrors::NO_OBJECT_CLASS_MODS)
399
400 #define NS_ERROR_LDAP_RESULTS_TOO_LARGE \
401 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
402 nsILDAPErrors::RESULTS_TOO_LARGE)
403
404 #define NS_ERROR_LDAP_AFFECTS_MULTIPLE_DSAS \
405 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
406 nsILDAPErrors::AFFECTS_MULTIPLE_DSAS)
407
408 #define NS_ERROR_LDAP_OTHER \
409 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
410 nsILDAPErrors::OTHER)
411
412 #define NS_ERROR_LDAP_SERVER_DOWN \
413 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
414 nsILDAPErrors::SERVER_DOWN)
415
416 #define NS_ERROR_LDAP_LOCAL_ERROR \
417 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
418 nsILDAPErrors::LOCAL_ERROR)
419
420 #define NS_ERROR_LDAP_ENCODING_ERROR \
421 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
422 nsILDAPErrors::ENCODING_ERROR)
423
424 #define NS_ERROR_LDAP_DECODING_ERROR \
425 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
426 nsILDAPErrors::DECODING_ERROR)
427
428 #define NS_ERROR_LDAP_TIMEOUT \
429 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
430 nsILDAPErrors::TIMEOUT)
431
432 #define NS_ERROR_LDAP_AUTH_UNKNOWN \
433 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
434 nsILDAPErrors::AUTH_UNKNOWN)
435
436 #define NS_ERROR_LDAP_FILTER_ERROR \
437 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
438 nsILDAPErrors::FILTER_ERROR)
439
440 #define NS_ERROR_LDAP_USER_CANCELLED \
441 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
442 nsILDAPErrors::USER_CANCELLED)
443
444 #define NS_ERROR_LDAP_PARAM_ERROR \
445 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
446 nsILDAPErrors::PARAM_ERROR)
447
448 #define NS_ERROR_LDAP_NO_MEMORY \
449 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
450 nsILDAPErrors::NO_MEMORY)
451
452 #define NS_ERROR_LDAP_CONNECT_ERROR \
453 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
454 nsILDAPErrors::CONNECT_ERROR)
455
456 #define NS_ERROR_LDAP_NOT_SUPPORTED \
457 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
458 nsILDAPErrors::NOT_SUPPORTED)
459
460 #define NS_ERROR_LDAP_CONTROL_NOT_FOUND \
461 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
462 nsILDAPErrors::CONTROL_NOT_FOUND)
463
464 #define NS_ERROR_LDAP_NO_RESULTS_RETURNED \
465 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
466 nsILDAPErrors::NO_RESULTS_RETURNED)
467
468 #define NS_ERROR_LDAP_MORE_RESULTS_TO_RETURN \
469 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
470 nsILDAPErrors::MORE_RESULTS_TO_RETURN)
471
472 #define NS_ERROR_LDAP_CLIENT_LOOP \
473 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
474 nsILDAPErrors::CLIENT_LOOP)
475
476 #define NS_ERROR_LDAP_REFERRAL_LIMIT_EXCEEDED \
477 NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_LDAP, \
478 nsILDAPErrors::REFERRAL_LIMIT_EXCEEDED)
479
480 %}