r22159: BUG 4501 (second half of fix): Just disable the
authorGerald Carter <jerry@samba.org>
Tue, 10 Apr 2007 22:59:42 +0000 (22:59 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:19:18 +0000 (12:19 -0500)
uid/gid allocation if no idmap alloca backend has been
defined and we are not using a 3.0.24 idmap backend
compatible configuration.

source/nsswitch/idmap.c

index 1bd93affac86236b0a87a326b15d969fd95452c3..c68d69dfb249a00ec553e6e0469263e49dfaf9de 100644 (file)
@@ -259,7 +259,7 @@ NTSTATUS idmap_init(void)
        char *compat_backend = NULL;
        char *compat_params = NULL;
        const char **dom_list = NULL;
-       char *alloc_backend;
+       char *alloc_backend = NULL;
        BOOL default_already_defined = False;
        BOOL pri_dom_is_in_list = False;
        int compat = 0;
@@ -561,11 +561,11 @@ NTSTATUS idmap_init(void)
        }
 
 
-       /***************************
-        * initialize alloc module
-        */
-       DEBUG(1, ("Initializing idmap alloc module\n"));
+       /* Initialize alloc module */
+
+       DEBUG(3, ("Initializing idmap alloc module\n"));
 
+       alloc_backend = NULL;
        if (compat) {
                alloc_backend = talloc_strdup(idmap_ctx, compat_backend);
        } else {
@@ -573,11 +573,10 @@ NTSTATUS idmap_init(void)
                
                if (ab && (ab[0] != '\0')) {
                        alloc_backend = talloc_strdup(idmap_ctx, lp_idmap_alloc_backend());
-               } else {
-                       alloc_backend = talloc_strdup(idmap_ctx, "tdb");
                }
        }
-       IDMAP_CHECK_ALLOC(alloc_backend);
+
+       if ( alloc_backend ) {
 
        alloc_methods = get_alloc_methods(alloc_backends, alloc_backend);
        if ( ! alloc_methods) {
@@ -603,6 +602,7 @@ NTSTATUS idmap_init(void)
                else
                        ret = NT_STATUS_UNSUCCESSFUL;
        }
+       }
 
        /* cleanpu temporary strings */
        TALLOC_FREE( compat_backend );