From: Pierangelo Masarati Date: Wed, 22 Aug 2007 14:41:42 +0000 (+0000) Subject: don't Statslog before getting controls X-Git-Tag: OPENLDAP_REL_ENG_2_4_MP~139 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=63b6bfd1a4532fc8b7699e59554aaf3d6abd3f97;p=openldap don't Statslog before getting controls --- diff --git a/servers/slapd/add.c b/servers/slapd/add.c index 015466f12c..280fb4f20f 100644 --- a/servers/slapd/add.c +++ b/servers/slapd/add.c @@ -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" );