Annotation of 43BSD/usr.lib/sendmail/adm/TODO, revision 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.