]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapadd.c
fix ITS#3753
[openldap] / servers / slapd / slapadd.c
index 7aa4ee29310d9b4f277535fc4905b2a23e08cb52..ac66a3f00864a38ed6b9f74d2b03b16b33869053 100644 (file)
@@ -53,6 +53,7 @@ slapadd( int argc, char **argv )
        char textbuf[SLAP_TEXT_BUFLEN] = { '\0' };
        size_t textlen = sizeof textbuf;
        const char *progname = "slapadd";
+       int manage = 0; 
 
        struct berval csn;
        struct berval maxcsn;
@@ -145,7 +146,7 @@ slapadd( int argc, char **argv )
                        break;
                }
 
-               if( global_schemacheck ) {
+               {
                        Attribute *sc = attr_find( e->e_attrs,
                                slap_schema.si_ad_structuralObjectClass );
                        Attribute *oc = attr_find( e->e_attrs,
@@ -176,11 +177,13 @@ slapadd( int argc, char **argv )
                                        break;
                                }
 
-                               attr_merge_one( e, slap_schema.si_ad_structuralObjectClass, &val, NULL );
+                               attr_merge_one( e, slap_schema.si_ad_structuralObjectClass,
+                                       &val, NULL );
                        }
 
                        /* check schema */
-                       rc = entry_schema_check( be, e, NULL, &text, textbuf, textlen );
+                       rc = entry_schema_check( be, e, NULL, manage,
+                               &text, textbuf, textlen );
 
                        if( rc != LDAP_SUCCESS ) {
                                fprintf( stderr, "%s: dn=\"%s\" (line=%d): (%d) %s\n",