+ At the connections that just get a list of modules are not logged,
+ but they should be.
+
+ If a child of the rsync daemon dies with a signal, we should notice
+ that when we reap it and log a message.
+
+ Keep stderr and stdout properly separated (Debian #23626)
+
+ After we get the @RSYNCD greeting from the server, we know it's
+ version but we have not yet sent the command line, so we could just
+ remove the -z option if the server is too old.
+
+ For ssh invocation it's not so simple, because we actually use the
+ command line to start the remote process. However, we only actually
+ do compression in token.c, and we could therefore once we discover
+ the remote version emit an error if it's too old. I'm not sure if
+ that's a good tradeoff or not.
+
+
+proxy authentication
+
+ Allow RSYNC_PROXY to be http://user:pass@proxy.foo:3128/, and do
+ HTTP Basic Proxy-Authentication.
+
+ Multiple schemes are possible, up to and including the insanity that
+ is NTLM, but Basic probably covers most cases.
+
+SOCKS
+
+ Add --with-socks, and then perhaps a command-line option to put them
+ on or off. This might be more reliable than LD_PRELOAD hacks.
+
+FAT support
+
+ rsync to a FAT partition on a Unix machine doesn't work very well
+ at the moment. I think we get errors about invalid filenames and
+ perhaps also trying to do atomic renames.
+
+ I guess the code to do this is currently #ifdef'd on Windows; perhaps
+ we ought to intelligently fall back to it on Unix too.
+
+
+Better statistics:
+
+ <Rasmus> mbp: hey, how about an rsync option that just gives you the
+ summary without the list of files? And perhaps gives more
+ information like the number of new files, number of changed,
+ deleted, etc. ?
+ <mbp> Rasmus: nice idea
+ <mbp> there is --stats
+ <mbp> but at the moment it's very tridge-oriented
+ <mbp> rather than user-friendly
+ <mbp> it would be nice to improve it
+ <mbp> that would also work well with --dryrun
+
+TDB:
+
+ Rather than storing the file list in memory, store it in a TDB.
+
+ This *might* make memory usage lower while building the file list.
+
+ Hashtable lookup will mean files are not transmitted in order,
+ though... hm.
+
+ This would neatly eliminate one of the major post-fork shared data
+ structures.
+
+
+chmod:
+
+ On 12 Mar 2002, Dave Dykstra <dwd@bell-labs.com> wrote:
+ > If we would add an option to do that functionality, I would vote for one
+ > that was more general which could mask off any set of permission bits and
+ > possibly add any set of bits. Perhaps a chmod-like syntax if it could be
+ > implemented simply.
+
+ I think that would be good too. For example, people uploading files
+ to a web server might like to say
+
+ rsync -avzP --chmod a+rX ./ sourcefrog.net:/home/www/sourcefrog/
+
+ Ideally the patch would implement as many of the gnu chmod semantics
+ as possible. I think the mode parser should be a separate function
+ that passes back something like (mask,set) description to the rest of
+ the program. For bonus points there would be a test case for the
+ parser.
+
+ Possibly also --chown
+
+ (Debian #23628)
+
+
+--diff
+
+ Allow people to specify the diff command. (Might want to use wdiff,
+ gnudiff, etc.)
+
+ Just diff the temporary file with the destination file, and delete
+ the tmp file rather than moving it into place.
+
+ Interaction with --partial.
+
+ Security interactions with daemon mode?
+
+ (Suggestion from david.e.sewell)
+
+
+Incorrect timestamps (Debian #100295)
+
+ A bit hard to believe, but apparently it happens.
+
+
+Check "refuse options works"
+
+ We need a test case for this...
+
+ Was this broken when we changed to popt?
+
+
+PERFORMANCE ----------------------------------------------------------
+
+MD4 file_sum
+
+ If we're doing a local transfer, or using -W, then perhaps don't
+ send the file checksum. If we're doing a local transfer, then
+ calculating MD4 checksums uses 90% of CPU and is unlikely to be
+ useful.
+
+ Indeed for transfers over zlib or ssh we can also rely on the
+ transport to have quite strong protection against corruption.
+
+ Perhaps we should have an option to disable this, analogous to
+ --whole-file, although it would default to disabled. The file
+ checksum takes up a definite space in the protocol -- we can either
+ set it to 0, or perhaps just leave it out.
+
+MD4
+
+ Perhaps borrow an assembler MD4 from someone?
+
+ Make sure we call MD4 with properly-sized blocks whenever possible
+ to avoid copying into the residue region?
+
+String area code
+
+ Test whether this is actually faster than just using malloc(). If
+ it's not (anymore), throw it out.
+
+