Commit fc6f282b authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

Fixed slapd replication of dSAOperation attributes (ITS#5268)

parent 07bb97db
...@@ -11,6 +11,7 @@ OpenLDAP 2.4.7 Release (2007/12/01) ...@@ -11,6 +11,7 @@ OpenLDAP 2.4.7 Release (2007/12/01)
Fixed slapd core schema 'c' definition for RFC4519 (ITS#5236) Fixed slapd core schema 'c' definition for RFC4519 (ITS#5236)
Fixed slapd 3-way Multi-Master Replication (ITS#5238) Fixed slapd 3-way Multi-Master Replication (ITS#5238)
Fixed slapd hash collisions in index slots (ITS#5183) Fixed slapd hash collisions in index slots (ITS#5183)
Fixed slapd replication of dSAOperation attributes (ITS#5268)
Fixed slapadd contextCSN updating (ITS#5225) Fixed slapadd contextCSN updating (ITS#5225)
Fixed slapd-bdb/hdb to report and fail on internal errors (ITS#5232) Fixed slapd-bdb/hdb to report and fail on internal errors (ITS#5232)
Fixed slapd-bdb/hdb dn2entry lock bug (ITS#5257) Fixed slapd-bdb/hdb dn2entry lock bug (ITS#5257)
......
...@@ -2321,6 +2321,12 @@ syncprov_operational( ...@@ -2321,6 +2321,12 @@ syncprov_operational(
slap_overinst *on = (slap_overinst *)op->o_bd->bd_info; slap_overinst *on = (slap_overinst *)op->o_bd->bd_info;
syncprov_info_t *si = (syncprov_info_t *)on->on_bi.bi_private; syncprov_info_t *si = (syncprov_info_t *)on->on_bi.bi_private;
/* This prevents generating unnecessarily; frontend will strip
* any statically stored copy.
*/
if ( op->o_sync != SLAP_CONTROL_NONE )
return SLAP_CB_CONTINUE;
if ( rs->sr_entry && if ( rs->sr_entry &&
dn_match( &rs->sr_entry->e_nname, op->o_bd->be_nsuffix )) { dn_match( &rs->sr_entry->e_nname, op->o_bd->be_nsuffix )) {
......
...@@ -898,12 +898,16 @@ slap_send_search_entry( Operation *op, SlapReply *rs ) ...@@ -898,12 +898,16 @@ slap_send_search_entry( Operation *op, SlapReply *rs )
} else { } else {
/* specific attrs requested */ /* specific attrs requested */
if ( is_at_operational( desc->ad_type ) ) { if ( is_at_operational( desc->ad_type ) ) {
if ( !SLAP_OPATTRS( rs->sr_attr_flags ) && /* if not explicitly requested */
!ad_inlist( desc, rs->sr_attrs ) ) if ( !ad_inlist( desc, rs->sr_attrs )) {
{ /* if not all op attrs requested, skip */
if ( !SLAP_OPATTRS( rs->sr_attr_flags ))
continue;
/* if DSA-specific and replicating, skip */
if ( op->o_sync != SLAP_CONTROL_NONE &&
desc->ad_type->sat_usage == LDAP_SCHEMA_DSA_OPERATION )
continue; continue;
} }
} else { } else {
if ( !userattrs && !ad_inlist( desc, rs->sr_attrs ) ) { if ( !userattrs && !ad_inlist( desc, rs->sr_attrs ) ) {
continue; continue;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment