mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-16 00:58:02 -05:00
rework objectClass mucking to use syntax "pretty" routine
(be liberal in what you accept, strict in what you generate)
This commit is contained in:
parent
a609f87eb6
commit
3067954616
2 changed files with 146 additions and 167 deletions
|
|
@ -32,7 +32,6 @@
|
||||||
|
|
||||||
/* not yet implemented */
|
/* not yet implemented */
|
||||||
#define integerFirstComponentNormalize NULL
|
#define integerFirstComponentNormalize NULL
|
||||||
#define objectIdentifierNormalize NULL
|
|
||||||
#define objectIdentifierFirstComponentNormalize NULL
|
#define objectIdentifierFirstComponentNormalize NULL
|
||||||
#define uniqueMemberMatch NULL
|
#define uniqueMemberMatch NULL
|
||||||
|
|
||||||
|
|
@ -1425,41 +1424,46 @@ telephoneNumberNormalize(
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
oidValidate(
|
numericoidValidate(
|
||||||
Syntax *syntax,
|
Syntax *syntax,
|
||||||
struct berval *val )
|
struct berval *in )
|
||||||
{
|
{
|
||||||
ber_len_t i;
|
struct berval val = *in;
|
||||||
|
|
||||||
if( val->bv_len == 0 ) {
|
if( val.bv_len == 0 ) {
|
||||||
/* disallow empty strings */
|
/* disallow empty strings */
|
||||||
return LDAP_INVALID_SYNTAX;
|
return LDAP_INVALID_SYNTAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( OID_LEADCHAR(val->bv_val[0]) ) {
|
while( OID_LEADCHAR( val.bv_val[0] ) ) {
|
||||||
int dot = 0;
|
if ( val.bv_len == 1 ) {
|
||||||
for(i=1; i < val->bv_len; i++) {
|
return LDAP_SUCCESS;
|
||||||
if( OID_SEPARATOR( val->bv_val[i] ) ) {
|
}
|
||||||
if( dot++ ) return 1;
|
|
||||||
} else if ( OID_CHAR( val->bv_val[i] ) ) {
|
if ( val.bv_val[0] == '0' ) {
|
||||||
dot = 0;
|
break;
|
||||||
} else {
|
}
|
||||||
return LDAP_INVALID_SYNTAX;
|
|
||||||
|
val.bv_val++;
|
||||||
|
val.bv_len--;
|
||||||
|
|
||||||
|
while ( OID_LEADCHAR( val.bv_val[0] )) {
|
||||||
|
val.bv_val++;
|
||||||
|
val.bv_len--;
|
||||||
|
|
||||||
|
if ( val.bv_len == 0 ) {
|
||||||
|
return LDAP_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return !dot ? LDAP_SUCCESS : LDAP_INVALID_SYNTAX;
|
if( !OID_SEPARATOR( val.bv_val[0] )) {
|
||||||
|
break;
|
||||||
} else if( DESC_LEADCHAR(val->bv_val[0]) ) {
|
|
||||||
for(i=1; i < val->bv_len; i++) {
|
|
||||||
if( !DESC_CHAR(val->bv_val[i] ) ) {
|
|
||||||
return LDAP_INVALID_SYNTAX;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return LDAP_SUCCESS;
|
val.bv_val++;
|
||||||
|
val.bv_len--;
|
||||||
}
|
}
|
||||||
|
|
||||||
return LDAP_INVALID_SYNTAX;
|
return LDAP_INVALID_SYNTAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2689,7 +2693,7 @@ static slap_syntax_defs_rec syntax_defs[] = {
|
||||||
{"( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )",
|
{"( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )",
|
||||||
0, NULL, NULL},
|
0, NULL, NULL},
|
||||||
{"( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )",
|
{"( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )",
|
||||||
0, oidValidate, NULL},
|
0, numericoidValidate, NULL},
|
||||||
{"( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )",
|
{"( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )",
|
||||||
0, IA5StringValidate, NULL},
|
0, IA5StringValidate, NULL},
|
||||||
{"( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' )",
|
{"( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' )",
|
||||||
|
|
@ -2840,7 +2844,7 @@ static slap_mrule_defs_rec mrule_defs[] = {
|
||||||
{"( 2.5.13.0 NAME 'objectIdentifierMatch' "
|
{"( 2.5.13.0 NAME 'objectIdentifierMatch' "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
|
||||||
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
|
SLAP_MR_EQUALITY | SLAP_MR_EXT, NULL,
|
||||||
NULL, objectIdentifierNormalize, octetStringMatch,
|
NULL, NULL, octetStringMatch,
|
||||||
octetStringIndexer, octetStringFilter,
|
octetStringIndexer, octetStringFilter,
|
||||||
NULL },
|
NULL },
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,8 @@ int schema_init_done = 0;
|
||||||
|
|
||||||
struct slap_internal_schema slap_schema;
|
struct slap_internal_schema slap_schema;
|
||||||
|
|
||||||
static int objectClassNormalize(
|
static int objectClassPretty(
|
||||||
slap_mask_t use,
|
struct slap_syntax *syntax,
|
||||||
struct slap_syntax *syntax, /* NULL if in is asserted value */
|
|
||||||
struct slap_matching_rule *mr,
|
|
||||||
struct berval * in,
|
struct berval * in,
|
||||||
struct berval * out,
|
struct berval * out,
|
||||||
void *ctx )
|
void *ctx )
|
||||||
|
|
@ -39,16 +37,6 @@ static int objectClassNormalize(
|
||||||
ber_dupbv_x( out, in, ctx );
|
ber_dupbv_x( out, in, ctx );
|
||||||
}
|
}
|
||||||
|
|
||||||
#if OCDEBUG
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"< objectClassNormalize(%s, %s)\n", in->bv_val, out->bv_val, 0 );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "< objectClassNormalize(%s,%s)\n",
|
|
||||||
in->bv_val, out->bv_val, 0 );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return LDAP_SUCCESS;
|
return LDAP_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -65,16 +53,6 @@ objectSubClassMatch(
|
||||||
ObjectClass *oc = oc_bvfind( value );
|
ObjectClass *oc = oc_bvfind( value );
|
||||||
ObjectClass *asserted = oc_bvfind( a );
|
ObjectClass *asserted = oc_bvfind( a );
|
||||||
|
|
||||||
#if OCDEBUG
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"> objectSubClassMatch(%s, %s)\n", value->bv_val, a->bv_val, 0 );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "> objectSubClassMatch(%s,%s)\n",
|
|
||||||
value->bv_val, a->bv_val, 0 );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if( asserted == NULL ) {
|
if( asserted == NULL ) {
|
||||||
if( OID_LEADCHAR( *a->bv_val ) ) {
|
if( OID_LEADCHAR( *a->bv_val ) ) {
|
||||||
/* OID form, return FALSE */
|
/* OID form, return FALSE */
|
||||||
|
|
@ -91,24 +69,12 @@ objectSubClassMatch(
|
||||||
return SLAPD_COMPARE_UNDEFINED;
|
return SLAPD_COMPARE_UNDEFINED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( SLAP_MR_IS_VALUE_OF_ATTRIBUTE_SYNTAX( flags ) )
|
if( SLAP_MR_IS_VALUE_OF_ATTRIBUTE_SYNTAX( flags ) ) {
|
||||||
{
|
|
||||||
*matchp = ( asserted != oc );
|
*matchp = ( asserted != oc );
|
||||||
} else {
|
} else {
|
||||||
*matchp = !is_object_subclass( asserted, oc );
|
*matchp = !is_object_subclass( asserted, oc );
|
||||||
}
|
}
|
||||||
|
|
||||||
#if OCDEBUG
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"< objectSubClassMatch(%s, %s) = %d\n",
|
|
||||||
value->bv_val, a->bv_val, *matchp );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "< objectSubClassMatch(%s,%s) = %d\n",
|
|
||||||
value->bv_val, a->bv_val, *matchp );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return LDAP_SUCCESS;
|
return LDAP_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,17 +106,6 @@ static int objectSubClassIndexer(
|
||||||
} else {
|
} else {
|
||||||
ocvalues[i] = values[i];
|
ocvalues[i] = values[i];
|
||||||
}
|
}
|
||||||
#if OCDEBUG
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"> objectSubClassIndexer(%d, %s)\n",
|
|
||||||
i, ocvalues[i].bv_val, 0 );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE,
|
|
||||||
"> objectSubClassIndexer(%d, %s)\n",
|
|
||||||
i, ocvalues[i].bv_val, 0 );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ocvalues[i].bv_val = NULL;
|
ocvalues[i].bv_val = NULL;
|
||||||
|
|
@ -168,18 +123,6 @@ static int objectSubClassIndexer(
|
||||||
int k;
|
int k;
|
||||||
|
|
||||||
for( k=0; k<noc; k++ ) {
|
for( k=0; k<noc; k++ ) {
|
||||||
|
|
||||||
#if 0
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"= objectSubClassIndexer(%d, %s, %s)\n",
|
|
||||||
k, ocvalues[k].bv_val, sup->soc_cname.bv_val );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE,
|
|
||||||
"= objectSubClassIndexer(%d, %s, %s)\n",
|
|
||||||
k, ocvalues[k].bv_val, sup->soc_cname.bv_val );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
if( bvmatch( &ocvalues[k], &sup->soc_cname ) ) {
|
if( bvmatch( &ocvalues[k], &sup->soc_cname ) ) {
|
||||||
found++;
|
found++;
|
||||||
break;
|
break;
|
||||||
|
|
@ -201,32 +144,10 @@ static int objectSubClassIndexer(
|
||||||
|
|
||||||
ocvalues[noc].bv_len = 0;
|
ocvalues[noc].bv_len = 0;
|
||||||
ocvalues[noc].bv_val = NULL;
|
ocvalues[noc].bv_val = NULL;
|
||||||
|
|
||||||
#if OCDEBUG
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"< objectSubClassIndexer(%d, %d, %s)\n",
|
|
||||||
i, k, sup->soc_cname.bv_val );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE,
|
|
||||||
"< objectSubClassIndexer(%d, %d, %s)\n",
|
|
||||||
i, k, sup->soc_cname.bv_val );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"< objectSubClassIndexer(%d)\n", noc, 0, 0 );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "< objectSubClassIndexer(%d)\n",
|
|
||||||
noc, 0, 0 );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rc = octetStringIndexer( use, mask, syntax, mr,
|
rc = octetStringIndexer( use, mask, syntax, mr,
|
||||||
prefix, ocvalues, keysp, ctx );
|
prefix, ocvalues, keysp, ctx );
|
||||||
|
|
||||||
|
|
@ -234,36 +155,7 @@ static int objectSubClassIndexer(
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Index generation function */
|
#define objectSubClassFilter octetStringFilter
|
||||||
static int objectSubClassFilter(
|
|
||||||
slap_mask_t use,
|
|
||||||
slap_mask_t flags,
|
|
||||||
Syntax *syntax,
|
|
||||||
MatchingRule *mr,
|
|
||||||
struct berval *prefix,
|
|
||||||
void * assertedValue,
|
|
||||||
BerVarray *keysp,
|
|
||||||
void *ctx )
|
|
||||||
{
|
|
||||||
#if OCDEBUG
|
|
||||||
struct berval *bv = (struct berval *) assertedValue;
|
|
||||||
ObjectClass *oc = oc_bvfind( bv );
|
|
||||||
if( oc ) {
|
|
||||||
bv = &oc->soc_cname;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef NEW_LOGGING
|
|
||||||
LDAP_LOG( CONFIG, ENTRY,
|
|
||||||
"< objectSubClassFilter(%s)\n", bv->bv_val, 0, 0 );
|
|
||||||
#else
|
|
||||||
Debug( LDAP_DEBUG_TRACE, "< objectSubClassFilter(%s)\n",
|
|
||||||
bv->bv_val, 0, 0 );
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return octetStringFilter( use, flags, syntax, mr,
|
|
||||||
prefix, assertedValue, keysp, ctx );
|
|
||||||
}
|
|
||||||
|
|
||||||
static ObjectClassSchemaCheckFN rootDseObjectClass;
|
static ObjectClassSchemaCheckFN rootDseObjectClass;
|
||||||
static ObjectClassSchemaCheckFN aliasObjectClass;
|
static ObjectClassSchemaCheckFN aliasObjectClass;
|
||||||
|
|
@ -371,11 +263,13 @@ static struct slap_schema_ad_map {
|
||||||
char *ssam_defn;
|
char *ssam_defn;
|
||||||
AttributeTypeSchemaCheckFN *ssam_check;
|
AttributeTypeSchemaCheckFN *ssam_check;
|
||||||
slap_mask_t ssam_flags;
|
slap_mask_t ssam_flags;
|
||||||
slap_mr_convert_func *ssam_convert;
|
slap_syntax_validate_func *ssam_syn_validate;
|
||||||
slap_mr_normalize_func *ssam_normalize;
|
slap_syntax_transform_func *ssam_syn_pretty;
|
||||||
slap_mr_match_func *ssam_match;
|
slap_mr_convert_func *ssam_mr_convert;
|
||||||
slap_mr_indexer_func *ssam_indexer;
|
slap_mr_normalize_func *ssam_mr_normalize;
|
||||||
slap_mr_filter_func *ssam_filter;
|
slap_mr_match_func *ssam_mr_match;
|
||||||
|
slap_mr_indexer_func *ssam_mr_indexer;
|
||||||
|
slap_mr_filter_func *ssam_mr_filter;
|
||||||
size_t ssam_offset;
|
size_t ssam_offset;
|
||||||
} ad_map[] = {
|
} ad_map[] = {
|
||||||
{ "objectClass", "( 2.5.4.0 NAME 'objectClass' "
|
{ "objectClass", "( 2.5.4.0 NAME 'objectClass' "
|
||||||
|
|
@ -383,7 +277,8 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierMatch "
|
"EQUALITY objectIdentifierMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
|
||||||
NULL, SLAP_AT_FINAL,
|
NULL, SLAP_AT_FINAL,
|
||||||
NULL, objectClassNormalize, objectSubClassMatch,
|
NULL, objectClassPretty,
|
||||||
|
NULL, NULL, objectSubClassMatch,
|
||||||
objectSubClassIndexer, objectSubClassFilter,
|
objectSubClassIndexer, objectSubClassFilter,
|
||||||
offsetof(struct slap_internal_schema, si_ad_objectClass) },
|
offsetof(struct slap_internal_schema, si_ad_objectClass) },
|
||||||
|
|
||||||
|
|
@ -394,7 +289,8 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
NULL, objectClassNormalize, objectSubClassMatch,
|
NULL, objectClassPretty,
|
||||||
|
NULL, NULL, objectSubClassMatch,
|
||||||
objectSubClassIndexer, objectSubClassFilter,
|
objectSubClassIndexer, objectSubClassFilter,
|
||||||
offsetof(struct slap_internal_schema, si_ad_structuralObjectClass) },
|
offsetof(struct slap_internal_schema, si_ad_structuralObjectClass) },
|
||||||
{ "createTimestamp", "( 2.5.18.1 NAME 'createTimestamp' "
|
{ "createTimestamp", "( 2.5.18.1 NAME 'createTimestamp' "
|
||||||
|
|
@ -404,6 +300,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_createTimestamp) },
|
offsetof(struct slap_internal_schema, si_ad_createTimestamp) },
|
||||||
{ "modifyTimestamp", "( 2.5.18.2 NAME 'modifyTimestamp' "
|
{ "modifyTimestamp", "( 2.5.18.2 NAME 'modifyTimestamp' "
|
||||||
|
|
@ -413,6 +310,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_modifyTimestamp) },
|
offsetof(struct slap_internal_schema, si_ad_modifyTimestamp) },
|
||||||
{ "creatorsName", "( 2.5.18.3 NAME 'creatorsName' "
|
{ "creatorsName", "( 2.5.18.3 NAME 'creatorsName' "
|
||||||
|
|
@ -421,6 +319,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_creatorsName) },
|
offsetof(struct slap_internal_schema, si_ad_creatorsName) },
|
||||||
{ "modifiersName", "( 2.5.18.4 NAME 'modifiersName' "
|
{ "modifiersName", "( 2.5.18.4 NAME 'modifiersName' "
|
||||||
|
|
@ -429,6 +328,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_modifiersName) },
|
offsetof(struct slap_internal_schema, si_ad_modifiersName) },
|
||||||
{ "hasSubordinates", "( 2.5.18.9 NAME 'hasSubordinates' "
|
{ "hasSubordinates", "( 2.5.18.9 NAME 'hasSubordinates' "
|
||||||
|
|
@ -437,6 +337,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_hasSubordinates) },
|
offsetof(struct slap_internal_schema, si_ad_hasSubordinates) },
|
||||||
{ "subschemaSubentry", "( 2.5.18.10 NAME 'subschemaSubentry' "
|
{ "subschemaSubentry", "( 2.5.18.10 NAME 'subschemaSubentry' "
|
||||||
|
|
@ -445,6 +346,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE "
|
||||||
"NO-USER-MODIFICATION USAGE directoryOperation )",
|
"NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_subschemaSubentry) },
|
offsetof(struct slap_internal_schema, si_ad_subschemaSubentry) },
|
||||||
#ifdef LDAP_DEVEL
|
#ifdef LDAP_DEVEL
|
||||||
|
|
@ -454,6 +356,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 "
|
||||||
"NO-USER-MODIFICATION USAGE directoryOperation )",
|
"NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_collectiveSubentries) },
|
offsetof(struct slap_internal_schema, si_ad_collectiveSubentries) },
|
||||||
{ "collectiveExclusions", "( 2.5.18.7 NAME 'collectiveExclusions' "
|
{ "collectiveExclusions", "( 2.5.18.7 NAME 'collectiveExclusions' "
|
||||||
|
|
@ -461,6 +364,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
|
||||||
"USAGE directoryOperation )",
|
"USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_collectiveExclusions) },
|
offsetof(struct slap_internal_schema, si_ad_collectiveExclusions) },
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -471,6 +375,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_entryUUID) },
|
offsetof(struct slap_internal_schema, si_ad_entryUUID) },
|
||||||
{ "entryCSN", "( 1.3.6.1.4.1.4203.666.1.7 NAME 'entryCSN' "
|
{ "entryCSN", "( 1.3.6.1.4.1.4203.666.1.7 NAME 'entryCSN' "
|
||||||
|
|
@ -480,6 +385,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_entryCSN) },
|
offsetof(struct slap_internal_schema, si_ad_entryCSN) },
|
||||||
{ "namingCSN", "( 1.3.6.1.4.1.4203.666.1.13 NAME 'namingCSN' "
|
{ "namingCSN", "( 1.3.6.1.4.1.4203.666.1.13 NAME 'namingCSN' "
|
||||||
|
|
@ -489,6 +395,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_namingCSN) },
|
offsetof(struct slap_internal_schema, si_ad_namingCSN) },
|
||||||
|
|
||||||
|
|
@ -498,6 +405,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_superiorUUID) },
|
offsetof(struct slap_internal_schema, si_ad_superiorUUID) },
|
||||||
|
|
||||||
|
|
@ -509,6 +417,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
||||||
"NO-USER-MODIFICATION USAGE directoryOperation )",
|
"NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, 0, /* SLAP_AT_HIDE or SLAP_AT_NONE ? */
|
NULL, 0, /* SLAP_AT_HIDE or SLAP_AT_NONE ? */
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_queryid) },
|
offsetof(struct slap_internal_schema, si_ad_queryid) },
|
||||||
#endif /* LDAP_CACHING */
|
#endif /* LDAP_CACHING */
|
||||||
|
|
@ -522,6 +431,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{64} "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_syncreplCookie) },
|
offsetof(struct slap_internal_schema, si_ad_syncreplCookie) },
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -531,6 +441,7 @@ static struct slap_schema_ad_map {
|
||||||
"DESC 'RFC2252: alternative servers' "
|
"DESC 'RFC2252: alternative servers' "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_altServer) },
|
offsetof(struct slap_internal_schema, si_ad_altServer) },
|
||||||
{ "namingContexts", "( 1.3.6.1.4.1.1466.101.120.5 "
|
{ "namingContexts", "( 1.3.6.1.4.1.1466.101.120.5 "
|
||||||
|
|
@ -538,6 +449,7 @@ static struct slap_schema_ad_map {
|
||||||
"DESC 'RFC2252: naming contexts' "
|
"DESC 'RFC2252: naming contexts' "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_namingContexts) },
|
offsetof(struct slap_internal_schema, si_ad_namingContexts) },
|
||||||
{ "supportedControl", "( 1.3.6.1.4.1.1466.101.120.13 "
|
{ "supportedControl", "( 1.3.6.1.4.1.1466.101.120.13 "
|
||||||
|
|
@ -545,6 +457,7 @@ static struct slap_schema_ad_map {
|
||||||
"DESC 'RFC2252: supported controls' "
|
"DESC 'RFC2252: supported controls' "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_supportedControl) },
|
offsetof(struct slap_internal_schema, si_ad_supportedControl) },
|
||||||
{ "supportedExtension", "( 1.3.6.1.4.1.1466.101.120.7 "
|
{ "supportedExtension", "( 1.3.6.1.4.1.1466.101.120.7 "
|
||||||
|
|
@ -552,6 +465,7 @@ static struct slap_schema_ad_map {
|
||||||
"DESC 'RFC2252: supported extended operations' "
|
"DESC 'RFC2252: supported extended operations' "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_supportedExtension) },
|
offsetof(struct slap_internal_schema, si_ad_supportedExtension) },
|
||||||
{ "supportedLDAPVersion", "( 1.3.6.1.4.1.1466.101.120.15 "
|
{ "supportedLDAPVersion", "( 1.3.6.1.4.1.1466.101.120.15 "
|
||||||
|
|
@ -559,6 +473,7 @@ static struct slap_schema_ad_map {
|
||||||
"DESC 'RFC2252: supported LDAP versions' "
|
"DESC 'RFC2252: supported LDAP versions' "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_supportedLDAPVersion) },
|
offsetof(struct slap_internal_schema, si_ad_supportedLDAPVersion) },
|
||||||
{ "supportedSASLMechanisms", "( 1.3.6.1.4.1.1466.101.120.14 "
|
{ "supportedSASLMechanisms", "( 1.3.6.1.4.1.1466.101.120.14 "
|
||||||
|
|
@ -566,6 +481,7 @@ static struct slap_schema_ad_map {
|
||||||
"DESC 'RFC2252: supported SASL mechanisms'"
|
"DESC 'RFC2252: supported SASL mechanisms'"
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_supportedSASLMechanisms) },
|
offsetof(struct slap_internal_schema, si_ad_supportedSASLMechanisms) },
|
||||||
{ "supportedFeatures", "( 1.3.6.1.4.1.4203.1.3.5 "
|
{ "supportedFeatures", "( 1.3.6.1.4.1.4203.1.3.5 "
|
||||||
|
|
@ -575,6 +491,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 "
|
||||||
"USAGE dSAOperation )",
|
"USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_supportedFeatures) },
|
offsetof(struct slap_internal_schema, si_ad_supportedFeatures) },
|
||||||
{ "monitorContext", "( 1.3.6.1.4.1.4203.666.1.10 "
|
{ "monitorContext", "( 1.3.6.1.4.1.4203.666.1.10 "
|
||||||
|
|
@ -584,6 +501,7 @@ static struct slap_schema_ad_map {
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION "
|
"SINGLE-VALUE NO-USER-MODIFICATION "
|
||||||
"USAGE dSAOperation )",
|
"USAGE dSAOperation )",
|
||||||
rootDseAttribute, SLAP_AT_HIDE,
|
rootDseAttribute, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_monitorContext) },
|
offsetof(struct slap_internal_schema, si_ad_monitorContext) },
|
||||||
{ "vendorName", "( 1.3.6.1.1.4 NAME 'vendorName' "
|
{ "vendorName", "( 1.3.6.1.1.4 NAME 'vendorName' "
|
||||||
|
|
@ -593,6 +511,7 @@ static struct slap_schema_ad_map {
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION "
|
"SINGLE-VALUE NO-USER-MODIFICATION "
|
||||||
"USAGE dSAOperation )",
|
"USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_vendorName) },
|
offsetof(struct slap_internal_schema, si_ad_vendorName) },
|
||||||
{ "vendorVersion", "( 1.3.6.1.1.5 NAME 'vendorVersion' "
|
{ "vendorVersion", "( 1.3.6.1.1.5 NAME 'vendorVersion' "
|
||||||
|
|
@ -602,6 +521,7 @@ static struct slap_schema_ad_map {
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION "
|
"SINGLE-VALUE NO-USER-MODIFICATION "
|
||||||
"USAGE dSAOperation )",
|
"USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_vendorVersion) },
|
offsetof(struct slap_internal_schema, si_ad_vendorVersion) },
|
||||||
|
|
||||||
|
|
@ -611,6 +531,7 @@ static struct slap_schema_ad_map {
|
||||||
"USAGE directoryOperation "
|
"USAGE directoryOperation "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )",
|
||||||
administrativeRoleAttribute, SLAP_AT_HIDE,
|
administrativeRoleAttribute, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_administrativeRole) },
|
offsetof(struct slap_internal_schema, si_ad_administrativeRole) },
|
||||||
{ "subtreeSpecification", "( 2.5.18.6 NAME 'subtreeSpecification' "
|
{ "subtreeSpecification", "( 2.5.18.6 NAME 'subtreeSpecification' "
|
||||||
|
|
@ -618,6 +539,7 @@ static struct slap_schema_ad_map {
|
||||||
"USAGE directoryOperation "
|
"USAGE directoryOperation "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.45 )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.45 )",
|
||||||
subentryAttribute, SLAP_AT_HIDE,
|
subentryAttribute, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_subtreeSpecification) },
|
offsetof(struct slap_internal_schema, si_ad_subtreeSpecification) },
|
||||||
|
|
||||||
|
|
@ -628,6 +550,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 "
|
||||||
"USAGE directoryOperation ) ",
|
"USAGE directoryOperation ) ",
|
||||||
subentryAttribute, SLAP_AT_HIDE,
|
subentryAttribute, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_ditStructureRules) },
|
offsetof(struct slap_internal_schema, si_ad_ditStructureRules) },
|
||||||
{ "ditContentRules", "( 2.5.21.2 NAME 'dITContentRules' "
|
{ "ditContentRules", "( 2.5.21.2 NAME 'dITContentRules' "
|
||||||
|
|
@ -635,6 +558,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )",
|
||||||
subentryAttribute, SLAP_AT_HIDE,
|
subentryAttribute, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_ditContentRules) },
|
offsetof(struct slap_internal_schema, si_ad_ditContentRules) },
|
||||||
{ "matchingRules", "( 2.5.21.4 NAME 'matchingRules' "
|
{ "matchingRules", "( 2.5.21.4 NAME 'matchingRules' "
|
||||||
|
|
@ -642,6 +566,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )",
|
||||||
subentryAttribute, 0,
|
subentryAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_matchingRules) },
|
offsetof(struct slap_internal_schema, si_ad_matchingRules) },
|
||||||
{ "attributeTypes", "( 2.5.21.5 NAME 'attributeTypes' "
|
{ "attributeTypes", "( 2.5.21.5 NAME 'attributeTypes' "
|
||||||
|
|
@ -649,6 +574,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )",
|
||||||
subentryAttribute, 0,
|
subentryAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_attributeTypes) },
|
offsetof(struct slap_internal_schema, si_ad_attributeTypes) },
|
||||||
{ "objectClasses", "( 2.5.21.6 NAME 'objectClasses' "
|
{ "objectClasses", "( 2.5.21.6 NAME 'objectClasses' "
|
||||||
|
|
@ -656,6 +582,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )",
|
||||||
subentryAttribute, 0,
|
subentryAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_objectClasses) },
|
offsetof(struct slap_internal_schema, si_ad_objectClasses) },
|
||||||
{ "nameForms", "( 2.5.21.7 NAME 'nameForms' "
|
{ "nameForms", "( 2.5.21.7 NAME 'nameForms' "
|
||||||
|
|
@ -663,6 +590,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )",
|
||||||
subentryAttribute, SLAP_AT_HIDE,
|
subentryAttribute, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_nameForms) },
|
offsetof(struct slap_internal_schema, si_ad_nameForms) },
|
||||||
{ "matchingRuleUse", "( 2.5.21.8 NAME 'matchingRuleUse' "
|
{ "matchingRuleUse", "( 2.5.21.8 NAME 'matchingRuleUse' "
|
||||||
|
|
@ -670,6 +598,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )",
|
||||||
subentryAttribute, 0,
|
subentryAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_matchingRuleUse) },
|
offsetof(struct slap_internal_schema, si_ad_matchingRuleUse) },
|
||||||
|
|
||||||
|
|
@ -678,6 +607,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY objectIdentifierFirstComponentMatch "
|
"EQUALITY objectIdentifierFirstComponentMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )",
|
||||||
subentryAttribute, 0,
|
subentryAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_ldapSyntaxes) },
|
offsetof(struct slap_internal_schema, si_ad_ldapSyntaxes) },
|
||||||
|
|
||||||
|
|
@ -688,6 +618,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY distinguishedNameMatch "
|
"EQUALITY distinguishedNameMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE )",
|
||||||
aliasAttribute, SLAP_AT_FINAL,
|
aliasAttribute, SLAP_AT_FINAL,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_aliasedObjectName) },
|
offsetof(struct slap_internal_schema, si_ad_aliasedObjectName) },
|
||||||
{ "ref", "( 2.16.840.1.113730.3.1.34 NAME 'ref' "
|
{ "ref", "( 2.16.840.1.113730.3.1.34 NAME 'ref' "
|
||||||
|
|
@ -696,6 +627,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 "
|
||||||
"USAGE distributedOperation )",
|
"USAGE distributedOperation )",
|
||||||
referralAttribute, 0,
|
referralAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_ref) },
|
offsetof(struct slap_internal_schema, si_ad_ref) },
|
||||||
|
|
||||||
|
|
@ -706,6 +638,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.4203.1.1.1 "
|
"SYNTAX 1.3.6.1.4.1.4203.1.1.1 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_entry) },
|
offsetof(struct slap_internal_schema, si_ad_entry) },
|
||||||
{ "children", "( 1.3.6.1.4.1.4203.1.3.2 "
|
{ "children", "( 1.3.6.1.4.1.4203.1.3.2 "
|
||||||
|
|
@ -714,6 +647,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.4203.1.1.1 "
|
"SYNTAX 1.3.6.1.4.1.4203.1.1.1 "
|
||||||
"SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
|
"SINGLE-VALUE NO-USER-MODIFICATION USAGE dSAOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_children) },
|
offsetof(struct slap_internal_schema, si_ad_children) },
|
||||||
{ "saslAuthzTo", "( 1.3.6.1.4.1.4203.666.1.8 "
|
{ "saslAuthzTo", "( 1.3.6.1.4.1.4203.666.1.8 "
|
||||||
|
|
@ -723,6 +657,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 "
|
||||||
"USAGE distributedOperation )",
|
"USAGE distributedOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_saslAuthzTo) },
|
offsetof(struct slap_internal_schema, si_ad_saslAuthzTo) },
|
||||||
{ "saslAuthzFrom", "( 1.3.6.1.4.1.4203.666.1.9 "
|
{ "saslAuthzFrom", "( 1.3.6.1.4.1.4203.666.1.9 "
|
||||||
|
|
@ -732,6 +667,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 "
|
||||||
"USAGE distributedOperation )",
|
"USAGE distributedOperation )",
|
||||||
NULL, SLAP_AT_HIDE,
|
NULL, SLAP_AT_HIDE,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_saslAuthzFrom) },
|
offsetof(struct slap_internal_schema, si_ad_saslAuthzFrom) },
|
||||||
#ifdef SLAPD_ACI_ENABLED
|
#ifdef SLAPD_ACI_ENABLED
|
||||||
|
|
@ -742,6 +678,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.4203.666.2.1 "
|
"SYNTAX 1.3.6.1.4.1.4203.666.2.1 "
|
||||||
"USAGE directoryOperation )",
|
"USAGE directoryOperation )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_aci) },
|
offsetof(struct slap_internal_schema, si_ad_aci) },
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -752,6 +689,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE "
|
||||||
"NO-USER-MODIFICATION USAGE dSAOperation )",
|
"NO-USER-MODIFICATION USAGE dSAOperation )",
|
||||||
dynamicAttribute, 0,
|
dynamicAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_entryTtl) },
|
offsetof(struct slap_internal_schema, si_ad_entryTtl) },
|
||||||
{ "dynamicSubtrees", "( 1.3.6.1.4.1.1466.101.119.4 "
|
{ "dynamicSubtrees", "( 1.3.6.1.4.1.1466.101.119.4 "
|
||||||
|
|
@ -760,6 +698,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION "
|
||||||
"USAGE dSAOperation )",
|
"USAGE dSAOperation )",
|
||||||
rootDseAttribute, 0,
|
rootDseAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_dynamicSubtrees) },
|
offsetof(struct slap_internal_schema, si_ad_dynamicSubtrees) },
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -770,6 +709,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY distinguishedNameMatch "
|
"EQUALITY distinguishedNameMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )",
|
||||||
NULL, SLAP_AT_ABSTRACT,
|
NULL, SLAP_AT_ABSTRACT,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_distinguishedName) },
|
offsetof(struct slap_internal_schema, si_ad_distinguishedName) },
|
||||||
{ "name", "( 2.5.4.41 NAME 'name' "
|
{ "name", "( 2.5.4.41 NAME 'name' "
|
||||||
|
|
@ -778,12 +718,14 @@ static struct slap_schema_ad_map {
|
||||||
"SUBSTR caseIgnoreSubstringsMatch "
|
"SUBSTR caseIgnoreSubstringsMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768} )",
|
||||||
NULL, SLAP_AT_ABSTRACT,
|
NULL, SLAP_AT_ABSTRACT,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_name) },
|
offsetof(struct slap_internal_schema, si_ad_name) },
|
||||||
{ "cn", "( 2.5.4.3 NAME ( 'cn' 'commonName' ) "
|
{ "cn", "( 2.5.4.3 NAME ( 'cn' 'commonName' ) "
|
||||||
"DESC 'RFC2256: common name(s) for which the entity is known by' "
|
"DESC 'RFC2256: common name(s) for which the entity is known by' "
|
||||||
"SUP name )",
|
"SUP name )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_cn) },
|
offsetof(struct slap_internal_schema, si_ad_cn) },
|
||||||
{ "userPassword", "( 2.5.4.35 NAME 'userPassword' "
|
{ "userPassword", "( 2.5.4.35 NAME 'userPassword' "
|
||||||
|
|
@ -791,6 +733,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY octetStringMatch "
|
"EQUALITY octetStringMatch "
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )",
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128} )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_userPassword) },
|
offsetof(struct slap_internal_schema, si_ad_userPassword) },
|
||||||
|
|
||||||
|
|
@ -801,6 +744,7 @@ static struct slap_schema_ad_map {
|
||||||
"EQUALITY 1.3.6.1.4.1.4203.1.2.2 "
|
"EQUALITY 1.3.6.1.4.1.4203.1.2.2 "
|
||||||
"SYNTAX 1.3.6.1.4.1.4203.1.1.2 )",
|
"SYNTAX 1.3.6.1.4.1.4203.1.1.2 )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_authPassword) },
|
offsetof(struct slap_internal_schema, si_ad_authPassword) },
|
||||||
{ "supportedAuthPasswordSchemes", "( 1.3.6.1.4.1.4203.1.3.3 "
|
{ "supportedAuthPasswordSchemes", "( 1.3.6.1.4.1.4203.1.3.3 "
|
||||||
|
|
@ -810,6 +754,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} "
|
||||||
"USAGE dSAOperation )",
|
"USAGE dSAOperation )",
|
||||||
subschemaAttribute, 0,
|
subschemaAttribute, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_authPassword) },
|
offsetof(struct slap_internal_schema, si_ad_authPassword) },
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -821,6 +766,7 @@ static struct slap_schema_ad_map {
|
||||||
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 "
|
"SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 "
|
||||||
"SINGLE-VALUE )",
|
"SINGLE-VALUE )",
|
||||||
NULL, 0,
|
NULL, 0,
|
||||||
|
NULL, NULL,
|
||||||
NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL,
|
||||||
offsetof(struct slap_internal_schema, si_ad_krbName) },
|
offsetof(struct slap_internal_schema, si_ad_krbName) },
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -834,7 +780,7 @@ static AttributeType slap_at_undefined = {
|
||||||
{ sizeof("UNDEFINED")-1, "UNDEFINED" }, /* cname */
|
{ sizeof("UNDEFINED")-1, "UNDEFINED" }, /* cname */
|
||||||
NULL, /* sup */
|
NULL, /* sup */
|
||||||
NULL, /* subtypes */
|
NULL, /* subtypes */
|
||||||
NULL, NULL, NULL, NULL, /* matching rules */
|
NULL, NULL, NULL, NULL, /* matching rules routines */
|
||||||
NULL, /* syntax (this may need to be defined) */
|
NULL, /* syntax (this may need to be defined) */
|
||||||
(AttributeTypeSchemaCheckFN *) 0, /* schema check function */
|
(AttributeTypeSchemaCheckFN *) 0, /* schema check function */
|
||||||
SLAP_AT_ABSTRACT|SLAP_AT_FINAL, /* mask */
|
SLAP_AT_ABSTRACT|SLAP_AT_FINAL, /* mask */
|
||||||
|
|
@ -949,6 +895,7 @@ slap_schema_load( void )
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
const char *text;
|
const char *text;
|
||||||
|
Syntax *syntax = NULL;
|
||||||
|
|
||||||
AttributeDescription ** adp = (AttributeDescription **)
|
AttributeDescription ** adp = (AttributeDescription **)
|
||||||
&(((char *) &slap_schema)[ad_map[i].ssam_offset]);
|
&(((char *) &slap_schema)[ad_map[i].ssam_offset]);
|
||||||
|
|
@ -970,32 +917,60 @@ slap_schema_load( void )
|
||||||
/* install flags */
|
/* install flags */
|
||||||
(*adp)->ad_type->sat_flags |= ad_map[i].ssam_flags;
|
(*adp)->ad_type->sat_flags |= ad_map[i].ssam_flags;
|
||||||
|
|
||||||
/* install custom rule routine */
|
|
||||||
if( ad_map[i].ssam_convert ||
|
/* install custom syntax routines */
|
||||||
ad_map[i].ssam_normalize ||
|
if( ad_map[i].ssam_syn_validate ||
|
||||||
ad_map[i].ssam_match ||
|
ad_map[i].ssam_syn_pretty )
|
||||||
ad_map[i].ssam_indexer ||
|
{
|
||||||
ad_map[i].ssam_filter )
|
Syntax *syn;
|
||||||
|
|
||||||
|
syntax = (*adp)->ad_type->sat_syntax;
|
||||||
|
|
||||||
|
syn = ch_malloc( sizeof( Syntax ) );
|
||||||
|
*syn = *syntax;
|
||||||
|
|
||||||
|
if( ad_map[i].ssam_syn_validate ) {
|
||||||
|
syn->ssyn_validate = ad_map[i].ssam_syn_validate;
|
||||||
|
}
|
||||||
|
if( ad_map[i].ssam_syn_pretty ) {
|
||||||
|
syn->ssyn_pretty = ad_map[i].ssam_syn_pretty;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*adp)->ad_type->sat_syntax = syn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* install custom rule routines */
|
||||||
|
if( ( (*adp)->ad_type->sat_equality != NULL &&
|
||||||
|
syntax == (*adp)->ad_type->sat_equality->smr_syntax ) ||
|
||||||
|
ad_map[i].ssam_mr_convert ||
|
||||||
|
ad_map[i].ssam_mr_normalize ||
|
||||||
|
ad_map[i].ssam_mr_match ||
|
||||||
|
ad_map[i].ssam_mr_indexer ||
|
||||||
|
ad_map[i].ssam_mr_filter )
|
||||||
{
|
{
|
||||||
MatchingRule *mr = ch_malloc( sizeof( MatchingRule ) );
|
MatchingRule *mr = ch_malloc( sizeof( MatchingRule ) );
|
||||||
*mr = *(*adp)->ad_type->sat_equality;
|
*mr = *(*adp)->ad_type->sat_equality;
|
||||||
|
|
||||||
|
if ( syntax == mr->smr_syntax ) {
|
||||||
|
mr->smr_syntax = (*adp)->ad_type->sat_syntax;
|
||||||
|
}
|
||||||
|
if ( ad_map[i].ssam_mr_convert ) {
|
||||||
|
mr->smr_convert = ad_map[i].ssam_mr_convert;
|
||||||
|
}
|
||||||
|
if ( ad_map[i].ssam_mr_normalize ) {
|
||||||
|
mr->smr_normalize = ad_map[i].ssam_mr_normalize;
|
||||||
|
}
|
||||||
|
if ( ad_map[i].ssam_mr_match ) {
|
||||||
|
mr->smr_match = ad_map[i].ssam_mr_match;
|
||||||
|
}
|
||||||
|
if ( ad_map[i].ssam_mr_indexer ) {
|
||||||
|
mr->smr_indexer = ad_map[i].ssam_mr_indexer;
|
||||||
|
}
|
||||||
|
if ( ad_map[i].ssam_mr_filter ) {
|
||||||
|
mr->smr_filter = ad_map[i].ssam_mr_filter;
|
||||||
|
}
|
||||||
|
|
||||||
(*adp)->ad_type->sat_equality = mr;
|
(*adp)->ad_type->sat_equality = mr;
|
||||||
|
|
||||||
if( ad_map[i].ssam_convert ) {
|
|
||||||
mr->smr_convert = ad_map[i].ssam_convert;
|
|
||||||
}
|
|
||||||
if( ad_map[i].ssam_normalize ) {
|
|
||||||
mr->smr_normalize = ad_map[i].ssam_normalize;
|
|
||||||
}
|
|
||||||
if( ad_map[i].ssam_match ) {
|
|
||||||
mr->smr_match = ad_map[i].ssam_match;
|
|
||||||
}
|
|
||||||
if( ad_map[i].ssam_indexer ) {
|
|
||||||
mr->smr_indexer = ad_map[i].ssam_indexer;
|
|
||||||
}
|
|
||||||
if( ad_map[i].ssam_filter ) {
|
|
||||||
mr->smr_filter = ad_map[i].ssam_filter;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue