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
This commit is contained in:
Rodrigo Osorio 2021-05-07 13:04:57 +02:00
parent 28491722da
commit 527ea97816
2 changed files with 28 additions and 0 deletions

View File

@ -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/ \

View File

@ -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)) {