The deny-rsync script from bug 3945.
[rsync/rsync.git] / NEWS
diff --git a/NEWS b/NEWS
index c9db11a..e6d1332 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,49 +1,83 @@
-NEWS for rsync 2.6.6 (UNRELEASED)
-Protocol: 29 (unchanged)
-Changes since 2.6.5:
+NEWS for rsync 3.0.3 (UNRELEASED)
+Protocol: 30 (unchanged)
+Changes since 3.0.2:
 
   BUG FIXES:
 
-    - The setting of flist->high in clean_flist() was wrong for an empty list.
-      This could cause flist_find() to crash in certain rare circumstances
-      (e.g. if just the right directory setup was around when --fuzzy was
-      combined with --list-dest).
+    - Fixed a wildcard matching problem in the daemon when a module has
+      "use chroot" enabled.
 
-    - The outputting of hard-linked files when verbosity was > 1 was not right:
-      without -i it would output the name of each hard-linked file as though
-      it had been changed (it now outputs a "is hard linked" message for the
-      file); with -i it would output all dots for the unchanged attributes of
-      a hard-link (it now changes those dots to spaces, as is done for other
-      totally unchanged items).
+    - Fixed a crash bug in the hard-link code.
 
-    - When backing up a changed symlink or device, get rid of any old backup
-      item so that we don't get an already-exists error.
+    - Fixed the sending of xattr directory information when the code finds a
+      --link-dest or --copy-dest directory with unchanged xattrs -- the
+      destination directory now gets these unchanged xattrs properly applied.
 
-    - A couple places that were comparing a local and a remote modification-
-      time were not honoring the --modify-window option.
+    - Fixed an xattr-sending glitch that could cause an "Internal abbrev"
+      error.
 
-    - Fixed a really old, minor bug that could cause rsync to warn about being
-      unable to mkdir() a path that ends in "/." because it just created the
-      directory (required --relative, --no-implied-dirs, a source path that
-      ended in either a trailing slash or a trailing "/.", and a non-existing
-      destination dir to tickle the bug in a recent version).
+    - Fixed the combination of --xattrs and --backup.
+
+    - The generator no longer allows a '.' dir to be excluded by a daemon-
+      exclude rule.
+
+    - Fixed deletion handling when copying a single, empty directory (with no
+      files) to a differently named, non-existent directory.
+
+    - Fixed the conversion of spaces into dashes in the %M log escape.
+
+    - Fixed several places in the code that were not returning the right
+      errno when a function failed.
+
+    - Fixed the backing up of a device or special file into a backup dir.
+
+    - Moved the setting of the socket options prior to the connect().
+
+    - If rsync exits in the middle of a --progress output, it now outputs a
+      newline to help prevent the progress line from being overwritten.
+
+    - Fixed a problem with how a destination path with a trailing slash or
+      a trailing dot-dir was compared against the daemon excludes.
+
+    - Fixed the sending of large (size > 16GB) files when talking to an older
+      rsync (protocols < 30):  we now use a compatible block size limit.
+
+    - If a file's length is so huge that we overflow a checksum buffer count
+      (i.e. several hundred TB), warn the user and avoid sending an invalid
+      checksum struct over the wire.
+
+    - If a source arg is excluded, --relative no longer adds the excluded
+      arg's implied dirs to the transfer.  This fix also made the exclude
+      check happen in the better place in the sending code.
+
+    - Use the overflow_exit() function for overflows, not out_of_memory().
+
+    - Improved the code to better handle a system that has only 32-bit file
+      offsets.
 
   ENHANCEMENTS:
 
-    - Made the "max verbosity" setting in the rsyncd.conf file settable on a
-      per-module basis (which now matches the documentation).
+    - The rsyncd.conf manpage now consistently refers to the parameters in
+      the daemon config file as "parameters".
+
+    - The description of the --inplace option was improved.
+
+  DEVELOPER RELATED:
 
-    - The support/rrsync script has been upgraded to verify the args of options
-      that take them (instead of rejecting any such options).  The script was
-      also changed to try to be more secure and to fix a problem in the parsing
-      of a pull operation that has multiple sources.
+    - Fixed a testcase failure if the tests are run as root and made some
+      compatibility improvements.
 
-  BUILD CHANGES:
+    - Improved the daemon tests, including checking module comments, the
+      listing of files, and the ensuring that daemon excludes can't affect
+      a dot-dir arg.
 
-    - Made configure define NOBODY_USER (currently hard-wired to "nobody") and
-      NOBODY_GROUP (set to either "nobody" or "nogroup" depending on what we
-      find in the /etc/group file).
+    - Improved some build rules for those that build in a separate directory
+      from the source, including better install rules for the man pages, and
+      the fixing of a proto.h-tstamp rule that could make the binaries get
+      rebuild without cause.
 
-    - Added a test to the test suite, itemized.test, that tests the output of
-      -i (log-format w/%i) and some double-verbose messages.
+    - Improved the testsuite to work around a problem with some utilities
+      (e.g. cp -p & touch -r) rounding sub-second timestamps.
 
+    - Ensure that the early patches don't cause any generated-file hunks to
+      bleed-over into patches that follow.