ldap-client-0.4.3: Pure Haskell LDAP Client Library
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ldap.Asn1.FromAsn1

Description

This module contains convertions from ASN.1 to LDAP types.

Synopsis

Documentation

parseAsn1 :: FromAsn1 a => [ASN1] -> Maybe ([ASN1], a) Source #

Convert a part of ASN.1 stream to a LDAP type returning the remainder of the stream.

class FromAsn1 a Source #

ASN.1 stream parsers.

When it's relevant, instances include the part of RFC describing the encoding.

Minimal complete definition

fromAsn1

Instances

Instances details
FromAsn1 AttributeDescription Source #
AttributeDescription ::= LDAPString
Instance details

Defined in Ldap.Asn1.FromAsn1

FromAsn1 AttributeValue Source #
AttributeValue ::= OCTET STRING
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] AttributeValue

FromAsn1 Id Source #
MessageID ::= INTEGER (0 ..  maxInt)
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] Id

FromAsn1 LdapDn Source #
LDAPDN ::= LDAPString
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] LdapDn

FromAsn1 LdapOid Source #
LDAPOID ::= OCTET STRING -- Constrained to <numericoid>
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] LdapOid

FromAsn1 LdapResult Source #
LDAPResult ::= SEQUENCE {
     resultCode         ENUMERATED {
          success                      (0),
          operationsError              (1),
          protocolError                (2),
          timeLimitExceeded            (3),
          sizeLimitExceeded            (4),
          compareFalse                 (5),
          compareTrue                  (6),
          authMethodNotSupported       (7),
          strongerAuthRequired         (8),
          -- 9 reserved --
          referral                     (10),
          adminLimitExceeded           (11),
          unavailableCriticalExtension (12),
          confidentialityRequired      (13),
          saslBindInProgress           (14),
          noSuchAttribute              (16),
          undefinedAttributeType       (17),
          inappropriateMatching        (18),
          constraintViolation          (19),
          attributeOrValueExists       (20),
          invalidAttributeSyntax       (21),
          -- 22-31 unused --
          noSuchObject                 (32),
          aliasProblem                 (33),
          invalidDNSyntax              (34),
          -- 35 reserved for undefined isLeaf --
          aliasDereferencingProblem    (36),
          -- 37-47 unused --
          inappropriateAuthentication  (48),
          invalidCredentials           (49),
          insufficientAccessRights     (50),
          busy                         (51),
          unavailable                  (52),
          unwillingToPerform           (53),
          loopDetect                   (54),
          -- 55-63 unused --
          namingViolation              (64),
          objectClassViolation         (65),
          notAllowedOnNonLeaf          (66),
          notAllowedOnRDN              (67),
          entryAlreadyExists           (68),
          objectClassModsProhibited    (69),
          -- 70 reserved for CLDAP --
          affectsMultipleDSAs          (71),
          -- 72-79 unused --
          other                        (80),
          ...  },
     matchedDN          LDAPDN,
     diagnosticMessage  LDAPString,
     referral           [3] Referral OPTIONAL }
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] LdapResult

FromAsn1 LdapString Source #
LDAPString ::= OCTET STRING -- UTF-8 encoded,
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] LdapString

FromAsn1 PartialAttribute Source #
PartialAttribute ::= SEQUENCE {
     type       AttributeDescription,
     vals       SET OF value AttributeValue }
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] PartialAttribute

FromAsn1 PartialAttributeList Source #
PartialAttributeList ::= SEQUENCE OF partialAttribute PartialAttribute
Instance details

Defined in Ldap.Asn1.FromAsn1

FromAsn1 ProtocolServerOp Source #
BindResponse ::= [APPLICATION 1] SEQUENCE {
     COMPONENTS OF LDAPResult,
     serverSaslCreds    [7] OCTET STRING OPTIONAL }
SearchResultEntry ::= [APPLICATION 4] SEQUENCE {
     objectName      LDAPDN,
     attributes      PartialAttributeList }
SearchResultReference ::= [APPLICATION 19] SEQUENCE
                          SIZE (1..MAX) OF uri URI
SearchResultDone ::= [APPLICATION 5] LDAPResult
ModifyResponse ::= [APPLICATION 7] LDAPResult
AddResponse ::= [APPLICATION 9] LDAPResult
DelResponse ::= [APPLICATION 11] LDAPResult
ModifyDNResponse ::= [APPLICATION 13] LDAPResult
CompareResponse ::= [APPLICATION 15] LDAPResult
ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
     COMPONENTS OF LDAPResult,
     responseName     [10] LDAPOID OPTIONAL,
     responseValue    [11] OCTET STRING OPTIONAL }
IntermediateResponse ::= [APPLICATION 25] SEQUENCE {
     responseName     [0] LDAPOID OPTIONAL,
     responseValue    [1] OCTET STRING OPTIONAL }
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] ProtocolServerOp

FromAsn1 ReferralUris Source #
Referral ::= SEQUENCE SIZE (1..MAX) OF uri URI
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] ReferralUris

FromAsn1 Uri Source #
URI ::= LDAPString
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] Uri

FromAsn1 op => FromAsn1 (LdapMessage op) Source #
LDAPMessage ::= SEQUENCE {
     messageID       MessageID,
     protocolOp      CHOICE {
          bindRequest           BindRequest,
          bindResponse          BindResponse,
          unbindRequest         UnbindRequest,
          searchRequest         SearchRequest,
          searchResEntry        SearchResultEntry,
          searchResDone         SearchResultDone,
          searchResRef          SearchResultReference,
          addRequest            AddRequest,
          addResponse           AddResponse,
          ... },
     controls       [0] Controls OPTIONAL }
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] (LdapMessage op)

(FromAsn1 a, FromAsn1 b) => FromAsn1 (a, b) Source # 
Instance details

Defined in Ldap.Asn1.FromAsn1

Methods

fromAsn1 :: Parser [ASN1] (a, b)