summaryrefslogtreecommitdiff
path: root/net/rsync
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2014-07-22 09:47:57 +0000
committerwiz <wiz@pkgsrc.org>2014-07-22 09:47:57 +0000
commit8538c745a321f4b004f0e102a16e9ebe0a2b8d8d (patch)
treeb6345b8e148b571da5ab599f3d9ed4950a82033b /net/rsync
parent662cf333db95d10c43b7c3a3404ce582c456c86b (diff)
downloadpkgsrc-8538c745a321f4b004f0e102a16e9ebe0a2b8d8d.tar.gz
Update to 3.1.1:
NEWS for rsync 3.1.1 (22 Jun 2014) Protocol: 31 (unchanged) Changes since 3.1.0: BUG FIXES: - If the receiver gets bogus filenames from the sender (an unexpected leading slash or a ".." infix dir), exit with an error. This prevents a malicious sender from trying to inject filenames that would affect an area outside the destination directories. - Fixed a failure to remove the partial-transfer temp file when interrupted (and rsync is not saving the partial files). - Changed the chown/group/xattr-set order to avoid losing some security- related xattr info (that would get cleared by a chown). - Fixed a bug in the xattr-finding code that could make a non-root-run receiver not able to find some xattr numbers. - Fixed a bug in the early daemon protocol where a timeout failed to be honored (e.g. if the remote side fails to send us the initial protocol greeting). - Fixed unintended inclusion of commas in file numbers in the daemon log. - We once again send the 'f' sub-flag (of -e) to the server side so it knows that we can handle incremental-recursion directory errors properly in older protocols. - Fixed an issue with too-aggressive keep-alive messages causing a problem for older rsync versions early in the transfer. - Fixed an incorrect message about backup-directory-creation when using --dry-run and the backup dir is not an absolute path. - Fixed a bug where a failed deletion and/or a failed sender-side removal would not affect the exit code. - Fixed a bug that caused a failure when combining --delete-missing-args with --xattrs and/or --acls. - Fixed a strange dir_depth assertion error that was caused by empty-dir removals and/or duplicate files in the transfer. - Fixed a problem with --info=progress2's output stats where rsync would only update the stats at the end of each file's transfer. It now uses the data that is flowing for the current file, making the stats more accurate and less jumpy. - Fixed an itemize bug that affected the combo of --link-dest, -X, and -n. - Fixed a problem with delete messages not appearing in the log file when the user didn't use --verbose. - Improve chunked xattr reading for OS X. - Removed an attempted hard-link xattr optimization that was causing a transfer failure. This removal is flagged in the compatibility code, so if a better fix can be discovered, we have a way to flip it on again. - Fixed a bug when the receiver is not configured to be able to hard link symlimks/devices/special-file items but the sender sent some of these items flagged as hard-linked. - We now generate a better error if the buffer overflows in do_mknod(). - Fixed a problem reading more than 16 ACLs on some OSes. - Fixed the reading of the secrets file to avoid an infinite wait when the username is missing. - Fixed a parsing problem in the --usermap/--groupmap options when using MIN-MAX numbers. - Switched Cygwin back to using socketpair "pipes" to try to speed it up. - Added knowledge of a few new options to rrsync. ENHANCEMENTS: - Tweaked the temp-file naming when --temp-dir=DIR is used: the temp-file names will not get a '.' prepended. - Added support for a new-compression idiom that does not compress all the matching data in a transfer. This can help rsync to use less cpu when a transfer has a lot of matching data, and also makes rsync compatible with a non-bundled zlib. See the --new-compress and --old-compress options in the manpage. - Added the support/rsync-no-vanished wrapper script. - Made configure more prominently mention when we failed to find yodl (in case the user wants to be able to generate manpages from *.yo files). - Have manpage mention how a daemon's max-verbosity setting affects info and debug options. Also added more clarification on backslash removals for excludes that contain wildcards. - Have configure check if for the attr lib (for getxattr) for those systems that need to link against it explicitly. - Change the early dir-creation logic to only use that idiom in an inc-recursive copy that is preserving directory times. e.g. using --omit-dir-times will avoid these early directories being created. - Fix a bug in cmp_time() that would return a wrong result if the 2 times differed by an amount greater than what a time_t can hold. DEVELOPER RELATED: - We now include an example systemd file (in packaging/systemd). - Tweaked configure to make sure that any intended use of the included popt and/or zlib code is put early in the CFLAGS.
Diffstat (limited to 'net/rsync')
-rw-r--r--net/rsync/Makefile5
-rw-r--r--net/rsync/distinfo9
-rw-r--r--net/rsync/patches/patch-authenticate.c77
3 files changed, 6 insertions, 85 deletions
diff --git a/net/rsync/Makefile b/net/rsync/Makefile
index 27b59066cfc..845d2bea47e 100644
--- a/net/rsync/Makefile
+++ b/net/rsync/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.94 2014/05/29 23:37:12 wiz Exp $
+# $NetBSD: Makefile,v 1.95 2014/07/22 09:47:57 wiz Exp $
-DISTNAME= rsync-3.1.0
-PKGREVISION= 2
+DISTNAME= rsync-3.1.1
CATEGORIES= net
MASTER_SITES= http://rsync.samba.org/ftp/rsync/ \
http://rsync.samba.org/ftp/rsync/old-versions/ \
diff --git a/net/rsync/distinfo b/net/rsync/distinfo
index 6415df0aa1e..15048e4a5c5 100644
--- a/net/rsync/distinfo
+++ b/net/rsync/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.39 2014/04/18 23:29:39 tron Exp $
+$NetBSD: distinfo,v 1.40 2014/07/22 09:47:57 wiz Exp $
-SHA1 (rsync-3.1.0.tar.gz) = eb58ab04bcb6293da76b83f58327c038b23fcba3
-RMD160 (rsync-3.1.0.tar.gz) = d072ab02c31468aa72270a4cf90b5865c5139e1b
-Size (rsync-3.1.0.tar.gz) = 883901 bytes
+SHA1 (rsync-3.1.1.tar.gz) = c84faba04f721d393feccfa0476bfeed9b5b5250
+RMD160 (rsync-3.1.1.tar.gz) = de7ad955cb05d481a963aa30423790f3d82efe7b
+Size (rsync-3.1.1.tar.gz) = 890124 bytes
SHA1 (patch-ab) = 98aa07a50314e3309b48f803d6febb1138eae1f2
-SHA1 (patch-authenticate.c) = ef3d52e587053a3ee1cc4149f272bf2270319c60
diff --git a/net/rsync/patches/patch-authenticate.c b/net/rsync/patches/patch-authenticate.c
deleted file mode 100644
index b867b6795a7..00000000000
--- a/net/rsync/patches/patch-authenticate.c
+++ /dev/null
@@ -1,77 +0,0 @@
-$NetBSD: patch-authenticate.c,v 1.1 2014/04/18 23:29:39 tron Exp $
-
-Close the remote DoS vulnerability reported in CVE-2014-2855.
-
-Patch taken from Samba GIT repository:
-
-https://git.samba.org/?p=rsync.git;a=commitdiff;h=0dedfbce2c1b851684ba658861fe9d620636c56a
-
---- authenticate.c.orig 2013-06-09 20:11:53.000000000 +0100
-+++ authenticate.c 2014-04-19 00:26:00.000000000 +0100
-@@ -102,15 +102,16 @@
- char pass2[MAX_DIGEST_LEN*2];
- const char *fname = lp_secrets_file(module);
- STRUCT_STAT st;
-- int fd, ok = 1;
-+ int ok = 1;
- int user_len = strlen(user);
- int group_len = group ? strlen(group) : 0;
- char *err;
-+ FILE *fh;
-
-- if (!fname || !*fname || (fd = open(fname, O_RDONLY)) < 0)
-+ if (!fname || !*fname || (fh = fopen(fname, "r")) == NULL)
- return "no secrets file";
-
-- if (do_fstat(fd, &st) == -1) {
-+ if (do_fstat(fileno(fh), &st) == -1) {
- rsyserr(FLOG, errno, "fstat(%s)", fname);
- ok = 0;
- } else if (lp_strict_modes(module)) {
-@@ -123,29 +124,30 @@
- }
- }
- if (!ok) {
-- close(fd);
-+ fclose(fh);
- return "ignoring secrets file";
- }
-
- if (*user == '#') {
- /* Reject attempt to match a comment. */
-- close(fd);
-+ fclose(fh);
- return "invalid username";
- }
-
- /* Try to find a line that starts with the user (or @group) name and a ':'. */
- err = "secret not found";
-- while ((user || group) && read_line_old(fd, line, sizeof line, 1)) {
-- const char **ptr, *s;
-+ while ((user || group) && fgets(line, sizeof line, fh) != NULL) {
-+ const char **ptr, *s = strtok(line, "\n\r");
- int len;
-- if (*line == '@') {
-+ if (!s)
-+ continue;
-+ if (*s == '@') {
- ptr = &group;
- len = group_len;
-- s = line+1;
-+ s++;
- } else {
- ptr = &user;
- len = user_len;
-- s = line;
- }
- if (!*ptr || strncmp(s, *ptr, len) != 0 || s[len] != ':')
- continue;
-@@ -158,7 +160,7 @@
- *ptr = NULL; /* Don't look for name again. */
- }
-
-- close(fd);
-+ fclose(fh);
-
- memset(line, 0, sizeof line);
- memset(pass2, 0, sizeof pass2);