aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Osorio <rodrigo@FreeBSD.org>2021-05-07 11:04:57 +0000
committerRodrigo Osorio <rodrigo@FreeBSD.org>2021-05-07 11:32:56 +0000
commit527ea9781603f01f3647e8d5fe49586292021407 (patch)
tree697ec38a29078a1f3a3502a5659ad905774edd41
parent28491722dab2b210cf21f0fbaf721db42f2e7f75 (diff)
downloadports-527ea9781603f01f3647e8d5fe49586292021407.tar.gz
ports-527ea9781603f01f3647e8d5fe49586292021407.zip
net/rsync: Add patch to fix time limit options
In latest version, upstream project breaks time limit options implementation. The fix allows the use of this option in both receiver and sender mode. A merger request was submitted to upstream project[1] but not yet merged. Bump portrevision. [1] https://github.com/WayneD/rsync/pull/179 Reported by: philip Tested by: philip
-rw-r--r--net/rsync/Makefile1
-rw-r--r--net/rsync/files/patch-io.c27
2 files changed, 28 insertions, 0 deletions
diff --git a/net/rsync/Makefile b/net/rsync/Makefile
index 41b414df5db9..0f9df25989e8 100644
--- a/net/rsync/Makefile
+++ b/net/rsync/Makefile
@@ -2,6 +2,7 @@
PORTNAME= rsync
DISTVERSION= 3.2.3
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= https://www.mirrorservice.org/sites/rsync.samba.org/src/ \
http://rsync.mirror.garr.it/src/ \
diff --git a/net/rsync/files/patch-io.c b/net/rsync/files/patch-io.c
new file mode 100644
index 000000000000..4e051d32c9c9
--- /dev/null
+++ b/net/rsync/files/patch-io.c
@@ -0,0 +1,27 @@
+--- io.c.orig
++++ io.c
+@@ -787,18 +787,19 @@
+ if (msgs2stderr == 1 && DEBUG_GTE(IO, 2))
+ rprintf(FINFO, "[%s] recv=%ld\n", who_am_i(), (long)n);
+
+- if (io_timeout || stop_at_utime) {
++ if (io_timeout) {
+ last_io_in = time(NULL);
+- if (stop_at_utime && last_io_in >= stop_at_utime) {
+- rprintf(FERROR, "stopping at requested limit\n");
+- exit_cleanup(RERR_TIMEOUT);
+- }
+ if (io_timeout && flags & PIO_NEED_INPUT)
+ maybe_send_keepalive(last_io_in, 0);
+ }
+ stats.total_read += n;
+
+ iobuf.in.len += n;
++ }
++
++ if (stop_at_utime && time(NULL) >= stop_at_utime) {
++ rprintf(FERROR, "stopping at requested limit\n");
++ exit_cleanup(RERR_TIMEOUT);
+ }
+
+ if (out && FD_ISSET(iobuf.out_fd, &w_fds)) {