LDB:ldb_comparison_dn() - let "ldb_dn_compare()" perform all checks
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Tue, 4 Sep 2012 17:34:16 +0000 (19:34 +0200)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Thu, 6 Sep 2012 07:27:14 +0000 (09:27 +0200)
Special index entries can contain invalid DNs which are however
linearized. Allow to compare them correctly and do not bail out
prematurely using ldb_dn_validate().

Such special DNs are created at the time of provisioning.

lib/ldb/common/attrib_handlers.c

index daeb422aca3c6c54a43dfb6367fb106048724b87..bebc7d6b42f5f42fe8f201d8dd64efa64ad3b9df 100644 (file)
@@ -347,13 +347,7 @@ static int ldb_comparison_dn(struct ldb_context *ldb, void *mem_ctx,
        int ret;
 
        dn1 = ldb_dn_from_ldb_val(mem_ctx, ldb, v1);
-       if ( ! ldb_dn_validate(dn1)) return -1;
-
        dn2 = ldb_dn_from_ldb_val(mem_ctx, ldb, v2);
-       if ( ! ldb_dn_validate(dn2)) {
-               talloc_free(dn1);
-               return -1;
-       } 
 
        ret = ldb_dn_compare(dn1, dn2);