* TODO file for GNU sharutils Tell if you feel like volunteering for any of these ideas, listed more or less in decreasing order of priority. Some TODO items are implicit from received email. - read_stduu, read_base64, decode: arbitrary limitation, by using a fixed length buffer. Although well-formed uuencode coded output always fits within this buffer, an arbitrary-length filename may make the begin line exceed the buffer, and it is not robust to malicious input. Furthermore, POSIX states that input files are not necessarily text files since arbitrary data and line lengths may precede the embedded uuencode section. We should probably be using gnulib's getline here. - decode: POSIX only states that the input file contain output from uuencode, not that the encoded data begins immediately after a newline character. Maybe it is worth asking for an interpretation from the POSIX Austin Group as to whether arbitrary characters can proceed the "begin" on the first line of the encoded data. - decode: POSIX requires uudecode to parse both octal AND symbolic mode, but the GNU uudecode currently fails on symbolic modes. - main: When using the GNU uudecode extension of parsing multiple filenames, the -o option no longer makes sense (you end up decoding multiple source files into the same destination, destroying data from all but the last filename argument). Since multiple filenames is an extension, you should reject attempts to use -o if more than one file is specified. - decode: GNU uudecode attempts to do ~ expansion, which is allowed by POSIX since ~ is not part of the portable filename character set. However, it may be worth considering extensions to uuencode and uudecode that encode non-portable filename characters in such a manner that uudecode can recreate any valid filename (within the limits of the filesystem it is expanding onto). - decode: If the output file already exists and is a FIFO or symlink, GNU uudecode fails, although POSIX requires that a FIFO be opened for writing and a symlink be followed. - all over: uudecode should be careful to use binary mode ("rb" instead of "r" for fopen, for example), on systems where it matters. - use chksum instead of md5sum. Stephen Gildea proposed this and he is probably right. chksum is standardized and more often found on non-GNU systems. - change mail-files to use multiple To: lines instead of having a loop. Suggested by Tom Tromey. - shar: Don't offer -Z if compress isn't available (--help is adjusted; also add ifdefs to rip out the code?). - shar: Add -j, --bzip2. (Done by Bruno; check whether it's added everywhere. grep for BTzZ and similar strings) - Use plural form: #: src/shar.c:2279 #, c-format msgid "Created %d files\n" msgstr "%d Datei(en) erzeugt\n" - Check the old todo list (after "cut here"). After 4.4.0: - Remove intl/. - Split some messages. -=-=-=-=-=-=-=-=-=-=-=-=-=- cut here -=-=-=-=-=-=-=-=-=-=-=-=-=- (One more word. This list already existed when I took over the task of maintaining sharutils. I have not investigated the list enough to say this will also be correct for me. But Franc,ois and I often agree so it is likely.) .# Next release The next release will have these changes: . + better integrate uucode with the others, code-wise .@ ChangeLog .* Short term . + Utiliser guillemets français dans fr.tt . + convert uucode documentation into sharutils.texi . + remove many fixed limits, everywhere . + delete useless code, among which some matching features . + simplify further `:' vs `true' usage, the latter might be avoided . + remsync matters . - documentation The documentation is still rudimentary, but might help you to understand what is going on. Many examples in some quick start node might help. In any case, criticize it at will, and let me use your comments as an incentive for further improvement. Any help from native English speakers is appreciated. Carefully ensure that you have a backup of your synchronized trees before your tries of remsync. It does work for me, but who knows if it will not be dangerous in your particular setup. White lines, and lines beginning with \`#\', are comments. Command keywords may be abbreviated to their first letter. Space between successive keywords may be omitted. Variable arguments may often be replaced by numeric index from lists. SITE may also be local or 0. SITE_SET is a list of SITE, default is all. A ! prefix complements it. The following commands are meant for automatic internal use: . - handle receving files over symbolic links or directories . - maintain a project title . - no remote could also be local . - diagnose /net/mnt_tmp/... directories . - if deleting a scan, already registered files declared unexisting . - have a paranoid option, in which diffs are always done . - study if and how the symbolic links might be transported .* Medium term . + integrate remsync script and documentation . + have -C as synonymous for -d in shar 1994-08-22, Karl Berry . + speedup unshar, far too slow while matching sed input . + construct some `make check' for shar/unshar . + do something sensible with file permissions . + study if the symbolic links might be transported . + when local/remote directories are relative, this should be to ~user . + do not send absolute files . + add some `-h UNSHAR.HDR' option 1994-08-19, Marty Leisner . + decode options from a SHAR environment variable 1994-08-30, Ulrich Drepper . + automatic detection of gzip'ed shar files in unshar 1996-06-06, Larry Schwimmer . + provide -z option to compress input of shar (???) 1996-06-06, Larry Schwimmer . + remsync matters . - have a command to rename a remote while keeping all its values . - do something sensible with file permissions . - qualify each scan with destination sites . - emacslisp/menage.el to omit, have it reconstructed automatically instead . - have an equivalence system for email addresses . - avoid computing checksums for ignored files . - have a master directory for .remsync's, have them located elsewhere . - have a recursive mode finding all .remsync's in tree . - provide encryption hooks, so people can use e.g. PGP or rot13 :-) .* Long term . + automatically retrieve in correct sequence from a bunched file 1994-08-24, Karl Berry . + when -T, just reject binary files 1994-08-29, Andrew A. Chernov 1994-09-11, Eric Backus -- disagrees