@@ -52,6 +52,7 @@
#pragma GCC visibility push(hidden)
static void conf_load_defaults(void);
+static int conf_load(int trans, char *path);
static int conf_set(int , char *, char *, char *,
char *, int , int );
@@ -308,8 +309,11 @@ conf_parse_line(int trans, char *line, size_t sz)
break;
}
}
- /* XXX Perhaps should we not ignore errors? */
- conf_set(trans, section, arg, line, val, 0, 0);
+ if (strcasecmp(line, "include") == 0)
+ conf_load(trans, val);
+ else
+ /* XXX Perhaps should we not ignore errors? */
+ conf_set(trans, section, arg, line, val, 0, 0);
return;
}
}
@@ -42,6 +42,19 @@ or
.RB \*(lq ; \*(rq
is ignored, as is any blank line.
.PP
+The value name
+.B include
+is special. If a section contains
+.RS
+.B include = /some/file/name
+.RE
+then the named file will be read, and any value assignments found
+there-in will be added to the current section. If the file contains
+section headers, then new sections will be created just as if the
+included file appeared in place of the
+.B include
+line.
+.PP
Lookup of section and value names is case-insensitive.
Where a Boolean value is expected, any of
A tag include = filename will be replaced by the content of the file. This must appear after a section heading, and any assignments not in their own section will be included in the section that this directive is in. e.g [environment] include = /etc/sysconfig/nfs Signed-off-by: NeilBrown <neilb@suse.com> --- support/nfs/conffile.c | 8 ++++++-- systemd/nfs.conf.man | 13 +++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html