    GNATS General TODO List
- 1.Release 4.1: Code cleanups, bug fixes, documentation updates
    Added: Fri Jun 11 10:36:54 2004  Completed: completed on Wed Nov  3 15:19:27 2004
    Duration: 20w 5d 5h 42m  elapsed  Priority: veryhigh

    (About to add the finishing touches.)
    - 1.Prepend $(DESTDIR) to Makefile.in installation targets (Chad)
        Added: Fri Jun 11 11:08:38 2004  Completed: completed on Fri Jun 11 14:07:23 2004
        Duration: 2h 58m  elapsed  Priority: veryhigh

        (Committed to CVS.)
    - 2.Add missing manpages -- one manpage for each application (Chad)
        Added: Fri Jun 11 11:11:57 2004  Completed: completed on Tue Nov  2 18:14:30 2004
        Duration: 20w 4d 8h 2m  elapsed  Priority: high

        (getclose added. install-sid added.)
    - 3.Update the NEWS file.
        Added: Wed Nov  3 00:18:58 2004  Completed: completed on Wed Nov  3 15:18:58 2004
        Duration: 15h 0m  elapsed  Priority: high

        (Finished.  Talked about CAN report.)
    - 4.Kill install-sid script and update documentation (Chad)
        Added: Fri Jun 11 11:09:17 2004  Completed: completed on Wed Nov  3 00:17:18 2004
        Duration: 20w 4d 14h 8m  elapsed  Priority: medium

        (Repurposed instead of killing it.)
    - 5.Roll in changes to ./debian
        Added: Tue Nov  2 18:15:01 2004  Completed: completed on Wed Nov  3 15:19:12 2004
        Duration: 21h 4m  elapsed  Priority: medium

        (Finished.)
  2.Release 4.2: New Features
    Added: Fri Jun 11 10:37:02 2004  Completed: incomplete
    Duration: incomplete  Priority: high

      1.Cleanup build infrastructure w/automake and autoconf
        Added: Sun Mar  6 13:43:21 2005  Completed: incomplete
        Duration: incomplete  Priority: high

      2.Mail handling enhancements
        Added: Fri Jun 11 14:48:24 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

          1.Mail-based manipulation of GNATS database (Mel)
            Added: Fri Jun 11 14:49:11 2004  Completed: incomplete
            Duration: incomplete  Priority: medium

          2.Trigger-based mail format replies (Mel)
            Added: Fri Jun 11 14:49:28 2004  Completed: incomplete
            Duration: incomplete  Priority: medium

          3.Add "To:" header parsing for PR# (prnumber@host.domain.tld) in queue-pr
            Added: Fri Jun 11 14:49:40 2004  Completed: incomplete
            Duration: incomplete  Priority: medium

  3.Release 5.0: New Features, Major Changes to DB Layer, RDBMS
    Added: Fri Jun 11 10:37:07 2004  Completed: incomplete
    Duration: incomplete  Priority: medium

      1.Database Enhancements
        Added: Fri Jun 11 14:53:57 2004  Completed: incomplete
        Duration: incomplete  Priority: high

          1.DB Abstraction Layer (Mel)
            Added: Fri Jun 11 14:52:27 2004  Completed: incomplete
            Duration: incomplete  Priority: high

            (Finished but not rolled into GNATS CVS 5.0 branch)
          2.Oracle RDBMS Backend (Mel)
            Added: Fri Jun 11 14:52:39 2004  Completed: incomplete
            Duration: incomplete  Priority: high

            (Finished but not rolled in to GNATS CVS 5.0 branch)
          3.PostgreSQL RDBMS Backend (Mel)
            Added: Fri Jun 18 15:04:16 2004  Completed: incomplete
            Duration: incomplete  Priority: medium

      2.Account enhancements
        Added: Fri Jun 11 14:56:29 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

          1.PAM Authentication (Pankaj)
            Added: Fri Jun 11 14:56:45 2004  Completed: incomplete
            Duration: incomplete  Priority: high

            (Patch submitted 2004-06-20.)
  4.Release 5.x: New Features
    Added: Mon Jun 21 10:57:48 2004  Completed: incomplete
    Duration: incomplete  Priority: low

      1.Security Enhancements
        Added: Mon Jun 21 16:29:21 2004  Completed: incomplete
        Duration: incomplete  Priority: high

          1.TLS integration via gnutls
            Added: Mon Jun 21 16:29:48 2004  Completed: incomplete
            Duration: incomplete  Priority: high

      2.Mail handling enhancements
        Added: Fri Jun 11 14:55:10 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

          1.MIME Handling
            Added: Fri Jun 11 14:50:49 2004  Completed: incomplete
            Duration: incomplete  Priority: medium

              1.Detach files appropriately for GNATS DB format
                Added: Fri Jun 11 14:51:48 2004  Completed: incomplete
                Duration: incomplete  Priority: high

              2.Convert HTML to TXT?
                Added: Fri Jun 11 14:51:15 2004  Completed: incomplete
                Duration: incomplete  Priority: medium

      3.Database Enhancements
        Added: Mon Jun 21 11:20:54 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

          1.mbox Backend
            Added: Mon Jun 21 11:22:00 2004  Completed: incomplete
            Duration: incomplete  Priority: low

              1.Maintain mbox archive of all emails
                Added: Fri Jun 11 14:55:27 2004  Completed: incomplete
                Duration: incomplete  Priority: medium

              2.Fake Audit trail entries as emails and append to mbox archive
                Added: Fri Jun 11 14:55:41 2004  Completed: incomplete
                Duration: incomplete  Priority: medium

              3.Continue to use existing PR datafile for logging events, keywords, and
                metadata
                Added: Fri Jun 11 14:55:58 2004  Completed: incomplete
                Duration: incomplete  Priority: medium

  5.Unassigned
    Added: Fri Jun 11 13:50:51 2004  Completed: incomplete
    Duration: incomplete  Priority: verylow

      1.Add squirrels, to make pst happy.
        Added: Fri Jun 11 14:42:32 2004  Completed: incomplete
        Duration: incomplete  Priority: high

      2.Add conditional formats
        Added: Fri Jun 11 13:56:21 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

      3.Add script hooks, probably for edit formats and such.  Need to think about how to
        integrate in changes to the PR done by the script
        Added: Fri Jun 11 13:57:38 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

        (after all, that's really the whole point)
      4.Allow fields to not exist; add a "field-always-present" option to the field
        description
        Added: Fri Jun 11 13:58:17 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

      5.Add virtual fields.
        Added: Fri Jun 11 13:59:28 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

        (The output format can use the existing format mechanism. This would necessitate
        having a "no-display" field flag, so that some fields don't show up in a "full"
        query (adding all the fields to full" is a rather obnoxious requirement).  There
        should also be a "raw" query that dumps all the real fields as raw contents, for
        editing purposes (and perhaps for other things).)
      6.Revise access control mechanisms.
        Added: Fri Jun 11 14:39:12 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

      7.Should PRs have a ">Database-Name:" header?  Probably, and probably immutable.  Can
        be used when editing a PR, or submitting an initial one.
        Added: Fri Jun 11 14:39:27 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

      8.Append-only fields.  Need to revise access control first.
        Added: Fri Jun 11 14:40:05 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

      9.Document functions.  Many of them are undocumented (even newly-added ones, shame).
        Added: Fri Jun 11 14:41:10 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

     10.See how much farther we can go with removing knowledge of particular fields from the
        gnats code.
        Added: Fri Jun 11 14:42:03 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

     11.Make it possible to include adm field contents in the configuration file, instead of
        always using an external config file.
        Added: Fri Jun 11 14:42:59 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

     12.The client state is not clean.  The API is horrid; clients should not know or care
        if they're communicating via the network or locally.  The original solution was to
        just allow network access, but that's not really fixing the problem.  (We'll know
        we're there when gnatsd can act as a relay.)
        Added: Fri Jun 11 14:43:55 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

     13.The client connection to the server should also be encapsulated in a struct as well.
        That is, something to describe the client (its hostname, username, password, access
        level).  Could eventually allow for a single server process that handles multiple
        connections.
        Added: Fri Jun 11 14:44:32 2004  Completed: incomplete
        Duration: incomplete  Priority: medium

     14.Change edit-pr to include the "Changed-Why:" header in the initial PR template
        instead of a separate prompt.  Maybe.
        Added: Fri Jun 11 14:24:46 2004  Completed: incomplete
        Duration: incomplete  Priority: low

     15.Should all the fields listed in the input section be required? Configurable? How
        about rejecting initial erroneous PRs (PRs with bad fields) instead of fixing them
        up? It sucks that pr-edit --submit < /dev/null could quite presumably create a valid
        PR.
        Added: Fri Jun 11 14:25:50 2004  Completed: incomplete
        Duration: incomplete  Priority: low

     16.The initial PR filing stuff is way too complicated.  In particular, the various
        field checks should be configured in dbconfig.  That would let us remove more
        builtin fields.
        Added: Fri Jun 11 14:38:18 2004  Completed: incomplete
        Duration: incomplete  Priority: low

     17.Decide if the "exec gnatsd locally" option is a security hole.  (Probably.) Make it
        #if TESTING only?
        Added: Fri Jun 11 14:38:30 2004  Completed: incomplete
        Duration: incomplete  Priority: low

     18.Come up with a better name for the lexer source file.
        Added: Fri Jun 11 14:41:35 2004  Completed: incomplete
        Duration: incomplete  Priority: low

