Annotation of 43BSD/usr.lib/sendmail/adm/TODO, revision 1.1.1.1

1.1       root        1: SHORT TERM TASKS
                      2: 
                      3:   * Elevate "vacation" to a real release program -- check man pages,
                      4:     install in /usr/ucb, etc.  May need some work -- it's still a bit
                      5:     tricky to use.
                      6: 
                      7:   * Throw in "smart UUCP" mailer that knows about neighbors that can
                      8:     handle more than one recipient at once.  This is easy and should
                      9:     be very useful for certain sites.  Configuration files should
                     10:     default to "dumb" however.
                     11: 
                     12:   * Clean up configuration on releases -- send out fewer Berkeley and
                     13:     more basic configs (e.g., BLI).
                     14: 
                     15:   * Verify that new name server doesn't confuse sendmail.
                     16: 
                     17:   * Only add Message-Id: if message is locally generated (???).
                     18: 
                     19:   * Improve documentation describing how to create a config file --
                     20:     probably means putting more configs on distrib.
                     21: 
                     22:   * Listen in UNIX domain (as well as INET)?
                     23: 
                     24:   * A way to mark addresses in the queue as you process them as "done" --
                     25:     probably by appending lines to the cf* file.  The point here is to
                     26:     avoid duplicate messages to large lists if a crash occurs during
                     27:     processing.  This is hard.
                     28: 
                     29: 
                     30: 
                     31: LONG TERM TASKS
                     32: 
                     33:   * Break up sendmail into several smaller programs:
                     34: 
                     35:        queueup -- insert message into mail queue; call runqueue when
                     36:                done -- called by user, smtpserver, cleanqueue (to return
                     37:                expired messages), etc.
                     38:        runqueue -- process queue entries -- take optional job name list
                     39:                to run only those jobs -- called by queueup and by cron
                     40:                to push the queue.
                     41:        printqueue -- print mail queue.
                     42:        cleanqueue -- return expired messages; basic consistency
                     43:                checking.
                     44:        smtpserver -- process smtp connections, pass to queueup -- this
                     45:                can probably become a simple service a la /etc/inetd.
                     46:        addrtest -- essentially "-bt" mode.
                     47:        verifyaddr -- verify an address list -- "-bv" mode -- needs a
                     48:                "noisy" and a "silent" mode (exit status only).  This
                     49:                should be the same code as smtpserver and queueup use
                     50:                to verify addresses.
                     51:                        [This may want "shallow" and "deep" modes, where
                     52:                        deep mode tries to connect to the remote site if
                     53:                        on SMTP and issue a "VRFY" command.]
                     54:        newaliases -- build alias file -- should not be part of sendmail
                     55:                proper.  (See editalias below -- that would probably
                     56:                preempt -- although a text form will be critical for
                     57:                interchange.)
                     58: 
                     59:     It may be better to make runqueue a daemon on 4.2 and have queueup
                     60:     poke it (using a datagram).  This guarantees single threading (is this
                     61:     an advantage? -- long jobs can block the queue) and minimizes
                     62:     gratuituous forks/execs.  However, I feel strongly that portability
                     63:     is important -- the fork/exec method should still be included.
                     64: 
                     65:   * New programs:
                     66: 
                     67:        editalias -- front end to modify alias database, including
                     68:                "ownership" (so that people can modify lists that they
                     69:                own, but not other lists) -- see Grapevine papers --
                     70:                distributed????
                     71:        rmqueue -- remove a job from the queue.  Usual ownership rules
                     72:                should apply of course.
                     73: 
                     74:   * Change config file to be more understandable -- yacc grammar probably.
                     75:     Perhaps defaults should be compiled in whenever possible.
                     76: 
                     77:   * Only use rewriting rules to go to and from canonical format.  Other
                     78:     resolution should be defined by the name server (See MMDF).
                     79: 
                     80:   * Perhaps there should be a "compiled format" for the configuration
                     81:     file, something between a yacc-style config and the freeze file; very
                     82:     quick to read w/ low overhead.  [Suggest a struct with "char *" being
                     83:     index into a buffer area; these can be mapped internal <==> external
                     84:     easily.]
                     85: 
                     86:   * Move functionality:
                     87: 
                     88:        []  Currently sendmail will rewrite "To: miriam mckusick" to
                     89:            "To: miriam, mckusick" unless some "special" characters
                     90:            are used (e.g.,  ()<>,;  -- characters specific to RFC822).
                     91:            This should be moved to the user agent (Mail, rmail, MH,
                     92:            etc.).  Big job because all user agents must be modified.
                     93:        []  Would be nice if UUCP shit-format was handled by UUCP
                     94:            itself.  This has serious performance implications unless
                     95:            actually built into UUCP.
                     96: 
                     97:   * Non-sendmail related changes:
                     98: 
                     99:        []  UUCP routing code (part of the name server really) -- can
                    100:            the work that Peter Honeyman or others have done be useful?
                    101:            [A significant point is making this work given incomplete
                    102:            information -- yum yum.  Some database work in this area.]
                    103:        []  Reply code in ucbMail has little relation to current mail
                    104:            software.  "Smarts" should be stripped out.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.