Пример #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()))
Пример #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())))
Пример #3
0
class PrincipalName(Sequence):
    componentType = NamedTypes(
        NamedType('name-type', _c(0, Integer())),
        NamedType('name-string',
                  _c(1, SequenceOf(componentType=KerberosString()))))
Пример #4
0
class AuthorizationData(SequenceOf):
    componentType = Sequence(
        componentType=NamedTypes(NamedType('ad-type', _c(0, Integer())),
                                 NamedType('ad-data', _c(1, OctetString()))))
Пример #5
0
class EncryptedData(Sequence):
    componentType = NamedTypes(NamedType('etype', _c(0, Integer())),
                               OptionalNamedType('kvno', _c(1, Integer())),
                               NamedType('cipher', _c(2, OctetString())))
Пример #6
0
class CheckSum(Sequence):
    componentType = NamedTypes(NamedType('cksumtype', _c(0, Integer())),
                               NamedType('checksum', _c(1, OctetString())))
Пример #7
0
class TransitedEncoding(Sequence):
    componentType = NamedTypes(NamedType('tr-type', _c(0, Integer())),
                               NamedType('contents', _c(1, OctetString())))
Пример #8
0
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())
                               )
Пример #9
0
def _mfield(name, tagnum, asn1type):
    return NamedType(
        name,
        asn1type.subtype(
            explicitTag=Tag(tagClassContext, tagFormatSimple, tagnum)))
Пример #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()))
Пример #11
0
class SdFlags(Sequence):
    # SDFlagsRequestValue ::= SEQUENCE {
    #     Flags    INTEGER
    # }
    componentType = NamedTypes(NamedType('Flags', Integer())
                               )
Пример #12
0
class PartialAttribute(Sequence):
    # PartialAttribute ::= SEQUENCE {
    #     type       AttributeDescription,
    #     vals       SET OF value AttributeValue }
    componentType = NamedTypes(NamedType('type', AttributeDescription()),
                               NamedType('vals', Vals()))
Пример #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),
Пример #14
0
class AttributeValueAssertion(Sequence):
    # AttributeValueAssertion ::= SEQUENCE {
    #     attributeDesc   AttributeDescription,
    #     assertionValue  AssertionValue }
    componentType = NamedTypes(NamedType('attributeDesc', AttributeDescription()),
                               NamedType('assertionValue', AssertionValue()))
Пример #15
0
class ReplicaInfoRequestValue(Sequence):
    tagSet = TagSet()
    componentType = NamedTypes(NamedType('server_dn', LDAPDN()),
                               NamedType('partition_dn', LDAPDN()))
Пример #16
0
class CreateGroupTypeRequestValue(Sequence):
    componentType = NamedTypes(
        NamedType('createGroupType', LDAPOID()),
        OptionalNamedType('createGroupValue', OctetString()))
Пример #17
0
class EncryptionKey(Sequence):
    componentType = NamedTypes(NamedType('keytype', _c(0, Integer())),
                               NamedType('keyvalue', _c(1, OctetString())))
Пример #18
0
class CreateGroupTypeResponseValue(Sequence):
    componentType = NamedTypes(
        NamedType('createGroupCookie', GroupCookie()),
        OptionalNamedType('createGroupValue', OctetString()))
Пример #19
0
class LastReq(SequenceOf):
    componentType = Sequence(
        componentType=NamedTypes(NamedType('lr-type', _c(0, Integer())),
                                 NamedType('lr-value', _c(1, KerberosTime()))))
Пример #20
0
class EndGroupTypeRequestValue(Sequence):
    componentType = NamedTypes(
        NamedType('endGroupCookie', GroupCookie()),
        OptionalNamedType('endGroupValue', OctetString()))
Пример #21
0
class KerbPaPacRequest(Sequence):
    componentType = NamedTypes(NamedType('include-pac', _c(0, Boolean())))
Пример #22
0
class GroupingControlValue(Sequence):
    componentType = NamedTypes(NamedType('groupingCookie', GroupCookie()),
                               OptionalNamedType('groupValue', OctetString()))
Пример #23
0
class PAData(Sequence):
    componentType = NamedTypes(NamedType('padata-type', _c(1, Integer())),
                               NamedType('padata-value', _c(2, OctetString())))
Пример #24
0
class NmasGetUniversalPasswordResponseValue(Sequence):
    componentType = NamedTypes(NamedType('nmasver', NmasVer()),
                               NamedType('err', Error()),
                               OptionalNamedType('passwd', Password()))
Пример #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())))
Пример #26
0
class NmasSetUniversalPasswordRequestValue(Sequence):
    componentType = NamedTypes(NamedType('nmasver', NmasVer()),
                               NamedType('reqdn', Identity()),
                               NamedType('new_passwd', Password()))
Пример #27
0
class PaEncTsEnc(Sequence):
    componentType = NamedTypes(NamedType('patimestamp', _c(0, KerberosTime())),
                               NamedType('pausec', _c(1, Microseconds())))
Пример #28
0
class NmasSetUniversalPasswordResponseValue(Sequence):
    componentType = NamedTypes(NamedType('nmasver', NmasVer()),
                               NamedType('err', Error()))
Пример #29
0
class HostAddress(Sequence):
    componentType = NamedTypes(NamedType('addr-type', _c(0, Integer())),
                               NamedType('address', _c(1, OctetString())))
Пример #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()),
    )