]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/add.c
fix rewrite iteration
[openldap] / servers / slapd / back-ldap / add.c
index d7e145d8b754dd1cad210a2304ace365d612ae8d..465d800f4eae2eb6ce352bf29998a552b6394248 100644 (file)
@@ -79,8 +79,10 @@ ldap_back_add(
 #ifdef ENABLE_REWRITE
        switch (rewrite_session( li->rwinfo, "addDn", e->e_dn, conn, &mdn.bv_val )) {
        case REWRITE_REGEXEC_OK:
-               if ( mdn.bv_val == NULL ) {
-                       mdn.bv_val = e->e_dn;
+               if ( mdn.bv_val != NULL && mdn.bv_val[ 0 ] != '\0' ) {
+                       mdn.bv_len = strlen( mdn.bv_val );
+               } else {
+                       mdn = e->e_name;
                }
 #ifdef NEW_LOGGING
                LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1,