From 2049087fc0145df8d912be99e3c3ad4f1aa6f271 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Fri, 24 Sep 2004 01:17:09 +0000 Subject: [PATCH] More fixes from HEAD --- CHANGES | 5 ++ libraries/libldap/filter.c | 4 +- libraries/libldap/schema.c | 176 ++++++++++++++++++------------------- servers/slapd/add.c | 8 -- servers/slapd/mr.c | 4 +- 5 files changed, 97 insertions(+), 100 deletions(-) diff --git a/CHANGES b/CHANGES index a20b646d79..48462c006b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,11 @@ OpenLDAP 2.2 Change Log OpenLDAP 2.2.18 Engineering + Fixed libldap schema keyword sensitivity + Fixed libldap DN filter sensitivity + Fixed slapd matching rule name sensitivity + Fixed slapd referral memory leak + Fixed slapd mods2entry memory leak OpenLDAP 2.2.17 Release Fixed slapd syncrepl memory leak bugs diff --git a/libraries/libldap/filter.c b/libraries/libldap/filter.c index 9a432cb878..7425716dc6 100644 --- a/libraries/libldap/filter.c +++ b/libraries/libldap/filter.c @@ -639,7 +639,7 @@ put_simple_filter( if( rule == NULL ) { /* one colon */ - if ( strcmp(dn, "dn") == 0 ) { + if ( strcasecmp(dn, "dn") == 0 ) { /* must have attribute */ if( !ldap_is_desc( str ) ) { goto done; @@ -656,7 +656,7 @@ put_simple_filter( /* two colons */ *rule++ = '\0'; - if ( strcmp(dn, "dn") != 0 ) { + if ( strcasecmp(dn, "dn") != 0 ) { /* must have "dn" */ goto done; } diff --git a/libraries/libldap/schema.c b/libraries/libldap/schema.c index c413d1200d..4639b45105 100644 --- a/libraries/libldap/schema.c +++ b/libraries/libldap/schema.c @@ -1495,7 +1495,7 @@ ldap_str2syntax( LDAP_CONST char * s, case TK_RIGHTPAREN: return syn; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -1512,7 +1512,7 @@ ldap_str2syntax( LDAP_CONST char * s, ldap_syntax_free(syn); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -1625,11 +1625,11 @@ ldap_str2matchingrule( LDAP_CONST char * s, ss = savepos; kind = get_token(&ss,&sval); if ( kind == TK_BAREWORD ) { - if ( !strcmp(sval, "NAME") || - !strcmp(sval, "DESC") || - !strcmp(sval, "OBSOLETE") || - !strcmp(sval, "SYNTAX") || - !strncmp(sval, "X-", 2) ) { + if ( !strcasecmp(sval, "NAME") || + !strcasecmp(sval, "DESC") || + !strcasecmp(sval, "OBSOLETE") || + !strcasecmp(sval, "SYNTAX") || + !strncasecmp(sval, "X-", 2) ) { /* Missing OID, backtrack */ ss = savepos; } else { @@ -1665,7 +1665,7 @@ ldap_str2matchingrule( LDAP_CONST char * s, } return mr; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -1682,7 +1682,7 @@ ldap_str2matchingrule( LDAP_CONST char * s, ldap_matchingrule_free(mr); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -1702,7 +1702,7 @@ ldap_str2matchingrule( LDAP_CONST char * s, } mr->mr_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -1713,7 +1713,7 @@ ldap_str2matchingrule( LDAP_CONST char * s, seen_obsolete = 1; mr->mr_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"SYNTAX") ) { + } else if ( !strcasecmp(sval,"SYNTAX") ) { LDAP_FREE(sval); if ( seen_syntax ) { *code = LDAP_SCHERR_DUPOPT; @@ -1824,11 +1824,11 @@ ldap_str2matchingruleuse( LDAP_CONST char * s, ss = savepos; kind = get_token(&ss,&sval); if ( kind == TK_BAREWORD ) { - if ( !strcmp(sval, "NAME") || - !strcmp(sval, "DESC") || - !strcmp(sval, "OBSOLETE") || - !strcmp(sval, "APPLIES") || - !strncmp(sval, "X-", 2) ) { + if ( !strcasecmp(sval, "NAME") || + !strcasecmp(sval, "DESC") || + !strcasecmp(sval, "OBSOLETE") || + !strcasecmp(sval, "APPLIES") || + !strncasecmp(sval, "X-", 2) ) { /* Missing OID, backtrack */ ss = savepos; } else { @@ -1864,7 +1864,7 @@ ldap_str2matchingruleuse( LDAP_CONST char * s, } return mru; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -1881,7 +1881,7 @@ ldap_str2matchingruleuse( LDAP_CONST char * s, ldap_matchingruleuse_free(mru); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -1901,7 +1901,7 @@ ldap_str2matchingruleuse( LDAP_CONST char * s, } mru->mru_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -1912,7 +1912,7 @@ ldap_str2matchingruleuse( LDAP_CONST char * s, seen_obsolete = 1; mru->mru_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"APPLIES") ) { + } else if ( !strcasecmp(sval,"APPLIES") ) { LDAP_FREE(sval); if ( seen_applies ) { *code = LDAP_SCHERR_DUPOPT; @@ -2040,19 +2040,19 @@ ldap_str2attributetype( LDAP_CONST char * s, ss = savepos; kind = get_token(&ss,&sval); if ( kind == TK_BAREWORD ) { - if ( !strcmp(sval, "NAME") || - !strcmp(sval, "DESC") || - !strcmp(sval, "OBSOLETE") || - !strcmp(sval, "SUP") || - !strcmp(sval, "EQUALITY") || - !strcmp(sval, "ORDERING") || - !strcmp(sval, "SUBSTR") || - !strcmp(sval, "SYNTAX") || - !strcmp(sval, "SINGLE-VALUE") || - !strcmp(sval, "COLLECTIVE") || - !strcmp(sval, "NO-USER-MODIFICATION") || - !strcmp(sval, "USAGE") || - !strncmp(sval, "X-", 2) ) { + if ( !strcasecmp(sval, "NAME") || + !strcasecmp(sval, "DESC") || + !strcasecmp(sval, "OBSOLETE") || + !strcasecmp(sval, "SUP") || + !strcasecmp(sval, "EQUALITY") || + !strcasecmp(sval, "ORDERING") || + !strcasecmp(sval, "SUBSTR") || + !strcasecmp(sval, "SYNTAX") || + !strcasecmp(sval, "SINGLE-VALUE") || + !strcasecmp(sval, "COLLECTIVE") || + !strcasecmp(sval, "NO-USER-MODIFICATION") || + !strcasecmp(sval, "USAGE") || + !strncasecmp(sval, "X-", 2) ) { /* Missing OID, backtrack */ ss = savepos; } else if ( flags @@ -2088,7 +2088,7 @@ ldap_str2attributetype( LDAP_CONST char * s, case TK_RIGHTPAREN: return at; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -2105,7 +2105,7 @@ ldap_str2attributetype( LDAP_CONST char * s, ldap_attributetype_free(at); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -2125,7 +2125,7 @@ ldap_str2attributetype( LDAP_CONST char * s, } at->at_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -2136,7 +2136,7 @@ ldap_str2attributetype( LDAP_CONST char * s, seen_obsolete = 1; at->at_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"SUP") ) { + } else if ( !strcasecmp(sval,"SUP") ) { LDAP_FREE(sval); if ( seen_sup ) { *code = LDAP_SCHERR_DUPOPT; @@ -2151,7 +2151,7 @@ ldap_str2attributetype( LDAP_CONST char * s, ldap_attributetype_free(at); return NULL; } - } else if ( !strcmp(sval,"EQUALITY") ) { + } else if ( !strcasecmp(sval,"EQUALITY") ) { LDAP_FREE(sval); if ( seen_equality ) { *code = LDAP_SCHERR_DUPOPT; @@ -2166,7 +2166,7 @@ ldap_str2attributetype( LDAP_CONST char * s, ldap_attributetype_free(at); return NULL; } - } else if ( !strcmp(sval,"ORDERING") ) { + } else if ( !strcasecmp(sval,"ORDERING") ) { LDAP_FREE(sval); if ( seen_ordering ) { *code = LDAP_SCHERR_DUPOPT; @@ -2181,7 +2181,7 @@ ldap_str2attributetype( LDAP_CONST char * s, ldap_attributetype_free(at); return NULL; } - } else if ( !strcmp(sval,"SUBSTR") ) { + } else if ( !strcasecmp(sval,"SUBSTR") ) { LDAP_FREE(sval); if ( seen_substr ) { *code = LDAP_SCHERR_DUPOPT; @@ -2196,7 +2196,7 @@ ldap_str2attributetype( LDAP_CONST char * s, ldap_attributetype_free(at); return NULL; } - } else if ( !strcmp(sval,"SYNTAX") ) { + } else if ( !strcasecmp(sval,"SYNTAX") ) { LDAP_FREE(sval); if ( seen_syntax ) { *code = LDAP_SCHERR_DUPOPT; @@ -2240,7 +2240,7 @@ ldap_str2attributetype( LDAP_CONST char * s, } } parse_whsp(&ss); - } else if ( !strcmp(sval,"SINGLE-VALUE") ) { + } else if ( !strcasecmp(sval,"SINGLE-VALUE") ) { LDAP_FREE(sval); if ( at->at_single_value ) { *code = LDAP_SCHERR_DUPOPT; @@ -2250,7 +2250,7 @@ ldap_str2attributetype( LDAP_CONST char * s, } at->at_single_value = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"COLLECTIVE") ) { + } else if ( !strcasecmp(sval,"COLLECTIVE") ) { LDAP_FREE(sval); if ( at->at_collective ) { *code = LDAP_SCHERR_DUPOPT; @@ -2260,7 +2260,7 @@ ldap_str2attributetype( LDAP_CONST char * s, } at->at_collective = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"NO-USER-MODIFICATION") ) { + } else if ( !strcasecmp(sval,"NO-USER-MODIFICATION") ) { LDAP_FREE(sval); if ( at->at_no_user_mod ) { *code = LDAP_SCHERR_DUPOPT; @@ -2270,7 +2270,7 @@ ldap_str2attributetype( LDAP_CONST char * s, } at->at_no_user_mod = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"USAGE") ) { + } else if ( !strcasecmp(sval,"USAGE") ) { LDAP_FREE(sval); if ( seen_usage ) { *code = LDAP_SCHERR_DUPOPT; @@ -2415,16 +2415,16 @@ ldap_str2objectclass( LDAP_CONST char * s, ss = savepos; kind = get_token(&ss,&sval); if ( kind == TK_BAREWORD ) { - if ( !strcmp(sval, "NAME") || - !strcmp(sval, "DESC") || - !strcmp(sval, "OBSOLETE") || - !strcmp(sval, "SUP") || - !strcmp(sval, "ABSTRACT") || - !strcmp(sval, "STRUCTURAL") || - !strcmp(sval, "AUXILIARY") || - !strcmp(sval, "MUST") || - !strcmp(sval, "MAY") || - !strncmp(sval, "X-", 2) ) { + if ( !strcasecmp(sval, "NAME") || + !strcasecmp(sval, "DESC") || + !strcasecmp(sval, "OBSOLETE") || + !strcasecmp(sval, "SUP") || + !strcasecmp(sval, "ABSTRACT") || + !strcasecmp(sval, "STRUCTURAL") || + !strcasecmp(sval, "AUXILIARY") || + !strcasecmp(sval, "MUST") || + !strcasecmp(sval, "MAY") || + !strncasecmp(sval, "X-", 2) ) { /* Missing OID, backtrack */ ss = savepos; } else if ( flags & @@ -2460,7 +2460,7 @@ ldap_str2objectclass( LDAP_CONST char * s, case TK_RIGHTPAREN: return oc; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -2477,7 +2477,7 @@ ldap_str2objectclass( LDAP_CONST char * s, ldap_objectclass_free(oc); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -2497,7 +2497,7 @@ ldap_str2objectclass( LDAP_CONST char * s, } oc->oc_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -2508,7 +2508,7 @@ ldap_str2objectclass( LDAP_CONST char * s, seen_obsolete = 1; oc->oc_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"SUP") ) { + } else if ( !strcasecmp(sval,"SUP") ) { LDAP_FREE(sval); if ( seen_sup ) { *code = LDAP_SCHERR_DUPOPT; @@ -2525,7 +2525,7 @@ ldap_str2objectclass( LDAP_CONST char * s, ldap_objectclass_free(oc); return NULL; } - } else if ( !strcmp(sval,"ABSTRACT") ) { + } else if ( !strcasecmp(sval,"ABSTRACT") ) { LDAP_FREE(sval); if ( seen_kind ) { *code = LDAP_SCHERR_DUPOPT; @@ -2536,7 +2536,7 @@ ldap_str2objectclass( LDAP_CONST char * s, seen_kind = 1; oc->oc_kind = LDAP_SCHEMA_ABSTRACT; parse_whsp(&ss); - } else if ( !strcmp(sval,"STRUCTURAL") ) { + } else if ( !strcasecmp(sval,"STRUCTURAL") ) { LDAP_FREE(sval); if ( seen_kind ) { *code = LDAP_SCHERR_DUPOPT; @@ -2547,7 +2547,7 @@ ldap_str2objectclass( LDAP_CONST char * s, seen_kind = 1; oc->oc_kind = LDAP_SCHEMA_STRUCTURAL; parse_whsp(&ss); - } else if ( !strcmp(sval,"AUXILIARY") ) { + } else if ( !strcasecmp(sval,"AUXILIARY") ) { LDAP_FREE(sval); if ( seen_kind ) { *code = LDAP_SCHERR_DUPOPT; @@ -2558,7 +2558,7 @@ ldap_str2objectclass( LDAP_CONST char * s, seen_kind = 1; oc->oc_kind = LDAP_SCHEMA_AUXILIARY; parse_whsp(&ss); - } else if ( !strcmp(sval,"MUST") ) { + } else if ( !strcasecmp(sval,"MUST") ) { LDAP_FREE(sval); if ( seen_must ) { *code = LDAP_SCHERR_DUPOPT; @@ -2574,7 +2574,7 @@ ldap_str2objectclass( LDAP_CONST char * s, return NULL; } parse_whsp(&ss); - } else if ( !strcmp(sval,"MAY") ) { + } else if ( !strcasecmp(sval,"MAY") ) { LDAP_FREE(sval); if ( seen_may ) { *code = LDAP_SCHERR_DUPOPT; @@ -2692,14 +2692,14 @@ ldap_str2contentrule( LDAP_CONST char * s, ss = savepos; kind = get_token(&ss,&sval); if ( kind == TK_BAREWORD ) { - if ( !strcmp(sval, "NAME") || - !strcmp(sval, "DESC") || - !strcmp(sval, "OBSOLETE") || - !strcmp(sval, "AUX") || - !strcmp(sval, "MUST") || - !strcmp(sval, "MAY") || - !strcmp(sval, "NOT") || - !strncmp(sval, "X-", 2) ) { + if ( !strcasecmp(sval, "NAME") || + !strcasecmp(sval, "DESC") || + !strcasecmp(sval, "OBSOLETE") || + !strcasecmp(sval, "AUX") || + !strcasecmp(sval, "MUST") || + !strcasecmp(sval, "MAY") || + !strcasecmp(sval, "NOT") || + !strncasecmp(sval, "X-", 2) ) { /* Missing OID, backtrack */ ss = savepos; } else if ( flags & @@ -2735,7 +2735,7 @@ ldap_str2contentrule( LDAP_CONST char * s, case TK_RIGHTPAREN: return cr; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -2752,7 +2752,7 @@ ldap_str2contentrule( LDAP_CONST char * s, ldap_contentrule_free(cr); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -2772,7 +2772,7 @@ ldap_str2contentrule( LDAP_CONST char * s, } cr->cr_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -2783,7 +2783,7 @@ ldap_str2contentrule( LDAP_CONST char * s, seen_obsolete = 1; cr->cr_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"AUX") ) { + } else if ( !strcasecmp(sval,"AUX") ) { LDAP_FREE(sval); if ( seen_aux ) { *code = LDAP_SCHERR_DUPOPT; @@ -2799,7 +2799,7 @@ ldap_str2contentrule( LDAP_CONST char * s, return NULL; } parse_whsp(&ss); - } else if ( !strcmp(sval,"MUST") ) { + } else if ( !strcasecmp(sval,"MUST") ) { LDAP_FREE(sval); if ( seen_must ) { *code = LDAP_SCHERR_DUPOPT; @@ -2815,7 +2815,7 @@ ldap_str2contentrule( LDAP_CONST char * s, return NULL; } parse_whsp(&ss); - } else if ( !strcmp(sval,"MAY") ) { + } else if ( !strcasecmp(sval,"MAY") ) { LDAP_FREE(sval); if ( seen_may ) { *code = LDAP_SCHERR_DUPOPT; @@ -2831,7 +2831,7 @@ ldap_str2contentrule( LDAP_CONST char * s, return NULL; } parse_whsp(&ss); - } else if ( !strcmp(sval,"NOT") ) { + } else if ( !strcasecmp(sval,"NOT") ) { LDAP_FREE(sval); if ( seen_not ) { *code = LDAP_SCHERR_DUPOPT; @@ -2964,7 +2964,7 @@ ldap_str2structurerule( LDAP_CONST char * s, } return sr; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -2981,7 +2981,7 @@ ldap_str2structurerule( LDAP_CONST char * s, ldap_structurerule_free(sr); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -3001,7 +3001,7 @@ ldap_str2structurerule( LDAP_CONST char * s, } sr->sr_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -3012,7 +3012,7 @@ ldap_str2structurerule( LDAP_CONST char * s, seen_obsolete = 1; sr->sr_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"FORM") ) { + } else if ( !strcasecmp(sval,"FORM") ) { LDAP_FREE(sval); if ( seen_nameform ) { *code = LDAP_SCHERR_DUPOPT; @@ -3153,7 +3153,7 @@ ldap_str2nameform( LDAP_CONST char * s, } return nf; case TK_BAREWORD: - if ( !strcmp(sval,"NAME") ) { + if ( !strcasecmp(sval,"NAME") ) { LDAP_FREE(sval); if ( seen_name ) { *code = LDAP_SCHERR_DUPOPT; @@ -3170,7 +3170,7 @@ ldap_str2nameform( LDAP_CONST char * s, ldap_nameform_free(nf); return NULL; } - } else if ( !strcmp(sval,"DESC") ) { + } else if ( !strcasecmp(sval,"DESC") ) { LDAP_FREE(sval); if ( seen_desc ) { *code = LDAP_SCHERR_DUPOPT; @@ -3190,7 +3190,7 @@ ldap_str2nameform( LDAP_CONST char * s, } nf->nf_desc = sval; parse_whsp(&ss); - } else if ( !strcmp(sval,"OBSOLETE") ) { + } else if ( !strcasecmp(sval,"OBSOLETE") ) { LDAP_FREE(sval); if ( seen_obsolete ) { *code = LDAP_SCHERR_DUPOPT; @@ -3201,7 +3201,7 @@ ldap_str2nameform( LDAP_CONST char * s, seen_obsolete = 1; nf->nf_obsolete = LDAP_SCHEMA_YES; parse_whsp(&ss); - } else if ( !strcmp(sval,"MUST") ) { + } else if ( !strcasecmp(sval,"MUST") ) { LDAP_FREE(sval); if ( seen_must ) { *code = LDAP_SCHERR_DUPOPT; @@ -3217,7 +3217,7 @@ ldap_str2nameform( LDAP_CONST char * s, return NULL; } parse_whsp(&ss); - } else if ( !strcmp(sval,"MAY") ) { + } else if ( !strcasecmp(sval,"MAY") ) { LDAP_FREE(sval); if ( seen_may ) { *code = LDAP_SCHERR_DUPOPT; diff --git a/servers/slapd/add.c b/servers/slapd/add.c index f0035c5d3e..e68b65f032 100644 --- a/servers/slapd/add.c +++ b/servers/slapd/add.c @@ -449,10 +449,6 @@ slap_mods2entry( AC_MEMCPY( &attr->a_vals[i], mods->sml_values, sizeof( struct berval ) * j ); - /* trim the mods array */ - ch_free( mods->sml_values ); - mods->sml_values = NULL; - if( mods->sml_nvalues ) { attr->a_nvals = ch_realloc( attr->a_nvals, sizeof( struct berval ) * (i+j) ); @@ -460,10 +456,6 @@ slap_mods2entry( AC_MEMCPY( &attr->a_nvals[i], mods->sml_nvalues, sizeof( struct berval ) * j ); - /* trim the mods array */ - ch_free( mods->sml_nvalues ); - mods->sml_nvalues = NULL; - } else { attr->a_nvals = attr->a_vals; } diff --git a/servers/slapd/mr.c b/servers/slapd/mr.c index 016f7421c9..05a548d804 100644 --- a/servers/slapd/mr.c +++ b/servers/slapd/mr.c @@ -46,7 +46,7 @@ mr_index_cmp( const struct mindexrec *mir2 = v_mir2; int i = mir1->mir_name.bv_len - mir2->mir_name.bv_len; if (i) return i; - return (strcmp( mir1->mir_name.bv_val, mir2->mir_name.bv_val )); + return (strcasecmp( mir1->mir_name.bv_val, mir2->mir_name.bv_val )); } static int @@ -59,7 +59,7 @@ mr_index_name_cmp( const struct mindexrec *mir = v_mir; int i = name->bv_len - mir->mir_name.bv_len; if (i) return i; - return (strncmp( name->bv_val, mir->mir_name.bv_val, name->bv_len )); + return (strncasecmp( name->bv_val, mir->mir_name.bv_val, name->bv_len )); } MatchingRule * -- 2.39.5