From bcb3cfd862f316371ed2c0e4a04880938c43efc3 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 7 Jun 2011 15:53:49 +0200 Subject: [PATCH 1/4] s3:idmap_autorid: fail initialization if the domain is not "*" autorid can only be used as a backend for the default idmap configuration. --- source3/winbindd/idmap_autorid.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c index 1f4af33..7f93b78 100644 --- a/source3/winbindd/idmap_autorid.c +++ b/source3/winbindd/idmap_autorid.c @@ -436,6 +436,13 @@ static NTSTATUS idmap_autorid_initialize(struct idmap_domain *dom) NTSTATUS status; uint32_t hwm; + if (!strequal(dom->name, "*")) { + DEBUG(0, ("idmap_autorid_initialize: Error: autorid configured " + "for domain '%s'. But autorid can only be used for " + "the default idmap configuration.\n", dom->name)); + return NT_STATUS_INVALID_PARAMETER; + } + config = TALLOC_ZERO_P(dom, struct autorid_global_config); if (!config) { DEBUG(0, ("Out of memory!\n")); -- 1.7.1 From c5d10576dcb0f8c503d3aa25a493eceb49269950 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 10 Jun 2011 00:46:19 +0200 Subject: [PATCH 2/4] s3:idmap_autorid: use "idmap config * : rangesize" instead of "autorid : rangesize" --- source3/winbindd/idmap_autorid.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c index 7f93b78..ee6e54f 100644 --- a/source3/winbindd/idmap_autorid.c +++ b/source3/winbindd/idmap_autorid.c @@ -455,7 +455,7 @@ static NTSTATUS idmap_autorid_initialize(struct idmap_domain *dom) } config->minvalue = dom->low_id; - config->rangesize = lp_parm_int(-1, "autorid", "rangesize", 100000); + config->rangesize = lp_parm_int(-1, "idmap config *", "rangesize", 100000); if (config->rangesize < 2000) { DEBUG(1, ("autorid rangesize must be at least 2000\n")); -- 1.7.1 From 1fcb2a7a7ab5077d1de14716a47e08186d4848d6 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 10 Jun 2011 00:49:37 +0200 Subject: [PATCH 3/4] s3:idmap_autorid: in initialize, don't leak storedconfig to talloc_tos() in the success case --- source3/winbindd/idmap_autorid.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c index ee6e54f..39f6731 100644 --- a/source3/winbindd/idmap_autorid.c +++ b/source3/winbindd/idmap_autorid.c @@ -534,10 +534,12 @@ static NTSTATUS idmap_autorid_initialize(struct idmap_domain *dom) goto error; } - return NT_STATUS_OK; + goto done; - error: +error: talloc_free(config); + +done: talloc_free(storedconfig); return status; -- 1.7.1 From 496d513fa2b78fc927afa1a6c90acfa810e9504a Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 10 Jun 2011 00:50:42 +0200 Subject: [PATCH 4/4] s3:idmap_autorid: remove redundant code --- source3/winbindd/idmap_autorid.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c index 39f6731..4028a46 100644 --- a/source3/winbindd/idmap_autorid.c +++ b/source3/winbindd/idmap_autorid.c @@ -530,10 +530,6 @@ static NTSTATUS idmap_autorid_initialize(struct idmap_domain *dom) dom->private_data = config; - if (!NT_STATUS_IS_OK(status)) { - goto error; - } - goto done; error: -- 1.7.1