diff --git a/NEWS b/NEWS index cffc6ba..4d07c67 100644 --- a/NEWS +++ b/NEWS @@ -1,136 +1,18 @@ -NEWS for rsync 3.0.1 (3 Apr 2008) +NEWS for rsync 3.0.2 (8 Apr 2008) Protocol: 30 (unchanged) -Changes since 3.0.0: - - NOTABLE CHANGES IN BEHAVIOR: - - - Added the 'c'-flag to the itemizing of non-regular files so that the - itemized output doesn't get hidden if there were no attribute changes, - and also so that the itemizing of a --copy-links run will distinguish - between copying an identical non-regular file and the creation of a - revised version with a new value (e.g. a changed symlink referent, a - new device number, etc.). +Changes since 3.0.1: BUG FIXES: - - Fixed a crash bug when a single-use rsync daemon (via remote shell) was - run without specifying a --config=FILE option. - - - Fixed a crash when backing up a directory that has a default ACL. - - - Fixed a bug in the handling of xattr values that could cause rsync to - not think that a file's extended attributes are up-to-date. - - - Fixed the working of --fake-super with --link-dest and --xattrs. - - - Fixed a hang when combining --dry-run with --remove-source-files. - - - Fixed a bug with --iconv's handling of files that cannot be converted: - a failed name can no longer cause a transfer failure. - - - Fixed the building of the rounding.h file on systems that need custom - CPPFLAGS to be used. Also improved the error reporting if the building - of rounding.h fails. - - - Fixed the use of the --protect-args (-s) option when talking to a daemon. - - - Fixed the --ignore-existing option's protection of files on the receiver - that are non-regular files on the sender (e.g. if a symlink or a dir on - the sender is trying to replace a file on the receiver). The reverse - protection (protecting a dir/symlink/device from being replaced by a - file) was already working. - - - Fixed an assert failure if --hard-links is combined with an option that - can skip a file in a set of hard-linked files (i.e. --ignore-existing, - --append, etc.), without skipping all the files in the set. - - - Avoid setting the modify time on a directory that already has the right - modify time set. This avoids tweaking the dir's ctime. - - - Improved the daemon-exclude handling to do a better job of applying the - exclude rules to path entries. It also sends the user an error just as - if the files were actually missing (instead of silently ignoring the - user's args), and avoids sending the user the filter-action messages - for these non-user-initiated rules. - - - Fixed some glitches with the dry-run code's missing-directory - handling, including a problem when combined with --fuzzy. - - - Fixed some glitches with the skipped-directory handling. - - - Fixed the 'T'-flag itemizing of symlinks when --time isn't preserved. - - - Fixed a glitch in the itemizing of permissions with the -E option. - - - The --append option's restricting of transfers to those that add data no - longer prevents the updating of non-content changes to otherwise up-to- - date files (i.e. those with the same content but differing permissions, - ownership, xattrs, etc.). - - - Don't allow --fake-super to be specified with -XX (double --xattrs) - because the options conflict. If a daemon has "fake super" enabled, - it automatically downgrades a -XX request to -X. - - - Fixed a couple bugs in the parsing of daemon-config excludes that could - make a floating exclude rule get treated as matching an absolute path. - - - A daemon doesn't try to auto-refuse the "iconv" option if iconv-support - wasn't compiled in to the daemon (avoiding a warning in the logs). - - - Fixed the inclusion of per-dir merge files from implied dirs. - - - Fixed the support/rrsync script to work with the latest options that - rsync sends (including its flag-specifying use of -e to the server). + - Fixed a potential buffer overflow in the xattr code. ENHANCEMENTS: - - Added the --old-dirs (--old-d) option to make it easier for a user to - ask for file-listings with older rsync versions (this is easier than - having to type "-r --exclude='/*/*'" manually). - - - When getting an error while asking an older rsync daemon for a file - listing, rsync will try to notice if the error is a rejection of the - --dirs (-d) option and let the user know how to work around the issue. - - - Added a few more --no-OPTION overrides. - - - Improved the documentation of the --append option. - - - Improved the documentation of the filter/exclude/include daemon - parameters. - - INTERNAL: - - - Fixed a couple minor bugs in the included popt library (ones which I - sent to the official popt project for inclusion in the 1.14 release). - - - Fixed a stat() call that should have been do_stat() so that the proper - normal/64-bit stat() function gets called. (Was in an area that should - not have caused problems, though.) - - - Changed the file-glob code to do a directory scan without using the - "glob" and "glob.h". This lets us do the globbing with less memory - churn, and also avoid adding daemon-excluded items to the returned - args. + - None. DEVELOPER RELATED: - - The configure script tries to get the user's compiler to not warn about - unused function parameters if the build is not including one or more of - the ACL/xattrs/iconv features. - - - The configure script now has better checks for figuring out if the - included popt code should be used or not. - - - Fixed two testsuite glitches: avoid a failure if someone's "cd" command - outputs the current directory when cd-ing to a relative path, and made - the itemized test query how rsync was built to determine if it should - expect hard-linked symlinks or not. - - - Updated the testsuite to verify that various bug fixes remain fixed. - - - The RPM spec file was updated to have: (1) comments for how to use the - rsync-patch tar file, and (2) an /etc/xinetd.d/rsync file. + - The RPM spec file was improved to install more useful files. - - Updated the build scripts to work with a revised FTP directory - structure. + - A few developer-oriented scripts were moved from the support dir + to the packaging dir. diff --git a/OLDNEWS b/OLDNEWS index 0b85877..9b946f7 100644 --- a/OLDNEWS +++ b/OLDNEWS @@ -1,3 +1,141 @@ +NEWS for rsync 3.0.1 (3 Apr 2008) +Protocol: 30 (unchanged) +Changes since 3.0.0: + + NOTABLE CHANGES IN BEHAVIOR: + + - Added the 'c'-flag to the itemizing of non-regular files so that the + itemized output doesn't get hidden if there were no attribute changes, + and also so that the itemizing of a --copy-links run will distinguish + between copying an identical non-regular file and the creation of a + revised version with a new value (e.g. a changed symlink referent, a + new device number, etc.). + + BUG FIXES: + + - Fixed a crash bug when a single-use rsync daemon (via remote shell) was + run without specifying a --config=FILE option. + + - Fixed a crash when backing up a directory that has a default ACL. + + - Fixed a bug in the handling of xattr values that could cause rsync to + not think that a file's extended attributes are up-to-date. + + - Fixed the working of --fake-super with --link-dest and --xattrs. + + - Fixed a hang when combining --dry-run with --remove-source-files. + + - Fixed a bug with --iconv's handling of files that cannot be converted: + a failed name can no longer cause a transfer failure. + + - Fixed the building of the rounding.h file on systems that need custom + CPPFLAGS to be used. Also improved the error reporting if the building + of rounding.h fails. + + - Fixed the use of the --protect-args (-s) option when talking to a daemon. + + - Fixed the --ignore-existing option's protection of files on the receiver + that are non-regular files on the sender (e.g. if a symlink or a dir on + the sender is trying to replace a file on the receiver). The reverse + protection (protecting a dir/symlink/device from being replaced by a + file) was already working. + + - Fixed an assert failure if --hard-links is combined with an option that + can skip a file in a set of hard-linked files (i.e. --ignore-existing, + --append, etc.), without skipping all the files in the set. + + - Avoid setting the modify time on a directory that already has the right + modify time set. This avoids tweaking the dir's ctime. + + - Improved the daemon-exclude handling to do a better job of applying the + exclude rules to path entries. It also sends the user an error just as + if the files were actually missing (instead of silently ignoring the + user's args), and avoids sending the user the filter-action messages + for these non-user-initiated rules. + + - Fixed some glitches with the dry-run code's missing-directory + handling, including a problem when combined with --fuzzy. + + - Fixed some glitches with the skipped-directory handling. + + - Fixed the 'T'-flag itemizing of symlinks when --time isn't preserved. + + - Fixed a glitch in the itemizing of permissions with the -E option. + + - The --append option's restricting of transfers to those that add data no + longer prevents the updating of non-content changes to otherwise up-to- + date files (i.e. those with the same content but differing permissions, + ownership, xattrs, etc.). + + - Don't allow --fake-super to be specified with -XX (double --xattrs) + because the options conflict. If a daemon has "fake super" enabled, + it automatically downgrades a -XX request to -X. + + - Fixed a couple bugs in the parsing of daemon-config excludes that could + make a floating exclude rule get treated as matching an absolute path. + + - A daemon doesn't try to auto-refuse the "iconv" option if iconv-support + wasn't compiled in to the daemon (avoiding a warning in the logs). + + - Fixed the inclusion of per-dir merge files from implied dirs. + + - Fixed the support/rrsync script to work with the latest options that + rsync sends (including its flag-specifying use of -e to the server). + + ENHANCEMENTS: + + - Added the --old-dirs (--old-d) option to make it easier for a user to + ask for file-listings with older rsync versions (this is easier than + having to type "-r --exclude='/*/*'" manually). + + - When getting an error while asking an older rsync daemon for a file + listing, rsync will try to notice if the error is a rejection of the + --dirs (-d) option and let the user know how to work around the issue. + + - Added a few more --no-OPTION overrides. + + - Improved the documentation of the --append option. + + - Improved the documentation of the filter/exclude/include daemon + parameters. + + INTERNAL: + + - Fixed a couple minor bugs in the included popt library (ones which I + sent to the official popt project for inclusion in the 1.14 release). + + - Fixed a stat() call that should have been do_stat() so that the proper + normal/64-bit stat() function gets called. (Was in an area that should + not have caused problems, though.) + + - Changed the file-glob code to do a directory scan without using the + "glob" and "glob.h". This lets us do the globbing with less memory + churn, and also avoid adding daemon-excluded items to the returned + args. + + DEVELOPER RELATED: + + - The configure script tries to get the user's compiler to not warn about + unused function parameters if the build is not including one or more of + the ACL/xattrs/iconv features. + + - The configure script now has better checks for figuring out if the + included popt code should be used or not. + + - Fixed two testsuite glitches: avoid a failure if someone's "cd" command + outputs the current directory when cd-ing to a relative path, and made + the itemized test query how rsync was built to determine if it should + expect hard-linked symlinks or not. + + - Updated the testsuite to verify that various bug fixes remain fixed. + + - The RPM spec file was updated to have: (1) comments for how to use the + rsync-patch tar file, and (2) an /etc/xinetd.d/rsync file. + + - Updated the build scripts to work with a revised FTP directory + structure. + + NEWS for rsync 3.0.0 (1 Mar 2008) Protocol: 30 (changed) Changes since 2.6.9: @@ -2587,6 +2725,7 @@ Changes since 2.4.6: Partial Protocol History RELEASE DATE VER. DATE OF COMMIT* PROTOCOL + 08 Apr 2008 3.0.2 30 03 Apr 2008 3.0.1 30 01 Mar 2008 3.0.0 11 Nov 2006 30 06 Nov 2006 2.6.9 29 diff --git a/configure.in b/configure.in index 989e2ff..015e167 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ AC_CONFIG_SRCDIR([byteorder.h]) AC_CONFIG_HEADER(config.h) AC_PREREQ(2.59) -RSYNC_VERSION=3.0.1 +RSYNC_VERSION=3.0.2 AC_SUBST(RSYNC_VERSION) AC_MSG_NOTICE([Configuring rsync $RSYNC_VERSION]) diff --git a/support/cull_options b/packaging/cull_options similarity index 100% rename from support/cull_options rename to packaging/cull_options diff --git a/support/extern-squish b/packaging/extern-squish similarity index 100% rename from support/extern-squish rename to packaging/extern-squish diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec index 0472e82..c812523 100644 --- a/packaging/lsb/rsync.spec +++ b/packaging/lsb/rsync.spec @@ -1,12 +1,12 @@ Summary: A fast, versatile, remote (and local) file-copying tool Name: rsync -Version: 3.0.1 +Version: 3.0.2 %define fullversion %{version} Release: 1 %define srcdir src Group: Applications/Internet Source0: http://rsync.samba.org/ftp/rsync/%{srcdir}/rsync-%{fullversion}.tar.gz -Source1: http://rsync.samba.org/ftp/rsync/%{srcdir}/rsync-patches-%{fullversion}.tar.gz +#Source1: http://rsync.samba.org/ftp/rsync/%{srcdir}/rsync-patches-%{fullversion}.tar.gz URL: http://rsync.samba.org/ Prefix: %{_prefix} @@ -35,6 +35,9 @@ improved copy command for everyday use. #patch -p1 -Released 3.0.1. +* Tue Apr 08 2008 Wayne Davison +Released 3.0.2. * Fri Mar 21 2008 Wayne Davison Added installation of /etc/xinetd.d/rsync file and some commented-out diff --git a/support/patch-update b/packaging/patch-update similarity index 100% rename from support/patch-update rename to packaging/patch-update diff --git a/packaging/release-rsync b/packaging/release-rsync index 371f41d..50c940a 100755 --- a/packaging/release-rsync +++ b/packaging/release-rsync @@ -232,11 +232,11 @@ my $ans = ; system "git commit -a -m 'Preparing for release of $version'" and exit 1; print "Updating files in \"patches\" dir ...\n"; -system "support/patch-update"; +system "packaging/patch-update"; if ($ans =~ /^y/i) { print "\nVisiting all \"patch/*\" branches ...\n"; - system "support/patch-update --shell"; + system "packaging/patch-update --shell"; } print $break, <= MALLOC_MAX/size) return NULL; @@ -1550,7 +1550,10 @@ void *expand_item_list(item_list *lp, size_t item_size, new_size += incr; else new_size *= 2; - new_ptr = realloc_array(lp->items, char, new_size * item_size); + if (new_size < lp->malloced) + overflow_exit("expand_item_list"); + /* Using _realloc_array() lets us pass the size, not a type. */ + new_ptr = _realloc_array(lp->items, item_size, new_size); if (verbose >= 4) { rprintf(FINFO, "[%s] expand %s to %.0f bytes, did%s move\n", who_am_i(), desc, (double)new_size * item_size, diff -upN a/configure.sh b/configure.sh --- a/configure.sh +++ b/configure.sh @@ -1731,7 +1731,7 @@ ac_config_headers="$ac_config_headers co -RSYNC_VERSION=3.0.1 +RSYNC_VERSION=3.0.2 { echo "$as_me:$LINENO: Configuring rsync $RSYNC_VERSION" >&5 echo "$as_me: Configuring rsync $RSYNC_VERSION" >&6;} diff -upN a/proto.h b/proto.h --- a/proto.h +++ b/proto.h @@ -363,7 +363,7 @@ int msleep(int t); int cmp_time(time_t file1, time_t file2); int _Insure_trap_error(int a1, int a2, int a3, int a4, int a5, int a6); void *_new_array(unsigned long num, unsigned int size, int use_calloc); -void *_realloc_array(void *ptr, unsigned int size, unsigned long num); +void *_realloc_array(void *ptr, unsigned int size, size_t num); const char *find_filename_suffix(const char *fn, int fn_len, int *len_ptr); uint32 fuzzy_distance(const char *s1, int len1, const char *s2, int len2); struct bitbag *bitbag_create(int max_ndx); diff -upN a/rsync.1 b/rsync.1 --- a/rsync.1 +++ b/rsync.1 @@ -1,4 +1,4 @@ -.TH "rsync" "1" "3 Apr 2008" "" "" +.TH "rsync" "1" "8 Apr 2008" "" "" .SH "NAME" rsync \(em a fast, versatile, remote (and local) file-copying tool .SH "SYNOPSIS" @@ -3372,7 +3372,7 @@ http://rsync.samba.org/ .SH "VERSION" .PP -This man page is current for version 3.0.1 of rsync. +This man page is current for version 3.0.2 of rsync. .PP .SH "INTERNAL OPTIONS" diff -upN a/rsyncd.conf.5 b/rsyncd.conf.5 --- a/rsyncd.conf.5 +++ b/rsyncd.conf.5 @@ -1,4 +1,4 @@ -.TH "rsyncd.conf" "5" "3 Apr 2008" "" "" +.TH "rsyncd.conf" "5" "8 Apr 2008" "" "" .SH "NAME" rsyncd.conf \(em configuration file for rsync in daemon mode .SH "SYNOPSIS" @@ -821,7 +821,7 @@ http://rsync.samba.org/ .SH "VERSION" .PP -This man page is current for version 3.0.1 of rsync. +This man page is current for version 3.0.2 of rsync. .PP .SH "CREDITS"