]> git.sur5r.net Git - openldap/commitdiff
Store rootdn in normalized uppercase format.
authorKurt Zeilenga <kurt@openldap.org>
Mon, 18 Jan 1999 19:47:12 +0000 (19:47 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 18 Jan 1999 19:47:12 +0000 (19:47 +0000)
servers/slapd/backend.c
servers/slapd/config.c

index e88797c6d8c185ea82e6809886b570b35eea713d..dc63e252317a8be054352b1169c883377f48f6c1 100644 (file)
@@ -225,13 +225,18 @@ be_issuffix(
 int
 be_isroot( Backend *be, char *dn )
 {
-       if ( dn == NULL ) {
+       int rc;
+       char *ndn;
+
+       if ( dn == NULL || be->be_rootdn == NULL ) {
                return( 0 );
        }
 
-       return( be->be_rootdn != NULL
-               ? strcasecmp( be->be_rootdn, dn ) == 0
-           : 0 );
+       ndn = dn_normalize_case( ch_strdup( dn ) );
+       rc = strcmp( be->be_rootdn, ndn ) ? 0 : 1;
+
+       free(ndn);
+       return(rc);
 }
 
 int
index d56881a8364095db1efda861ae8f45eb41508b67..5b4f409d9b17b3a9f3c085b2bd2813d809f39eed 100644 (file)
@@ -34,7 +34,7 @@ void
 read_config( char *fname, Backend **bep, FILE *pfp )
 {
        FILE    *fp;
-       char    *line, *savefname, *dn;
+       char    *line, *savefname;
        int     cargc, savelineno;
        char    *cargv[MAXARGS];
        int     lineno, i;
@@ -128,7 +128,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
 "%s: line %d: suffix line must appear inside a database definition (ignored)\n",
                                    fname, lineno, 0 );
                        } else {
-                               dn = ch_strdup( cargv[1] );
+                               char *dn = ch_strdup( cargv[1] );
                                (void) dn_normalize( dn );
                                charray_add( &be->be_suffix, dn );
                        }
@@ -155,7 +155,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
 "%s: line %d: suffixAlias line must appear inside a database definition (ignored)\n",
                                     fname, lineno, 0 );
                         } else {
-                                dn = ch_strdup( cargv[1] );
+                                char *dn = ch_strdup( cargv[1] );
                                 (void) dn_normalize( dn );
                                 charray_add( &be->be_suffixAlias, dn );
 
@@ -194,9 +194,7 @@ read_config( char *fname, Backend **bep, FILE *pfp )
 "%s: line %d: rootdn line must appear inside a database definition (ignored)\n",
                                    fname, lineno, 0 );
                        } else {
-                               dn = ch_strdup( cargv[1] );
-                               (void) dn_normalize( dn );
-                               be->be_rootdn = dn;
+                               be->be_rootdn = dn_normalize_case( ch_strdup( cargv[1] ) );
                        }
 
                /* set super-secret magic database password */