Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Host
- data PortNumber :: *
- newtype 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.
Plain String | Plain LDAP. |
Tls String TLSSettings | LDAP over TLS. |
data PortNumber :: * #
Use the Num
instance (i.e. use a literal) to create a
PortNumber
value with the correct network-byte-ordering. You
should not use the PortNum constructor. It will be removed in the
next release.
>>>
1 :: PortNumber
1>>>
read "1" :: PortNumber
1
A token. All functions that interact with the Directory require one.
data ClientMessage Source #
New !Request !(TMVar (NonEmpty ProtocolServerOp)) |
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.