From rsync-cvs at lists.samba.org Sat Mar 16 16:20:15 2019 From: rsync-cvs at lists.samba.org (Rsync CVS commit messages) Date: Sat, 16 Mar 2019 17:20:15 +0100 (CET) Subject: [SCM] The rsync repository. - branch master updated Message-ID: The branch, master has been updated via 3e2e4b5a Tweak the copyright year. via 79332c0d Fix --remove-source-files sanity check w/--copy-links the right way. Fixes bug #10494. via bdfc296f Handle a run from down inside the checkout tree. from 2ad1c4e8 Improve write-only --sender check & handle 2 new options. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 3e2e4b5a33c72ef428ff40989a1ba03b4d24c9fb Author: Wayne Davison Date: Sat Mar 16 09:15:49 2019 -0700 Tweak the copyright year. commit 79332c0d66d933369a28c63b096addb67514cb38 Author: Wayne Davison Date: Sat Mar 16 09:09:09 2019 -0700 Fix --remove-source-files sanity check w/--copy-links the right way. Fixes bug #10494. commit bdfc296faf29dd7354a4b8b6a252bba84d43abf1 Author: Wayne Davison Date: Fri Mar 15 12:20:55 2019 -0700 Handle a run from down inside the checkout tree. ----------------------------------------------------------------------- Summary of changes: access.c | 2 +- acls.c | 2 +- authenticate.c | 2 +- backup.c | 2 +- batch.c | 2 +- byteorder.h | 2 +- case_N.h | 2 +- checksum.c | 2 +- chmod.c | 2 +- cleanup.c | 2 +- clientname.c | 2 +- clientserver.c | 2 +- compat.c | 2 +- delete.c | 2 +- errcode.h | 2 +- exclude.c | 2 +- fileio.c | 2 +- flist.c | 2 +- generator.c | 2 +- getgroups.c | 2 +- hashtable.c | 2 +- hlink.c | 2 +- ifuncs.h | 2 +- inums.h | 2 +- io.c | 2 +- io.h | 2 +- itypes.h | 2 +- lib/compat.c | 2 +- lib/mdfour.c | 2 +- lib/permstring.c | 2 +- lib/sysacls.c | 2 +- lib/sysacls.h | 2 +- lib/sysxattrs.c | 2 +- loadparm.c | 2 +- log.c | 2 +- main.c | 2 +- match.c | 2 +- options.c | 4 ++-- pipe.c | 2 +- progress.c | 2 +- receiver.c | 2 +- rounding.c | 2 +- rsync.c | 2 +- rsync.h | 2 +- sender.c | 10 +++++----- socket.c | 2 +- support/git-set-file-times | 12 +++++++++--- syscall.c | 2 +- t_stub.c | 2 +- t_unsafe.c | 2 +- tls.c | 2 +- token.c | 2 +- trimslash.c | 2 +- uidlist.c | 2 +- util.c | 2 +- util2.c | 2 +- wildtest.c | 2 +- xattrs.c | 2 +- 58 files changed, 71 insertions(+), 65 deletions(-) Changeset truncated at 500 lines: diff --git a/access.c b/access.c index 631cc7d6..80e2b50c 100644 --- a/access.c +++ b/access.c @@ -2,7 +2,7 @@ * Routines to authenticate access to a daemon (hosts allow/deny). * * Copyright (C) 1998 Andrew Tridgell - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/acls.c b/acls.c index 7351ad68..264b920b 100644 --- a/acls.c +++ b/acls.c @@ -3,7 +3,7 @@ * * Copyright (C) 1996 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras - * Copyright (C) 2006-2018 Wayne Davison + * Copyright (C) 2006-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/authenticate.c b/authenticate.c index 8534a0b2..f9357524 100644 --- a/authenticate.c +++ b/authenticate.c @@ -2,7 +2,7 @@ * Support rsync daemon authentication. * * Copyright (C) 1998-2000 Andrew Tridgell - * Copyright (C) 2002-2018 Wayne Davison + * Copyright (C) 2002-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/backup.c b/backup.c index 5f40b39a..326ecac2 100644 --- a/backup.c +++ b/backup.c @@ -2,7 +2,7 @@ * Backup handling code. * * Copyright (C) 1999 Andrew Tridgell - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/batch.c b/batch.c index 1ab66e90..263a9a35 100644 --- a/batch.c +++ b/batch.c @@ -3,7 +3,7 @@ * * Copyright (C) 1999 Weiss * Copyright (C) 2004 Chris Shoemaker - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/byteorder.h b/byteorder.h index ac9ee419..c406b6b5 100644 --- a/byteorder.h +++ b/byteorder.h @@ -2,7 +2,7 @@ * Simple byteorder handling. * * Copyright (C) 1992-1995 Andrew Tridgell - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/case_N.h b/case_N.h index f15d1d60..68727ab9 100644 --- a/case_N.h +++ b/case_N.h @@ -1,7 +1,7 @@ /* * Allow an arbitrary sequence of case labels. * - * Copyright (C) 2006-2018 Wayne Davison + * Copyright (C) 2006-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/checksum.c b/checksum.c index 583d15ca..3295252b 100644 --- a/checksum.c +++ b/checksum.c @@ -3,7 +3,7 @@ * * Copyright (C) 1996 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/chmod.c b/chmod.c index 7ecb8cb3..43eb9b94 100644 --- a/chmod.c +++ b/chmod.c @@ -2,7 +2,7 @@ * Implement the core of the --chmod option. * * Copyright (C) 2002 Scott Howard - * Copyright (C) 2005-2018 Wayne Davison + * Copyright (C) 2005-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/cleanup.c b/cleanup.c index c3ae7999..8cde0389 100644 --- a/cleanup.c +++ b/cleanup.c @@ -4,7 +4,7 @@ * Copyright (C) 1996-2000 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/clientname.c b/clientname.c index 4ac8b485..46025cf3 100644 --- a/clientname.c +++ b/clientname.c @@ -3,7 +3,7 @@ * * Copyright (C) 1992-2001 Andrew Tridgell * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2002-2018 Wayne Davison + * Copyright (C) 2002-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/clientserver.c b/clientserver.c index 93c4457f..2f8f2f25 100644 --- a/clientserver.c +++ b/clientserver.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998-2001 Andrew Tridgell * Copyright (C) 2001-2002 Martin Pool - * Copyright (C) 2002-2018 Wayne Davison + * Copyright (C) 2002-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/compat.c b/compat.c index 8d755c67..17113ae4 100644 --- a/compat.c +++ b/compat.c @@ -3,7 +3,7 @@ * * Copyright (C) Andrew Tridgell 1996 * Copyright (C) Paul Mackerras 1996 - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/delete.c b/delete.c index 716e5469..4cb2878d 100644 --- a/delete.c +++ b/delete.c @@ -4,7 +4,7 @@ * Copyright (C) 1996-2000 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/errcode.h b/errcode.h index b089c2bb..9824a34d 100644 --- a/errcode.h +++ b/errcode.h @@ -2,7 +2,7 @@ * Error codes returned by rsync. * * Copyright (C) 1998-2000 Andrew Tridgell - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/exclude.c b/exclude.c index a0090b29..a15a4bb3 100644 --- a/exclude.c +++ b/exclude.c @@ -4,7 +4,7 @@ * Copyright (C) 1996-2001 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/fileio.c b/fileio.c index 3f55e708..0f73ba43 100644 --- a/fileio.c +++ b/fileio.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998 Andrew Tridgell * Copyright (C) 2002 Martin Pool - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/flist.c b/flist.c index 60e843cc..c275e995 100644 --- a/flist.c +++ b/flist.c @@ -4,7 +4,7 @@ * Copyright (C) 1996 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2002-2018 Wayne Davison + * Copyright (C) 2002-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/generator.c b/generator.c index a112da6e..6021a220 100644 --- a/generator.c +++ b/generator.c @@ -4,7 +4,7 @@ * Copyright (C) 1996-2000 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/getgroups.c b/getgroups.c index 190054b5..a96e04d4 100644 --- a/getgroups.c +++ b/getgroups.c @@ -3,7 +3,7 @@ * `id -G` on Linux, but it's too hard to find a portable equivalent. * * Copyright (C) 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as diff --git a/hashtable.c b/hashtable.c index 2fc2310a..00c057db 100644 --- a/hashtable.c +++ b/hashtable.c @@ -1,7 +1,7 @@ /* * Routines to provide a memory-efficient hashtable. * - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/hlink.c b/hlink.c index 851d0d8a..6c5ea61a 100644 --- a/hlink.c +++ b/hlink.c @@ -4,7 +4,7 @@ * Copyright (C) 1996 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2002 Martin Pool - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/ifuncs.h b/ifuncs.h index 71733386..36ea51ad 100644 --- a/ifuncs.h +++ b/ifuncs.h @@ -1,6 +1,6 @@ /* Inline functions for rsync. * - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/inums.h b/inums.h index 6a33cbfc..b421d1a4 100644 --- a/inums.h +++ b/inums.h @@ -1,6 +1,6 @@ /* Inline functions for rsync. * - * Copyright (C) 2008-2018 Wayne Davison + * Copyright (C) 2008-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/io.c b/io.c index c04dbd57..923d6ec5 100644 --- a/io.c +++ b/io.c @@ -4,7 +4,7 @@ * Copyright (C) 1996-2001 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/io.h b/io.h index 21cd277b..fd3b7523 100644 --- a/io.h +++ b/io.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/itypes.h b/itypes.h index 1dbe2f2b..08759a22 100644 --- a/itypes.h +++ b/itypes.h @@ -1,6 +1,6 @@ /* Inline functions for rsync. * - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/compat.c b/lib/compat.c index e0813fc5..a62c8790 100644 --- a/lib/compat.c +++ b/lib/compat.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998 Andrew Tridgell * Copyright (C) 2002 Martin Pool - * Copyright (C) 2004-2018 Wayne Davison + * Copyright (C) 2004-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/mdfour.c b/lib/mdfour.c index 7254686d..399da83e 100644 --- a/lib/mdfour.c +++ b/lib/mdfour.c @@ -4,7 +4,7 @@ * An implementation of MD4 designed for use in the SMB authentication protocol. * * Copyright (C) 1997-1998 Andrew Tridgell - * Copyright (C) 2005-2018 Wayne Davison + * Copyright (C) 2005-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/permstring.c b/lib/permstring.c index b83826c6..ab8e26cb 100644 --- a/lib/permstring.c +++ b/lib/permstring.c @@ -4,7 +4,7 @@ * Copyright (C) 1996 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2001 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/sysacls.c b/lib/sysacls.c index 21beed72..510030fa 100644 --- a/lib/sysacls.c +++ b/lib/sysacls.c @@ -2,7 +2,7 @@ * Unix SMB/CIFS implementation. * Based on the Samba ACL support code. * Copyright (C) Jeremy Allison 2000. - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * The permission functions have been changed to get/set all bits via * one call. Some functions that rsync doesn't need were also removed. diff --git a/lib/sysacls.h b/lib/sysacls.h index b551d7b0..040fcdab 100644 --- a/lib/sysacls.h +++ b/lib/sysacls.h @@ -3,7 +3,7 @@ * Version 2.2.x * Portable SMB ACL interface * Copyright (C) Jeremy Allison 2000 - * Copyright (C) 2007-2018 Wayne Davison + * Copyright (C) 2007-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/sysxattrs.c b/lib/sysxattrs.c index 1abd4685..583b93e9 100644 --- a/lib/sysxattrs.c +++ b/lib/sysxattrs.c @@ -2,7 +2,7 @@ * Extended attribute support for rsync. * * Copyright (C) 2004 Red Hat, Inc. - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * Written by Jay Fenlason. * * This program is free software; you can redistribute it and/or modify diff --git a/loadparm.c b/loadparm.c index e6dd843c..029f358f 100644 --- a/loadparm.c +++ b/loadparm.c @@ -17,7 +17,7 @@ * and Karl Auer. Some of the changes are: * * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison */ /* Load parameters. diff --git a/log.c b/log.c index 6143349c..21bcdfd9 100644 --- a/log.c +++ b/log.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998-2001 Andrew Tridgell * Copyright (C) 2000-2001 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/main.c b/main.c index 99dae1c1..6a6ac559 100644 --- a/main.c +++ b/main.c @@ -4,7 +4,7 @@ * Copyright (C) 1996-2001 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras * Copyright (C) 2001, 2002 Martin Pool - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/match.c b/match.c index 7c87efd2..0639bf24 100644 --- a/match.c +++ b/match.c @@ -3,7 +3,7 @@ * * Copyright (C) 1996 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras - * Copyright (C) 2003-2018 Wayne Davison + * Copyright (C) 2003-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/options.c b/options.c index a07c8e13..e5b0cb68 100644 --- a/options.c +++ b/options.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998-2001 Andrew Tridgell * Copyright (C) 2000, 2001, 2002 Martin Pool - * Copyright (C) 2002-2018 Wayne Davison + * Copyright (C) 2002-2019 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -612,7 +612,7 @@ static void print_rsync_version(enum logcode f) rprintf(f, "%s version %s protocol version %d%s\n", RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol); - rprintf(f, "Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others.\n"); + rprintf(f, "Copyright (C) 1996-2019 by Andrew Tridgell, Wayne Davison, and others.\n"); rprintf(f, "Web site: http://rsync.samba.org/\n"); rprintf(f, "Capabilities:\n"); rprintf(f, " %d-bit files, %d-bit inums, %d-bit timestamps, %d-bit long ints,\n", diff --git a/pipe.c b/pipe.c index 08e1032d..badfeea0 100644 -- The rsync repository. From rsync-cvs at lists.samba.org Sat Mar 16 16:58:58 2019 From: rsync-cvs at lists.samba.org (Rsync CVS commit messages) Date: Sat, 16 Mar 2019 17:58:58 +0100 (CET) Subject: [SCM] The rsync repository. - branch master updated Message-ID: The branch, master has been updated via 3fe4469b Fix zlib CVE-2016-9843. via 8eb50bce Fix zlib CVE-2016-9842. via fc10fafa Fix zlib CVE-2016-9841. via efcbec3d Fix zlib CVE-2016-9840. from 3e2e4b5a Tweak the copyright year. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 3fe4469bfa84ed23414f4f581c798945dcfa41f0 Author: Wayne Davison Date: Sat Mar 16 09:52:46 2019 -0700 Fix zlib CVE-2016-9843. commit 8eb50bce43634b9ef9ae940778ac08a959a7e8e4 Author: Wayne Davison Date: Sat Mar 16 09:52:30 2019 -0700 Fix zlib CVE-2016-9842. commit fc10fafa252ae1055296831506e6e2dcdc1853c5 Author: Wayne Davison Date: Sat Mar 16 09:48:10 2019 -0700 Fix zlib CVE-2016-9841. commit efcbec3df5277ab14fe2757bd9187e4bb77d1ee2 Author: Wayne Davison Date: Sat Mar 16 09:47:55 2019 -0700 Fix zlib CVE-2016-9840. ----------------------------------------------------------------------- Summary of changes: zlib/crc32.c | 4 +-- zlib/inffast.c | 81 ++++++++++++++++++++++----------------------------------- zlib/inflate.c | 5 ++-- zlib/inftrees.c | 18 ++++++------- 4 files changed, 43 insertions(+), 65 deletions(-) Changeset truncated at 500 lines: diff --git a/zlib/crc32.c b/zlib/crc32.c index 979a7190..05733f4e 100644 --- a/zlib/crc32.c +++ b/zlib/crc32.c @@ -278,7 +278,7 @@ local unsigned long crc32_little(crc, buf, len) } /* ========================================================================= */ -#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, len) } 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, len) DOBIG4; len -= 4; } - buf4++; buf = (const unsigned char FAR *)buf4; if (len) do { diff --git a/zlib/inffast.c b/zlib/inffast.c index bda59ceb..f0d163db 100644 --- a/zlib/inffast.c +++ b/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 starting value for strm->avail_out */ /* 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 starting value for strm->avail_out */ 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 starting value for strm->avail_out */ 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 starting value for strm->avail_out */ } 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 starting value for strm->avail_out */ 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 starting value for strm->avail_out */ #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 starting value for strm->avail_out */ 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 starting value for strm->avail_out */ 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 starting value for strm->avail_out */ 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/zlib/inflate.c b/zlib/inflate.c index 5ed2390d..e43abd9e 100644 --- a/zlib/inflate.c +++ b/zlib/inflate.c @@ -1526,9 +1526,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/zlib/inftrees.c b/zlib/inftrees.c index 44d89cf2..571e8100 100644 --- a/zlib/inftrees.c +++ b/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] + 1u < 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 */ -- The rsync repository. From rsync-cvs at lists.samba.org Sat Mar 16 17:11:11 2019 From: rsync-cvs at lists.samba.org (Rsync CVS commit messages) Date: Sat, 16 Mar 2019 18:11:11 +0100 (CET) Subject: [SCM] The rsync repository. - branch master updated Message-ID: The branch, master has been updated via 13f59643 Some doc tweaks suggested by Clément Pit-Claudel. from 3fe4469b Fix zlib CVE-2016-9843. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 13f596433b8c3bd986ca1b3ad3aa8bf89747f6a4 Author: Wayne Davison Date: Sat Mar 16 10:10:14 2019 -0700 Some doc tweaks suggested by Clément Pit-Claudel. ----------------------------------------------------------------------- Summary of changes: rsync.yo | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/rsync.yo b/rsync.yo index 7bf005cc..df876022 100644 --- a/rsync.yo +++ b/rsync.yo @@ -200,7 +200,9 @@ itemization( list of accessible paths on the daemon will be shown. it() if you specify no local destination then a listing of the specified files on the remote daemon is provided. - it() you must not specify the bf(--rsh) (bf(-e)) option. + it() you must not specify the bf(--rsh) (bf(-e)) option (since + that overrides the daemon connection to use ssh -- see USING + RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION below). ) An example that copies all the files in a remote module named "src": @@ -230,7 +232,7 @@ example: verb( export RSYNC_CONNECT_PROG='ssh proxyhost nc %H 873' rsync -av targethost1::module/src/ /dest/ - rsync -av rsync:://targethost2/module/src/ /dest/ ) + rsync -av rsync://targethost2/module/src/ /dest/ ) The command specified above uses ssh to run nc (netcat) on a proxyhost, which forwards all data to port 873 (the rsync daemon) on the targethost @@ -1383,7 +1385,7 @@ It just limits the files that the receiver requests to be transferred. This option can be useful for those doing backups using the bf(--link-dest) option when they need to continue a backup run that got interrupted. Since a bf(--link-dest) run is copied into a new directory hierarchy (when it is -used properly), using bf(--ignore existing) will ensure that the +used properly), using bf(--ignore-existing) will ensure that the already-handled files don't get tweaked (which avoids a change in permissions on the hard-linked files). This does mean that this option is only looking at the existing files in the destination hierarchy itself. -- The rsync repository. From rsync-cvs at lists.samba.org Sat Mar 16 17:59:08 2019 From: rsync-cvs at lists.samba.org (Rsync CVS commit messages) Date: Sat, 16 Mar 2019 18:59:08 +0100 (CET) Subject: [SCM] The rsync repository. - branch master updated Message-ID: The branch, master has been updated via eb1b138e Clarify the cut-off point for --copy-safe-links. from 13f59643 Some doc tweaks suggested by Clément Pit-Claudel. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit eb1b138ec2b363268acfef07e1face7c4e662409 Author: Wayne Davison Date: Sat Mar 16 10:55:21 2019 -0700 Clarify the cut-off point for --copy-safe-links. ----------------------------------------------------------------------- Summary of changes: rsync.yo | 7 +++++++ 1 file changed, 7 insertions(+) Changeset truncated at 500 lines: diff --git a/rsync.yo b/rsync.yo index df876022..207d487e 100644 --- a/rsync.yo +++ b/rsync.yo @@ -939,6 +939,13 @@ are also treated like ordinary files, and so are any symlinks in the source path itself when bf(--relative) is used. This option has no additional effect if bf(--copy-links) was also specified. +Note that the cut-off point is the top of the transfer, which is the part of +the path that rsync isn't mentioning in the verbose output. If you copy +"subdir" to "/dest/" then the subdir directory is a name inside the transfer +tree, not the top of the transfer (its parent directory is the top) so it is +legal for created relative symlinks to refer to other names inside the /dest +dir. + dit(bf(--safe-links)) This tells rsync to ignore any symbolic links which point outside the copied tree. All absolute symlinks are also ignored. Using this option in conjunction with bf(--relative) may -- The rsync repository. From rsync-cvs at lists.samba.org Sat Mar 16 18:18:21 2019 From: rsync-cvs at lists.samba.org (Rsync CVS commit messages) Date: Sat, 16 Mar 2019 19:18:21 +0100 (CET) Subject: [SCM] The rsync repository. - branch master updated Message-ID: The branch, master has been updated via d47d3792 Fix bug in try_dests_reg that Florian Zumbiehl pointed out. from eb1b138e Clarify the cut-off point for --copy-safe-links. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit d47d3792160210ce14700e38a223eaa0059f3551 Author: Wayne Davison Date: Sat Mar 16 11:12:53 2019 -0700 Fix bug in try_dests_reg that Florian Zumbiehl pointed out. If the alternate-destination code was scanning multiple alt dirs and it found the right size/mtime/checksum info but not the right xattrs, it would keep scanning the other dirs for a better xattr match, but it would omit the unchanged-file check that needs to happen first. ----------------------------------------------------------------------- Summary of changes: generator.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) Changeset truncated at 500 lines: diff --git a/generator.c b/generator.c index 6021a220..5538a92d 100644 --- a/generator.c +++ b/generator.c @@ -876,27 +876,22 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx, pathjoin(cmpbuf, MAXPATHLEN, basis_dir[j], fname); if (link_stat(cmpbuf, &sxp->st, 0) < 0 || !S_ISREG(sxp->st.st_mode)) continue; - switch (match_level) { - case 0: + if (match_level == 0) { best_match = j; match_level = 1; - /* FALL THROUGH */ - case 1: - if (!unchanged_file(cmpbuf, file, &sxp->st)) - continue; + } + if (!unchanged_file(cmpbuf, file, &sxp->st)) + continue; + if (match_level == 1) { best_match = j; match_level = 2; - /* FALL THROUGH */ - case 2: - if (!unchanged_attrs(cmpbuf, file, sxp)) { - free_stat_x(sxp); - continue; - } + } + if (unchanged_attrs(cmpbuf, file, sxp)) { best_match = j; match_level = 3; break; } - break; + free_stat_x(sxp); } while (basis_dir[++j] != NULL); if (!match_level) -- The rsync repository. From rsync-cvs at lists.samba.org Sat Mar 16 18:53:02 2019 From: rsync-cvs at lists.samba.org (Rsync CVS commit messages) Date: Sat, 16 Mar 2019 19:53:02 +0100 (CET) Subject: [SCM] The rsync repository. - branch master updated Message-ID: The branch, master has been updated via c0c6a97c Try to fix the iconv crash in bug 11338. from d47d3792 Fix bug in try_dests_reg that Florian Zumbiehl pointed out. https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit c0c6a97c35e8e4fb56ba26dc9c8447e26d94de06 Author: Wayne Davison Date: Sat Mar 16 11:49:53 2019 -0700 Try to fix the iconv crash in bug 11338. Applying Michal Ruprich's suggested patch for the rwrite() function that should hopefully help with a bug that I couldn't reproduce. ----------------------------------------------------------------------- Summary of changes: log.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/log.c b/log.c index 21bcdfd9..a86edd74 100644 --- a/log.c +++ b/log.c @@ -378,10 +378,13 @@ output_msg: filtered_fwrite(f, convbuf, outbuf.len, 0); outbuf.len = 0; } - if (!ierrno || ierrno == E2BIG) - continue; - fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); - inbuf.len--; + /* Log one byte of illegal/incomplete sequence and continue with + * the next character. Check that the buffer is non-empty for the + * sake of robustness. */ + if ((ierrno == EILSEQ || ierrno == EINVAL) && inbuf.len) { + fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); + inbuf.len--; + } } } else #endif -- The rsync repository.