diff options
Diffstat (limited to 'ldap/servers/slapd/back-ldbm/ldbm_attr.c')
-rw-r--r-- | ldap/servers/slapd/back-ldbm/ldbm_attr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_attr.c b/ldap/servers/slapd/back-ldbm/ldbm_attr.c index eccf8543..1042cf7e 100644 --- a/ldap/servers/slapd/back-ldbm/ldbm_attr.c +++ b/ldap/servers/slapd/back-ldbm/ldbm_attr.c @@ -60,6 +60,7 @@ attrinfo_delete(struct attrinfo **pp) (*pp)->ai_key_cmp_fn = NULL; slapi_ch_free((void**)&((*pp)->ai_type)); slapi_ch_free((void**)(*pp)->ai_index_rules); + slapi_ch_free((void**)&((*pp)->ai_attrcrypt)); slapi_ch_free((void**)pp); *pp= NULL; } @@ -210,6 +211,10 @@ attr_index_config( a->ai_indexmask |= INDEX_EQUALITY; } else if ( strncasecmp( indexes[j], "approx", 6 ) == 0 ) { a->ai_indexmask |= INDEX_APPROX; + } else if ( strncasecmp( indexes[j], "subtree", 7 ) == 0 ) { + /* subtree should be located before "sub" */ + a->ai_indexmask |= INDEX_SUBTREE; + a->ai_dup_cmp_fn = entryrdn_compare_dups; } else if ( strncasecmp( indexes[j], "sub", 3 ) == 0 ) { a->ai_indexmask |= INDEX_SUB; } else if ( strncasecmp( indexes[j], "none", 4 ) == 0 ) { @@ -500,7 +505,7 @@ static void find_our_friends(char *s, int *has, int *num) { *has = (0 == strcasecmp(s,"hassubordinates")); if (!(*has)) { - *num = (0 == strcasecmp(s,"numsubordinates")); + *num = (0 == strcasecmp(s,LDBM_NUMSUBORDINATES_STR)); } } |