s3:idmap_tdb2: don't parse config and fill filter_low_id and filter_high_id
authorMichael Adam <obnox@samba.org>
Wed, 16 Jun 2010 15:17:44 +0000 (17:17 +0200)
committerMichael Adam <obnox@samba.org>
Sat, 14 Aug 2010 00:10:44 +0000 (02:10 +0200)
into idmap_tdb2_context in idmap_tdb2_db_init().
Now these are taken from the idmap_domain struct instead.

source3/winbindd/idmap_tdb2.c

index e6416f1eeef96f9cbf3dec64be88a5720136e063..14233143752374847610e1e6d5518f38f9da3e73 100644 (file)
@@ -329,42 +329,13 @@ static NTSTATUS idmap_tdb2_db_init(struct idmap_domain *dom,
        }
 
        if (strequal(dom->name, "*")) {
-               uid_t low_uid = 0;
-               uid_t high_uid = 0;
-               gid_t low_gid = 0;
-               gid_t high_gid = 0;
-
-               ctx->filter_low_id = 0;
-               ctx->filter_high_id = 0;
-
-               if (lp_idmap_uid(&low_uid, &high_uid)) {
-                       ctx->filter_low_id = low_uid;
-                       ctx->filter_high_id = high_uid;
-               } else {
-                       DEBUG(3, ("Warning: 'idmap uid' not set!\n"));
-               }
-
-               if (lp_idmap_gid(&low_gid, &high_gid)) {
-                       if ((low_gid != low_uid) || (high_gid != high_uid)) {
-                               DEBUG(1, ("Warning: 'idmap uid' and 'idmap gid'"
-                                     " ranges do not agree -- building "
-                                     "intersection\n"));
-                               ctx->filter_low_id = MAX(ctx->filter_low_id,
-                                                        low_gid);
-                               ctx->filter_high_id = MIN(ctx->filter_high_id,
-                                                         high_gid);
-                       }
-               } else {
-                       DEBUG(3, ("Warning: 'idmap gid' not set!\n"));
-               }
-
                ctx->script = lp_parm_const_string(-1, "idmap", "script", NULL);
                if (ctx->script) {
                        DEBUG(1, ("using idmap script '%s'\n", ctx->script));
                }
        } else {
                char *config_option = NULL;
-               const char *range;
+
                config_option = talloc_asprintf(ctx, "idmap config %s", dom->name);
                if ( ! config_option) {
                        DEBUG(0, ("Out of memory!\n"));
@@ -372,14 +343,6 @@ static NTSTATUS idmap_tdb2_db_init(struct idmap_domain *dom,
                        goto failed;
                }
 
-               range = lp_parm_const_string(-1, config_option, "range", NULL);
-               if (( ! range) ||
-                   (sscanf(range, "%u - %u", &ctx->filter_low_id, &ctx->filter_high_id) != 2))
-               {
-                       ctx->filter_low_id = 0;
-                       ctx->filter_high_id = 0;
-               }
-
                ctx->script = lp_parm_const_string(-1, config_option, "script", NULL);
                if (ctx->script) {
                        DEBUG(1, ("using idmap script '%s'\n", ctx->script));
@@ -388,11 +351,6 @@ static NTSTATUS idmap_tdb2_db_init(struct idmap_domain *dom,
                talloc_free(config_option);
        }
 
-       if (ctx->filter_low_id > ctx->filter_high_id) {
-               ctx->filter_low_id = 0;
-               ctx->filter_high_id = 0;
-       }
-
        ret = idmap_tdb2_open_db();
        if (!NT_STATUS_IS_OK(ret)) {
                goto failed;