[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ideas for developement..



I have been toying with a few developement ideas for the Zmailer, any takers ?


- mailing lists with external program to decide on routing decissions
  (rc=0 -> normal expansion, rc=1 -> owner, rc=2 -> postmaster, ..)
    - Needs also a method to do header rewrite per source X (external
      or internal procedure) for addresses expanded from the list
    - Would allow fairly extensive "loop detected, offending recipient.."
      error reports

- procedural "canned messages" on error reports:
    - would know what that describing local  Firstname.Familyname@...
      mapping isn't usefull info as address which failed was not
      a local one...
   (Now why this and previous one sound so much like LISTSERV inside
    the mailer ?  Because this is what LISTSERVs do with their lists..)


- Having separate database cache(+) server; Actual lookups are to be done
  by the router processes, but they would at first query cache about it.
    - routers must be able to live without it
    - only one db-server per cluster of hosts (/etc/passwd cluster,
      assuming no baseset+local extra users -NIS tricks are done.)
    - stores cache entries with association to: database YY, expiration
      time/other condition (file XXX changes)
    - can flush cache of database YY per IPC command, as well as
      expiration condition.
    - does lookup of  /etc/passwd  and  /etc/groups  entirely in core
      (builds internal matrix of passwd data + groups, flushes & rereads
       the file when it changes -- change detection method & actual file
       location from configuration file)
    - DNS negative cacheing ?  It is not always a good thing...
       ( In case the 'named' your routers use does not do it. )


- Using LISP lists on (at least SMTP) mail delivery:
  (assuming somebody not MX to nic.funet.fi)
  Present:
	smtp nic.funet.fi user@nic.funet.fi attributes
  New form:
	smtp ((nic.funet.fi)(figbox.funet.fi)(funet.fi)) user@...
  and if  funet.fi  had message in:
	smtp ((nic.funet.fi)(figbox.funet.fi)) user@...

  Some other examples:
	smtp ((only.a-addressed.host)) user@only-a-addressed.host ...
	smtp ((prim.mx)(sec.mx sec2.mx)(tertiary.mx)) user@....

  LISP-lists ordered into MX priority order, if some order level has
  multiple targets, they form their own list.

  Scheduler queue recognition will break with this, but is easy to fix
  by letting it to search for the first FQDN entry from within the list
  ->  A host which is primary MXer for a bunch of targets will become
      queue target  :-)



	/Matti Aarnio <mea@nic.funet.fi> <mea@utu.fi>

PS: I will try to make the LISP-lists as SMTP target ids, and the first
    one about assisted routing is trivial, but its co-requirement of
    header rewrites is not so..    Good night.