From: Howard Chu Date: Sat, 8 Dec 2007 17:44:15 +0000 (+0000) Subject: ITS#5268 don't replicate dSAOperation attributes unless specifically X-Git-Tag: OPENLDAP_REL_ENG_2_4_9~20^2~334 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=bcc108a7ff87387406915fa98ccfe1eb54bb1abe;p=openldap ITS#5268 don't replicate dSAOperation attributes unless specifically requested. (It doesn't actually make sense to request them in that case, but allow it.) --- diff --git a/servers/slapd/result.c b/servers/slapd/result.c index eccc035832..0afad284eb 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -898,12 +898,16 @@ slap_send_search_entry( Operation *op, SlapReply *rs ) } else { /* specific attrs requested */ if ( is_at_operational( desc->ad_type ) ) { - if ( !SLAP_OPATTRS( rs->sr_attr_flags ) && - !ad_inlist( desc, rs->sr_attrs ) ) - { - continue; + /* if not explicitly requested */ + 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; } - } else { if ( !userattrs && !ad_inlist( desc, rs->sr_attrs ) ) { continue;