Author: mkhl
Date: 2006-07-15 18:35:26 +0000 (Sat, 15 Jul 2006)
New Revision: 17072

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17072

Log:
When a parse-tree contains only remote parts, use a new parse-tree
that searches records pointing to remote parts for the local search.

Martin

Modified:
   branches/SOC/mkhl/ldb-map/modules/ldb_map.c


Changeset:
Modified: branches/SOC/mkhl/ldb-map/modules/ldb_map.c
===================================================================
--- branches/SOC/mkhl/ldb-map/modules/ldb_map.c 2006-07-15 18:33:32 UTC (rev 
17071)
+++ branches/SOC/mkhl/ldb-map/modules/ldb_map.c 2006-07-15 18:35:26 UTC (rev 
17072)
@@ -2073,6 +2073,19 @@
        if (ret != LDB_SUCCESS)
                goto failed;
 
+       /* if there is no local tree, search for records with remote parts */
+       if (remote_tree && !local_tree) {
+               local_tree = talloc_zero(ac->local_req, struct ldb_parse_tree);
+               if (local_tree == NULL) {
+                       map_oom(module);
+                       goto failed;
+               }
+
+               local_tree->operation = LDB_OP_PRESENT;
+               local_tree->u.present.attr
+                       = talloc_strdup(local_tree, IS_MAPPED);
+       }
+
        ac->local_req->op.search.tree = local_tree;
        ac->remote_tree = remote_tree;
 

Reply via email to