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

released 2.99.46



Hello,

	I just released version 2.99.46 with a lot of things, many
	half-cooked, several bugfixes, and some extremely weirdo things :)

	Lets see...
		- Transport-agents do log "final diagnostics" into the
		  transport specification file by themselves ("ok2", and
		  "error2" cases), thus releaving a bit of the load of
		  the scheduler
		- The scheduler does not anymore pick whole transport-
		  workfile into its core -- into a malloced buffer.
		  This should shrink dramatically the size of the scheduler,
		  when it has huge queues inside itself.
		- FQDNaliases --  this@user: that@address
			(this for my employer ;-) )
		- Easier support for handling white-space in the
		  local-part of addresses -- and doing proper quotations
		  while sending things out to the transporter.
		- White-spaces in the alias key-side:
			"test space": somebody-else

	Keep sending me email/questions, I do try to respond, though
	I am damn busy doing some other things..

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



	-------- ChangeLog -----------
Thu Feb  6 19:00:24 1997  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* Makefile.in:
	    patchlevel 46 -- time for a release..

	* router/functions.c, proto/aliases.cf, proto/crossbar.cf, proto/canon.cf:
	    New router-zmsh routines:  $(dequote .. ) $(condquote .. )
	    To provide support for having an alias entry like this:
		"The Space Head": st-tng

Wed Feb  5 10:02:20 1997  Caldera Desktop User  <mea@mea-koti.tmt.tele.fi>

	* utils/makendbm/makendbm.c:
	    Runtime option (switch)  -a  to process alias-like input
	    (keys are RFC-821-quoted strings) that follows format:
	       keyname: LWSP value,value2,value3
	    Thus allowing feeding the output of  printaliases  routine
	    to  makendbm for creating some real dbase, instead of indirectly
	    indexed ordered flat ascii file..

	* libsh/sh.ssl:
	    A new way to code white-space into '*sift' patterns by using
	    paired quotes:  'text with " dbl quote'"' and single quote"
	           Strings: -111111111111111111111--222222222222222222-
	    There '-' are ignored, and chars of '1', and '2' are taken in.
	
	* proto/cf/aliases.cf, proto/cf/crossbar.cf:
	    Recognize (with special pattern) that the local address contains
	    spaces, and do add quotes to it! (Similarly for 'internet' rewrite
	    rule..)
	
	* INSTALL, proto/cf/fqdnalias.cf, proto/newfqdnaliases.in,
	  proto/db/fqdnaliases:
	    A new routeing mechanism:  fqdnalias

	* Overview:
	    Added one new performance benchmark result

	* README.UPGRADING, scheduler/update.c, transports/libta/ctlopen.c,
	  transport/libta/diagnostic.c:
	    Due to a change at  transports/libta/diagnostic.c, and its
	    counterpart within  scheduler/update.c, new transport agents
	    might not work with old scheduler -- it is a matter of linking
	    the TA with the new library.

	* compat/sendmail/sendmail.c, smtpserver/smtpserver.c:
	    Do proper RFC821->RFC822 syntax quoting of possible backslashfull
	    addresses:  \rfc821@domain --> "\rfc822"@domain

	* config.h.in, include/syslog.h, libc/syslog.c
	    HAVE_SYSLOG_H -- mark also if (or if not) we have <syslog.h>
	    in the system.

	* libident/identuser.c, include/identuser.h:
	    A thorough rewamp of things -- to make sure no buffer overflows
	    will occur due to a hostile data..

	* include/libz.h, lib/rfc822scan.c, router/functions.c,
	  router/rfc822.c, router/rfc822hdrs.c:
	    When doing address list expansions, process each LINE of the
	    input as a sole container of the address -- if there is some
	    address like:  "@foo.domain" in a line, previously this became
	    catenated with the next line as: "@foo.domain:faa@fii"

	* include/ta.h, transports/libta/tasyslog.c:
	    New generic tasyslog() to log out transport-agent
	    report in similar manner to that of the  sendmail(8).

	* proto/Makefile.in:
	    Build/don't build some new/old dirs.
	    Especially builds the hash-subdirs for the scheduler!

	* lib/Makefile.in, lib/taspoolid.c:
	    New generic tasyslog() support routine to build unique
	    spoolids by catenating a base-64 encoded mtime of the
	    email contents file, and the inode number of that file.

	* lib/prversion.c:
	    Year change -- Copyright 1992-1997

	* proto/cf/aliases.cf:
	    Handle all variants of list  owner-, -owner, and -request
	    address injections neatly.  Does not set list outbound
	    sender to be  owner-listname, though!  (See aliases-vger.cf)

	* proto/cf/rrouter.cf:
	    - recognize addresses that start with a pipe character, and
	      DON'T mess with them with the focus testings!
	    - Handle backquote-prefix properly (i.e. strip it..)
	    - Detect feed to files (or X.400 address..)
	    - If the `fullnames' database, nor `newsgroup' database
	      found anything, try handling it in aliases database.

	* router/libdb/headers.c:
	    Moved two headers into "unknown" category, where we won't be
	    checking on them:  keywords, references

	* router/libdb/ordered.c, router/libdb/unordered.c:
	    scan over the first token with  skip821address() -- now I can
	    do aliases with quotes on the left-side, and spaces in them!

	* router/rfc822.c:
	    Bugfix: wrong pointer picked for recipient attribute causing
	    more or less mysterious crash..

	* router/rfc822hdrs.c:
	    New form of the generated Message-Id:
	      <yyyymmddhhmmssZspoolid+seq@mydomain>
	    It is slightly shorter than the previous one, and definitely
	    a lot more sortable..

	* scheduler/msgerror.c:
	    - Slight improvement on handling spacefull 'host' object
	      (and 'user' object too..)
	    - Threw away a 'dnsrecipient' information pointer, and
	      updated error log writers/parsers for it.

	* scheduler/scheduler.c, scheduler/scheduler.h, scheduler/update.c:
	    Will not keep 'contents' of the TA-spec file in memory for very
	    long -- only up to the initial scheduling input of the message.

	* smtpserver/relaytest.h smtpserver/relaytest.c:
	    Some more code -- "flesh on the bones", but not yet usable..

	* smtpserver/smtpserver.c:
	    Tried to alter the code to carry around a 'content' package
	    so that perhaps someday the smtp-server can be threaded (or
	    some such), and each thread runs with its own content.

	* transports/libta/diagnostic.c, transports/mailbox/mailbox.c,
	  transports/smtp/smtp.c:
	    Doing 'sendmail(8)' like syslog data preparation
	
Sat Jan 25 15:18:08 1997  Matti Aarnio  <mea@mea-home.tmt.tele.fi>

	* libsh/interpret.c, libsh/tregexp.c:
	    Trace  SSIFT/TSIFT statements with clearly differentiated
	    "trace compare/trace match" statements -- namely report
	    "tcomparing 'pattern' and 'string'" for the  TSIFT, and
	    "scomparing 'pattern' and 'string'" for the  SSIFT
	    (and "smatched"/"tmatched" for matches likewise..)

	* proto/cf/rrouter.cf:
	    Where that trace change was motivated... was something
	    that I had implemented sloppily in a ssift statement...
	    Namely I noticed, that the "fullname expansion traps
	    ':include:/path/to.file' into itself, and fails".  Then
	    I had decided to implement a test for RE "^[^.:]+\.[^.]+$"
	    (where the starting/ending limiters are implicite in ssift!)
	    but that RE has a fault of matching only ONE dot -- so no
	    "foo.bar.bat" is matched with it, while it correctly does
	    not match cases where the part before that dot has a colon
	    (from ":include:").

	    Now I test at first for explicite case of ":include:", and
	    only then test for dotfull names.

	    I am still uncertain if we should not rewrite it entirely
	    differently -- to move also fullname/newsgroup map tests
	    inside the $(routeruser ..) routine, and thus be able to
	    allow  sendmail -like aliases where dotfull names can be
	    in the standard aliases as well.

	* smtpserver/smtpserver.c, proto/smtpserver.conf,
	  smtpserver/Makefile.in, smtpserver/relaytest.h,
	  smtpserver/relaytest.c:
	    Some more coding of multi-db-format query lookups of
	    service limitation mechanisms.

	* utils/makendbm/ndbmlook.c:
	    Yet another parametrization error in the DB code..
	    (A non-fatal one, I presume.. affected only GDBM)