some testing and also be the most common case for having different
versions and not being able to upgrade.
+use chroot
+
+ If the platform doesn't support it, then don't even try.
+
+ If running as non-root, then don't fail, just give a warning.
+ (There was a thread about this a while ago?)
+
+ http://lists.samba.org/pipermail/rsync/2001-August/thread.html
+ http://lists.samba.org/pipermail/rsync/2001-September/thread.html
+
+--files-from
+
+ Avoids traversal. Better option than a pile of --include statements
+ for people who want to generate the file list using a find(1)
+ command or a script.
+
+Performance
+
+ Traverse just one directory at a time. Tridge says it's possible.
+
+ Can possibly also be smarter about memory use while looking for hard
+ links by reducing the refcount as we find alternative names.
+
+IPv6
+
+ Implement suggestions from http://www.kame.net/newsletter/19980604/
+ and ftp://ftp.iij.ad.jp/pub/RFC/rfc2553.txt
+
+ If a host has multiple addresses, then listen try to connect to all
+ in order until we get through. (getaddrinfo may return multiple
+ addresses.) This is kind of implemented already.
+
+ Possibly also when starting as a server we may need to listen on
+ multiple passive addresses. This might be a bit harder, because we
+ may need to select on all of them. Hm.
+
+ Define a syntax for IPv6 literal addresses. Since they include
+ colons, they tend to break most naming systems, including ours.
+ Based on the HTTP IPv6 syntax, I think we should use
+
+ rsync://[::1]/foo/bar
+ [::1]::bar
+
+ which should just take a small change to the parser code.
+
+Errors
+
+ If we hang or get SIGINT, then explain where we were up to. Perhaps
+ have a static buffer that contains the current function name, or
+ some kind of description of what we were trying to do. This is a
+ little easier on people than needing to run strace/truss.
+
+ "The dungeon collapses! You are killed." Rather than "unexpected
+ eof" give a message that is more detailed if possible and also more
+ helpful.
+
+File attributes
+
+ Device major/minor numbers should be at least 32 bits each. See
+ http://lists.samba.org/pipermail/rsync/2001-November/005357.html
+
+ Transfer ACLs. Need to think of a standard representation.
+ Probably better not to even try to convert between NT and POSIX.
+ Possibly can share some code with Samba.
+
+Empty directories
+
+ With the current common --include '*/' --exclude '*' pattern, people
+ can end up with many empty directories. We might avoid this by
+ lazily creating such directories.
+
+zlib
+
+ Perhaps don't use our own zlib. Will we actually be incompatible,
+ or just be slightly less efficient?
+
+logging
+
+ Perhaps flush stdout after each filename, so that people trying to
+ monitor progress in a log file can do so more easily. See
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=48108
+
+rsyncd over ssh
+
+ There are already some patches to do this.
+
+PLATFORMS ------------------------------------------------------------
+
+Win32
+
+ Don't detach, because this messes up --srvany.
+
+ http://sources.redhat.com/ml/cygwin/2001-08/msg00234.html
+
+ According to "Effective TCP/IP Programming" (??) close() on a socket
+ has incorrect behaviour on Windows -- it sends a RST packet to the
+ other side, which gives a "connection reset by peer" error. On that
+ platform we should probably do shutdown() instead. However, on Unix
+ we are correct to call close(), because shutdown() discards
+ untransmitted data.
+
+DOCUMENTATION --------------------------------------------------------
+
+Update README
+
+BUILD FARM -----------------------------------------------------------
+
+Add machines
+
+ AMDAHL UTS (Dave Dykstra)
+
+ Cygwin (on different versions of Win32?)
+
+ HP-UX variants (via HP?)
+
+ SCO
NICE -----------------------------------------------------------------
-Merge IPv6 support ***
+SIGHUP
+
+ Re-read config file (just exec() ourselves) rather than exiting.
+
+--no-detach and --no-fork options
+
+ Very useful for debugging. Also good when running under a
+ daemon-monitoring process that tries to restart the service when the
+ parent exits.
+
+hang/timeout friendliness
+
+ On
-A patch is available at
+internationalization
- ftp://ftp.kame.net/pub/kame/misc/rsync-244-v6-20000802.diff.gz
+ Change to using gettext(). Probably need to ship this for platforms
+ that don't have it.
-but tridge reckons it needs to be cleaned up before it can be
-accepted.
+ Solicit translations.
-This is now on the track-kameipv6 branch and can be moved across any
-time. The KAME people say that it should work on machines without
-IPv6 stacks.
+ Does anyone care?
rsyncsh