@@ -321,29 +321,103 @@ class LdapError < StandardError; end
321
321
322
322
StartTlsOid = "1.3.6.1.4.1.1466.20037"
323
323
324
+ # https://tools.ietf.org/html/rfc4511#section-4.1.9
325
+ # https://tools.ietf.org/html/rfc4511#appendix-A
326
+ ResultCodeSuccess = 0
327
+ ResultCodeOperationsError = 1
328
+ ResultCodeProtocolError = 2
329
+ ResultCodeTimeLimitExceeded = 3
330
+ ResultCodeSizeLimitExceeded = 4
331
+ ResultCodeCompareFalse = 5
332
+ ResultCodeCompareTrue = 6
333
+ ResultCodeAuthMethodNotSupported = 7
334
+ ResultCodeStrongerAuthRequired = 8
335
+ ResultCodeReferral = 10
336
+ ResultCodeAdminLimitExceeded = 11
337
+ ResultCodeUnavailableCriticalExtension = 12
338
+ ResultCodeConfidentialityRequired = 13
339
+ ResultCodeSaslBindInProgress = 14
340
+ ResultCodeNoSuchAttribute = 16
341
+ ResultCodeUndefinedAttributeType = 17
342
+ ResultCodeInappropriateMatching = 18
343
+ ResultCodeConstraintViolation = 19
344
+ ResultCodeAttributeOrValueExists = 20
345
+ ResultCodeInvalidAttributeSyntax = 21
346
+ ResultCodeNoSuchObject = 32
347
+ ResultCodeAliasProblem = 33
348
+ ResultCodeInvalidDNSyntax = 34
349
+ ResultCodeAliasDereferencingProblem = 36
350
+ ResultCodeInappropriateAuthentication = 48
351
+ ResultCodeInvalidCredentials = 49
352
+ ResultCodeInsufficientAccessRights = 50
353
+ ResultCodeBusy = 51
354
+ ResultCodeUnavailable = 52
355
+ ResultCodeUnwillingToPerform = 53
356
+ ResultCodeNamingViolation = 64
357
+ ResultCodeObjectClassViolation = 65
358
+ ResultCodeNotAllowedOnNonLeaf = 66
359
+ ResultCodeNotAllowedOnRDN = 67
360
+ ResultCodeEntryAlreadyExists = 68
361
+ ResultCodeObjectClassModsProhibited = 69
362
+ ResultCodeAffectsMultipleDSAs = 71
363
+ ResultCodeOther = 80
364
+
365
+ # https://tools.ietf.org/html/rfc4511#appendix-A.1
366
+ ResultCodesNonError = [
367
+ ResultCodeSuccess ,
368
+ ResultCodeCompareFalse ,
369
+ ResultCodeCompareTrue ,
370
+ ResultCodeReferral ,
371
+ ResultCodeSaslBindInProgress
372
+ ]
373
+
374
+ # nonstandard list of "successful" result codes for searches
375
+ ResultCodesSearchSuccess = [
376
+ ResultCodeSuccess ,
377
+ ResultCodeTimeLimitExceeded ,
378
+ ResultCodeSizeLimitExceeded
379
+ ]
380
+
381
+ # map of result code to human message
324
382
ResultStrings = {
325
- 0 => "Success" ,
326
- 1 => "Operations Error" ,
327
- 2 => "Protocol Error" ,
328
- 3 => "Time Limit Exceeded" ,
329
- 4 => "Size Limit Exceeded" ,
330
- 10 => "Referral" ,
331
- 12 => "Unavailable crtical extension" ,
332
- 14 => "saslBindInProgress" ,
333
- 16 => "No Such Attribute" ,
334
- 17 => "Undefined Attribute Type" ,
335
- 19 => "Constraint Violation" ,
336
- 20 => "Attribute or Value Exists" ,
337
- 32 => "No Such Object" ,
338
- 34 => "Invalid DN Syntax" ,
339
- 48 => "Inappropriate Authentication" ,
340
- 49 => "Invalid Credentials" ,
341
- 50 => "Insufficient Access Rights" ,
342
- 51 => "Busy" ,
343
- 52 => "Unavailable" ,
344
- 53 => "Unwilling to perform" ,
345
- 65 => "Object Class Violation" ,
346
- 68 => "Entry Already Exists"
383
+ ResultCodeSuccess => "Success" ,
384
+ ResultCodeOperationsError => "Operations Error" ,
385
+ ResultCodeProtocolError => "Protocol Error" ,
386
+ ResultCodeTimeLimitExceeded => "Time Limit Exceeded" ,
387
+ ResultCodeSizeLimitExceeded => "Size Limit Exceeded" ,
388
+ ResultCodeCompareFalse => "False Comparison" ,
389
+ ResultCodeCompareTrue => "True Comparison" ,
390
+ ResultCodeAuthMethodNotSupported => "Auth Method Not Supported" ,
391
+ ResultCodeStrongerAuthRequired => "Stronger Auth Needed" ,
392
+ ResultCodeReferral => "Referral" ,
393
+ ResultCodeAdminLimitExceeded => "Admin Limit Exceeded" ,
394
+ ResultCodeUnavailableCriticalExtension => "Unavailable crtical extension" ,
395
+ ResultCodeConfidentialityRequired => "Confidentiality Required" ,
396
+ ResultCodeSaslBindInProgress => "saslBindInProgress" ,
397
+ ResultCodeNoSuchAttribute => "No Such Attribute" ,
398
+ ResultCodeUndefinedAttributeType => "Undefined Attribute Type" ,
399
+ ResultCodeInappropriateMatching => "Inappropriate Matching" ,
400
+ ResultCodeConstraintViolation => "Constraint Violation" ,
401
+ ResultCodeAttributeOrValueExists => "Attribute or Value Exists" ,
402
+ ResultCodeInvalidAttributeSyntax => "Invalide Attribute Syntax" ,
403
+ ResultCodeNoSuchObject => "No Such Object" ,
404
+ ResultCodeAliasProblem => "Alias Problem" ,
405
+ ResultCodeInvalidDNSyntax => "Invalid DN Syntax" ,
406
+ ResultCodeAliasDereferencingProblem => "Alias Dereferencing Problem" ,
407
+ ResultCodeInappropriateAuthentication => "Inappropriate Authentication" ,
408
+ ResultCodeInvalidCredentials => "Invalid Credentials" ,
409
+ ResultCodeInsufficientAccessRights => "Insufficient Access Rights" ,
410
+ ResultCodeBusy => "Busy" ,
411
+ ResultCodeUnavailable => "Unavailable" ,
412
+ ResultCodeUnwillingToPerform => "Unwilling to perform" ,
413
+ ResultCodeNamingViolation => "Naming Violation" ,
414
+ ResultCodeObjectClassViolation => "Object Class Violation" ,
415
+ ResultCodeNotAllowedOnNonLeaf => "Not Allowed On Non-Leaf" ,
416
+ ResultCodeNotAllowedOnRDN => "Not Allowed On RDN" ,
417
+ ResultCodeEntryAlreadyExists => "Entry Already Exists" ,
418
+ ResultCodeObjectClassModsProhibited => "ObjectClass Modifications Prohibited" ,
419
+ ResultCodeAffectsMultipleDSAs => "Affects Multiple DSAs" ,
420
+ ResultCodeOther => "Other"
347
421
}
348
422
349
423
module LDAPControls
0 commit comments