From 26d6f8f91e2db0ba976aa7d00046195fc999ee40 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Sun, 1 Dec 2019 14:24:23 -0600 Subject: [PATCH] net/rsync: update patch to chroot rsync server as well as pause --- .../net/rsync/files/patch-server_pause.patch | 25 ---------- .../files/patch-server_pause_and_chroot.patch | 46 +++++++++++++++++++ 2 files changed, 46 insertions(+), 25 deletions(-) delete mode 100644 cdn/ports/net/rsync/files/patch-server_pause.patch create mode 100644 cdn/ports/net/rsync/files/patch-server_pause_and_chroot.patch diff --git a/cdn/ports/net/rsync/files/patch-server_pause.patch b/cdn/ports/net/rsync/files/patch-server_pause.patch deleted file mode 100644 index 3b8f13d..0000000 --- a/cdn/ports/net/rsync/files/patch-server_pause.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- rsync.h.orig 2009-12-23 19:36:27.000000000 +0000 -+++ rsync.h 2010-03-20 14:16:40.000000000 +0000 -@@ -24,6 +24,8 @@ - #define BLOCK_SIZE 700 - #define RSYNC_RSH_ENV "RSYNC_RSH" - #define RSYNC_RSH_IO_ENV "RSYNC_RSH_IO" -+/* CyberLeo: Envvar to set pause length for rsync --server */ -+#define RSYNC_SERVER_PAUSE_ENV "RSYNC_SERVER_PAUSE" - - #define RSYNC_NAME "rsync" - /* RSYNCD_SYSCONF is now set in config.h */ ---- main.c.orig 2009-12-19 21:39:49.000000000 +0000 -+++ main.c 2010-03-20 14:54:40.000000000 +0000 -@@ -957,6 +957,11 @@ - set_nonblocking(f_in); - set_nonblocking(f_out); - -+ /* CyberLeo: Sleep here for RSYNC_SERVER_PAUSE_ENV seconds */ -+ const char *rsync_server_pause = getenv(RSYNC_SERVER_PAUSE_ENV); -+ if (rsync_server_pause) -+ sleep(atoi(rsync_server_pause)); -+ - io_set_sock_fds(f_in, f_out); - setup_protocol(f_out, f_in); - diff --git a/cdn/ports/net/rsync/files/patch-server_pause_and_chroot.patch b/cdn/ports/net/rsync/files/patch-server_pause_and_chroot.patch new file mode 100644 index 0000000..9ff335d --- /dev/null +++ b/cdn/ports/net/rsync/files/patch-server_pause_and_chroot.patch @@ -0,0 +1,46 @@ +--- rsync.h.orig 2019-11-26 00:32:00.801993000 +0000 ++++ rsync.h 2019-11-26 00:31:26.661675000 +0000 +@@ -24,6 +24,10 @@ + #define BLOCK_SIZE 700 + #define RSYNC_RSH_ENV "RSYNC_RSH" + #define RSYNC_RSH_IO_ENV "RSYNC_RSH_IO" ++/* CyberLeo: Envvar to set pause length for rsync --server */ ++#define RSYNC_SERVER_PAUSE_ENV "RSYNC_SERVER_PAUSE" ++/* CyberLeo: Envvar to set chroot directory for rsync --server */ ++#define RSYNC_SERVER_CHROOT_ENV "RSYNC_SERVER_CHROOT" + + #define RSYNC_NAME "rsync" + /* RSYNCD_SYSCONF is now set in config.h */ +--- main.c.orig 2019-11-26 00:32:10.867959000 +0000 ++++ main.c 2019-11-25 21:40:37.773176000 +0000 +@@ -1116,6 +1117,29 @@ + set_nonblocking(f_in); + set_nonblocking(f_out); + ++ /* CyberLeo: Sleep here for RSYNC_SERVER_PAUSE_ENV seconds */ ++ const char *rsync_server_pause = getenv(RSYNC_SERVER_PAUSE_ENV); ++ if (rsync_server_pause) ++ sleep(atoi(rsync_server_pause)); ++ ++ /* CyberLeo: Chroot into RSYNC_SERVER_CHROOT_ENV before running */ ++ const char *rsync_server_chroot = getenv(RSYNC_SERVER_CHROOT_ENV); ++ if (rsync_server_chroot) ++ { ++ if (0 > chdir(rsync_server_chroot)) ++ { ++ fprintf(stderr, "chdir(%s): ", rsync_server_chroot); ++ perror(""); ++ exit(4); ++ } ++ if (0 > chroot(rsync_server_chroot)) ++ { ++ fprintf(stderr, "chroot(%s): ", rsync_server_chroot); ++ perror(""); ++ exit(4); ++ } ++ } ++ + io_set_sock_fds(f_in, f_out); + setup_protocol(f_out, f_in); + + -- 2.42.0