You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.9 KiB
71 lines
2.9 KiB
module LDAP
|
|
|
|
# compatible with ruby-ldap
|
|
class Error < StandardError
|
|
end
|
|
|
|
class ResultError < Error
|
|
end
|
|
|
|
# This exception is raised when we need to kill an existing Operation
|
|
# thread because of a received abandonRequest or bindRequest
|
|
class Abandon < Interrupt
|
|
end
|
|
|
|
# ResultError constants from RFC 2251 4.1.10; these are all exceptions
|
|
# which can be raised
|
|
|
|
class ResultError
|
|
class Success < self; def to_i; 0; end; end
|
|
class OperationsError < self; def to_i; 1; end; end
|
|
class ProtocolError < self; def to_i; 2; end; end
|
|
class TimeLimitExceeded < self; def to_i; 3; end; end
|
|
class SizeLimitExceeded < self; def to_i; 4; end; end
|
|
class CompareFalse < self; def to_i; 5; end; end
|
|
class CompareTrue < self; def to_i; 6; end; end
|
|
class AuthMethodNotSupported < self; def to_i; 7; end; end
|
|
class StrongAuthRequired < self; def to_i; 8; end; end
|
|
class Referral < self; def to_i; 10; end; end
|
|
class AdminLimitExceeded < self; def to_i; 11; end; end
|
|
class UnavailableCriticalExtension < self; def to_i; 12; end; end
|
|
class ConfidentialityRequired < self; def to_i; 13; end; end
|
|
class SaslBindInProgress < self; def to_i; 14; end; end
|
|
class NoSuchAttribute < self; def to_i; 16; end; end
|
|
class UndefinedAttributeType < self; def to_i; 17; end; end
|
|
class InappropriateMatching < self; def to_i; 18; end; end
|
|
class ConstraintViolation < self; def to_i; 19; end; end
|
|
class AttributeOrValueExists < self; def to_i; 20; end; end
|
|
class InvalidAttributeSyntax < self; def to_i; 21; end; end
|
|
class NoSuchObject < self; def to_i; 32; end; end
|
|
class AliasProblem < self; def to_i; 33; end; end
|
|
class InvalidDNSyntax < self; def to_i; 34; end; end
|
|
class IsLeaf < self; def to_i; 35; end; end
|
|
class AliasDereferencingProblem < self; def to_i; 36; end; end
|
|
class InappropriateAuthentication < self; def to_i; 48; end; end
|
|
class InvalidCredentials < self; def to_i; 49; end; end
|
|
class InsufficientAccessRights < self; def to_i; 50; end; end
|
|
class Busy < self; def to_i; 51; end; end
|
|
class Unavailable < self; def to_i; 52; end; end
|
|
class UnwillingToPerform < self; def to_i; 53; end; end
|
|
class LoopDetect < self; def to_i; 54; end; end
|
|
class NamingViolation < self; def to_i; 64; end; end
|
|
class ObjectClassViolation < self; def to_i; 65; end; end
|
|
class NotAllowedOnNonLeaf < self; def to_i; 66; end; end
|
|
class NotAllowedOnRDN < self; def to_i; 67; end; end
|
|
class EntryAlreadyExists < self; def to_i; 68; end; end
|
|
class ObjectClassModsProhibited < self; def to_i; 69; end; end
|
|
class AffectsMultipleDSAs < self; def to_i; 71; end; end
|
|
class Other < self; def to_i; 80; end; end
|
|
|
|
# Reverse lookup: so you can do raise LDAP::ResultError[53]
|
|
|
|
N_TO_CLASS = {
|
|
53 => UnwillingToPerform,
|
|
# FIXME: please fill in the rest
|
|
}
|
|
def self.[](n)
|
|
return N_TO_CLASS[n] || self
|
|
end
|
|
end # class ResultError
|
|
|
|
end # module LDAP
|