diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-08-12 11:26:42 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-08-13 12:30:49 +1000 |
commit | 7c9ecf35fa92395ce46d1410ae0b343f6dc24774 (patch) | |
tree | 52e336331cad9d290a90930e75515a576e55f201 | |
parent | 11698a287e2ca1e937a465225af033e269749eb3 (diff) | |
download | samba-7c9ecf35fa92395ce46d1410ae0b343f6dc24774.tar.gz samba-7c9ecf35fa92395ce46d1410ae0b343f6dc24774.tar.bz2 samba-7c9ecf35fa92395ce46d1410ae0b343f6dc24774.zip |
param: Add smb.conf loading support to s3/s4 loadparm bridge
-rw-r--r-- | source3/param/loadparm_ctx.c | 6 | ||||
-rw-r--r-- | source4/param/loadparm.c | 4 | ||||
-rw-r--r-- | source4/script/mks3param.pl | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/source3/param/loadparm_ctx.c b/source3/param/loadparm_ctx.c index 7c59ca709a..2289f6bc29 100644 --- a/source3/param/loadparm_ctx.c +++ b/source3/param/loadparm_ctx.c @@ -20,6 +20,11 @@ #include "includes.h" #include "../source4/param/s3_param.h" +static bool lp_load_for_s4_ctx(const char *filename) +{ + return lp_load(filename, false, false, false, false); +} + /* These are in the order that they appear in the s4 loadparm file. * All of the s4 loadparm functions should be here eventually, once * they are implemented in the s3 loadparm, have the same format (enum @@ -33,6 +38,7 @@ static const struct loadparm_s3_context s3_fns = .get_servicebynum = lp_servicebynum, .get_default_loadparm_service = lp_default_loadparm_service, .get_numservices = lp_numservices, + .load = lp_load_for_s4_ctx, .set_cmdline = lp_set_cmdline, .server_role = lp_server_role, diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c index 3b0eefe603..c1fd5f22a2 100644 --- a/source4/param/loadparm.c +++ b/source4/param/loadparm.c @@ -3514,6 +3514,10 @@ bool lpcfg_load(struct loadparm_context *lp_ctx, const char *filename) char *n2; bool bRetval; + if (lp_ctx->s3_fns) { + return lp_ctx->s3_fns->load(filename); + } + filename = talloc_strdup(lp_ctx, filename); lp_ctx->szConfigFile = filename; diff --git a/source4/script/mks3param.pl b/source4/script/mks3param.pl index 761cd6980f..37277c20b1 100644 --- a/source4/script/mks3param.pl +++ b/source4/script/mks3param.pl @@ -92,6 +92,7 @@ sub print_header($$) $file->("\tstruct loadparm_service * (*get_default_loadparm_service)(void);\n"); $file->("\tstruct loadparm_service * (*get_servicebynum)(int snum);\n"); $file->("\tint (*get_numservices)(void);\n"); + $file->("\tbool (*load)(const char *filename);\n"); $file->("\tbool (*set_cmdline)(const char *pszParmName, const char *pszParmValue);\n"); } |