summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2006-07-12 04:59:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:10:04 -0500
commit32ab51876728577375b954a04103f71ddd4d93dc (patch)
tree99ece19cb36fc02d90ec07f2498e9b1a34c5c237 /source4/lib/ldb/common
parentb1a92083d8bbfcf917d2a567833bf6925067718e (diff)
downloadsamba-32ab51876728577375b954a04103f71ddd4d93dc.tar.gz
samba-32ab51876728577375b954a04103f71ddd4d93dc.tar.bz2
samba-32ab51876728577375b954a04103f71ddd4d93dc.zip
r16972: Replace the sequence_number function pointer in ldb with the ldb flags.
The function pointer was meant to be unused, this patch fixes partition.c to use ldb_sequence_number(). (No backend provided the pointer any more). Set the flags onto the ldb structure, so that all backends opened by the partitions module inherit the flags. Set the read-ony flag when accessed as the global catalog Modify the LDAP server to track that this query is for the global catalog (by incoming port), and set a opqaue pointer. Next step is to read that opaque pointer in the partitions module. Andrew Bartlett (This used to be commit a1161cb30e4ffa09657a89e03ca85dd6efd4feba)
Diffstat (limited to 'source4/lib/ldb/common')
-rw-r--r--source4/lib/ldb/common/ldb.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source4/lib/ldb/common/ldb.c b/source4/lib/ldb/common/ldb.c
index c059646629..8e814778d1 100644
--- a/source4/lib/ldb/common/ldb.c
+++ b/source4/lib/ldb/common/ldb.c
@@ -103,7 +103,7 @@ static ldb_connect_fn ldb_find_backend(const char *url)
This allows modules to get at only the backend module, for example where a module
may wish to direct certain requests at a particular backend.
*/
-int ldb_connect_backend(struct ldb_context *ldb, const char *url, unsigned int flags, const char *options[],
+int ldb_connect_backend(struct ldb_context *ldb, const char *url, const char *options[],
struct ldb_module **backend_module)
{
int ret;
@@ -132,7 +132,7 @@ int ldb_connect_backend(struct ldb_context *ldb, const char *url, unsigned int f
return LDB_ERR_OTHER;
}
- ret = fn(ldb, url, flags, options, backend_module);
+ ret = fn(ldb, url, ldb->flags, options, backend_module);
if (ret != LDB_SUCCESS) {
ldb_debug(ldb, LDB_DEBUG_ERROR, "Failed to connect to '%s'\n", url);
@@ -156,7 +156,9 @@ int ldb_connect(struct ldb_context *ldb, const char *url, unsigned int flags, co
{
int ret;
- ret = ldb_connect_backend(ldb, url, flags, options, &ldb->modules);
+ ldb->flags = flags;
+
+ ret = ldb_connect_backend(ldb, url, options, &ldb->modules);
if (ret != LDB_SUCCESS) {
return ret;
}
@@ -701,7 +703,7 @@ int ldb_rename(struct ldb_context *ldb, const struct ldb_dn *olddn, const struct
/*
- rename a record in the database
+ return the global sequence number
*/
int ldb_sequence_number(struct ldb_context *ldb, uint64_t *seq_num)
{