|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.