Exemple #1
0
class ProtocolOp(Choice):
    """
    protocolOp      CHOICE {
        bindRequest           BindRequest,
        bindResponse          BindResponse,
        unbindRequest         UnbindRequest,
        searchRequest         SearchRequest,
        searchResEntry        SearchResultEntry,
        searchResDone         SearchResultDone,
        searchResRef          SearchResultReference,
        modifyRequest         ModifyRequest,
        modifyResponse        ModifyResponse,
        addRequest            AddRequest,
        addResponse           AddResponse,
        delRequest            DelRequest,
        delResponse           DelResponse,
        modDNRequest          ModifyDNRequest,
        modDNResponse         ModifyDNResponse,
        compareRequest        CompareRequest,
        compareResponse       CompareResponse,
        abandonRequest        AbandonRequest,
        extendedReq           ExtendedRequest,
        extendedResp          ExtendedResponse,
        ...,
        intermediateResponse  IntermediateResponse }
    """
    componentType = NamedTypes(
        NamedType('bindRequest', BindRequest()),
        NamedType('bindResponse', BindResponse()),
        NamedType('unbindRequest', UnbindRequest()),
        NamedType('searchRequest', SearchRequest()),
        NamedType('searchResEntry', SearchResultEntry()),
        NamedType('searchResDone', SearchResultDone()),
        NamedType('searchResRef', SearchResultReference()),
        NamedType('modifyRequest', ModifyRequest()),
        NamedType('modifyResponse', ModifyResponse()),
        NamedType('addRequest', AddRequest()),
        NamedType('addResponse', AddResponse()),
        NamedType('delRequest', DelRequest()),
        NamedType('delResponse', DelResponse()),
        NamedType('modDNRequest', ModifyDNRequest()),
        NamedType('modDNResponse', ModifyDNResponse()),
        NamedType('compareRequest', CompareRequest()),
        NamedType('compareResponse', CompareResponse()),
        NamedType('abandonRequest', AbandonRequest()),
        NamedType('extendedReq', ExtendedRequest()),
        NamedType('extendedResp', ExtendedResponse()),
        NamedType('intermediateResponse', IntermediateResponse()))
Exemple #2
0
class KdcReq(Sequence):
    componentType = NamedTypes(
        NamedType('pvno', _c(1, Integer())),
        NamedType('msg-type', _c(2, Integer())),
        NamedType('padata', _c(3, SequenceOf(componentType=PAData()))),
        NamedType('req-body', _c(4, KdcReqBody())))
Exemple #3
0
class PrincipalName(Sequence):
    componentType = NamedTypes(
        NamedType('name-type', _c(0, Integer())),
        NamedType('name-string',
                  _c(1, SequenceOf(componentType=KerberosString()))))
Exemple #4
0
class AuthorizationData(SequenceOf):
    componentType = Sequence(
        componentType=NamedTypes(NamedType('ad-type', _c(0, Integer())),
                                 NamedType('ad-data', _c(1, OctetString()))))
Exemple #5
0
class EncryptedData(Sequence):
    componentType = NamedTypes(NamedType('etype', _c(0, Integer())),
                               OptionalNamedType('kvno', _c(1, Integer())),
                               NamedType('cipher', _c(2, OctetString())))
Exemple #6
0
class CheckSum(Sequence):
    componentType = NamedTypes(NamedType('cksumtype', _c(0, Integer())),
                               NamedType('checksum', _c(1, OctetString())))
Exemple #7
0
class TransitedEncoding(Sequence):
    componentType = NamedTypes(NamedType('tr-type', _c(0, Integer())),
                               NamedType('contents', _c(1, OctetString())))
class ExtendedDN(Sequence):
    # A flag value 0 specifies that the GUID and SID values be returned in hexadecimal string
    # A flag value of 1 will return the GUID and SID values in standard string format
    componentType = NamedTypes(NamedType('option', Integer())
                               )
Exemple #9
0
def _mfield(name, tagnum, asn1type):
    return NamedType(
        name,
        asn1type.subtype(
            explicitTag=Tag(tagClassContext, tagFormatSimple, tagnum)))
Exemple #10
0
class ProtocolOp(Choice):
    # protocolOp      CHOICE {
    #     bindRequest           BindRequest,
    #     bindResponse          BindResponse,
    #     unbindRequest         UnbindRequest,
    #     searchRequest         SearchRequest,
    #     searchResEntry        SearchResultEntry,
    #     searchResDone         SearchResultDone,
    #     searchResRef          SearchResultReference,
    #     modifyRequest         ModifyRequest,
    #     modifyResponse        ModifyResponse,
    #     addRequest            AddRequest,
    #     addResponse           AddResponse,
    #     delRequest            DelRequest,
    #     delResponse           DelResponse,
    #     modDNRequest          ModifyDNRequest,
    #     modDNResponse         ModifyDNResponse,
    #     compareRequest        CompareRequest,
    #     compareResponse       CompareResponse,
    #     abandonRequest        AbandonRequest,
    #     extendedReq           ExtendedRequest,
    #     extendedResp          ExtendedResponse,
    #     ...,
    #     intermediateResponse  IntermediateResponse }
    componentType = NamedTypes(
        NamedType('bindRequest', BindRequest()),
        NamedType('bindResponse', BindResponse()),
        NamedType('unbindRequest', UnbindRequest()),
        NamedType('searchRequest', SearchRequest()),
        NamedType('searchResEntry', SearchResultEntry()),
        NamedType('searchResDone', SearchResultDone()),
        NamedType('searchResRef', SearchResultReference()),
        NamedType('modifyRequest', ModifyRequest()),
        NamedType('modifyResponse', ModifyResponse()),
        NamedType('addRequest', AddRequest()),
        NamedType('addResponse', AddResponse()),
        NamedType('delRequest', DelRequest()),
        NamedType('delResponse', DelResponse()),
        NamedType('modDNRequest', ModifyDNRequest()),
        NamedType('modDNResponse', ModifyDNResponse()),
        NamedType('compareRequest', CompareRequest()),
        NamedType('compareResponse', CompareResponse()),
        NamedType('abandonRequest', AbandonRequest()),
        NamedType('extendedReq', ExtendedRequest()),
        NamedType('extendedResp', ExtendedResponse()),
        NamedType('intermediateResponse', IntermediateResponse()))
class SdFlags(Sequence):
    # SDFlagsRequestValue ::= SEQUENCE {
    #     Flags    INTEGER
    # }
    componentType = NamedTypes(NamedType('Flags', Integer())
                               )
Exemple #12
0
class PartialAttribute(Sequence):
    # PartialAttribute ::= SEQUENCE {
    #     type       AttributeDescription,
    #     vals       SET OF value AttributeValue }
    componentType = NamedTypes(NamedType('type', AttributeDescription()),
                               NamedType('vals', Vals()))
Exemple #13
0
    #     extensibleMatch [9] MatchingRuleAssertion,
    #          ...  }
    componentType = NamedTypes(NamedType('and', And()), NamedType('or', Or()),
                               NamedType('notFilter', Not()),
                               NamedType('equalityMatch', EqualityMatch()),
                               NamedType('substringFilter', SubstringFilter()),
                               NamedType('greaterOrEqual', GreaterOrEqual()),
                               NamedType('lessOrEqual', LessOrEqual()),
                               NamedType('present', Present()),
                               NamedType('approxMatch', ApproxMatch()),
                               NamedType('extensibleMatch', ExtensibleMatch()))


And.componentType = Filter()
Or.componentType = Filter()
Not.componentType = NamedTypes(NamedType('innerNotFilter', Filter()))
Not.tagSet = Filter.tagSet.tagExplicitly(
    Tag(tagClassContext, tagFormatConstructed, 2))  # as per RFC4511 page 23


class PartialAttributeList(SequenceOf):
    # PartialAttributeList ::= SEQUENCE OF
    #     partialAttribute PartialAttribute
    componentType = PartialAttribute()


class Operation(Enumerated):
    # operation       ENUMERATED {
    #     add     (0),
    #     delete  (1),
    #     replace (2),
Exemple #14
0
class AttributeValueAssertion(Sequence):
    # AttributeValueAssertion ::= SEQUENCE {
    #     attributeDesc   AttributeDescription,
    #     assertionValue  AssertionValue }
    componentType = NamedTypes(NamedType('attributeDesc', AttributeDescription()),
                               NamedType('assertionValue', AssertionValue()))
Exemple #15
0
class ReplicaInfoRequestValue(Sequence):
    tagSet = TagSet()
    componentType = NamedTypes(NamedType('server_dn', LDAPDN()),
                               NamedType('partition_dn', LDAPDN()))
Exemple #16
0
class CreateGroupTypeRequestValue(Sequence):
    componentType = NamedTypes(
        NamedType('createGroupType', LDAPOID()),
        OptionalNamedType('createGroupValue', OctetString()))
Exemple #17
0
class EncryptionKey(Sequence):
    componentType = NamedTypes(NamedType('keytype', _c(0, Integer())),
                               NamedType('keyvalue', _c(1, OctetString())))
Exemple #18
0
class CreateGroupTypeResponseValue(Sequence):
    componentType = NamedTypes(
        NamedType('createGroupCookie', GroupCookie()),
        OptionalNamedType('createGroupValue', OctetString()))
Exemple #19
0
class LastReq(SequenceOf):
    componentType = Sequence(
        componentType=NamedTypes(NamedType('lr-type', _c(0, Integer())),
                                 NamedType('lr-value', _c(1, KerberosTime()))))
Exemple #20
0
class EndGroupTypeRequestValue(Sequence):
    componentType = NamedTypes(
        NamedType('endGroupCookie', GroupCookie()),
        OptionalNamedType('endGroupValue', OctetString()))
Exemple #21
0
class KerbPaPacRequest(Sequence):
    componentType = NamedTypes(NamedType('include-pac', _c(0, Boolean())))
Exemple #22
0
class GroupingControlValue(Sequence):
    componentType = NamedTypes(NamedType('groupingCookie', GroupCookie()),
                               OptionalNamedType('groupValue', OctetString()))
Exemple #23
0
class PAData(Sequence):
    componentType = NamedTypes(NamedType('padata-type', _c(1, Integer())),
                               NamedType('padata-value', _c(2, OctetString())))
Exemple #24
0
class NmasGetUniversalPasswordResponseValue(Sequence):
    componentType = NamedTypes(NamedType('nmasver', NmasVer()),
                               NamedType('err', Error()),
                               OptionalNamedType('passwd', Password()))
Exemple #25
0
class Ticket(Sequence):
    tagSet = application(1)
    componentType = NamedTypes(NamedType('tkt-vno', _c(0, Integer())),
                               NamedType('realm', _c(1, Realm())),
                               NamedType('sname', _c(2, PrincipalName())),
                               NamedType('enc-part', _c(3, EncryptedData())))
Exemple #26
0
class NmasSetUniversalPasswordRequestValue(Sequence):
    componentType = NamedTypes(NamedType('nmasver', NmasVer()),
                               NamedType('reqdn', Identity()),
                               NamedType('new_passwd', Password()))
Exemple #27
0
class PaEncTsEnc(Sequence):
    componentType = NamedTypes(NamedType('patimestamp', _c(0, KerberosTime())),
                               NamedType('pausec', _c(1, Microseconds())))
Exemple #28
0
class NmasSetUniversalPasswordResponseValue(Sequence):
    componentType = NamedTypes(NamedType('nmasver', NmasVer()),
                               NamedType('err', Error()))
Exemple #29
0
class HostAddress(Sequence):
    componentType = NamedTypes(NamedType('addr-type', _c(0, Integer())),
                               NamedType('address', _c(1, OctetString())))
Exemple #30
0
class LDAPResult(Sequence):
    """
        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 }
    """
    componentType = NamedTypes(
        NamedType('resultCode', ResultCode()),
        NamedType('matchedDN', LDAPDN()),
        NamedType('diagnosticMessage', LDAPString()),
        OptionalNamedType('referral', Referral()),
    )