From 57b348242ef7c3c978729de04b26637f1f405dba Mon Sep 17 00:00:00 2001 From: Quentin Gibeaux Date: Mon, 4 Aug 2014 10:05:29 +0200 Subject: [PATCH] handle (ignore) substitution variable in smb.conf --- lib/param/loadparm.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 455c5e6..5aeaada 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -1133,8 +1133,21 @@ static bool handle_include(struct loadparm_context *lp_ctx, int unused, lpcfg_string_set(lp_ctx, ptr, fname); - if (file_exist(fname)) + if (file_exist(fname)) { return pm_process(fname, do_section, do_parameter, lp_ctx); + } else { + char *substitution_variable_substring; + substitution_variable_substring = strchr(fname, '%'); + if(substitution_variable_substring) { + char nextChar = substitution_variable_substring[1]; + if(nextChar && (nextChar>='a'&& nextChar<='z') + || (nextChar>='A' && nextChar<='Z')) + { + DEBUG (2, ("Tried to load %s but variable in filename, ignoring file...\n", fname) ); + return true; + } + } + } DEBUG(2, ("Can't find include file %s\n", fname)); -- 1.7.10.4