diff options
Diffstat (limited to 'source/lib/smbconf/smbconf_init.c')
-rw-r--r-- | source/lib/smbconf/smbconf_init.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/source/lib/smbconf/smbconf_init.c b/source/lib/smbconf/smbconf_init.c index 4efc440819..58bb9d9362 100644 --- a/source/lib/smbconf/smbconf_init.c +++ b/source/lib/smbconf/smbconf_init.c @@ -18,10 +18,9 @@ */ #include "includes.h" -#include "smbconf_private.h" - -#define INCLUDES_VALNAME "includes" - +#include "lib/smbconf/smbconf_private.h" +#include "lib/smbconf/smbconf_txt.h" +#include "lib/smbconf/smbconf_reg.h" /** * smbconf initialization dispatcher @@ -75,21 +74,22 @@ WERROR smbconf_init(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx, } else if (sep == NULL) { /* * If no separator was given in the source, and the string is - * not a know backend, assume file backend and use the source + * not a known backend, assume file backend and use the source * string as a path argument. */ werr = smbconf_init_txt(mem_ctx, conf_ctx, backend); } else { /* * Separator was specified but this is not a known backend. - * Can't handle this. + * As a last resort, try to interpret the original source + * string as a file name that contains a ":" sign. + * This may occur with an include directive like this: + * 'include = /path/to/file.%T' */ - DEBUG(1, ("smbconf_init: ERROR - unknown backend '%s' given\n", - backend)); - werr = WERR_INVALID_PARAM; + werr = smbconf_init_txt(mem_ctx, conf_ctx, source); } done: - TALLOC_FREE(tmp_ctx); + talloc_free(tmp_ctx); return werr; } |