]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/add.c
Berkeley DB 4.2 support (DB 4.2 required by default)
[openldap] / servers / slapd / add.c
index dd8dcb7ac52a8a879e9acfb2cd9e936761445867..323fd00bdc989e18b25011e0e0d33fe5f0ce074e 100644 (file)
@@ -231,7 +231,7 @@ do_add( Operation *op, SlapReply *rs )
        }
 
 #ifdef LDAP_SLAPI
-       initAddPlugin( op, &dn, e, manageDSAit );
+       if ( op->o_pb ) initAddPlugin( op, &dn, e, manageDSAit );
 #endif /* LDAP_SLAPI */
 
        /*
@@ -244,10 +244,10 @@ do_add( Operation *op, SlapReply *rs )
                /* do the update here */
                int repl_user = be_isupdate(op->o_bd, &op->o_ndn );
 #ifndef SLAPD_MULTIMASTER
-               if ( !op->o_bd->syncinfo &&
-                                               ( !op->o_bd->be_update_ndn.bv_len || repl_user ))
+               if ( !op->o_bd->be_syncinfo &&
+                       ( !op->o_bd->be_update_ndn.bv_len || repl_user ))
 #else
-               if ( !op->o_bd->syncinfo )
+               if ( !op->o_bd->be_syncinfo )
 #endif
                {
                        int update = op->o_bd->be_update_ndn.bv_len;
@@ -290,10 +290,12 @@ do_add( Operation *op, SlapReply *rs )
                         * Call the preoperation plugin here, because the entry
                         * will actually contain something.
                         */
-                       rs->sr_err = doPreAddPluginFNs( op );
-                       if ( rs->sr_err != LDAP_SUCCESS ) {
-                               /* plugin will have sent result */
-                               goto done;
+                       if ( op->o_pb ) {
+                               rs->sr_err = doPreAddPluginFNs( op );
+                               if ( rs->sr_err != LDAP_SUCCESS ) {
+                                       /* plugin will have sent result */
+                                       goto done;
+                               }
                        }
 #endif /* LDAP_SLAPI */
 
@@ -317,18 +319,20 @@ do_add( Operation *op, SlapReply *rs )
                         * SLAPI_ADD_ENTRY will be empty, but this may be acceptable
                         * on replicas (for now, it involves the minimum code intrusion).
                         */
-                       rs->sr_err = doPreAddPluginFNs( op );
-                       if ( rs->sr_err != LDAP_SUCCESS ) {
-                               /* plugin will have sent result */
-                               goto done;
+                       if ( op->o_pb ) {
+                               rs->sr_err = doPreAddPluginFNs( op );
+                               if ( rs->sr_err != LDAP_SUCCESS ) {
+                                       /* plugin will have sent result */
+                                       goto done;
+                               }
                        }
 #endif /* LDAP_SLAPI */
 
-                       if ( op->o_bd->syncinfo ) {
-                               defref = op->o_bd->syncinfo->provideruri_bv;
+                       if ( op->o_bd->be_syncinfo ) {
+                               defref = op->o_bd->be_syncinfo->si_provideruri_bv;
                        } else {
                                defref = op->o_bd->be_update_refs
-                                                       ? op->o_bd->be_update_refs : default_referral;
+                                       ? op->o_bd->be_update_refs : default_referral;
                        }
 
                        if ( defref != NULL ) {
@@ -349,10 +353,12 @@ do_add( Operation *op, SlapReply *rs )
                }
        } else {
 #ifdef LDAP_SLAPI
-           rs->sr_err = doPreAddPluginFNs( op );
-           if ( rs->sr_err != LDAP_SUCCESS ) {
-                       /* plugin will have sent result */
-                       goto done;
+               if ( op->o_pb ) {
+                       rs->sr_err = doPreAddPluginFNs( op );
+                       if ( rs->sr_err != LDAP_SUCCESS ) {
+                               /* plugin will have sent result */
+                               goto done;
+                       }
                }
 #endif
 #ifdef NEW_LOGGING
@@ -366,7 +372,7 @@ do_add( Operation *op, SlapReply *rs )
        }
 
 #ifdef LDAP_SLAPI
-       doPostAddPluginFNs( op );
+       if ( op->o_pb ) doPostAddPluginFNs( op );
 #endif /* LDAP_SLAPI */
 
 done: