From 4da7aa6b1768c5a91eec1ba0408191e0cb949640 Mon Sep 17 00:00:00 2001 From: openKylinBot Date: Thu, 2 Jun 2022 17:40:02 +0800 Subject: [PATCH] changed debian/source/format to native --- debian/patches/CVE-2016-9840.patch | 71 ---- debian/patches/CVE-2016-9841.patch | 224 ------------ debian/patches/CVE-2016-9842.patch | 29 -- debian/patches/CVE-2016-9843.patch | 49 --- .../Two-spelling-mistakes-in-rsync.yo.diff | 29 -- debian/patches/backup-dir-implies-backup.diff | 25 -- debian/patches/copy-devices.diff | 117 ------- debian/patches/disable_reconfigure_req.diff | 38 --- debian/patches/logdir.diff | 13 - debian/patches/manpage-compress-level.diff | 15 - debian/patches/noatime.diff | 146 -------- debian/patches/prealloc-fix.diff | 16 - debian/patches/series | 15 - debian/patches/ssh-6-option.diff | 36 -- debian/patches/systemd-unit.diff | 17 - debian/patches/time-limit.diff | 319 ------------------ debian/source/format | 2 +- 17 files changed, 1 insertion(+), 1160 deletions(-) delete mode 100644 debian/patches/CVE-2016-9840.patch delete mode 100644 debian/patches/CVE-2016-9841.patch delete mode 100644 debian/patches/CVE-2016-9842.patch delete mode 100644 debian/patches/CVE-2016-9843.patch delete mode 100644 debian/patches/Two-spelling-mistakes-in-rsync.yo.diff delete mode 100644 debian/patches/backup-dir-implies-backup.diff delete mode 100644 debian/patches/copy-devices.diff delete mode 100644 debian/patches/disable_reconfigure_req.diff delete mode 100644 debian/patches/logdir.diff delete mode 100644 debian/patches/manpage-compress-level.diff delete mode 100644 debian/patches/noatime.diff delete mode 100644 debian/patches/prealloc-fix.diff delete mode 100644 debian/patches/series delete mode 100644 debian/patches/ssh-6-option.diff delete mode 100644 debian/patches/systemd-unit.diff delete mode 100644 debian/patches/time-limit.diff diff --git a/debian/patches/CVE-2016-9840.patch b/debian/patches/CVE-2016-9840.patch deleted file mode 100644 index eabb2a6..0000000 --- a/debian/patches/CVE-2016-9840.patch +++ /dev/null @@ -1,71 +0,0 @@ ->From 6a043145ca6e9c55184013841a67b2fef87e44c0 Mon Sep 17 00:00:00 2001 -From: Mark Adler -Date: Wed, 21 Sep 2016 23:35:50 -0700 -Subject: [PATCH] Remove offset pointer optimization in inftrees.c. - -inftrees.c was subtracting an offset from a pointer to an array, -in order to provide a pointer that allowed indexing starting at -the offset. This is not compliant with the C standard, for which -the behavior of a pointer decremented before its allocated memory -is undefined. Per the recommendation of a security audit of the -zlib code by Trail of Bits and TrustInSoft, in support of the -Mozilla Foundation, this tiny optimization was removed, in order -to avoid the possibility of undefined behavior. ---- - inftrees.c | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - -Index: rsync/zlib/inftrees.c -=================================================================== ---- rsync.orig/zlib/inftrees.c -+++ rsync/zlib/inftrees.c -@@ -54,7 +54,7 @@ unsigned short FAR *work; - code FAR *next; /* next available space in table */ - const unsigned short FAR *base; /* base value table to use */ - const unsigned short FAR *extra; /* extra bits table to use */ -- int end; /* use base and extra for symbol > end */ -+ unsigned match; /* use base and extra for symbol >= match */ - unsigned short count[MAXBITS+1]; /* number of codes of each length */ - unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ - static const unsigned short lbase[31] = { /* Length codes 257..285 base */ -@@ -181,19 +181,17 @@ unsigned short FAR *work; - switch (type) { - case CODES: - base = extra = work; /* dummy value--not used */ -- end = 19; -+ match = 20; - break; - case LENS: - base = lbase; -- base -= 257; - extra = lext; -- extra -= 257; -- end = 256; -+ match = 257; - break; - default: /* DISTS */ - base = dbase; - extra = dext; -- end = -1; -+ match = 0; - } - - /* initialize state for loop */ -@@ -216,13 +214,13 @@ unsigned short FAR *work; - for (;;) { - /* create table entry */ - here.bits = (unsigned char)(len - drop); -- if ((int)(work[sym]) < end) { -+ if (work[sym] + 1 < match) { - here.op = (unsigned char)0; - here.val = work[sym]; - } -- else if ((int)(work[sym]) > end) { -- here.op = (unsigned char)(extra[work[sym]]); -- here.val = base[work[sym]]; -+ else if (work[sym] >= match) { -+ here.op = (unsigned char)(extra[work[sym] - match]); -+ here.val = base[work[sym] - match]; - } - else { - here.op = (unsigned char)(32 + 64); /* end of block */ diff --git a/debian/patches/CVE-2016-9841.patch b/debian/patches/CVE-2016-9841.patch deleted file mode 100644 index b76d354..0000000 --- a/debian/patches/CVE-2016-9841.patch +++ /dev/null @@ -1,224 +0,0 @@ ->From 9aaec95e82117c1cb0f9624264c3618fc380cecb Mon Sep 17 00:00:00 2001 -From: Mark Adler -Date: Wed, 21 Sep 2016 22:25:21 -0700 -Subject: [PATCH] Use post-increment only in inffast.c. - -An old inffast.c optimization turns out to not be optimal anymore -with modern compilers, and furthermore was not compliant with the -C standard, for which decrementing a pointer before its allocated -memory is undefined. Per the recommendation of a security audit of -the zlib code by Trail of Bits and TrustInSoft, in support of the -Mozilla Foundation, this "optimization" was removed, in order to -avoid the possibility of undefined behavior. ---- - inffast.c | 81 +++++++++++++++++++++---------------------------------- - 1 file changed, 31 insertions(+), 50 deletions(-) - -Index: rsync/zlib/inffast.c -=================================================================== ---- rsync.orig/zlib/inffast.c -+++ rsync/zlib/inffast.c -@@ -10,25 +10,6 @@ - - #ifndef ASMINF - --/* Allow machine dependent optimization for post-increment or pre-increment. -- Based on testing to date, -- Pre-increment preferred for: -- - PowerPC G3 (Adler) -- - MIPS R5000 (Randers-Pehrson) -- Post-increment preferred for: -- - none -- No measurable difference: -- - Pentium III (Anderson) -- - M68060 (Nikl) -- */ --#ifdef POSTINC --# define OFF 0 --# define PUP(a) *(a)++ --#else --# define OFF 1 --# define PUP(a) *++(a) --#endif -- - /* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is -@@ -96,9 +77,9 @@ unsigned start; /* inflate()'s s - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; -- in = strm->next_in - OFF; -+ in = strm->next_in; - last = in + (strm->avail_in - 5); -- out = strm->next_out - OFF; -+ out = strm->next_out; - beg = out - (start - strm->avail_out); - end = out + (strm->avail_out - 257); - #ifdef INFLATE_STRICT -@@ -119,9 +100,9 @@ unsigned start; /* inflate()'s s - input data or output space */ - do { - if (bits < 15) { -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; - } - here = lcode[hold & lmask]; -@@ -134,14 +115,14 @@ unsigned start; /* inflate()'s s - Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", here.val)); -- PUP(out) = (unsigned char)(here.val); -+ *out++ = (unsigned char)(here.val); - } - else if (op & 16) { /* length base */ - len = (unsigned)(here.val); - op &= 15; /* number of extra bits */ - if (op) { - if (bits < op) { -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; - } - len += (unsigned)hold & ((1U << op) - 1); -@@ -150,9 +131,9 @@ unsigned start; /* inflate()'s s - } - Tracevv((stderr, "inflate: length %u\n", len)); - if (bits < 15) { -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; - } - here = dcode[hold & dmask]; -@@ -165,10 +146,10 @@ unsigned start; /* inflate()'s s - dist = (unsigned)(here.val); - op &= 15; /* number of extra bits */ - if (bits < op) { -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; - if (bits < op) { -- hold += (unsigned long)(PUP(in)) << bits; -+ hold += (unsigned long)(*in++) << bits; - bits += 8; - } - } -@@ -196,30 +177,30 @@ unsigned start; /* inflate()'s s - #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - if (len <= op - whave) { - do { -- PUP(out) = 0; -+ *out++ = 0; - } while (--len); - continue; - } - len -= op - whave; - do { -- PUP(out) = 0; -+ *out++ = 0; - } while (--op > whave); - if (op == 0) { - from = out - dist; - do { -- PUP(out) = PUP(from); -+ *out++ = *from++; - } while (--len); - continue; - } - #endif - } -- from = window - OFF; -+ from = window; - if (wnext == 0) { /* very common case */ - from += wsize - op; - if (op < len) { /* some from window */ - len -= op; - do { -- PUP(out) = PUP(from); -+ *out++ = *from++; - } while (--op); - from = out - dist; /* rest from output */ - } -@@ -230,14 +211,14 @@ unsigned start; /* inflate()'s s - if (op < len) { /* some from end of window */ - len -= op; - do { -- PUP(out) = PUP(from); -+ *out++ = *from++; - } while (--op); -- from = window - OFF; -+ from = window; - if (wnext < len) { /* some from start of window */ - op = wnext; - len -= op; - do { -- PUP(out) = PUP(from); -+ *out++ = *from++; - } while (--op); - from = out - dist; /* rest from output */ - } -@@ -248,35 +229,35 @@ unsigned start; /* inflate()'s s - if (op < len) { /* some from window */ - len -= op; - do { -- PUP(out) = PUP(from); -+ *out++ = *from++; - } while (--op); - from = out - dist; /* rest from output */ - } - } - while (len > 2) { -- PUP(out) = PUP(from); -- PUP(out) = PUP(from); -- PUP(out) = PUP(from); -+ *out++ = *from++; -+ *out++ = *from++; -+ *out++ = *from++; - len -= 3; - } - if (len) { -- PUP(out) = PUP(from); -+ *out++ = *from++; - if (len > 1) -- PUP(out) = PUP(from); -+ *out++ = *from++; - } - } - else { - from = out - dist; /* copy direct from output */ - do { /* minimum length is three */ -- PUP(out) = PUP(from); -- PUP(out) = PUP(from); -- PUP(out) = PUP(from); -+ *out++ = *from++; -+ *out++ = *from++; -+ *out++ = *from++; - len -= 3; - } while (len > 2); - if (len) { -- PUP(out) = PUP(from); -+ *out++ = *from++; - if (len > 1) -- PUP(out) = PUP(from); -+ *out++ = *from++; - } - } - } -@@ -313,8 +294,8 @@ unsigned start; /* inflate()'s s - hold &= (1U << bits) - 1; - - /* update state and return */ -- strm->next_in = in + OFF; -- strm->next_out = out + OFF; -+ strm->next_in = in; -+ strm->next_out = out; - strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last)); - strm->avail_out = (unsigned)(out < end ? - 257 + (end - out) : 257 - (out - end)); diff --git a/debian/patches/CVE-2016-9842.patch b/debian/patches/CVE-2016-9842.patch deleted file mode 100644 index 9e16bef..0000000 --- a/debian/patches/CVE-2016-9842.patch +++ /dev/null @@ -1,29 +0,0 @@ ->From e54e1299404101a5a9d0cf5e45512b543967f958 Mon Sep 17 00:00:00 2001 -From: Mark Adler -Date: Sat, 5 Sep 2015 17:45:55 -0700 -Subject: [PATCH] Avoid shifts of negative values inflateMark(). - -The C standard says that bit shifts of negative integers is -undefined. This casts to unsigned values to assure a known -result. ---- - inflate.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -Index: rsync/zlib/inflate.c -=================================================================== ---- rsync.orig/zlib/inflate.c -+++ rsync/zlib/inflate.c -@@ -1525,9 +1525,10 @@ z_streamp strm; - { - struct inflate_state FAR *state; - -- if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; -+ if (strm == Z_NULL || strm->state == Z_NULL) -+ return (long)(((unsigned long)0 - 1) << 16); - state = (struct inflate_state FAR *)strm->state; -- return ((long)(state->back) << 16) + -+ return (long)(((unsigned long)((long)state->back)) << 16) + - (state->mode == COPY ? state->length : - (state->mode == MATCH ? state->was - state->length : 0)); - } diff --git a/debian/patches/CVE-2016-9843.patch b/debian/patches/CVE-2016-9843.patch deleted file mode 100644 index 05875c6..0000000 --- a/debian/patches/CVE-2016-9843.patch +++ /dev/null @@ -1,49 +0,0 @@ ->From d1d577490c15a0c6862473d7576352a9f18ef811 Mon Sep 17 00:00:00 2001 -From: Mark Adler -Date: Wed, 28 Sep 2016 20:20:25 -0700 -Subject: [PATCH] Avoid pre-decrement of pointer in big-endian CRC calculation. - -There was a small optimization for PowerPCs to pre-increment a -pointer when accessing a word, instead of post-incrementing. This -required prefacing the loop with a decrement of the pointer, -possibly pointing before the object passed. This is not compliant -with the C standard, for which decrementing a pointer before its -allocated memory is undefined. When tested on a modern PowerPC -with a modern compiler, the optimization no longer has any effect. -Due to all that, and per the recommendation of a security audit of -the zlib code by Trail of Bits and TrustInSoft, in support of the -Mozilla Foundation, this "optimization" was removed, in order to -avoid the possibility of undefined behavior. ---- - crc32.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -Index: rsync/zlib/crc32.c -=================================================================== ---- rsync.orig/zlib/crc32.c -+++ rsync/zlib/crc32.c -@@ -278,7 +278,7 @@ local unsigned long crc32_little(crc, bu - } - - /* ========================================================================= */ --#define DOBIG4 c ^= *++buf4; \ -+#define DOBIG4 c ^= *buf4++; \ - c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \ - crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24] - #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4 -@@ -300,7 +300,6 @@ local unsigned long crc32_big(crc, buf, - } - - buf4 = (const z_crc_t FAR *)(const void FAR *)buf; -- buf4--; - while (len >= 32) { - DOBIG32; - len -= 32; -@@ -309,7 +308,6 @@ local unsigned long crc32_big(crc, buf, - DOBIG4; - len -= 4; - } -- buf4++; - buf = (const unsigned char FAR *)buf4; - - if (len) do { diff --git a/debian/patches/Two-spelling-mistakes-in-rsync.yo.diff b/debian/patches/Two-spelling-mistakes-in-rsync.yo.diff deleted file mode 100644 index 8ba912b..0000000 --- a/debian/patches/Two-spelling-mistakes-in-rsync.yo.diff +++ /dev/null @@ -1,29 +0,0 @@ -Description: Two spelling mistakes in rsync.yo -Author: Paul Slootman -Forwarded: https://bugzilla.samba.org/show_bug.cgi?id=13734 -Origin: other -Bug: https://bugzilla.samba.org/show_bug.cgi?id=13734 -Last-Update: 2019-01-01 - -Index: rsync/rsync.yo -=================================================================== ---- rsync.orig/rsync.yo -+++ rsync/rsync.yo -@@ -1324,7 +1324,7 @@ batch-writing option is in effect. - - dit(bf(--checksum-choice=STR)) This option overrides the checksum algoriths. - If one algorithm name is specified, it is used for both the transfer checksums --and (assuming bf(--checksum) is specifed) the pre-transfer checksumming. If two -+and (assuming bf(--checksum) is specified) the pre-transfer checksumming. If two - comma-separated names are supplied, the first name affects the transfer - checksums, and the second name affects the pre-transfer checksumming. - -@@ -2334,7 +2334,7 @@ units of 1024. - - The default is human-readable level 1. Each bf(-h) option increases the level - by one. You can take the level down to 0 (to output numbers as pure digits) by --specifing the bf(--no-human-readable) (bf(--no-h)) option. -+specifying the bf(--no-human-readable) (bf(--no-h)) option. - - The unit letters that are appended in levels 2 and 3 are: K (kilo), M (mega), - G (giga), or T (tera). For example, a 1234567-byte file would output as 1.23M diff --git a/debian/patches/backup-dir-implies-backup.diff b/debian/patches/backup-dir-implies-backup.diff deleted file mode 100644 index 9023043..0000000 --- a/debian/patches/backup-dir-implies-backup.diff +++ /dev/null @@ -1,25 +0,0 @@ -Index: rsync/options.c -=================================================================== ---- rsync.orig/options.c -+++ rsync/options.c -@@ -2157,6 +2157,7 @@ int parse_arguments(int *argc_p, const c - } - if (backup_dir) { - size_t len; -+ make_backups = 1; /* --backup-dir implies --backup */ - while (*backup_dir == '.' && backup_dir[1] == '/') - backup_dir += 2; - if (*backup_dir == '.' && backup_dir[1] == '\0') -Index: rsync/rsync.yo -=================================================================== ---- rsync.orig/rsync.yo -+++ rsync/rsync.yo -@@ -792,7 +792,7 @@ in the list so that it has a high enough - your rules specify a trailing inclusion/exclusion of '*', the auto-added - rule would never be reached). - --dit(bf(--backup-dir=DIR)) In combination with the bf(--backup) option, this -+dit(bf(--backup-dir=DIR)) This implies the bf(--backup) option, and - tells rsync to store all backups in the specified directory on the receiving - side. This can be used for incremental backups. You can additionally - specify a backup suffix using the bf(--suffix) option diff --git a/debian/patches/copy-devices.diff b/debian/patches/copy-devices.diff deleted file mode 100644 index d862979..0000000 --- a/debian/patches/copy-devices.diff +++ /dev/null @@ -1,117 +0,0 @@ -This patch adds the --copy-devices option, which will try to copy -the data inside a device instead of duplicating the device node. - -To use this patch, run these commands for a successful build: - - patch -p1 mode)) { -+ if (!(S_ISREG(file->mode) || (copy_devices && IS_DEVICE(file->mode)))) { - if (solo_file) - fname = f_name(file, NULL); - rprintf(FINFO, "skipping non-regular file \"%s\"\n", fname); -Index: rsync/options.c -=================================================================== ---- rsync.orig/options.c -+++ rsync/options.c -@@ -50,6 +50,7 @@ int append_mode = 0; - int keep_dirlinks = 0; - int copy_dirlinks = 0; - int copy_links = 0; -+int copy_devices = 0; - int preserve_links = 0; - int preserve_hard_links = 0; - int preserve_acls = 0; -@@ -705,6 +706,7 @@ void usage(enum logcode F) - rprintf(F," -o, --owner preserve owner (super-user only)\n"); - rprintf(F," -g, --group preserve group\n"); - rprintf(F," --devices preserve device files (super-user only)\n"); -+ rprintf(F," --copy-devices copy device contents as regular file\n"); - rprintf(F," --specials preserve special files\n"); - rprintf(F," -D same as --devices --specials\n"); - rprintf(F," -t, --times preserve modification times\n"); -@@ -887,6 +889,7 @@ static struct poptOption long_options[] - {"no-D", 0, POPT_ARG_NONE, 0, OPT_NO_D, 0, 0 }, - {"devices", 0, POPT_ARG_VAL, &preserve_devices, 1, 0, 0 }, - {"no-devices", 0, POPT_ARG_VAL, &preserve_devices, 0, 0, 0 }, -+ {"copy-devices", 0, POPT_ARG_NONE, ©_devices, 0, 0, 0 }, - {"specials", 0, POPT_ARG_VAL, &preserve_specials, 1, 0, 0 }, - {"no-specials", 0, POPT_ARG_VAL, &preserve_specials, 0, 0, 0 }, - {"links", 'l', POPT_ARG_VAL, &preserve_links, 1, 0, 0 }, -@@ -2798,6 +2801,9 @@ void server_options(char **args, int *ar - else if (remove_source_files) - args[ac++] = "--remove-sent-files"; - -+ if (copy_devices) -+ args[ac++] = "--copy-devices"; -+ - if (preallocate_files && am_sender) - args[ac++] = "--preallocate"; - -Index: rsync/rsync.c -=================================================================== ---- rsync.orig/rsync.c -+++ rsync/rsync.c -@@ -33,6 +33,7 @@ extern int preserve_xattrs; - extern int preserve_perms; - extern int preserve_executability; - extern int preserve_times; -+extern int copy_devices; - extern int am_root; - extern int am_server; - extern int am_daemon; -@@ -410,7 +411,8 @@ int read_ndx_and_attrs(int f_in, int f_o - - if (iflags & ITEM_TRANSFER) { - int i = ndx - cur_flist->ndx_start; -- if (i < 0 || !S_ISREG(cur_flist->files[i]->mode)) { -+ struct file_struct *file = cur_flist->files[i]; -+ if (i < 0 || !(S_ISREG(file->mode) || (copy_devices && IS_DEVICE(file->mode)))) { - rprintf(FERROR, - "received request to transfer non-regular file: %d [%s]\n", - ndx, who_am_i()); -Index: rsync/sender.c -=================================================================== ---- rsync.orig/sender.c -+++ rsync/sender.c -@@ -365,6 +365,20 @@ void send_files(int f_in, int f_out) - exit_cleanup(RERR_FILEIO); - } - -+ /* On Matt's computer, st_size is falsely 0 for most devices. -+ * If this happens, try harder to determine the actual device size. */ -+ if (IS_DEVICE(st.st_mode) && st.st_size == 0) { -+ OFF_T off = lseek(fd, 0, SEEK_END); -+ if (off == (OFF_T) -1) -+ rsyserr(FERROR, errno, "failed to seek to end of %s to determine size", fname); -+ else { -+ st.st_size = off; -+ off = lseek(fd, 0, SEEK_SET); -+ if (off != 0) -+ rsyserr(FERROR, errno, "failed to seek back to beginning of %s to read it", fname); -+ } -+ } -+ - if (st.st_size) { - int32 read_size = MAX(s->blength * 3, MAX_MAP_SIZE); - mbuf = map_file(fd, st.st_size, read_size, s->blength); diff --git a/debian/patches/disable_reconfigure_req.diff b/debian/patches/disable_reconfigure_req.diff deleted file mode 100644 index 2fbb528..0000000 --- a/debian/patches/disable_reconfigure_req.diff +++ /dev/null @@ -1,38 +0,0 @@ -Index: rsync/Makefile.in -=================================================================== ---- rsync.orig/Makefile.in -+++ rsync/Makefile.in -@@ -164,15 +164,6 @@ configure.sh config.h.in: configure.ac a - else \ - echo "config.h.in has CHANGED."; \ - fi -- @if test -f configure.sh.old -o -f config.h.in.old; then \ -- if test "$(MAKECMDGOALS)" = reconfigure; then \ -- echo 'Continuing with "make reconfigure".'; \ -- else \ -- echo 'You may need to run:'; \ -- echo ' make reconfigure'; \ -- exit 1; \ -- fi \ -- fi - - reconfigure: configure.sh - ./config.status --recheck -@@ -181,17 +172,6 @@ reconfigure: configure.sh - Makefile: Makefile.in config.status configure.sh config.h.in - @if test -f Makefile; then cp -p Makefile Makefile.old; else touch Makefile.old; fi - @./config.status -- @if diff Makefile Makefile.old >/dev/null 2>&1; then \ -- echo "Makefile is unchanged."; \ -- rm Makefile.old; \ -- else \ -- if test "$(MAKECMDGOALS)" = reconfigure; then \ -- echo 'Continuing with "make reconfigure".'; \ -- else \ -- echo "Makefile updated -- rerun your make command."; \ -- exit 1; \ -- fi \ -- fi - - rsync-ssl: $(srcdir)/rsync-ssl.in Makefile - sed 's;\@bindir\@;$(bindir);g' <$(srcdir)/rsync-ssl.in >rsync-ssl diff --git a/debian/patches/logdir.diff b/debian/patches/logdir.diff deleted file mode 100644 index 5b870cf..0000000 --- a/debian/patches/logdir.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: rsync/support/rsyncstats -=================================================================== ---- rsync.orig/support/rsyncstats -+++ rsync/support/rsyncstats -@@ -12,7 +12,7 @@ - use Getopt::Long; - - # You may wish to edit the next line to customize for your default log file. --$usage_file = "/var/log/rsyncd.log"; -+$usage_file = "/var/log/rsyncd"; - - # Edit the following lines for default report settings. - # Entries defined here will be over-ridden by the command line. diff --git a/debian/patches/manpage-compress-level.diff b/debian/patches/manpage-compress-level.diff deleted file mode 100644 index 68d21e9..0000000 --- a/debian/patches/manpage-compress-level.diff +++ /dev/null @@ -1,15 +0,0 @@ -Index: rsync/rsync.yo -=================================================================== ---- rsync.orig/rsync.yo -+++ rsync/rsync.yo -@@ -1970,7 +1970,9 @@ See the bf(--skip-compress) option for t - that will not be compressed. - - dit(bf(--compress-level=NUM)) Explicitly set the compression level to use --(see bf(--compress)) instead of letting it default. If NUM is non-zero, -+(see bf(--compress)) instead of letting it default. Allowed values for NUM -+are between 0 and 9; default when bf(--compress) option is specified is 6. -+If NUM is non-zero, - the bf(--compress) option is implied. - - dit(bf(--skip-compress=LIST)) Override the list of file suffixes that will diff --git a/debian/patches/noatime.diff b/debian/patches/noatime.diff deleted file mode 100644 index 1a6d73b..0000000 --- a/debian/patches/noatime.diff +++ /dev/null @@ -1,146 +0,0 @@ -Description: Optionally preserve atimes -Origin: https://bugzilla.samba.org/show_bug.cgi?id=7249 -Last-Update: 2019-10-10 -Index: rsync/options.c -=================================================================== ---- rsync.orig/options.c -+++ rsync/options.c -@@ -128,6 +128,7 @@ int delay_updates = 0; - long block_size = 0; /* "long" because popt can't set an int32. */ - char *skip_compress = NULL; - item_list dparam_list = EMPTY_ITEM_LIST; -+int noatime = 0; - - /** Network address family. **/ - int default_af_hint -@@ -806,6 +807,7 @@ void usage(enum logcode F) - rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n"); - #endif - rprintf(F," --checksum-seed=NUM set block/file checksum seed (advanced)\n"); -+ rprintf(F," --noatime do not alter atime when opening source files\n"); - rprintf(F," -4, --ipv4 prefer IPv4\n"); - rprintf(F," -6, --ipv6 prefer IPv6\n"); - rprintf(F," --version print version number\n"); -@@ -1027,6 +1029,7 @@ static struct poptOption long_options[] - {"iconv", 0, POPT_ARG_STRING, &iconv_opt, 0, 0, 0 }, - {"no-iconv", 0, POPT_ARG_NONE, 0, OPT_NO_ICONV, 0, 0 }, - #endif -+ {"noatime", 0, POPT_ARG_VAL, &noatime, 1, 0, 0 }, - {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 }, - {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 }, - {"8-bit-output", '8', POPT_ARG_VAL, &allow_8bit_chars, 1, 0, 0 }, -@@ -2807,6 +2810,12 @@ void server_options(char **args, int *ar - if (preallocate_files && am_sender) - args[ac++] = "--preallocate"; - -+ /* -+ * Do we want remote atime preservation when we preserve local ones? -+ if (noatime) -+ args[ac++] = "--noatime"; -+ */ -+ - if (ac > MAX_SERVER_ARGS) { /* Not possible... */ - rprintf(FERROR, "argc overflow in server_options().\n"); - exit_cleanup(RERR_MALLOC); -Index: rsync/rsync.yo -=================================================================== ---- rsync.orig/rsync.yo -+++ rsync/rsync.yo -@@ -458,6 +458,7 @@ to the detailed description below for a - --protocol=NUM force an older protocol version to be used - --iconv=CONVERT_SPEC request charset conversion of filenames - --checksum-seed=NUM set block/file checksum seed (advanced) -+ --noatime do not alter atime when opening source files - -4, --ipv4 prefer IPv4 - -6, --ipv6 prefer IPv6 - --version print version number -@@ -2659,6 +2660,13 @@ daemon uses the charset specified in its - regardless of the remote charset you actually pass. Thus, you may feel free to - specify just the local charset for a daemon transfer (e.g. bf(--iconv=utf8)). - -+dit(bf(--noatime)) Use the O_NOATIME open flag on systems that support it. -+The effect of this flag is to avoid altering the access time (atime) of the -+opened files. -+If the system does not support the O_NOATIME flag, this option does nothing. -+Currently, systems known to support O_NOATIME are Linux >= 2.6.8 with glibc -+>= 2.3.4. -+ - dit(bf(-4, --ipv4) or bf(-6, --ipv6)) Tells rsync to prefer IPv4/IPv6 - when creating sockets. This only affects sockets that rsync has direct - control over, such as the outgoing socket when directly contacting an -Index: rsync/syscall.c -=================================================================== ---- rsync.orig/syscall.c -+++ rsync/syscall.c -@@ -42,6 +42,7 @@ extern int inplace; - extern int preallocate_files; - extern int preserve_perms; - extern int preserve_executability; -+extern int noatime; - - #ifndef S_BLKSIZE - # if defined hpux || defined __hpux__ || defined __hpux -@@ -201,6 +202,10 @@ int do_open(const char *pathname, int fl - RETURN_ERROR_IF(dry_run, 0); - RETURN_ERROR_IF_RO_OR_LO; - } -+#ifdef O_NOATIME -+ if (noatime) -+ flags |= O_NOATIME; -+#endif - - return open(pathname, flags | O_BINARY, mode); - } -Index: rsync/tls.c -=================================================================== ---- rsync.orig/tls.c -+++ rsync/tls.c -@@ -53,6 +53,7 @@ int preserve_perms = 0; - int preserve_executability = 0; - int preallocate_files = 0; - int inplace = 0; -+int noatime = 0; - - #ifdef SUPPORT_XATTRS - -Index: rsync/t_unsafe.c -=================================================================== ---- rsync.orig/t_unsafe.c -+++ rsync/t_unsafe.c -@@ -33,6 +33,10 @@ int preserve_perms = 0; - int preserve_executability = 0; - short info_levels[COUNT_INFO], debug_levels[COUNT_DEBUG]; - -+/* This is to make syscall.o shut up. */ -+int noatime = 0; -+ -+ - int - main(int argc, char **argv) - { -Index: rsync/wildtest.c -=================================================================== ---- rsync.orig/wildtest.c -+++ rsync/wildtest.c -@@ -32,6 +32,9 @@ int fnmatch_errors = 0; - - int wildmatch_errors = 0; - -+/* This is to make syscall.o shut up. */ -+int noatime = 0; -+ - typedef char bool; - - int output_iterations = 0; -Index: rsync/trimslash.c -=================================================================== ---- rsync.orig/trimslash.c -+++ rsync/trimslash.c -@@ -30,6 +30,7 @@ int preserve_perms = 0; - int preserve_executability = 0; - int preallocate_files = 0; - int inplace = 0; -+int noatime = 0; - - int - main(int argc, char **argv) diff --git a/debian/patches/prealloc-fix.diff b/debian/patches/prealloc-fix.diff deleted file mode 100644 index 50e0c65..0000000 --- a/debian/patches/prealloc-fix.diff +++ /dev/null @@ -1,16 +0,0 @@ -Fix --prealloc to keep file-size 0 when possible -https://git.samba.org/?p=rsync.git;a=commitdiff;h=c2da3809f714d936dec1cab6d5bf8b724b9cd113 - -Index: rsync/syscall.c -=================================================================== ---- rsync.orig/syscall.c -+++ rsync/syscall.c -@@ -467,7 +467,7 @@ int do_utime(const char *fname, time_t m - - OFF_T do_fallocate(int fd, OFF_T offset, OFF_T length) - { -- int opts = inplace || preallocate_files ? 0 : DO_FALLOC_OPTIONS; -+ int opts = inplace || preallocate_files ? DO_FALLOC_OPTIONS : 0; - int ret; - RETURN_ERROR_IF(dry_run, 0); - RETURN_ERROR_IF_RO_OR_LO; diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 608b367..0000000 --- a/debian/patches/series +++ /dev/null @@ -1,15 +0,0 @@ -CVE-2016-9840.patch -CVE-2016-9841.patch -CVE-2016-9842.patch -CVE-2016-9843.patch -Two-spelling-mistakes-in-rsync.yo.diff -backup-dir-implies-backup.diff -copy-devices.diff -logdir.diff -manpage-compress-level.diff -noatime.diff -prealloc-fix.diff -ssh-6-option.diff -systemd-unit.diff -time-limit.diff -disable_reconfigure_req.diff diff --git a/debian/patches/ssh-6-option.diff b/debian/patches/ssh-6-option.diff deleted file mode 100644 index 1b5f75d..0000000 --- a/debian/patches/ssh-6-option.diff +++ /dev/null @@ -1,36 +0,0 @@ -Index: rsync/main.c -=================================================================== ---- rsync.orig/main.c -+++ rsync/main.c -@@ -117,6 +117,7 @@ int sender_keeps_checksum = 0; - # endif - static struct sigaction sigact; - #endif -+extern int default_af_hint; - - struct pid_status { - pid_t pid; -@@ -454,6 +455,23 @@ static pid_t do_cmd(char *cmd, char *mac - *t++ = '\0'; - } - -+#ifdef AF_INET -+ if (default_af_hint == AF_INET) { -+ if (strncmp(cmd, "ssh", 3) == 0 || strstr(cmd, "/ssh") != NULL) { -+ /* we're using ssh so we can add a -4 option */ -+ args[argc++] = "-4"; -+ } -+ } -+#endif -+#ifdef AF_INET6 -+ if (default_af_hint == AF_INET6) { -+ if (strncmp(cmd, "ssh", 3) == 0 || strstr(cmd, "/ssh") != NULL) { -+ /* we're using ssh so we can add a -6 option */ -+ args[argc++] = "-6"; -+ } -+ } -+#endif -+ - /* check to see if we've already been given '-l user' in - * the remote-shell command */ - for (i = 0; i < argc-1; i++) { diff --git a/debian/patches/systemd-unit.diff b/debian/patches/systemd-unit.diff deleted file mode 100644 index a6a5b06..0000000 --- a/debian/patches/systemd-unit.diff +++ /dev/null @@ -1,17 +0,0 @@ -add Documentation tag to systemd unit file; -start rsync after network.target. -Last-Update: 2019-01-16 - -Index: rsync/packaging/systemd/rsync.service -=================================================================== ---- rsync.orig/packaging/systemd/rsync.service -+++ rsync/packaging/systemd/rsync.service -@@ -1,6 +1,8 @@ - [Unit] - Description=fast remote file copy program daemon -+Documentation=man:rsync(1) man:rsyncd.conf(5) - ConditionPathExists=/etc/rsyncd.conf -+After=network.target - - [Service] - ExecStart=/usr/bin/rsync --daemon --no-detach diff --git a/debian/patches/time-limit.diff b/debian/patches/time-limit.diff deleted file mode 100644 index b9da2cc..0000000 --- a/debian/patches/time-limit.diff +++ /dev/null @@ -1,319 +0,0 @@ -John Taylor's patch for implementing --time-limit and --stop-at, reworked -to be simpler and more efficient by Wayne Davison. - -Do we need configure support for mktime()? - -To use this patch, run these commands for a successful build: - - patch -p1 = stop_at_utime) { -+ rprintf(FERROR, "run-time limit exceeded\n"); -+ exit_cleanup(RERR_TIMEOUT); -+ } -+ -+ if (!io_timeout) -+ return; -+ - if (allow_keepalive) { - /* This may put data into iobuf.msg w/o flushing. */ - maybe_send_keepalive(t, keepalive_flags); -Index: rsync/options.c -=================================================================== ---- rsync.orig/options.c -+++ rsync/options.c -@@ -116,6 +116,7 @@ size_t bwlimit_writemax = 0; - int ignore_existing = 0; - int ignore_non_existing = 0; - int need_messages_from_generator = 0; -+time_t stop_at_utime = 0; - int max_delete = INT_MIN; - OFF_T max_size = -1; - OFF_T min_size = -1; -@@ -796,6 +797,8 @@ void usage(enum logcode F) - rprintf(F," --password-file=FILE read daemon-access password from FILE\n"); - rprintf(F," --list-only list the files instead of copying them\n"); - rprintf(F," --bwlimit=RATE limit socket I/O bandwidth\n"); -+ rprintf(F," --stop-at=y-m-dTh:m Stop rsync at year-month-dayThour:minute\n"); -+ rprintf(F," --time-limit=MINS Stop rsync after MINS minutes have elapsed\n"); - #ifdef HAVE_SETVBUF - rprintf(F," --outbuf=N|L|B set output buffering to None, Line, or Block\n"); - #endif -@@ -825,6 +828,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP - OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE, - OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG, - OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT, -+ OPT_STOP_AT, OPT_TIME_LIMIT, - OPT_SERVER, OPT_REFUSED_BASE = 9000}; - - static struct poptOption long_options[] = { -@@ -1022,6 +1026,8 @@ static struct poptOption long_options[] - {"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 }, - {"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 }, - {"no-contimeout", 0, POPT_ARG_VAL, &connect_timeout, 0, 0, 0 }, -+ {"stop-at", 0, POPT_ARG_STRING, 0, OPT_STOP_AT, 0, 0 }, -+ {"time-limit", 0, POPT_ARG_STRING, 0, OPT_TIME_LIMIT, 0, 0 }, - {"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 }, - {"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 }, - {"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 }, -@@ -1814,6 +1820,36 @@ int parse_arguments(int *argc_p, const c - return 0; - #endif - -+ case OPT_STOP_AT: -+ arg = poptGetOptArg(pc); -+ if ((stop_at_utime = parse_time(arg)) == (time_t)-1) { -+ snprintf(err_buf, sizeof err_buf, -+ "invalid --stop-at format: %s\n", -+ arg); -+ rprintf(FERROR, "ERROR: %s", err_buf); -+ return 0; -+ } -+ if (stop_at_utime < time(NULL)) { -+ snprintf(err_buf, sizeof err_buf, -+ "--stop-at time is in the past: %s\n", -+ arg); -+ rprintf(FERROR, "ERROR: %s", err_buf); -+ return 0; -+ } -+ break; -+ -+ case OPT_TIME_LIMIT: -+ arg = poptGetOptArg(pc); -+ if ((stop_at_utime = atol(arg) * 60) <= 0) { -+ snprintf(err_buf, sizeof err_buf, -+ "invalid --time-limit value: %s\n", -+ arg); -+ rprintf(FERROR, "ERROR: %s", err_buf); -+ return 0; -+ } -+ stop_at_utime += time(NULL); -+ break; -+ - default: - /* A large opt value means that set_refuse_options() - * turned this option off. */ -@@ -2618,6 +2654,15 @@ void server_options(char **args, int *ar - goto oom; - args[ac++] = arg; - } -+ -+ if (stop_at_utime) { -+ long mins = (stop_at_utime - time(NULL)) / 60; -+ if (mins <= 0) -+ mins = 1; -+ if (asprintf(&arg, "--time-limit=%ld", mins) < 0) -+ goto oom; -+ args[ac++] = arg; -+ } - - if (backup_dir) { - args[ac++] = "--backup-dir"; -Index: rsync/rsync.yo -=================================================================== ---- rsync.orig/rsync.yo -+++ rsync/rsync.yo -@@ -452,6 +452,8 @@ to the detailed description below for a - --password-file=FILE read daemon-access password from FILE - --list-only list the files instead of copying them - --bwlimit=RATE limit socket I/O bandwidth -+ --stop-at=y-m-dTh:m Stop rsync at year-month-dayThour:minute -+ --time-limit=MINS Stop rsync after MINS minutes have elapsed - --write-batch=FILE write a batched update to FILE - --only-write-batch=FILE like --write-batch but w/o updating dest - --read-batch=FILE read a batched update from FILE -@@ -2593,6 +2595,19 @@ files can show up as being rapidly sent - while other can show up as very slow when the flushing of the output buffer - occurs. This may be fixed in a future version. - -+dit(bf(--stop-at=y-m-dTh:m)) This option allows you to specify at what -+time to stop rsync, in year-month-dayThour:minute numeric format (e.g. -+2004-12-31T23:59). You can specify a 2 or 4-digit year. You can also -+leave off various items and the result will be the next possible time -+that matches the specified data. For example, "1-30" specifies the next -+January 30th (at midnight), "04:00" specifies the next 4am, "1" -+specifies the next 1st of the month at midnight, and ":59" specifies the -+next 59th minute after the hour. If you prefer, you may separate the -+date numbers using slashes instead of dashes. -+ -+dit(bf(--time-limit=MINS)) This option allows you to specify the maximum -+number of minutes rsync will run for. -+ - dit(bf(--write-batch=FILE)) Record a file that can later be applied to - another identical destination with bf(--read-batch). See the "BATCH MODE" - section for details, and also the bf(--only-write-batch) option. -Index: rsync/util.c -=================================================================== ---- rsync.orig/util.c -+++ rsync/util.c -@@ -115,6 +115,133 @@ void print_child_argv(const char *prefix - rprintf(FCLIENT, " (%d args)\n", cnt); - } - -+/* Allow the user to specify a time in the format yyyy-mm-ddThh:mm while -+ * also allowing abbreviated data. For instance, if the time is omitted, -+ * it defaults to midnight. If the date is omitted, it defaults to the -+ * next possible date in the future with the specified time. Even the -+ * year or year-month can be omitted, again defaulting to the next date -+ * in the future that matches the specified information. A 2-digit year -+ * is also OK, as is using '/' instead of '-'. */ -+time_t parse_time(const char *arg) -+{ -+ const char *cp; -+ time_t val, now = time(NULL); -+ struct tm t, *today = localtime(&now); -+ int in_date, n; -+ -+ memset(&t, 0, sizeof t); -+ t.tm_year = t.tm_mon = t.tm_mday = -1; -+ t.tm_hour = t.tm_min = t.tm_isdst = -1; -+ cp = arg; -+ if (*cp == 'T' || *cp == 't' || *cp == ':') { -+ cp++; -+ in_date = 0; -+ } else -+ in_date = 1; -+ for ( ; ; cp++) { -+ if (!isDigit(cp)) -+ return -1; -+ -+ n = 0; -+ do { -+ n = n * 10 + *cp++ - '0'; -+ } while (isDigit(cp)); -+ -+ if (*cp == ':') -+ in_date = 0; -+ if (in_date) { -+ if (t.tm_year != -1) -+ return -1; -+ t.tm_year = t.tm_mon; -+ t.tm_mon = t.tm_mday; -+ t.tm_mday = n; -+ if (!*cp) -+ break; -+ if (*cp == 'T' || *cp == 't') { -+ if (!cp[1]) -+ break; -+ in_date = 0; -+ } else if (*cp != '-' && *cp != '/') -+ return -1; -+ continue; -+ } -+ if (t.tm_hour != -1) -+ return -1; -+ t.tm_hour = t.tm_min; -+ t.tm_min = n; -+ if (!*cp) -+ break; -+ if (*cp != ':') -+ return -1; -+ } -+ -+ in_date = 0; -+ if (t.tm_year < 0) { -+ t.tm_year = today->tm_year; -+ in_date = 1; -+ } else if (t.tm_year < 100) { -+ while (t.tm_year < today->tm_year) -+ t.tm_year += 100; -+ } else -+ t.tm_year -= 1900; -+ if (t.tm_mon < 0) { -+ t.tm_mon = today->tm_mon; -+ in_date = 2; -+ } else -+ t.tm_mon--; -+ if (t.tm_mday < 0) { -+ t.tm_mday = today->tm_mday; -+ in_date = 3; -+ } -+ -+ n = 0; -+ if (t.tm_min < 0) { -+ t.tm_hour = t.tm_min = 0; -+ } else if (t.tm_hour < 0) { -+ if (in_date != 3) -+ return -1; -+ in_date = 0; -+ t.tm_hour = today->tm_hour; -+ n = 60*60; -+ } -+ -+ if (t.tm_hour > 23 || t.tm_min > 59 -+ || t.tm_mon < 0 || t.tm_mon >= 12 -+ || t.tm_mday < 1 || t.tm_mday > 31 -+ || (val = mktime(&t)) == (time_t)-1) -+ return -1; -+ -+ if (val <= now && in_date) { -+ tweak_date: -+ switch (in_date) { -+ case 3: -+ t.tm_mday++; -+ break; -+ case 2: -+ if (++t.tm_mon == 12) -+ t.tm_mon = 0; -+ else -+ break; -+ case 1: -+ t.tm_year++; -+ break; -+ } -+ if ((val = mktime(&t)) == (time_t)-1) { -+ if (in_date == 3 && t.tm_mday > 28) { -+ t.tm_mday = 1; -+ in_date = 2; -+ goto tweak_date; -+ } -+ return -1; -+ } -+ } -+ if (n) { -+ while (val <= now) -+ val += n; -+ } -+ return val; -+} -+ - /* This returns 0 for success, 1 for a symlink if symlink time-setting - * is not possible, or -1 for any other error. */ - int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode) -Index: rsync/proto.h -=================================================================== ---- rsync.orig/proto.h -+++ rsync/proto.h -@@ -367,6 +367,7 @@ void set_nonblocking(int fd); - void set_blocking(int fd); - int fd_pair(int fd[2]); - void print_child_argv(const char *prefix, char **cmd); -+time_t parse_time(const char *arg); - int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode); - int make_path(char *fname, int flags); - int full_write(int desc, const char *ptr, size_t len); diff --git a/debian/source/format b/debian/source/format index 163aaf8..89ae9db 100644 --- a/debian/source/format +++ b/debian/source/format @@ -1 +1 @@ -3.0 (quilt) +3.0 (native)