]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/compare.c
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / servers / slapd / compare.c
index 0cc3181645d7ce7f22120f6e9b439f2657d94391..4b11aae38a4f6c230f0c2f1a4b4810046285699d 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2010 The OpenLDAP Foundation.
+ * Copyright 1998-2012 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -362,6 +362,13 @@ int slap_compare_entry(
                goto done;
        }
 
+       if ( get_assert( op ) &&
+               ( test_filter( op, e, get_assertion( op )) != LDAP_COMPARE_TRUE ))
+       {
+               rc = LDAP_ASSERTION_FAILED;
+               goto done;
+       }
+
        a = attrs_find( e->e_attrs, ava->aa_desc );
        if( a == NULL ) {
                rc = LDAP_NO_SUCH_ATTRIBUTE;