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

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

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


.@ ChangeLog

.* Short term
. + Utiliser guillemets français dans fr.tt
. + remove many fixed limits, everywhere
. + 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.

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
. + speedup unshar, far too slow while matching sed input
. + 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>
. + 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>
