]> git.sur5r.net Git - openldap/commitdiff
Add Backend argument to entry_schema_check() to support system schema
authorKurt Zeilenga <kurt@openldap.org>
Thu, 10 Jan 2002 19:37:03 +0000 (19:37 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 10 Jan 2002 19:37:03 +0000 (19:37 +0000)
checks (in addition to user application schema checks).

servers/slapd/back-bdb/add.c
servers/slapd/back-bdb/modify.c
servers/slapd/back-ldbm/add.c
servers/slapd/back-ldbm/modify.c
servers/slapd/back-monitor/log.c
servers/slapd/proto-slap.h
servers/slapd/schema_check.c
servers/slapd/tools/slapadd.c

index 40013ab6063fda1981fe67834ec531f88b9a01a7..6be4202c70000cf2ae421ce33fb772278c3f5b80 100644 (file)
@@ -35,7 +35,7 @@ bdb_add(
        Debug(LDAP_DEBUG_ARGS, "==> bdb_add: %s\n", e->e_dn, 0, 0);
 
        /* check entry's schema */
-       rc = entry_schema_check( e, NULL, &text, textbuf, textlen );
+       rc = entry_schema_check( be, e, NULL, &text, textbuf, textlen );
        if ( rc != LDAP_SUCCESS ) {
                Debug( LDAP_DEBUG_TRACE,
                        "bdb_add: entry failed schema check: %s (%d)\n",
index 336c2910560d6985433cfdc4602878979ef9b29a..435ae651b8ea4214e7ce131636fc9df657d5a5f9 100644 (file)
@@ -118,7 +118,7 @@ int bdb_modify_internal(
        }
 
        /* check that the entry still obeys the schema */
-       rc = entry_schema_check( e, save_attrs, text, textbuf, textlen );
+       rc = entry_schema_check( be, e, save_attrs, text, textbuf, textlen );
        if ( rc != LDAP_SUCCESS ) {
                attrs_free( e->e_attrs );
                e->e_attrs = save_attrs;
index f176f8166692ed389b525eaedd54a39d1e6befe2..e663c8645c61325f8fb2b43c5c27e33d587022df 100644 (file)
@@ -54,7 +54,7 @@ ldbm_back_add(
                return( -1 );
        }
 
-       rc = entry_schema_check( e, NULL, &text, textbuf, textlen );
+       rc = entry_schema_check( be, e, NULL, &text, textbuf, textlen );
 
        if ( rc != LDAP_SUCCESS ) {
                ldap_pvt_thread_mutex_unlock(&li->li_add_mutex);
index 73fa87ea1d0e03499e038a936a15d7048b1b1594..6e263639d6ff0b0f7842b83840de6286890db0d2 100644 (file)
@@ -202,7 +202,7 @@ int ldbm_modify_internal(
        ldap_pvt_thread_mutex_unlock( &op->o_abandonmutex );
 
        /* check that the entry still obeys the schema */
-       rc = entry_schema_check( e, save_attrs, text, textbuf, textlen );
+       rc = entry_schema_check( be, e, save_attrs, text, textbuf, textlen );
        if ( rc != LDAP_SUCCESS ) {
                attrs_free( e->e_attrs );
                e->e_attrs = save_attrs;
index 1c312540e623a535003d2b359846f31f69eb285f..0e3d18f9e75a853476b29a37e5f9643cc4469c64 100644 (file)
@@ -206,7 +206,7 @@ monitor_subsys_log_modify(
 #endif
 
                /* check that the entry still obeys the schema */
-               rc = entry_schema_check( e, save_attrs, &text, textbuf, 
+               rc = entry_schema_check( be, e, save_attrs, &text, textbuf, 
                                sizeof( textbuf ) );
                if ( rc != LDAP_SUCCESS ) {
                        goto cleanup;
index edd4ae31f753e86ffad5a2618af9f79ff49f5138..1cbf8fc3144c45130fadff019279b6798f717db2 100644 (file)
@@ -827,7 +827,7 @@ LDAP_SLAPD_F( int ) structural_class(
        char *textbuf, size_t textlen );
 
 LDAP_SLAPD_F( int ) entry_schema_check(
-       Entry *e, Attribute *attrs,
+       Backend *be, Entry *e, Attribute *attrs,
        const char** text,
        char *textbuf, size_t textlen );
 
index 81ef6562768f0157973fca2400ec4a7d1abd48b1..4e44ffaafec831e872d9aaa1f43f8124efb4aff5 100644 (file)
@@ -30,7 +30,9 @@ static char * oc_check_required(
 
 int
 entry_schema_check( 
-       Entry *e, Attribute *oldattrs,
+       Backend *be,
+       Entry *e,
+       Attribute *oldattrs,
        const char** text,
        char *textbuf, size_t textlen )
 {
index e030ae8d5f2c512bb206e0803f47c05da6f4946a..e428b620014cde13583ee14a406c7f8bd69ea980 100644 (file)
@@ -134,7 +134,7 @@ main( int argc, char **argv )
                if( global_schemacheck ) {
                        /* check schema */
 
-                       rc = entry_schema_check( e, NULL, &text, textbuf, textlen );
+                       rc = entry_schema_check( be, e, NULL, &text, textbuf, textlen );
 
                        if( rc != LDAP_SUCCESS ) {
                                fprintf( stderr, "%s: dn=\"%s\" (line=%d): %s\n",