From bcc108a7ff87387406915fa98ccfe1eb54bb1abe Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sat, 8 Dec 2007 17:44:15 +0000 Subject: [PATCH] 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.) --- servers/slapd/result.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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; -- 2.39.5