summaryrefslogtreecommitdiff
path: root/lib/param/loadparm.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-07-23 13:32:31 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-07-24 11:01:17 +0200
commit3367fd01d4711c481efc8c56fb424ba3bab68dab (patch)
treeba28403d594586b2832f7016f0c59e07f9844e2c /lib/param/loadparm.c
parentb62b0318155e0c22a0a62ec6735f507b1b6c0f5d (diff)
downloadsamba-3367fd01d4711c481efc8c56fb424ba3bab68dab.tar.gz
samba-3367fd01d4711c481efc8c56fb424ba3bab68dab.tar.bz2
samba-3367fd01d4711c481efc8c56fb424ba3bab68dab.zip
lib/param: Merge handling of security/domain master/domain logons/server role
This ensures that the same input parameters always gives the same output values in both loadparm systems. Andrew Bartlett
Diffstat (limited to 'lib/param/loadparm.c')
-rw-r--r--lib/param/loadparm.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index e744e79206..8e5fba8c20 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -83,9 +83,6 @@ static bool defaults_saved = false;
char *tls_dhpfile; \
char *loglevel; \
char *panic_action; \
- int security; \
- int domain_master; \
- int domain_logons; \
int bPreferredMaster;
#include "lib/param/param_global.h"
@@ -123,7 +120,7 @@ static struct parm_struct parm_table[] = {
.label = "domain logons",
.type = P_ENUM,
.p_class = P_GLOBAL,
- .offset = GLOBAL_VAR(domain_logons),
+ .offset = GLOBAL_VAR(bDomainLogons),
.special = NULL,
.enum_list = enum_bool_auto
},
@@ -3762,23 +3759,17 @@ struct gensec_settings *lpcfg_gensec_settings(TALLOC_CTX *mem_ctx, struct loadpa
int lpcfg_server_role(struct loadparm_context *lp_ctx)
{
- if (lp_ctx->s3_fns) {
- return lp_ctx->s3_fns->server_role();
- }
+ int domain_master = lpcfg__domain_master(lp_ctx);
- return lp_find_server_role(lp_ctx->globals->server_role,
- lp_ctx->globals->security,
- lp_ctx->globals->domain_logons,
- (lp_ctx->globals->domain_master == true) ||
- (lp_ctx->globals->domain_master == Auto));
+ return lp_find_server_role(lpcfg__server_role(lp_ctx),
+ lpcfg__security(lp_ctx),
+ lpcfg__domain_logons(lp_ctx),
+ (domain_master == true) ||
+ (domain_master == Auto));
}
int lpcfg_security(struct loadparm_context *lp_ctx)
{
- if (lp_ctx->s3_fns) {
- return lp_ctx->s3_fns->security();
- }
-
- return lp_find_security(lp_ctx->globals->server_role,
- lp_ctx->globals->security);
+ return lp_find_security(lpcfg__server_role(lp_ctx),
+ lpcfg__security(lp_ctx));
}