Merge branch 'v4-0-test' of /home/jelmer/samba4
authorJelmer Vernooij <jelmer@samba.org>
Wed, 21 Jan 2009 13:07:38 +0000 (14:07 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Wed, 21 Jan 2009 13:07:38 +0000 (14:07 +0100)
docs-xml/manpages-3/idmap_ldap.8.xml
docs-xml/manpages-3/idmap_tdb.8.xml
docs-xml/manpages-3/idmap_tdb2.8.xml
source4/dsdb/common/util.c
source4/lib/ldb/common/ldb.c
source4/lib/ldb/config.mk
source4/lib/ldb/include/ldb_includes.h
source4/lib/ldb/ldb_ildap/ldb_ildap.c
source4/lib/ldb/ldb_tdb/ldb_tdb.c
source4/lib/ldb/pyldb.c
source4/lib/ldb/python.mk

index ea9e5bf07ea69229972af34398dbc6ea99dba9fe..0c8fa3c3ebc0828471438a11c7dfcbeb282b972d 100644 (file)
        <para>The idmap_ldap plugin provides a means for Winbind to
        store and retrieve SID/uid/gid mapping tables in an LDAP directory
        service.
+       </para>
+
+       <para>
        In contrast to read only backends like idmap_rid, it is an allocating
-       backend: This means that it needs to allocate new user and group IDs to
-       create new mappings as requests to yet unmapped users are answered.
+       backend: This means that it needs to allocate new user and group IDs in
+       order to create new mappings. The allocator can be provided by the
+       idmap_ldap backend itself or by any other allocating backend like
+       idmap_tdb or idmap_tdb2. This is configured with the
+       parameter <parameter>idmap alloc backend</parameter>.
        </para>
 
        <para>
index fb23076d088739e437f0a885b4237b0f3f12692d..2b4c050966b2598463c310f28cc7202c6416ba6e 100644 (file)
 
        <para>
        The idmap_tdb plugin is the default backend used by winbindd
-       for storing SID/uid/gid mapping tables. In contrast to read only
-       backends like idmap_rid, it is an allocating backend:
-       This means that it needs to allocate new user and group IDs
-       to create new mappings as requests to yet unmapped users are answered.
+       for storing SID/uid/gid mapping tables.
+       </para>
+
+       <para>
+       In contrast to read only backends like idmap_rid, it is an allocating
+       backend: This means that it needs to allocate new user and group IDs in
+       order to create new mappings. The allocator can be provided by the
+       idmap_tdb backend itself or by any other allocating backend like
+       idmap_ldap or idmap_tdb2. This is configured with the
+       parameter <parameter>idmap alloc backend</parameter>.
        </para>
 
        <para>
index 6b303b48226180fa61da3b4bebc95a95c2c51dea..4f19ba103ab923d1c48fa40b6bcc79e4c8560e46 100644 (file)
        </para>
 
        <para>
-       In contrast to read only
-       backends like idmap_rid, it is an allocating backend:
-       This means that it needs to allocate new user and group IDs
-       to create new mappings as requests to yet unmapped users are answered.
+       In contrast to read only backends like idmap_rid, it is an allocating
+       backend: This means that it needs to allocate new user and group IDs in
+       order to create new mappings. The allocator can be provided by the
+       idmap_tdb2 backend itself or by any other allocating backend like
+       idmap_tdb or idmap_ldap. This is configured with the
+       parameter <parameter>idmap alloc backend</parameter>.
        </para>
 
        <para>
 
        <programlisting>
        [global]
-       # "idmap backend = tdb2" is redundant here since it is the default
        idmap backend = tdb2
        idmap uid = 1000000-2000000
        idmap gid = 1000000-2000000
index 2161286e08c6816f90069b537c6ffd23abdeacf5..b02a16229395f26938fe24ca8a0f8959cef42ad0 100644 (file)
@@ -22,7 +22,7 @@
 */
 
 #include "includes.h"
-#include "events.h"
+#include "events/events.h"
 #include "ldb.h"
 #include "ldb_errors.h"
 #include "../lib/util/util_ldb.h"
index 444336244828e4b4dd301eae49af21c54894e7f7..fe55d1499ac1749327b9df79c35be3627c932f6d 100644 (file)
@@ -48,7 +48,7 @@ struct ldb_context *ldb_init(TALLOC_CTX *mem_ctx, struct tevent_context *ev_ctx)
        /* FIXME: Hack a new event context so that CMD line utilities work
         * until we have them all converted */
        if (ev_ctx == NULL) {
-               ev_ctx = event_context_init(talloc_autofree_context());
+               ev_ctx = tevent_context_init(talloc_autofree_context());
        }
 
        ret = ldb_setup_wellknown_attributes(ldb);
@@ -394,6 +394,7 @@ static int ldb_autotransaction_request(struct ldb_context *ldb,
 int ldb_wait(struct ldb_handle *handle, enum ldb_wait_type type)
 {
        struct tevent_context *ev;
+       int ret;
 
        if (!handle) {
                return LDB_ERR_UNAVAILABLE;
@@ -410,7 +411,10 @@ int ldb_wait(struct ldb_handle *handle, enum ldb_wait_type type)
 
        switch (type) {
        case LDB_WAIT_NONE:
-               event_loop_once(ev);
+               ret = tevent_loop_once(ev);
+               if (ret != 0) {
+                       return LDB_ERR_OPERATIONS_ERROR;
+               }
                if (handle->state == LDB_ASYNC_DONE ||
                    handle->status != LDB_SUCCESS) {
                        return handle->status;
@@ -419,7 +423,10 @@ int ldb_wait(struct ldb_handle *handle, enum ldb_wait_type type)
 
        case LDB_WAIT_ALL:
                while (handle->state != LDB_ASYNC_DONE) {
-                       event_loop_once(ev);
+                       ret = tevent_loop_once(ev);
+                       if (ret != 0) {
+                               return LDB_ERR_OPERATIONS_ERROR;
+                       }
                        if (handle->status != LDB_SUCCESS) {
                                return handle->status;
                        }
index fe3b71d1d54dbd931f397d1d77da47970370d061..6fcf3943d05865977bdd829b9d04de260239fc64 100644 (file)
@@ -1,7 +1,7 @@
 ################################################
 # Start MODULE ldb_asq
 [MODULE::ldb_asq]
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 CFLAGS = -I$(ldbsrcdir)/include
 INIT_FUNCTION = LDB_MODULE(asq)
 SUBSYSTEM = LIBLDB
@@ -13,7 +13,7 @@ ldb_asq_OBJ_FILES = $(ldbsrcdir)/modules/asq.o
 ################################################
 # Start MODULE ldb_server_sort
 [MODULE::ldb_server_sort]
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 CFLAGS = -I$(ldbsrcdir)/include
 INIT_FUNCTION = LDB_MODULE(server_sort)
 SUBSYSTEM = LIBLDB
@@ -27,7 +27,7 @@ ldb_server_sort_OBJ_FILES = $(ldbsrcdir)/modules/sort.o
 [MODULE::ldb_paged_results]
 INIT_FUNCTION = LDB_MODULE(paged_results)
 CFLAGS = -I$(ldbsrcdir)/include
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 SUBSYSTEM = LIBLDB
 # End MODULE ldb_paged_results
 ################################################
@@ -39,7 +39,7 @@ ldb_paged_results_OBJ_FILES = $(ldbsrcdir)/modules/paged_results.o
 [MODULE::ldb_paged_searches]
 INIT_FUNCTION = LDB_MODULE(paged_searches)
 CFLAGS = -I$(ldbsrcdir)/include
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 SUBSYSTEM = LIBLDB
 # End MODULE ldb_paged_results
 ################################################
@@ -51,7 +51,7 @@ ldb_paged_searches_OBJ_FILES = $(ldbsrcdir)/modules/paged_searches.o
 [MODULE::ldb_operational]
 SUBSYSTEM = LIBLDB
 CFLAGS = -I$(ldbsrcdir)/include
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 INIT_FUNCTION = LDB_MODULE(operational)
 # End MODULE ldb_operational
 ################################################
@@ -63,7 +63,7 @@ ldb_operational_OBJ_FILES = $(ldbsrcdir)/modules/operational.o
 [MODULE::ldb_rdn_name]
 SUBSYSTEM = LIBLDB
 CFLAGS = -I$(ldbsrcdir)/include
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 INIT_FUNCTION = LDB_MODULE(rdn_name)
 # End MODULE ldb_rdn_name
 ################################################
@@ -79,7 +79,7 @@ $(ldb_map_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)/ldb_map
 [MODULE::ldb_skel]
 SUBSYSTEM = LIBLDB
 CFLAGS = -I$(ldbsrcdir)/include
-PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT
 INIT_FUNCTION = LDB_MODULE(skel)
 # End MODULE ldb_skel
 ################################################
@@ -91,7 +91,7 @@ ldb_skel_OBJ_FILES = $(ldbsrcdir)/modules/skel.o
 [MODULE::ldb_sqlite3]
 SUBSYSTEM = LIBLDB
 CFLAGS = -I$(ldbsrcdir)/include
-PRIVATE_DEPENDENCIES = LIBTALLOC SQLITE3 LIBEVENTS
+PRIVATE_DEPENDENCIES = LIBTALLOC SQLITE3 LIBTEVENT
 INIT_FUNCTION = LDB_BACKEND(sqlite3)
 # End MODULE ldb_sqlite3
 ################################################
@@ -104,7 +104,7 @@ ldb_sqlite3_OBJ_FILES = $(ldbsrcdir)/ldb_sqlite3/ldb_sqlite3.o
 SUBSYSTEM = LIBLDB
 CFLAGS = -I$(ldbsrcdir)/include -I$(ldbsrcdir)/ldb_tdb
 PRIVATE_DEPENDENCIES = \
-               LIBTDB LIBTALLOC LIBEVENTS
+               LIBTDB LIBTALLOC LIBTEVENT
 INIT_FUNCTION = LDB_BACKEND(tdb)
 # End MODULE ldb_tdb
 ################################################
@@ -117,7 +117,7 @@ ldb_tdb_OBJ_FILES = $(addprefix $(ldbsrcdir)/ldb_tdb/, ldb_tdb.o ldb_search.o ld
 [LIBRARY::LIBLDB]
 CFLAGS = -I$(ldbsrcdir)/include
 PUBLIC_DEPENDENCIES = \
-               LIBTALLOC LIBEVENTS
+               LIBTALLOC LIBTEVENT
 PRIVATE_DEPENDENCIES = \
                SOCKET_WRAPPER
 
index 29c7b2dc5a5eaedb616f37ad4c0aa023ff6c32b3..8356404409b9120e9e50f384126877a286ec9e4c 100644 (file)
@@ -19,8 +19,8 @@
 #include "replace.h"
 #include "system/filesys.h"
 #include "system/time.h"
-#include "talloc.h"
-#include "events.h"
+#include <talloc.h>
+#include <tevent.h>
 #include "ldb.h"
 #include "ldb_errors.h"
 #include "ldb_private.h"
index 9e31bc62bbb76981605175ef08f96916a8b8ea57..791cc75dc1176cec82918093661c8711f823d170 100644 (file)
@@ -389,9 +389,9 @@ static int ildb_request_send(struct ildb_context *ac, struct ldap_message *msg)
        talloc_free(req->time_event);
        req->time_event = NULL;
        if (ac->req->timeout) {
-               req->time_event = event_add_timed(ac->ildb->event_ctx, ac,
-                                                 timeval_current_ofs(ac->req->timeout, 0),
-                                                 ildb_request_timeout, ac);
+               req->time_event = tevent_add_timer(ac->ildb->event_ctx, ac,
+                                                  timeval_current_ofs(ac->req->timeout, 0),
+                                                  ildb_request_timeout, ac);
        }
 
        req->async.fn = ildb_callback;
@@ -683,9 +683,9 @@ static int ildb_handle_request(struct ldb_module *module, struct ldb_request *re
 
        if (ildb_dn_is_special(req)) {
 
-               te = event_add_timed(ac->ildb->event_ctx,
-                                       ac, timeval_zero(),
-                                       ildb_auto_done_callback, ac);
+               te = tevent_add_timer(ac->ildb->event_ctx,
+                                     ac, timeval_zero(),
+                                     ildb_auto_done_callback, ac);
                if (NULL == te) {
                        return LDB_ERR_OPERATIONS_ERROR;
                }
index 76469e356b759d0c237313f54884e112dc438691..9528f5a6626a7be71219fac49f1473a72fbecea6 100644 (file)
@@ -1122,13 +1122,13 @@ static int ltdb_handle_request(struct ldb_module *module,
 
        tv.tv_sec = 0;
        tv.tv_usec = 0;
-       te = event_add_timed(ev, ac, tv, ltdb_callback, ac);
+       te = tevent_add_timer(ev, ac, tv, ltdb_callback, ac);
        if (NULL == te) {
                return LDB_ERR_OPERATIONS_ERROR;
        }
 
        tv.tv_sec = req->starttime + req->timeout;
-       ac->timeout_event = event_add_timed(ev, ac, tv, ltdb_timeout, ac);
+       ac->timeout_event = tevent_add_timer(ev, ac, tv, ltdb_timeout, ac);
        if (NULL == ac->timeout_event) {
                return LDB_ERR_OPERATIONS_ERROR;
        }
index 89ef7aeddf2e861fc2a5c9cd6234bcd34220817b..9e98363c6f6e88136c68c2b6d561a245c519a452 100644 (file)
@@ -525,7 +525,7 @@ static PyObject *py_ldb_new(PyTypeObject *type, PyObject *args, PyObject *kwargs
 {
        PyLdbObject *ret;
        struct ldb_context *ldb;
-       ldb = ldb_init(NULL, event_context_init(NULL)); 
+       ldb = ldb_init(NULL, NULL);
        if (ldb == NULL) {
                PyErr_NoMemory();
                return NULL;
index a672c079a2fc1b082e2b5bb9cde1c8fc9bea203a..6e73b7e33dd283a401446320fcf51c8775147983 100644 (file)
@@ -1,8 +1,8 @@
-[PYTHON::swig_ldb]
+[PYTHON::pyldb]
 LIBRARY_REALNAME = ldb.$(SHLIBEXT)
-PUBLIC_DEPENDENCIES = LIBLDB LIBEVENTS PYTALLOC
+PUBLIC_DEPENDENCIES = LIBLDB PYTALLOC
 
-swig_ldb_OBJ_FILES = $(ldbsrcdir)/pyldb.o
-$(swig_ldb_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)/include
+pyldb_OBJ_FILES = $(ldbsrcdir)/pyldb.o
+$(pyldb_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)/include
 
-$(swig_ldb_OBJ_FILES): CFLAGS+=$(CFLAG_NO_CAST_QUAL)
+$(pyldb_OBJ_FILES): CFLAGS+=$(CFLAG_NO_CAST_QUAL)