]> git.sur5r.net Git - openldap/commitdiff
Add Modification/Modifications structures for -DSLAPD_SCHEMA_NOT_COMPAT
authorKurt Zeilenga <kurt@openldap.org>
Mon, 7 Feb 2000 20:37:10 +0000 (20:37 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 7 Feb 2000 20:37:10 +0000 (20:37 +0000)
17 files changed:
servers/slapd/acl.c
servers/slapd/back-bdb2/external.h
servers/slapd/back-bdb2/proto-back-bdb2.h
servers/slapd/back-ldap/external.h
servers/slapd/back-ldbm/external.h
servers/slapd/back-ldbm/index.c
servers/slapd/back-ldbm/modify.c
servers/slapd/back-ldbm/modrdn.c
servers/slapd/back-ldbm/passwd.c
servers/slapd/back-ldbm/proto-back-ldbm.h
servers/slapd/back-perl/external.h
servers/slapd/back-shell/external.h
servers/slapd/back-tcl/external.h
servers/slapd/modify.c
servers/slapd/proto-slap.h
servers/slapd/repl.c
servers/slapd/slap.h

index f5c141bc4a0846fe5f905c04f76aec728910334f..e026af3d2c8856dcf1c3907da400cef7f7fd0446 100644 (file)
@@ -617,7 +617,7 @@ acl_check_modlist(
     Connection *conn,
     Operation  *op,
     Entry      *e,
-    LDAPModList        *mlist
+    Modifications      *mlist
 )
 {
        int             i;
@@ -660,6 +660,9 @@ acl_check_modlist(
                 * by ACL_WRITE checking as any found here are not provided
                 * by the user
                 */
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+               /* not yet implemented */
+#else
                if ( oc_check_op_no_usermod_attr( mlist->ml_type ) ) {
                        Debug( LDAP_DEBUG_ACL, "NoUserMod Operational attribute:"
                                " modify access granted\n",
@@ -667,7 +670,7 @@ acl_check_modlist(
                        continue;
                }
 
-               switch ( mlist->ml_op & ~LDAP_MOD_BVALUES ) {
+               switch ( mlist->ml_op ) {
                case LDAP_MOD_REPLACE:
                case LDAP_MOD_ADD:
                        if ( mlist->ml_bvalues == NULL ) {
@@ -703,6 +706,7 @@ acl_check_modlist(
                        }
                        break;
                }
+#endif
        }
 
        return( 1 );
index dad989377aa716f4b9281cbe87c955c36f5c7e4d..230302d2bdf72f20153576e290ee2d79d94733b0 100644 (file)
@@ -39,7 +39,7 @@ extern int    bdb2_back_compare LDAP_P((BackendDB *bd,
 
 extern int     bdb2_back_modify LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
-       char *dn, char *ndn, LDAPModList *ml ));
+       char *dn, char *ndn, Modifications *ml ));
 
 extern int     bdb2_back_modrdn LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
index d0b8614b426db40e34efc679911552023229f823..2e16fd468a785dffa149541fc76d962feda6af76 100644 (file)
@@ -144,7 +144,7 @@ ID bdb2i_idl_nextid LDAP_P(( ID_BLOCK *idl, ID *cursor ));
  */
 
 int bdb2i_index_add_entry LDAP_P(( BackendDB *be, Entry *e ));
-int bdb2i_index_add_mods LDAP_P(( BackendDB *be, LDAPModList *ml, ID id ));
+int bdb2i_index_add_mods LDAP_P(( BackendDB *be, Modifications *ml, ID id ));
 ID_BLOCK * bdb2i_index_read LDAP_P(( BackendDB *be, char *type, int indextype, char *val ));
 int bdb2i_index_add_values LDAP_P(( BackendDB *be, char *type, struct berval **vals, ID  id ));
 
@@ -172,7 +172,7 @@ int bdb2i_add_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
 int bdb2i_delete_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
 int bdb2i_replace_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
 int bdb2i_back_modify_internal LDAP_P((Backend *be, Connection *conn, Operation *op,
-                                char *dn, LDAPModList *mods, Entry *e));
+                                char *dn, Modifications *mods, Entry *e));
 /*
  * nextid.c
  */
@@ -232,7 +232,7 @@ void bdb2i_check_default_attr_index_add LDAP_P((
  Entry *e ));
 void bdb2i_check_default_attr_index_mod LDAP_P((
  struct ldbminfo *li,
LDAPModList *modlist ));
Modifications *modlist ));
 ID bdb2i_get_nextid  LDAP_P(( BackendDB *be ));
 int bdb2i_put_nextid LDAP_P(( BackendDB *be, ID id ));
 LDBM bdb2i_db_open LDAP_P(( char *name, int type, int rw, int mode,
index 7493c816cd11820da216933352bb3fae54c19ac6..2cdf751f5c9eb12fb04677622e29d1ab8be930fc 100644 (file)
@@ -34,7 +34,7 @@ extern int    ldap_back_compare LDAP_P((BackendDB *bd,
 
 extern int     ldap_back_modify LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
-       char *dn, char *ndn, LDAPModList *ml ));
+       char *dn, char *ndn, Modifications *ml ));
 
 extern int     ldap_back_modrdn LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
index 9a7bb508e24e7024c0a4d86a969d47e1d253120a..6b1e8c746657922a7682a15dd8355100aac3fa48 100644 (file)
@@ -57,7 +57,7 @@ extern int    ldbm_back_compare LDAP_P((BackendDB *bd,
 
 extern int     ldbm_back_modify LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
-       char *dn, char *ndn, LDAPModList *ml ));
+       char *dn, char *ndn, Modifications *ml ));
 
 extern int     ldbm_back_modrdn LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
index a554543cc20f84bf89dff2a26d406a059ac1ab61..cc7a453be17cf7b4a0a2ef785f44b6d09c45936e 100644 (file)
@@ -80,16 +80,20 @@ index_add_entry(
 int
 index_add_mods(
     Backend    *be,
-    LDAPModList        *ml,
+    Modifications      *ml,
     ID         id
 )
 {
        int     rc;
 
        for ( ; ml != NULL; ml = ml->ml_next ) {
-               LDAPMod *mod = &ml->ml_mod;
+               Modification *mod = &ml->ml_mod;
 
-               switch ( mod->mod_op & ~LDAP_MOD_BVALUES ) {
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+               /* not yet implemented */
+               rc = -1;
+#else
+               switch ( mod->mod_op ) {
                case LDAP_MOD_REPLACE:
                        /* XXX: Delete old index data==>problem when this 
                         * gets called we lost values already!
@@ -108,10 +112,14 @@ index_add_mods(
                                                   id,
                                                   SLAP_INDEX_DELETE_OP );
                        break;
-               case LDAP_MOD_SOFTADD:  /* SOFTADD means index was there */
+               case SLAP_MOD_SOFTADD:  /* SOFTADD means index was there */
                        rc = 0;
                        break;
+
+               default:
+                       rc = -1;
                }
+#endif
 
                if ( rc != 0 ) {
                        return( rc );
index f30a153a42faac48d39298672cccd07fe36cbaec..07c42cdf3ca90cc4a2ef65bdab8659d354d252a5 100644 (file)
@@ -28,13 +28,13 @@ int ldbm_modify_internal(
     Connection *conn,
     Operation  *op,
     char       *dn,
-    LDAPModList        *modlist,
+    Modifications      *modlist,
     Entry      *e 
 )
 {
        int err;
        LDAPMod         *mod;
-       LDAPModList     *ml;
+       Modifications   *ml;
        Attribute       *a;
        Attribute       *save_attrs;
 
@@ -48,7 +48,7 @@ int ldbm_modify_internal(
        for ( ml = modlist; ml != NULL; ml = ml->ml_next ) {
                mod = &ml->ml_mod;
 
-               switch ( mod->mod_op & ~LDAP_MOD_BVALUES ) {
+               switch ( mod->mod_op ) {
                case LDAP_MOD_ADD:
                        err = add_values( e, mod, op->o_ndn );
                        break;
@@ -61,7 +61,7 @@ int ldbm_modify_internal(
                        err = replace_values( e, mod, op->o_ndn );
                        break;
 
-               case LDAP_MOD_SOFTADD:
+               case SLAP_MOD_SOFTADD:
                        /* Avoid problems in index_add_mods()
                         * We need to add index if necessary.
                         */
@@ -70,7 +70,7 @@ int ldbm_modify_internal(
                                ==  LDAP_TYPE_OR_VALUE_EXISTS ) {
  
                                err = LDAP_SUCCESS;
-                               mod->mod_op = LDAP_MOD_SOFTADD;
+                               mod->mod_op = SLAP_MOD_SOFTADD;
  
                        }
                        break;
@@ -116,9 +116,7 @@ int ldbm_modify_internal(
        if( save_attrs != NULL ) {
                for ( ml = modlist; ml != NULL; ml = ml->ml_next ) {
                        mod = &ml->ml_mod;
-                       if( ( mod->mod_op & ~LDAP_MOD_BVALUES )
-                               == LDAP_MOD_REPLACE )
-                       {
+                       if ( mod->mod_op == LDAP_MOD_REPLACE ) {
                                /* Need to remove all values from indexes */
                                a = attr_find( save_attrs, mod->mod_type );
 
@@ -151,7 +149,7 @@ ldbm_back_modify(
     Operation  *op,
     char       *dn,
     char       *ndn,
-    LDAPModList        *modlist
+    Modifications      *modlist
 )
 {
        int rc;
index 20eef3ef1b204142ea5468ca064e5e6c8ec7ee02..6ac0728c23dc772f1cef7d57f22566dd73605e4d 100644 (file)
@@ -67,7 +67,7 @@ ldbm_back_modrdn(
        struct berval   *add_bvals[2];          /* Stores new rdn att */
        struct berval   del_bv;                 /* Stores old rdn att */
        struct berval   *del_bvals[2];          /* Stores old rdn att */
-       LDAPModList     mod[2];                 /* Used to delete old rdn */
+       Modifications   mod[2];                 /* Used to delete old rdn */
        int             manageDSAit = get_manageDSAit( op );
 
        Debug( LDAP_DEBUG_TRACE, "==>ldbm_back_modrdn(newSuperior=%s)\n",
@@ -356,10 +356,14 @@ ldbm_back_modrdn(
                add_bv.bv_val = new_rdn_val;
                add_bv.bv_len = strlen(new_rdn_val);
                
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+               /* not yet implemented */
+#else
                mod[0].ml_type = new_rdn_type;  
                mod[0].ml_bvalues = add_bvals;
-               mod[0].ml_op = LDAP_MOD_SOFTADD;
+               mod[0].ml_op = SLAP_MOD_SOFTADD;
                mod[0].ml_next = NULL;
+#endif
 
                /* Remove old rdn value if required */
 
@@ -385,6 +389,9 @@ ldbm_back_modrdn(
                        del_bv.bv_val = old_rdn_val;
                        del_bv.bv_len = strlen(old_rdn_val);
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+                       /* not yet implemented */
+#else
                        /* No need to normalize old_rdn_type, delete_values()
                         * does that for us
                         */
@@ -393,6 +400,7 @@ ldbm_back_modrdn(
                        mod[1].ml_bvalues = del_bvals;
                        mod[1].ml_op = LDAP_MOD_DELETE;
                        mod[1].ml_next = NULL;
+#endif
 
                        Debug( LDAP_DEBUG_TRACE,
                               "ldbm_back_modrdn: removing old_rdn_val=%s\n",
index 6915b59cadc6672f00af4928ca3d303cdccc48e0..e5a6dbfe360fbe0cb5153069574c8a1d885fabb2 100644 (file)
@@ -114,21 +114,29 @@ ldbm_back_exop_passwd(
        }
 
        {
-               LDAPModList ml;
+               Modifications ml;
                struct berval *vals[2];
 
                vals[0] = hash;
                vals[1] = NULL;
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+               /* not yet implemented */
+#else
                ml.ml_type = ch_strdup("userPassword");
                ml.ml_bvalues = vals;
-               ml.ml_op = LDAP_MOD_REPLACE | LDAP_MOD_BVALUES;
+               ml.ml_op = LDAP_MOD_REPLACE;
                ml.ml_next = NULL;
+#endif
 
                rc = ldbm_modify_internal( be,
                        conn, op, op->o_ndn, &ml, e );
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+               /* not yet implemented */
+#else
                ch_free(ml.ml_type);
+#endif
        }
 
        if( rc == LDAP_SUCCESS ) {
index 37f660f984a80756f413d15ea95f670e9995343f..5159732a49b8359e8bac5e545bd410a0771a133c 100644 (file)
@@ -132,7 +132,7 @@ ID idl_nextid LDAP_P(( ID_BLOCK *idl, ID *cursor ));
  */
 
 int index_add_entry LDAP_P(( Backend *be, Entry *e ));
-int index_add_mods LDAP_P(( Backend *be, LDAPModList *ml, ID id ));
+int index_add_mods LDAP_P(( Backend *be, Modifications *ml, ID id ));
 ID_BLOCK * index_read LDAP_P(( Backend *be,
        char *type, int indextype, char *val ));
 /* Possible operations supported (op) by index_change_values() */
@@ -175,7 +175,7 @@ int replace_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
 /* returns LDAP error code indicating error OR SLAPD_ABANDON */
 int ldbm_modify_internal LDAP_P((Backend *be,
        Connection *conn, Operation *op,
-       char *dn, LDAPModList *mods, Entry *e ));
+       char *dn, Modifications *mods, Entry *e ));
 
 #ifdef HAVE_CYRUS_SASL
 /*
index aa9f2430140ef0f6a275ec238dc7e74b39568fcb..e8dfc5cd6b54061b0bac59fa0147beee62604784 100644 (file)
@@ -34,7 +34,7 @@ extern int    perl_back_compare LDAP_P((BackendDB *bd,
 
 extern int     perl_back_modify LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
-       char *dn, char *ndn, LDAPModList *ml ));
+       char *dn, char *ndn, Modifications *ml ));
 
 extern int     perl_back_modrdn LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
index 9c850fb6f2a1eb774a0cc342372975b68550085a..1b4fa56fb5310f8f538cee36708f924caf5e0066 100644 (file)
@@ -34,7 +34,7 @@ extern int    shell_back_compare LDAP_P((BackendDB *bd,
 
 extern int     shell_back_modify LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
-       char *dn, char *ndn, LDAPModList *ml ));
+       char *dn, char *ndn, Modifications *ml ));
 
 extern int     shell_back_modrdn LDAP_P(( BackendDB *bd,
        Connection *conn, Operation *op,
index ff799627828ee0c8cebafb3ab6342aa1f93fab41..d7202f3d4e0f935f47a39818a665819c4182bfd1 100644 (file)
@@ -37,7 +37,7 @@ extern int tcl_back_compare LDAP_P ((BackendDB * bd,
 
 extern int tcl_back_modify LDAP_P ((BackendDB * bd,
                Connection * conn, Operation * op,
-               char *dn, char *ndn, LDAPModList * ml));
+               char *dn, char *ndn, Modifications * ml));
 
 extern int tcl_back_modrdn LDAP_P ((BackendDB * bd,
                Connection * conn, Operation * op,
index 98a3bda3bd64a1f2d68d9a8d5515641adca0d992..81b23325bf204ac1126d7a06fec81649976580d1 100644 (file)
@@ -26,9 +26,9 @@
 #include "ldap_pvt.h"
 #include "slap.h"
 
-static void    modlist_free(LDAPModList *ml);
+static void    modlist_free(Modifications *ml);
 
-static int add_modified_attrs( Operation *op, LDAPModList **modlist );
+static int add_modified_attrs( Operation *op, Modifications **modlist );
 
 int
 do_modify(
@@ -40,10 +40,10 @@ do_modify(
        char            *last;
        ber_tag_t       tag;
        ber_len_t       len;
-       LDAPModList     *modlist = NULL;
-       LDAPModList     **modtail = &modlist;
+       Modifications   *modlist = NULL;
+       Modifications   **modtail = &modlist;
 #ifdef LDAP_DEBUG
-       LDAPModList *tmp;
+       Modifications *tmp;
 #endif
        Backend         *be;
        int rc;
@@ -103,8 +103,11 @@ do_modify(
        {
                ber_int_t mop;
 
-               (*modtail) = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
+               (*modtail) = (Modifications *) ch_calloc( 1, sizeof(Modifications) );
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+               /* not yet implemented */
+#else
                if ( ber_scanf( op->o_ber, "{i{a[V]}}", &mop,
                    &(*modtail)->ml_type, &(*modtail)->ml_bvalues )
                    == LBER_ERROR )
@@ -114,6 +117,7 @@ do_modify(
                        rc = -1;
                        goto cleanup;
                }
+#endif
 
                (*modtail)->ml_op = mop;
                
@@ -152,6 +156,9 @@ do_modify(
        }
        *modtail = NULL;
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+       /* not yet implemented */
+#else
 #ifdef LDAP_DEBUG
        Debug( LDAP_DEBUG_ARGS, "modifications:\n", 0, 0, 0 );
        for ( tmp = modlist; tmp != NULL; tmp = tmp->ml_next ) {
@@ -160,6 +167,7 @@ do_modify(
                                ? "add" : (tmp->ml_op == LDAP_MOD_DELETE
                                        ? "delete" : "replace"), tmp->ml_type, 0 );
        }
+#endif
 #endif
 
        if( (rc = get_ctrls( conn, op, 1 )) != LDAP_SUCCESS ) {
@@ -262,18 +270,21 @@ cleanup:
 }
 
 static int
-add_modified_attrs( Operation *op, LDAPModList **modlist )
+add_modified_attrs( Operation *op, Modifications **modlist )
 {
        char            buf[22];
        struct berval   bv;
        struct berval   *bvals[2];
-       LDAPModList             *m;
+       Modifications           *m;
        struct tm       *ltm;
        time_t          currenttime;
 
        bvals[0] = &bv;
        bvals[1] = NULL;
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+       /* not yet implemented */
+#else
        /* remove any attempts by the user to modify these attrs */
        for ( m = *modlist; m != NULL; m = m->ml_next ) {
                if ( oc_check_op_no_usermod_attr( m->ml_type ) ) {
@@ -288,7 +299,7 @@ add_modified_attrs( Operation *op, LDAPModList **modlist )
                bv.bv_val = op->o_dn;
                bv.bv_len = strlen( bv.bv_val );
        }
-       m = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
+       m = (Modifications *) ch_calloc( 1, sizeof(Modifications) );
        m->ml_type = ch_strdup( "modifiersname" );
        m->ml_op = LDAP_MOD_REPLACE;
        m->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
@@ -304,24 +315,28 @@ add_modified_attrs( Operation *op, LDAPModList **modlist )
 
        bv.bv_val = buf;
        bv.bv_len = strlen( bv.bv_val );
-       m = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
+       m = (Modifications *) ch_calloc( 1, sizeof(Modifications) );
        m->ml_type = ch_strdup( "modifytimestamp" );
        m->ml_op = LDAP_MOD_REPLACE;
        m->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
        m->ml_bvalues[0] = ber_bvdup( &bv );
        m->ml_next = *modlist;
        *modlist = m;
+#endif
 
        return LDAP_SUCCESS;
 }
 
 static void
 modlist_free(
-    LDAPModList        *ml
+    Modifications      *ml
 )
 {
-       LDAPModList *next;
+       Modifications *next;
 
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+       /* not yet implemented */
+#else
        for ( ; ml != NULL; ml = next ) {
                next = ml->ml_next;
 
@@ -333,4 +348,5 @@ modlist_free(
 
                free( ml );
        }
+#endif
 }
index d3360fd622e88deb05fbac6d20d3f3a2cccf7ff6..c83716784cd43855c16a58c0c57a7f3ebd2da4dc 100644 (file)
@@ -33,7 +33,7 @@ LIBSLAPD_F (int) acl_check_modlist LDAP_P(( Backend *be,
        Connection *conn,
        Operation *op,
        Entry *e,
-       LDAPModList *ml ));
+       Modifications *ml ));
 
 LIBSLAPD_F (void) acl_append( AccessControl **l, AccessControl *a );
 
index 7477e8406e1f5c41ff555833ac9d704e72c958f7..273286acbeb8fd6f7a6bd1259e00afdd22b2cbbb 100644 (file)
@@ -28,7 +28,7 @@ replog(
     void       *change
 )
 {
-       LDAPModList     *ml;
+       Modifications   *ml;
        Entry   *e;
        struct replog_moddn *moddn;
        char *tmp;
@@ -58,7 +58,10 @@ replog(
                fprintf( fp, "changetype: modify\n" );
                ml = change;
                for ( ; ml != NULL; ml = ml->ml_next ) {
-                       switch ( ml->ml_op & ~LDAP_MOD_BVALUES ) {
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+                       /* not yet implemented */
+#else
+                       switch ( ml->ml_op ) {
                        case LDAP_MOD_ADD:
                                fprintf( fp, "add: %s\n", ml->ml_type );
                                break;
@@ -92,6 +95,7 @@ replog(
 
                                free( buf );
                        }
+#endif
                        fprintf( fp, "-\n" );
                }
                break;
index 36f1649062534a0f0eca12cf49a93544557800cb..8e5c28fe9770ec2784fe67944cad1b3c182ff70c 100644 (file)
@@ -53,7 +53,8 @@ LDAP_BEGIN_DECL
  * modrdn when the new rdn was already an attribute value itself.
  * JCG 05/1999 (gomez@engr.sgi.com)
  */
-#define LDAP_MOD_SOFTADD       0x1000
+#define SLAP_MOD_SOFTADD       0x1000
+#undef LDAP_MOD_BVALUES
 
 #define ON     1
 #define OFF    (-1)
@@ -454,6 +455,34 @@ typedef struct slap_entry {
        void*   e_private;
 } Entry;
 
+/*
+ * A list of LDAPMods
+ */
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+typedef struct slap_mod {
+       int sm_op;
+       AttributeDescription sm_desc;
+       struct berval **sm_bvalues;
+} Modification;
+#else
+#define Modification LDAPMod
+#endif
+
+typedef struct slap_mod_list {
+       Modification ml_mod;
+#ifdef SLAPD_SCHEMA_NOT_COMPAT
+#define ml_op          ml_mod.sm_op
+#define ml_desc                ml_mod.sm_desc
+#define ml_bvalues     ml_mod.sm_bvalues
+#else
+#define ml_op          ml_mod.mod_op
+#define ml_type                ml_mod.mod_type
+#define ml_values      ml_mod.mod_values
+#define ml_bvalues     ml_mod.mod_bvalues
+#endif
+       struct slap_mod_list *ml_next;
+} Modifications;
+
 /*
  * represents an access control list
  */
@@ -589,18 +618,8 @@ typedef struct slap_acl {
 } AccessControl;
 
 /*
- * A list of LDAPMods
+ * replog moddn param structure
  */
-typedef struct ldapmodlist {
-       struct ldapmod ml_mod;
-       struct ldapmodlist *ml_next;
-#define ml_op          ml_mod.mod_op
-#define ml_type                ml_mod.mod_type
-#define ml_values      ml_mod.mod_values
-#define ml_bvalues     ml_mod.mod_bvalues
-} LDAPModList;
-
-
 struct replog_moddn {
        char *newrdn;
        int     deloldrdn;
@@ -802,7 +821,7 @@ struct slap_backend_info {
 #endif
        int     (*bi_op_modify) LDAP_P((BackendDB *bd,
                struct slap_conn *c, struct slap_op *o,
-               char *dn, char *ndn, LDAPModList *m));
+               char *dn, char *ndn, Modifications *m));
        int     (*bi_op_modrdn) LDAP_P((BackendDB *bd,
                struct slap_conn *c, struct slap_op *o,
                char *dn, char *ndn, char *newrdn, int deleteoldrdn,