X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fcompare.c;h=230602895a597849c61e6b39106d69634bd71e2e;hb=3cdba151ad18dba10786fde4464442ddaf67b5fe;hp=55dca8040574af004bda49dc380f1cea6ba38043;hpb=eb9a3c18767fe87d2a1f7fbbc6b3d676779eb5b7;p=openldap diff --git a/servers/slapd/compare.c b/servers/slapd/compare.c index 55dca80405..230602895a 100644 --- a/servers/slapd/compare.c +++ b/servers/slapd/compare.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2006 The OpenLDAP Foundation. + * Copyright 1998-2007 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -243,7 +243,13 @@ fe_op_compare( Operation *op, SlapReply *rs ) ava.aa_desc->ad_cname.bv_val, 0, 0 ); op->orc_ava = &ava; - if ( ava.aa_desc == slap_schema.si_ad_entryDN ) { + + if ( SLAP_SHADOW(op->o_bd) && get_dontUseCopy(op) ) { + /* don't use shadow copy */ + send_ldap_error( op, rs, LDAP_UNWILLING_TO_PERFORM, + "copy not used" ); + + } else if ( ava.aa_desc == slap_schema.si_ad_entryDN ) { send_ldap_error( op, rs, LDAP_UNWILLING_TO_PERFORM, "entryDN compare not supported" );