* Make "make install-strip" works properly, and "make install"
[rsync/rsync.git] / TODO
diff --git a/TODO b/TODO
index e3ed8df..2253147 100644 (file)
--- a/TODO
+++ b/TODO
@@ -5,16 +5,6 @@ URGENT ---------------------------------------------------------------
 
 IMPORTANT ------------------------------------------------------------
 
-Cross-test versions
-
-  Part of the regression suite should be making sure that we don't
-  break backwards compatibility: old clients vs new servers and so
-  on.  Ideally we would test the cross product of versions.  
-
-  It might be sufficient to test downloads from well-known public
-  rsync servers running different versions of rsync.  This will give
-  some testing and also be the most common case for having different
-  versions and not being able to upgrade.
 
 use chroot
 
@@ -194,6 +184,7 @@ IPv6
 
   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
@@ -205,6 +196,16 @@ Errors
   eof" give a message that is more detailed if possible and also more
   helpful.  
 
+  If we get an error writing to a socket, then we should perhaps
+  continue trying to read to see if an error message comes across
+  explaining why the socket is closed.  I'm not sure if this would
+  work, but it would certainly make our messages more helpful.
+
+  What happens if a directory is missing -x attributes.  Do we lose
+  our load?  (Debian #28416)  Probably fixed now, but a test case
+  would be good.
+
+
 File attributes
 
   Device major/minor numbers should be at least 32 bits each.  See
@@ -254,6 +255,12 @@ logging
   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)
+
+
 rsyncd over ssh
 
   There are already some patches to do this.
@@ -284,6 +291,69 @@ Better statistics:
   <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.
+
+  (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?
+         
+
+
 PLATFORMS ------------------------------------------------------------
 
 Win32
@@ -309,10 +379,61 @@ Splint
   security bugs.  Knowing the percentage of likely hits would be
   really interesting for other projects.
 
+Torture test
+
+  Something that just keeps running rsync continuously over a data set
+  likely to generate problems.
+
+Cross-testing
+
+  Run current rsync versions against significant past releases.
+
+Memory debugger
+
+  jra recommends Valgrind:
+
+    http://devel-home.kde.org/~sewardj/
+
+TESTING --------------------------------------------------------------
+
+Cross-test versions
+
+  Part of the regression suite should be making sure that we don't
+  break backwards compatibility: old clients vs new servers and so
+  on.  Ideally we would test the cross product of versions.  
+
+  It might be sufficient to test downloads from well-known public
+  rsync servers running different versions of rsync.  This will give
+  some testing and also be the most common case for having different
+  versions and not being able to upgrade.
+
+Test large files
+
+  Sparse and non-sparse
+
+Mutator program
+
+  Insert bytes, delete bytes, swap blocks, ...
+
+configure option to enable dangerous tests
+
+If tests are skipped, say why.
+
+Test daemon feature to disallow particular options.
+
+Pipe program that makes slow/jerky connections.
+
+Versions of read() and write() that corrupt the stream, or abruptly fail
+
+
 DOCUMENTATION --------------------------------------------------------
 
 Update README
 
+Keep list of open issues and todos on the web site
+
+Update web site from CVS
+
 BUILD FARM -----------------------------------------------------------
 
 Add machines