X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldap%2Fadd.c;h=699503aca8e25093a511afa326f6c733a8de9b66;hb=8b954144d612e78da4c8c815007717fc9781cab6;hp=adf80638185f9d177f7e89177f9877160324cd27;hpb=1ac20b1f02df83ff8c3a19bf5a2608057d09c852;p=openldap diff --git a/servers/slapd/back-ldap/add.c b/servers/slapd/back-ldap/add.c index adf8063818..699503aca8 100644 --- a/servers/slapd/back-ldap/add.c +++ b/servers/slapd/back-ldap/add.c @@ -42,12 +42,12 @@ ldap_back_add( Attribute *a; LDAPMod **attrs; struct berval mapped; - struct berval mdn = { 0, NULL }; + struct berval mdn = BER_BVNULL; ber_int_t msgid; dncookie dc; int isupdate; -#ifdef LDAP_BACK_PROXY_AUTHZ LDAPControl **ctrls = NULL; +#ifdef LDAP_BACK_PROXY_AUTHZ int rc = LDAP_SUCCESS; #endif /* LDAP_BACK_PROXY_AUTHZ */ @@ -69,7 +69,7 @@ ldap_back_add( #ifdef ENABLE_REWRITE dc.conn = op->o_conn; dc.rs = rs; - dc.ctx = "addDn"; + dc.ctx = "addDN"; #else dc.tofrom = 1; dc.normalized = 0; @@ -87,10 +87,10 @@ ldap_back_add( attrs = (LDAPMod **)ch_malloc(sizeof(LDAPMod *)*i); #ifdef ENABLE_REWRITE - dc.ctx = "addDnAttr"; + dc.ctx = "addAttrDN"; #endif - isupdate = be_isupdate( op->o_bd, &op->o_ndn ); + isupdate = be_shadow_update( op ); for (i=0, a=op->oq_add.rs_e->e_attrs; a; a=a->a_next) { if ( !isupdate && a->a_desc->ad_type->sat_no_user_mod ) { continue; @@ -128,6 +128,7 @@ ldap_back_add( } attrs[i] = NULL; + ctrls = op->o_ctrls; #ifdef LDAP_BACK_PROXY_AUTHZ rc = ldap_back_proxy_authz_ctrl( lc, op, rs, &ctrls ); if ( rc != LDAP_SUCCESS ) { @@ -136,12 +137,7 @@ ldap_back_add( #endif /* LDAP_BACK_PROXY_AUTHZ */ rs->sr_err = ldap_add_ext(lc->ld, mdn.bv_val, attrs, -#ifdef LDAP_BACK_PROXY_AUTHZ - ctrls, -#else /* ! LDAP_BACK_PROXY_AUTHZ */ - op->o_ctrls, -#endif /* ! LDAP_BACK_PROXY_AUTHZ */ - NULL, &msgid); + ctrls, NULL, &msgid); #ifdef LDAP_BACK_PROXY_AUTHZ cleanup: