Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Host
- data PortNumber :: *
- data Ldap = Ldap {}
- data ClientMessage = New Request (TMVar (NonEmpty ProtocolServerOp))
- data ResultCode
- = Success
- | OperationError
- | ProtocolError
- | TimeLimitExceeded
- | SizeLimitExceeded
- | CompareFalse
- | CompareTrue
- | AuthMethodNotSupported
- | StrongerAuthRequired
- | Referral
- | AdminLimitExceeded
- | UnavailableCriticalExtension
- | ConfidentialityRequired
- | SaslBindInProgress
- | NoSuchAttribute
- | UndefinedAttributeType
- | InappropriateMatching
- | ConstraintViolation
- | AttributeOrValueExists
- | InvalidAttributeSyntax
- | NoSuchObject
- | AliasProblem
- | InvalidDNSyntax
- | AliasDereferencingProblem
- | InappropriateAuthentication
- | InvalidCredentials
- | InsufficientAccessRights
- | Busy
- | Unavailable
- | UnwillingToPerform
- | LoopDetect
- | NamingViolation
- | ObjectClassViolation
- | NotAllowedOnNonLeaf
- | NotAllowedOnRDN
- | EntryAlreadyExists
- | ObjectClassModsProhibited
- | AffectsMultipleDSAs
- | Other
- data Async a
- type AttrList f = [(Attr, f AttrValue)]
- wait :: Async a -> IO (Either ResponseError a)
- waitSTM :: Async a -> STM (Either ResponseError a)
- type Response = NonEmpty InMessage
- data ResponseError
- type Request = ProtocolClientOp
- raise :: Exception e => Either e a -> IO a
- sendRequest :: Ldap -> (Response -> Either ResponseError a) -> Request -> STM (Async a)
- newtype Dn = Dn Text
- newtype Attr = Attr Text
- type AttrValue = ByteString
- unAttr :: Attr -> Text
- unbindAsync :: Ldap -> IO ()
- unbindAsyncSTM :: Ldap -> STM ()
Documentation
LDAP host.
data PortNumber :: *
A token. All functions that interact with the Directory require one.
data ResultCode Source
LDAP operation's result.
type AttrList f = [(Attr, f AttrValue)] Source
List of attributes and their values. f
is the structure these
values are in, e.g. NonEmpty
.
Waiting for Request Completion
Misc
data ResponseError Source
Response indicates a failed operation.
ResponseInvalid Request Response | LDAP server did not follow the protocol, so |
ResponseErrorCode Request ResultCode Dn Text | The response contains a result code indicating failure and an error message. |
type Request = ProtocolClientOp Source
sendRequest :: Ldap -> (Response -> Either ResponseError a) -> Request -> STM (Async a) Source
type AttrValue = ByteString Source
Attribute value.
Unbind operation
unbindAsync :: Ldap -> IO () Source
Terminate the connection to the Directory.
Note that unbindAsync
does not return an Async
,
because LDAP server never responds to UnbindRequest
s, hence
a call to wait
on a hypothetical Async
would have resulted
in an exception anyway.
unbindAsyncSTM :: Ldap -> STM () Source
Terminate the connection to the Directory.
Note that unbindAsyncSTM
does not return an Async
,
because LDAP server never responds to UnbindRequest
s, hence
a call to wait
on a hypothetical Async
would have resulted
in an exception anyway.