781 lines
22 KiB
C
781 lines
22 KiB
C
/******************************************************************/
|
|
/* Copyright (C) 1998 Microsoft Corporation. All rights reserved.*/
|
|
/******************************************************************/
|
|
/* Abstract syntax: ldap */
|
|
/* Created: Tue Jan 27 10:27:59 1998 */
|
|
/* ASN.1 compiler version: 4.2 Beta B */
|
|
/* Target operating system: Windows NT 3.5 or later/Windows 95 */
|
|
/* Target machine type: Intel x86 */
|
|
/* C compiler options required: -Zp8 (Microsoft) or equivalent */
|
|
/* ASN.1 compiler options specified:
|
|
* -noshortennames -nouniquepdu -c++ -noconstraints -ber -gendirectives
|
|
* ldapnew.gen
|
|
*/
|
|
|
|
#ifndef OSS_ldap
|
|
#define OSS_ldap
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#include "asn1hdr.h"
|
|
#include "asn1code.h"
|
|
|
|
#define ObjectID_PDU 1
|
|
#define DistinguishedName_PDU 2
|
|
#define LDAPMsg_PDU 3
|
|
#define Attribute_PDU 4
|
|
#define PagedResultsSearchControlValue_PDU 5
|
|
#define ReplicationSearchControlValue_PDU 6
|
|
#define SecurityDescriptorSearchControlValue_PDU 7
|
|
#define SearchResultFull_PDU 8
|
|
#define ProtectedPassword_PDU 9
|
|
#define StrongCredentials_PDU 10
|
|
#define SortKeyList_PDU 11
|
|
#define SortResult_PDU 12
|
|
|
|
typedef struct ObjectID_ {
|
|
struct ObjectID_ *next;
|
|
unsigned short value;
|
|
} *ObjectID;
|
|
|
|
typedef struct TYPE_IDENTIFIER {
|
|
struct ObjectID_ *id;
|
|
unsigned short Type;
|
|
} TYPE_IDENTIFIER;
|
|
|
|
typedef struct ObjectID_ *ID;
|
|
|
|
typedef struct UniqueIdentifier {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} UniqueIdentifier;
|
|
|
|
typedef struct AlgorithmIdentifier {
|
|
unsigned char bit_mask;
|
|
# define parameters_present 0x80
|
|
struct ObjectID_ *algorithm;
|
|
OpenType parameters; /* optional */
|
|
} AlgorithmIdentifier;
|
|
|
|
typedef struct RDNSequence_ *DistinguishedName;
|
|
|
|
typedef struct Token {
|
|
struct {
|
|
AlgorithmIdentifier algorithm;
|
|
struct RDNSequence_ *name;
|
|
UTCTime time;
|
|
struct {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} random;
|
|
} toBeSigned;
|
|
AlgorithmIdentifier algorithmIdentifier;
|
|
struct {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} encrypted;
|
|
} Token;
|
|
|
|
typedef int Version;
|
|
#define v1 0
|
|
#define v2 1
|
|
|
|
typedef int CertificateSerialNumber;
|
|
|
|
typedef struct Name {
|
|
unsigned short choice;
|
|
# define rdnSequence_chosen 1
|
|
union _union {
|
|
struct RDNSequence_ *rdnSequence;
|
|
} u;
|
|
} Name;
|
|
|
|
typedef struct Validity {
|
|
UTCTime notBefore;
|
|
UTCTime notAfter;
|
|
} Validity;
|
|
|
|
typedef struct SubjectPublicKeyInfo {
|
|
AlgorithmIdentifier algorithm;
|
|
struct _bit1 {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} subjectPublicKey;
|
|
} SubjectPublicKeyInfo;
|
|
|
|
typedef struct Certificate {
|
|
struct {
|
|
unsigned char bit_mask;
|
|
# define version_present 0x80
|
|
# define issuerUniqueIdentifier_present 0x40
|
|
# define subjectUniqueIdentifier_present 0x20
|
|
Version version; /* default assumed if omitted */
|
|
CertificateSerialNumber serialNumber;
|
|
AlgorithmIdentifier signature;
|
|
Name issuer;
|
|
Validity validity;
|
|
Name subject;
|
|
SubjectPublicKeyInfo subjectPublicKeyInfo;
|
|
UniqueIdentifier issuerUniqueIdentifier; /* optional */
|
|
UniqueIdentifier subjectUniqueIdentifier; /* optional */
|
|
} toBeSigned;
|
|
AlgorithmIdentifier algorithmIdentifier;
|
|
struct {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} encrypted;
|
|
} Certificate;
|
|
|
|
typedef TYPE_IDENTIFIER ALGORITHM;
|
|
|
|
typedef struct CertificatePair {
|
|
unsigned char bit_mask;
|
|
# define forward_present 0x80
|
|
# define reverse_present 0x40
|
|
Certificate forward; /* optional */
|
|
Certificate reverse; /* optional */
|
|
} CertificatePair;
|
|
|
|
typedef struct CertificationPath {
|
|
unsigned char bit_mask;
|
|
# define theCACertificates_present 0x80
|
|
Certificate userCertificate;
|
|
struct _seqof1 {
|
|
struct _seqof1 *next;
|
|
CertificatePair value;
|
|
} *theCACertificates; /* optional */
|
|
} CertificationPath;
|
|
|
|
typedef struct AttributeTypeAndValue {
|
|
struct ObjectID_ *type;
|
|
OpenType value;
|
|
} AttributeTypeAndValue;
|
|
|
|
typedef struct RDNSequence_ {
|
|
struct RDNSequence_ *next;
|
|
struct RelativeDistinguishedName_ *value;
|
|
} *RDNSequence;
|
|
|
|
typedef struct RelativeDistinguishedName_ {
|
|
struct RelativeDistinguishedName_ *next;
|
|
AttributeTypeAndValue value;
|
|
} *RelativeDistinguishedName;
|
|
|
|
typedef enum AttributeUsage {
|
|
userApplications = 0,
|
|
directoryOperation = 1,
|
|
distributedOperation = 2,
|
|
dSAOperation = 3
|
|
} AttributeUsage;
|
|
|
|
typedef struct ATTRIBUTE {
|
|
unsigned char bit_mask;
|
|
# define Type_present 0x80
|
|
# define single_valued_present 0x40
|
|
# define collective_present 0x20
|
|
# define no_user_modification_present 0x10
|
|
# define usage_present 0x08
|
|
struct ATTRIBUTE *derivation; /* NULL for not present */
|
|
unsigned short Type; /* optional */
|
|
struct MATCHING_RULE *equality_match; /* NULL for not present */
|
|
struct MATCHING_RULE *ordering_match; /* NULL for not present */
|
|
struct MATCHING_RULE *substrings_match; /* NULL for not present */
|
|
ossBoolean single_valued; /* default assumed if omitted */
|
|
ossBoolean collective; /* default assumed if omitted */
|
|
ossBoolean no_user_modification; /* default assumed if omitted */
|
|
AttributeUsage usage; /* default assumed if omitted */
|
|
struct ObjectID_ *id;
|
|
} ATTRIBUTE;
|
|
|
|
typedef struct MATCHING_RULE {
|
|
unsigned char bit_mask;
|
|
# define AssertionType_present 0x80
|
|
unsigned short AssertionType; /* optional */
|
|
struct ObjectID_ *id;
|
|
} MATCHING_RULE;
|
|
|
|
typedef unsigned int MessageID;
|
|
|
|
typedef struct LDAPString {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} LDAPString;
|
|
|
|
typedef LDAPString LDAPDN;
|
|
|
|
typedef struct SaslCredentials {
|
|
LDAPString mechanism;
|
|
struct _octet1 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} credentials;
|
|
} SaslCredentials;
|
|
|
|
typedef struct AuthenticationChoice {
|
|
unsigned short choice;
|
|
# define simple_chosen 1
|
|
# define sasl_chosen 2
|
|
# define sicilyNegotiate_chosen 3
|
|
# define sicilyInitial_chosen 4
|
|
# define sicilySubsequent_chosen 5
|
|
# define sasl_v3response_chosen 1001
|
|
union _union {
|
|
struct _octet2 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} simple;
|
|
SaslCredentials sasl;
|
|
struct _octet1 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} sicilyNegotiate;
|
|
struct _octet2_2 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} sicilyInitial;
|
|
struct _octet3 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} sicilySubsequent;
|
|
} u;
|
|
} AuthenticationChoice;
|
|
|
|
typedef struct BindRequest {
|
|
unsigned short version;
|
|
LDAPDN name;
|
|
AuthenticationChoice authentication;
|
|
} BindRequest;
|
|
|
|
typedef enum _enum1 {
|
|
success = 0,
|
|
operationsError = 1,
|
|
protocolError = 2,
|
|
timeLimitExceeded = 3,
|
|
sizeLimitExceeded = 4,
|
|
compareFalse = 5,
|
|
compareTrue = 6,
|
|
authMethodNotSupported = 7,
|
|
strongAuthRequired = 8,
|
|
referralv2 = 9,
|
|
referral = 10,
|
|
adminLimitExceeded = 11,
|
|
unavailableCriticalExtension = 12,
|
|
confidentialityRequired = 13,
|
|
saslBindInProgress = 14,
|
|
noSuchAttribute = 16,
|
|
undefinedAttributeType = 17,
|
|
inappropriateMatching = 18,
|
|
constraintViolation = 19,
|
|
attributeOrValueExists = 20,
|
|
invalidAttributeSyntax = 21,
|
|
noSuchObject = 32,
|
|
aliasProblem = 33,
|
|
invalidDNSyntax = 34,
|
|
aliasDereferencingProblem = 36,
|
|
inappropriateAuthentication = 48,
|
|
invalidCredentials = 49,
|
|
insufficientAccessRights = 50,
|
|
busy = 51,
|
|
unavailable = 52,
|
|
unwillingToPerform = 53,
|
|
loopDetect = 54,
|
|
|
|
sortControlMissing = 60,
|
|
indexRangeError = 61,
|
|
|
|
namingViolation = 64,
|
|
objectClassViolation = 65,
|
|
notAllowedOnNonLeaf = 66,
|
|
notAllowedOnRDN = 67,
|
|
entryAlreadyExists = 68,
|
|
objectClassModsProhibited = 69,
|
|
resultsTooLarge = 70,
|
|
affectsMultipleDSAs = 71,
|
|
other = 80
|
|
} _enum1;
|
|
|
|
typedef struct BindResponse {
|
|
unsigned char bit_mask;
|
|
# define BindResponse_referral_present 0x80
|
|
# define serverCreds_present 0x40
|
|
# define BindResponse_ldapv3 0x20
|
|
_enum1 resultCode;
|
|
LDAPDN matchedDN;
|
|
LDAPString errorMessage;
|
|
struct Referral_ *BindResponse_referral; /* optional */
|
|
AuthenticationChoice serverCreds; /* optional */
|
|
} BindResponse;
|
|
|
|
typedef Nulltype UnbindRequest;
|
|
|
|
typedef LDAPString AttributeDescription;
|
|
|
|
typedef struct AssertionValue {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} AssertionValue;
|
|
|
|
typedef struct AttributeValueAssertion {
|
|
AttributeDescription attributeDesc;
|
|
AssertionValue assertionValue;
|
|
} AttributeValueAssertion;
|
|
|
|
typedef struct SubstringFilter {
|
|
AttributeDescription type;
|
|
struct SubstringFilterList_ *substrings;
|
|
} SubstringFilter;
|
|
|
|
typedef LDAPString AttributeType;
|
|
|
|
typedef LDAPString MatchingRuleId;
|
|
|
|
typedef struct MatchingRuleAssertion {
|
|
unsigned char bit_mask;
|
|
# define matchingRule_present 0x80
|
|
# define type_present 0x40
|
|
# define dnAttributes_present 0x20
|
|
MatchingRuleId matchingRule; /* optional */
|
|
AttributeDescription type; /* optional */
|
|
AssertionValue matchValue;
|
|
ossBoolean dnAttributes; /* default assumed if omitted */
|
|
} MatchingRuleAssertion;
|
|
|
|
typedef struct Filter {
|
|
unsigned short choice;
|
|
# define and_chosen 1
|
|
# define or_chosen 2
|
|
# define not_chosen 3
|
|
# define equalityMatch_chosen 4
|
|
# define substrings_chosen 5
|
|
# define greaterOrEqual_chosen 6
|
|
# define lessOrEqual_chosen 7
|
|
# define present_chosen 8
|
|
# define approxMatch_chosen 9
|
|
# define extensibleMatch_chosen 10
|
|
union _union {
|
|
struct _setof3_ *and;
|
|
struct _setof4_ *or;
|
|
struct Filter *not;
|
|
AttributeValueAssertion equalityMatch;
|
|
SubstringFilter substrings;
|
|
AttributeValueAssertion greaterOrEqual;
|
|
AttributeValueAssertion lessOrEqual;
|
|
AttributeType present;
|
|
AttributeValueAssertion approxMatch;
|
|
MatchingRuleAssertion extensibleMatch;
|
|
} u;
|
|
} Filter;
|
|
|
|
typedef struct _setof3_ {
|
|
struct _setof3_ *next;
|
|
Filter value;
|
|
} *_setof3;
|
|
|
|
typedef struct _setof4_ {
|
|
struct _setof4_ *next;
|
|
Filter value;
|
|
} *_setof4;
|
|
|
|
typedef enum _enum2 {
|
|
baseObject = 0,
|
|
singleLevel = 1,
|
|
wholeSubtree = 2
|
|
} _enum2;
|
|
|
|
typedef enum _enum3 {
|
|
neverDerefAliases = 0,
|
|
derefInSearching = 1,
|
|
derefFindingBaseObj = 2,
|
|
derefAlways = 3
|
|
} _enum3;
|
|
|
|
typedef struct SearchRequest {
|
|
LDAPDN baseObject;
|
|
_enum2 scope;
|
|
_enum3 derefAliases;
|
|
unsigned int sizeLimit;
|
|
unsigned int timeLimit;
|
|
ossBoolean typesOnly;
|
|
Filter filter;
|
|
struct AttributeDescriptionList_ *attributes;
|
|
} SearchRequest;
|
|
|
|
typedef struct SearchResultEntry {
|
|
LDAPDN objectName;
|
|
struct PartialAttributeList_ *attributes;
|
|
} SearchResultEntry;
|
|
|
|
typedef struct LDAPResult {
|
|
unsigned char bit_mask;
|
|
# define LDAPResult_referral_present 0x80
|
|
_enum1 resultCode;
|
|
LDAPDN matchedDN;
|
|
LDAPString errorMessage;
|
|
struct Referral_ *LDAPResult_referral; /* optional */
|
|
} LDAPResult;
|
|
|
|
typedef LDAPResult SearchResultDone;
|
|
|
|
typedef struct ModifyRequest {
|
|
LDAPDN object;
|
|
struct ModificationList_ *modification;
|
|
} ModifyRequest;
|
|
|
|
typedef LDAPResult ModifyResponse;
|
|
|
|
typedef struct AddRequest {
|
|
LDAPDN entry;
|
|
struct AttributeList_ *attributes;
|
|
} AddRequest;
|
|
|
|
typedef LDAPResult AddResponse;
|
|
|
|
typedef LDAPDN DelRequest;
|
|
|
|
typedef LDAPResult DelResponse;
|
|
|
|
typedef LDAPString RelativeLDAPDN;
|
|
|
|
typedef struct ModifyDNRequest {
|
|
unsigned char bit_mask;
|
|
# define newSuperior_present 0x80
|
|
LDAPDN entry;
|
|
RelativeLDAPDN newrdn;
|
|
ossBoolean deleteoldrdn;
|
|
LDAPDN newSuperior; /* optional */
|
|
} ModifyDNRequest;
|
|
|
|
typedef LDAPResult ModifyDNResponse;
|
|
|
|
typedef struct CompareRequest {
|
|
LDAPDN entry;
|
|
AttributeValueAssertion ava;
|
|
} CompareRequest;
|
|
|
|
typedef LDAPResult CompareResponse;
|
|
|
|
typedef MessageID AbandonRequest;
|
|
|
|
typedef struct LDAPOID {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} LDAPOID;
|
|
|
|
typedef struct ExtendedRequest {
|
|
LDAPOID requestName;
|
|
struct {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} requestValue;
|
|
} ExtendedRequest;
|
|
|
|
typedef struct ExtendedResponse {
|
|
unsigned char bit_mask;
|
|
# define ExtendedResponse_referral_present 0x80
|
|
# define responseName_present 0x40
|
|
# define response_present 0x20
|
|
_enum1 resultCode;
|
|
LDAPDN matchedDN;
|
|
LDAPString errorMessage;
|
|
struct Referral_ *ExtendedResponse_referral; /* optional */
|
|
LDAPOID responseName; /* optional */
|
|
struct {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} response; /* optional */
|
|
} ExtendedResponse;
|
|
|
|
typedef struct _choice1_1 {
|
|
unsigned short choice;
|
|
# define bindRequest_chosen 1
|
|
# define bindResponse_chosen 2
|
|
# define unbindRequest_chosen 3
|
|
# define searchRequest_chosen 4
|
|
# define searchResEntry_chosen 5
|
|
# define searchResDone_chosen 6
|
|
# define searchResRef_chosen 7
|
|
# define modifyRequest_chosen 8
|
|
# define modifyResponse_chosen 9
|
|
# define addRequest_chosen 10
|
|
# define addResponse_chosen 11
|
|
# define delRequest_chosen 12
|
|
# define delResponse_chosen 13
|
|
# define modDNRequest_chosen 14
|
|
# define modDNResponse_chosen 15
|
|
# define compareRequest_chosen 16
|
|
# define compareResponse_chosen 17
|
|
# define abandonRequest_chosen 18
|
|
# define extendedReq_chosen 19
|
|
# define extendedResp_chosen 20
|
|
union _union {
|
|
BindRequest bindRequest;
|
|
BindResponse bindResponse;
|
|
UnbindRequest unbindRequest;
|
|
SearchRequest searchRequest;
|
|
SearchResultEntry searchResEntry;
|
|
SearchResultDone searchResDone;
|
|
struct SearchResultReference_ *searchResRef;
|
|
ModifyRequest modifyRequest;
|
|
ModifyResponse modifyResponse;
|
|
AddRequest addRequest;
|
|
AddResponse addResponse;
|
|
DelRequest delRequest;
|
|
DelResponse delResponse;
|
|
ModifyDNRequest modDNRequest;
|
|
ModifyDNResponse modDNResponse;
|
|
CompareRequest compareRequest;
|
|
CompareResponse compareResponse;
|
|
AbandonRequest abandonRequest;
|
|
ExtendedRequest extendedReq;
|
|
ExtendedResponse extendedResp;
|
|
} u;
|
|
} _choice1_1;
|
|
|
|
typedef struct LDAPMsg {
|
|
unsigned char bit_mask;
|
|
# define controls_present 0x80
|
|
MessageID messageID;
|
|
_choice1_1 protocolOp;
|
|
struct Controls_ *controls; /* optional */
|
|
} LDAPMsg;
|
|
|
|
typedef struct AttributeDescriptionList_ {
|
|
struct AttributeDescriptionList_ *next;
|
|
AttributeDescription value;
|
|
} *AttributeDescriptionList;
|
|
|
|
typedef struct AttributeValue {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} AttributeValue;
|
|
|
|
typedef struct AttributeVals_ {
|
|
struct AttributeVals_ *next;
|
|
AttributeValue value;
|
|
} *AttributeVals;
|
|
|
|
typedef struct Attribute {
|
|
AttributeDescription type;
|
|
struct AttributeVals_ *vals;
|
|
} Attribute;
|
|
|
|
typedef LDAPString LDAPURL;
|
|
|
|
typedef struct Referral_ {
|
|
struct Referral_ *next;
|
|
LDAPURL value;
|
|
} *Referral;
|
|
|
|
typedef struct Control {
|
|
unsigned char bit_mask;
|
|
# define criticality_present 0x80
|
|
LDAPOID controlType;
|
|
ossBoolean criticality; /* default assumed if omitted */
|
|
struct _octet4 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} controlValue;
|
|
} Control;
|
|
|
|
typedef struct Controls_ {
|
|
struct Controls_ *next;
|
|
Control value;
|
|
} *Controls;
|
|
|
|
typedef struct _choice1 {
|
|
unsigned short choice;
|
|
# define initial_chosen 1
|
|
# define any_chosen 2
|
|
# define final_chosen 3
|
|
union _union {
|
|
LDAPString initial;
|
|
LDAPString any;
|
|
LDAPString final;
|
|
} u;
|
|
} _choice1;
|
|
|
|
typedef struct SubstringFilterList_ {
|
|
struct SubstringFilterList_ *next;
|
|
_choice1 value;
|
|
} *SubstringFilterList;
|
|
|
|
typedef struct PagedResultsSearchControlValue {
|
|
unsigned int size;
|
|
struct _octet4 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} cookie;
|
|
} PagedResultsSearchControlValue;
|
|
|
|
typedef struct ReplicationSearchControlValue {
|
|
unsigned int flag;
|
|
unsigned int size;
|
|
struct _octet4 {
|
|
unsigned int length;
|
|
unsigned char *value;
|
|
} cookie;
|
|
} ReplicationSearchControlValue;
|
|
|
|
typedef struct SecurityDescriptorSearchControlValue {
|
|
unsigned int flags;
|
|
} SecurityDescriptorSearchControlValue;
|
|
|
|
typedef struct AttributeListElement {
|
|
AttributeDescription type;
|
|
struct AttributeVals_ *vals;
|
|
} AttributeListElement;
|
|
|
|
typedef struct PartialAttributeList_ {
|
|
struct PartialAttributeList_ *next;
|
|
AttributeListElement value;
|
|
} *PartialAttributeList;
|
|
|
|
typedef struct SearchResultReference_ {
|
|
struct SearchResultReference_ *next;
|
|
LDAPURL value;
|
|
} *SearchResultReference;
|
|
|
|
typedef struct _choice3 {
|
|
unsigned short choice;
|
|
# define entry_chosen 1
|
|
# define reference_chosen 2
|
|
# define resultCode_chosen 3
|
|
union _union {
|
|
SearchResultEntry entry;
|
|
struct SearchResultReference_ *reference;
|
|
SearchResultDone resultCode;
|
|
} u;
|
|
} _choice3;
|
|
|
|
typedef struct SearchResultFull_ {
|
|
struct SearchResultFull_ *next;
|
|
_choice3 value;
|
|
} *SearchResultFull;
|
|
|
|
typedef struct AttributeTypeAndValues {
|
|
AttributeDescription type;
|
|
struct _setof1 {
|
|
struct _setof1 *next;
|
|
AttributeValue value;
|
|
} *vals;
|
|
} AttributeTypeAndValues;
|
|
|
|
typedef enum _enum1_2 {
|
|
add = 0,
|
|
operation_delete = 1,
|
|
replace = 2
|
|
} _enum1_2;
|
|
|
|
typedef struct ModificationList_ {
|
|
struct ModificationList_ *next;
|
|
struct {
|
|
_enum1_2 operation;
|
|
AttributeTypeAndValues modification;
|
|
} value;
|
|
} *ModificationList;
|
|
|
|
typedef struct AttributeList_ {
|
|
struct AttributeList_ *next;
|
|
AttributeListElement value;
|
|
} *AttributeList;
|
|
|
|
typedef struct ProtectedPassword {
|
|
unsigned char bit_mask;
|
|
# define time1_present 0x80
|
|
# define time2_present 0x40
|
|
# define random1_present 0x20
|
|
# define random2_present 0x10
|
|
UTCTime time1; /* optional */
|
|
UTCTime time2; /* optional */
|
|
struct {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} random1; /* optional */
|
|
struct {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} random2; /* optional */
|
|
LDAPOID algorithmIdentifier;
|
|
struct {
|
|
unsigned int length; /* number of significant bits */
|
|
unsigned char *value;
|
|
} encipheredPassword;
|
|
} ProtectedPassword;
|
|
|
|
typedef struct StrongCredentials {
|
|
unsigned char bit_mask;
|
|
# define certification_path_present 0x80
|
|
CertificationPath certification_path; /* optional */
|
|
Token bind_token;
|
|
} StrongCredentials;
|
|
|
|
typedef struct SortKeyList_ {
|
|
struct SortKeyList_ *next;
|
|
struct {
|
|
unsigned char bit_mask;
|
|
# define orderingRule_present 0x80
|
|
# define reverseOrder_present 0x40
|
|
AttributeType attributeType;
|
|
MatchingRuleId orderingRule; /* optional */
|
|
ossBoolean reverseOrder; /* default assumed if omitted */
|
|
} value;
|
|
} *SortKeyList;
|
|
|
|
typedef enum _enum1_4 {
|
|
sortSuccess = 0,
|
|
sortOperationsError = 1,
|
|
sortTimeLimitExceeded = 2,
|
|
sortStrongAuthRequired = 8,
|
|
sortAdminLimitExceeded = 11,
|
|
sortNoSuchAttribute = 16,
|
|
sortInappropriateMatching = 18,
|
|
sortInsufficientAccessRights = 50,
|
|
sortBusy = 51,
|
|
sortUnwillingToPerform = 53,
|
|
sortOther = 80
|
|
} _enum1_4;
|
|
|
|
typedef struct SortResult {
|
|
unsigned char bit_mask;
|
|
# define attributeType_present 0x80
|
|
_enum1_4 sortResult;
|
|
AttributeType attributeType; /* optional */
|
|
} SortResult;
|
|
|
|
extern ID ds;
|
|
|
|
extern ID attributeType;
|
|
|
|
extern ID matchingRule;
|
|
|
|
extern ID id_at;
|
|
|
|
extern ID id_mr;
|
|
|
|
extern ATTRIBUTE objectClass;
|
|
|
|
extern ATTRIBUTE aliasedEntryName;
|
|
|
|
extern MATCHING_RULE objectIdentifierMatch;
|
|
|
|
extern MATCHING_RULE distinguishedNameMatch;
|
|
|
|
extern ObjectID id_at_objectClass;
|
|
|
|
extern ObjectID id_at_aliasedEntryName;
|
|
|
|
extern ObjectID id_mr_objectIdentifierMatch;
|
|
|
|
extern ObjectID id_mr_distinguishedNameMatch;
|
|
|
|
extern int maxInt;
|
|
|
|
|
|
extern void *ldap; /* encoder-decoder control table */
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif /* __cplusplus */
|
|
#endif /* OSS_ldap */
|