* TODO file for GNU sharutils

Tell <bug-gnu-utils@gnu.org> 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.

- 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).

- 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?).
- 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
.  - 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.

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
. + have -C as synonymous for -d in shar
	1994-08-22, Karl Berry <kb@cs.umb.edu>
. + 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 <leisner@sdsp.mc.xerox.com>
. + decode options from a SHAR environment variable
	1994-08-30, Ulrich Drepper <drepper@ira.uka.de>
. + automatic detection of gzip'ed shar files in unshar
	1996-06-06, Larry Schwimmer <rosebud@cyclone.Stanford.EDU>
. + provide -z option to compress input of shar (???)
	1996-06-06, Larry Schwimmer <rosebud@cyclone.Stanford.EDU>

.* Long term
. + automatically retrieve incorrect sequence from a bunched file
	1994-08-24, Karl Berry <kb@cs.umb.edu>
. + when -T, just reject binary files
	1994-08-29, Andrew A. Chernov <ache@astral.msk.su>
	1994-09-11, Eric Backus <ericb@lsid.hp.com> -- disagrees
