1 --- rsync.h.orig 2019-11-26 00:32:00.801993000 +0000
2 +++ rsync.h 2019-11-26 00:31:26.661675000 +0000
5 #define RSYNC_RSH_ENV "RSYNC_RSH"
6 #define RSYNC_RSH_IO_ENV "RSYNC_RSH_IO"
7 +/* CyberLeo: Envvar to set pause length for rsync --server */
8 +#define RSYNC_SERVER_PAUSE_ENV "RSYNC_SERVER_PAUSE"
9 +/* CyberLeo: Envvar to set chroot directory for rsync --server */
10 +#define RSYNC_SERVER_CHROOT_ENV "RSYNC_SERVER_CHROOT"
12 #define RSYNC_NAME "rsync"
13 /* RSYNCD_SYSCONF is now set in config.h */
14 --- main.c.orig 2019-11-26 00:32:10.867959000 +0000
15 +++ main.c 2019-11-25 21:40:37.773176000 +0000
16 @@ -1116,6 +1117,29 @@
17 set_nonblocking(f_in);
18 set_nonblocking(f_out);
20 + /* CyberLeo: Sleep here for RSYNC_SERVER_PAUSE_ENV seconds */
21 + const char *rsync_server_pause = getenv(RSYNC_SERVER_PAUSE_ENV);
22 + if (rsync_server_pause)
23 + sleep(atoi(rsync_server_pause));
25 + /* CyberLeo: Chroot into RSYNC_SERVER_CHROOT_ENV before running */
26 + const char *rsync_server_chroot = getenv(RSYNC_SERVER_CHROOT_ENV);
27 + if (rsync_server_chroot)
29 + if (0 > chroot(rsync_server_chroot))
31 + fprintf(stderr, "chroot(%s): ", rsync_server_chroot);
37 + fprintf(stderr, "chdir(%s): ", rsync_server_chroot);
43 io_set_sock_fds(f_in, f_out);
44 setup_protocol(f_out, f_in);