diff options
author | Andrew Bartlett <abartlet@samba.org> | 2006-07-12 04:59:41 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:10:04 -0500 |
commit | 32ab51876728577375b954a04103f71ddd4d93dc (patch) | |
tree | 99ece19cb36fc02d90ec07f2498e9b1a34c5c237 /source4/lib/ldb/common | |
parent | b1a92083d8bbfcf917d2a567833bf6925067718e (diff) | |
download | samba-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.c | 10 |
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) { |