The Samba-Bugzilla – Attachment 11555 Details for
Bug 10722
samba-tool crashes with uncaught exception when parsing include = /path/to/%U.conf in smb.conf
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
adding bug detail in commit message
file_10722.txt (text/plain), 2.21 KB, created by
Quentin Gibeaux
on 2015-10-29 14:19:52 UTC
(
hide
)
Description:
adding bug detail in commit message
Filename:
MIME Type:
Creator:
Quentin Gibeaux
Created:
2015-10-29 14:19:52 UTC
Size:
2.21 KB
patch
obsolete
>From 97567b606f9cc78aaf3fb74b429941a82379a72c Mon Sep 17 00:00:00 2001 >From: Quentin Gibeaux <qgibeaux@iris-tech.fr> >Date: Thu, 29 Oct 2015 13:48:27 +0100 >Subject: [PATCH] lib/param: handle (ignore) substitution variable in smb.conf > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=10722 > >The function handle_include returns false when trying to include >files that have a substitution variable in filename (like %U), >this patch makes handle_include to ignore this case, to make >samba-tool work when there is such include in samba's configuration. > >Error was : > root@ubuntu:/usr/local/samba# grep 'include.*%U' etc/smb.conf > include = %U.conf > root@ubuntu:/usr/local/samba# ./bin/samba-tool user list > Can't find include file %U.conf > ERROR(runtime): uncaught exception - Unable to load default file > >Signed-off-by: Quentin Gibeaux <qgibeaux@iris-tech.fr> >--- > lib/param/loadparm.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > >diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c >index a0700a9..2d5d028 100644 >--- a/lib/param/loadparm.c >+++ b/lib/param/loadparm.c >@@ -1090,6 +1090,8 @@ bool handle_include(struct loadparm_context *lp_ctx, struct loadparm_service *se > const char *pszParmValue, char **ptr) > { > char *fname; >+ char *substitution_variable_substring; >+ char next_char; > > if (lp_ctx->s3_fns) { > return lp_ctx->s3_fns->lp_include(lp_ctx, service, pszParmValue, ptr); >@@ -1104,6 +1106,22 @@ bool handle_include(struct loadparm_context *lp_ctx, struct loadparm_service *se > if (file_exist(fname)) > return pm_process(fname, do_section, lpcfg_do_parameter, lp_ctx); > >+ /* >+ * If the file doesn't exist, we check that it isn't due to variable >+ * substitution >+ */ >+ substitution_variable_substring = strchr(fname, '%'); >+ >+ if (substitution_variable_substring != NULL) { >+ next_char = substitution_variable_substring[1]; >+ if ((next_char >= 'a' && next_char <= 'z') >+ || (next_char >= 'A' && next_char <= 'Z')) { >+ DEBUG(2, ("Tried to load %s but variable substitution in " >+ "filename, ignoring file.\n", fname)); >+ return true; >+ } >+ } >+ > DEBUG(2, ("Can't find include file %s\n", fname)); > > return false; >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 10722
:
10116
|
10170
|
10171
|
10257
|
11420
|
11551
|
11552
|
11553
|
11554
|
11555
|
11702