[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Fri Mar 11 17:11:36 MST 2011
The branch, master has been updated
via f7c3a25 Change rsyncd.conf &merge directive to match *.inc. This allows the same rsyncd.d directory to be used for a set of merge files (*.inc) and a set of include files (*.conf).
from 6da6b02 Suggest a better solution for a make without wildcard support.
;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f7c3a2505297c9fe16dc18ab6066d71028b9ccd4
Author: Wayne Davison <wayned at samba.org>
Date: Fri Mar 11 16:09:49 2011 -0800
Change rsyncd.conf &merge directive to match *.inc.
This allows the same rsyncd.d directory to be used for a set
of merge files (*.inc) and a set of include files (*.conf).
-----------------------------------------------------------------------
Summary of changes:
params.c | 3 ++-
rsyncd.conf.yo | 19 ++++++++++++++-----
2 files changed, 16 insertions(+), 6 deletions(-)
Changeset truncated at 500 lines:
diff --git a/params.c b/params.c
index a14242e..0fbd986 100644
--- a/params.c
+++ b/params.c
@@ -428,6 +428,7 @@ static int name_cmp(const void *n1, const void *n2)
static int include_config(char *include, int manage_globals)
{
STRUCT_STAT sb;
+ char *match = manage_globals ? "*.conf" : "*.inc";
int ret;
if (do_stat(include, &sb) < 0) {
@@ -457,7 +458,7 @@ static int include_config(char *include, int manage_globals)
while ((di = readdir(d)) != NULL) {
char *dname = d_name(di);
- if (!wildmatch("*.conf", dname))
+ if (!wildmatch(match, dname))
continue;
bpp = EXPAND_ITEM_LIST(&conf_list, char *, 32);
pathjoin(buf, sizeof buf, include, dname);
diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
index f7f483b..2771041 100644
--- a/rsyncd.conf.yo
+++ b/rsyncd.conf.yo
@@ -756,7 +756,8 @@ parameters in a module started in another file, can affect the defaults for
other files, etc.
When an bf(&include) or bf(&merge) directive refers to a directory, it will read
-in all the bf(*.conf) files contained inside that directory (without any
+in all the bf(*.conf) or bf(*.inc) files (respectively) that are contained inside
+that directory (without any
recursive scanning), with the files sorted into alpha order. So, if you have a
directory named "rsyncd.d" with the files "foo.conf", "bar.conf", and
"baz.conf" inside it, this directive:
@@ -773,17 +774,25 @@ except that it adjusts as files are added and removed from the directory.
The advantage of the bf(&include) directive is that you can define one or more
modules in a separate file without worrying about unintended side-effects
-between the self-contained module files. For instance, this is a useful
-/etc/rsyncd.conf file:
+between the self-contained module files.
+
+The advantage of the bf(&merge) directive is that you can load config snippets
+that can be included into multiple module definitions, and you can also set
+global values that will affect connections (such as bf(motd file)), or globals
+that will affect other include files.
+
+For example, this is a useful /etc/rsyncd.conf file:
verb( port = 873
log file = /var/log/rsync.log
pid file = /var/lock/rsync.lock
+ &merge /etc/rsyncd.d
&include /etc/rsyncd.d )
-The advantage of the bf(&merge) directive is that you can load config snippets
-that can be included into multiple module definitions.
+This file merges any /etc/rsyncd.d/*.inc files, and then includes any
+/etc/rsyncd.d/*.conf files, which each include file being isolated from
+the reset (so that each include's globals don't affect any others).
manpagesection(AUTHENTICATION STRENGTH)
--
The rsync repository.
More information about the rsync-cvs
mailing list