Known/suspected bugs/Missing Features on current Zmailer sources

- Need a program to verify that given configuration is ok, checks
  for things like:
	- $MAILBOX -directory
	- "nobody" userid
	- scheduler's resource control working to the maximum
	  extend that system supports
	- mmap() correct opeation

- Scheduler should use following style of limits:
	- Global MAX on transport clients
	- MAX number of TCs per channel definition
	- MAX number of TCs per PATTERN definition (rule pattern)
	- MAX number of TCs per host-portion WITHIN channel
  Thus SMTP-channels might have 100 clients, and LOCAL-channel
  another hundred...

- Scheduler should be able to start childs, and keep them as server
  processes for itself, and to feed the childs then necessary job
  descriptors one at the time, instead of the current scheme, where
  all job descriptors are fed in one go, and the the feed-in channel
  is closed  -> system load-average runs pretty high due to active
  process creation, and spawnding...

- router leaks fd's ? -- sometimes the fd-3 gets trashed -- it is
  used by log() -script-function to write logs...
    --  apparently due to a poor selection of the  GETPWENT config
	variable!  It must be turned on for proper work!
	(hmm..  Changed that test and variable   Now  ZGETPWENT must
	 be explicitely defined for it to be used ! )

- SMTP will PERHAPS execute _CONVERT_UNKNOWN for a file which is
  all-7-bit.  I have not been able to recreate the behaviour,
  which does not mean it would not exist :-(   (There WAS a big
  blunder on SMTP QP encoding and "." treatment :-(  )

- transporters: When decoding MIME-QP the final line MAY be of
		".....=", which means there is no final NEWLINE.
	Fixed on SMTP, must fix on MAILBOX, and SM!  (4-Jan-95)
	(Prepared to do it, however only on SMTP it is fatal -- I think..)

- transporters: Truly full-scale MIME-conversion facilities are in need!

- Transport-channels MAY leak file-descriptors, at least SMTP did
  (fixed on 2.99.5 -- somewhat brutally, but fixed..)

- Changes on 2.98/2.99 scrambled the list-expansion error-redirection
  mechanism somewhat.   The goal is to have there a separate auto-generated
  "Errors-To:" header for all addresses expanded from some list -- each
  list its own version.   It requires some more sorting in the sequencer,
  when the addresses are put in order, and then adding those to the
  transporter file, AND using individual "e"-entries for each recipient
  group on transport too!  (Now there is one global..)
	(fixed on 2.99.15 at scheduler with sub-optimal way)

- Should use GNU Autoconfig to figure system facilities

- Makefiles require a serious overhaul..
  ( -> GNU Autoconfig )

- Manuals leave a lot to desire.. Especially a good users/administrators
  manual is in need

- MIME facilities are half-cooked (but work for the most of the time)

- "error" -channel uses MIMEoid message wrapping, and should consider
  seriously (let user to configure) what to "Cc:" to postmaster.
  Some say the Postmaster should not get error message's body..
  (Error channel appears partly inside(!)  the codes of  'router'
  (in the rfc822.c), and 'scheduler' (in the msgerror.c), and partly
  as an external program  transports/errormail/errormail.c)

  IETF has a NOTARY-wg whose charter is to standardize Delivery Status
  Notification reporting.   For a copy of specs drafts, see:
		doc/draft-ietf-notary-*
  On  940829  the system has IETF-NOTARY support on SMTP, MAILBOX, and
  ERRORMAIL channels.  Others (SM, HOLD?) will follow someday...

  Finetunings are needed on returned codes. ALPHA quality ?
  (router/rfc822.c DOES NOT (yet) follow IETF-NOTARY format!)

  NOTARY demands, that "Rcpt:" entry on the returned message MUST
  contain FQDN address.  Plain userid is not enough..  (BUG!)

  *** 9412: ERROR HANDLING NEEDS TO BE UPGRADED INTO THE NEW IETF DRAFTS ***


- Configuration files, esp.   cf/aliases.cf   has controversy in it.
  Many people think it is broken (I tend to agree) - 940614/mea

- Canned error messages are abysmal -- they need more complete ways to
  configure what is told and how, whole error facility needs an overhaul
  in fact..  (See mention above about: IETF NOTARY)

- Sometimes incoming SMTP can be a hellish load, need to introduce
  a load-limited incoming SMTP acceptor (smtpserver/smtpserver.c)
  (Rayan wrote it, but never released it..)
	13-Dec-94:  It exists for Linux ....
	23-Dec-94:  Pulled bits from "top" -program.  Now it
		    exists also for Suns..

  A discussion on the ZMailer -list revealed that the acceptance blocking
  is a BIG can of worms, and that even the  BSD-sendmail has had a long
  journey along the rocky path to "get it right"...  (5-Jan-95)


- Alias processing by "newaliases" (printaliases: run_praliases)
  is "interesting" -- if sysadm wants to add an alias like:
	"Example Name": realname
  That just doesn't work..  (jeah, sure I want to use such aliases :)  )

- Processing of several headers is questionable/lack of:
	From: <>  -- should be valid! --- now is (940626/mea)
	Return-Path: <> -- as well ?
		
	Generic: header wrapping within N chars (like to 80-chars
		 space of BITNET) and also infinite wide systems,
		 like News.. (transports/libta/writeheaders.c ?)

	Generic: RFC-1342 aka. non-US-ASCII chars in the headers..
		 Auto-conversion and wrapping

- Zmailer script-language, ZMsh, could benefit from internal
  (simplified) version of  /bin/expr:
	a=$(/bin/expr "$home" : "\(/.*\)//*[^/]*/*") || return 99
  (Likely the new  ssift -construction can be used for this ?)
