]> git.sur5r.net Git - openldap/commitdiff
don't Statslog before getting controls
authorPierangelo Masarati <ando@openldap.org>
Wed, 22 Aug 2007 14:41:42 +0000 (14:41 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 22 Aug 2007 14:41:42 +0000 (14:41 +0000)
servers/slapd/add.c

index 015466f12cef07c4575ea7863be368904761fae2..280fb4f20f5c083b564285330ebe7fa6c993f885 100644 (file)
@@ -72,25 +72,8 @@ do_add( Operation *op, SlapReply *rs )
                return SLAPD_DISCONNECT;
        }
 
-       rs->sr_err = dnPrettyNormal( NULL, &dn, &op->o_req_dn, &op->o_req_ndn,
-               op->o_tmpmemctx );
-
-       if ( rs->sr_err != LDAP_SUCCESS ) {
-               Debug( LDAP_DEBUG_ANY, "%s do_add: invalid dn (%s)\n",
-                       op->o_log_prefix, dn.bv_val, 0 );
-               send_ldap_error( op, rs, LDAP_INVALID_DN_SYNTAX, "invalid DN" );
-               goto done;
-       }
-
-       Statslog( LDAP_DEBUG_STATS, "%s ADD dn=\"%s\"\n",
-           op->o_log_prefix, op->o_req_dn.bv_val, 0, 0, 0 );
-
-       op->ora_e = entry_alloc();
-       ber_dupbv( &op->ora_e->e_name, &op->o_req_dn );
-       ber_dupbv( &op->ora_e->e_nname, &op->o_req_ndn );
-
        Debug( LDAP_DEBUG_ARGS, "%s do_add: dn (%s)\n",
-               op->o_log_prefix, op->ora_e->e_dn, 0 );
+               op->o_log_prefix, dn.bv_val, 0 );
 
        /* get the attrs */
        for ( tag = ber_first_element( ber, &len, &last ); tag != LBER_DEFAULT;
@@ -146,6 +129,23 @@ do_add( Operation *op, SlapReply *rs )
                goto done;
        } 
 
+       rs->sr_err = dnPrettyNormal( NULL, &dn, &op->o_req_dn, &op->o_req_ndn,
+               op->o_tmpmemctx );
+
+       if ( rs->sr_err != LDAP_SUCCESS ) {
+               Debug( LDAP_DEBUG_ANY, "%s do_add: invalid dn (%s)\n",
+                       op->o_log_prefix, dn.bv_val, 0 );
+               send_ldap_error( op, rs, LDAP_INVALID_DN_SYNTAX, "invalid DN" );
+               goto done;
+       }
+
+       op->ora_e = entry_alloc();
+       ber_dupbv( &op->ora_e->e_name, &op->o_req_dn );
+       ber_dupbv( &op->ora_e->e_nname, &op->o_req_ndn );
+
+       Statslog( LDAP_DEBUG_STATS, "%s ADD dn=\"%s\"\n",
+           op->o_log_prefix, op->o_req_dn.bv_val, 0, 0, 0 );
+
        if ( modlist == NULL ) {
                send_ldap_error( op, rs, LDAP_PROTOCOL_ERROR,
                        "no attributes provided" );