Skip to content

Commit 50458ab

Browse files
committed
Moving to rsyncd.conf from /etc to hermetic-usr pattern
1 parent 2f9b963 commit 50458ab

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

clientserver.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,10 +1261,16 @@ static void send_listing(int fd)
12611261
static int load_config(int globals_only)
12621262
{
12631263
if (!config_file) {
1264-
if (am_daemon < 0 && am_root <= 0)
1264+
if (am_daemon < 0 && am_root <= 0) {
12651265
config_file = RSYNCD_USERCONF;
1266-
else
1266+
} else {
12671267
config_file = RSYNCD_SYSCONF;
1268+
#ifdef RSYNCD_DISTCONF
1269+
STRUCT_STAT st;
1270+
if (do_stat(RSYNCD_SYSCONF, &st) != 0)
1271+
config_file = RSYNCD_DISTCONF;
1272+
#endif
1273+
}
12681274
}
12691275
return lp_load(config_file, globals_only);
12701276
}

configure.ac

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ AC_ARG_WITH(rsync-path,
175175
AC_DEFINE_UNQUOTED(RSYNC_PATH, "$RSYNC_PATH", [location of rsync on remote machine])
176176

177177
AC_ARG_WITH(rsyncd-conf,
178-
AS_HELP_STRING([--with-rsyncd-conf=PATH],[set configuration file for rsync server to PATH (default: /etc/rsyncd.conf)]),
178+
AS_HELP_STRING([--with-rsyncd-conf=PATH],[set user/admin defined configuration file for rsync server to PATH (default: /etc/rsyncd.conf)]),
179179
[ if test ! -z "$with_rsyncd_conf" ; then
180180
case $with_rsyncd_conf in
181181
yes|no)
@@ -193,7 +193,27 @@ AC_ARG_WITH(rsyncd-conf,
193193
fi ],
194194
[ RSYNCD_SYSCONF="/etc/rsyncd.conf" ])
195195

196-
AC_DEFINE_UNQUOTED(RSYNCD_SYSCONF, "$RSYNCD_SYSCONF", [location of configuration file for rsync server])
196+
AC_DEFINE_UNQUOTED(RSYNCD_SYSCONF, "$RSYNCD_SYSCONF", [location of user/admin defined configuration file for rsync server])
197+
198+
AC_ARG_WITH(rsyncd-distconf,
199+
AS_HELP_STRING([--with-rsyncd-distconf=PATH],[set vendor configuration file for rsync server to PATH (default: not set)]),
200+
[ if test ! -z "$with_rsyncd_distconf" ; then
201+
case $with_rsyncd_distconf in
202+
yes|no)
203+
RSYNCD_DISTCONF="/usr/etc/rsyncd.conf"
204+
;;
205+
/*)
206+
RSYNCD_DISTCONF="$with_rsyncd_distconf"
207+
;;
208+
*)
209+
AC_MSG_ERROR(You must specify an absolute path to --with-rsyncd-distconf=PATH)
210+
;;
211+
esac
212+
fi
213+
],
214+
[])
215+
216+
AC_DEFINE_UNQUOTED(RSYNCD_DISTCONF, "$RSYNCD_DISTCONF", [location of vendor configuration file for rsync server])
197217

198218
AC_ARG_WITH(rsh,
199219
AS_HELP_STRING([--with-rsh=CMD],[set remote shell command to CMD (default: ssh)]))

rsyncd.conf.5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1239,7 +1239,7 @@ The /etc/rsyncd.secrets file would look something like this:
12391239
12401240
## FILES
12411241
1242-
/etc/rsyncd.conf or rsyncd.conf
1242+
rsyncd.conf or /etc/rsyncd.conf or /usr/etc/rsyncd.conf
12431243
12441244
## SEE ALSO
12451245

0 commit comments

Comments
 (0)