[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I just released version 2.99.46 with a lot of things, many
half-cooked, several bugfixes, and some extremely weirdo things :)
- 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 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 <email@example.com>
-------- ChangeLog -----------
Thu Feb 6 19:00:24 1997 Matti Aarnio <firstname.lastname@example.org>
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 <email@example.com>
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..
A new way to code white-space into '*sift' patterns by using
paired quotes: 'text with " dbl quote'"' and single quote"
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
* INSTALL, proto/cf/fqdnalias.cf, proto/newfqdnaliases.in,
A new routeing mechanism: fqdnalias
Added one new performance benchmark result
* README.UPGRADING, scheduler/update.c, transports/libta/ctlopen.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,
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).
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.
Year change -- Copyright 1992-1997
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)
- 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.
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!
Bugfix: wrong pointer picked for recipient attribute causing
more or less mysterious crash..
New form of the generated Message-Id:
It is slightly shorter than the previous one, and definitely
a lot more sortable..
- 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..
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,
Doing 'sendmail(8)' like syslog data preparation
Sat Jan 25 15:18:08 1997 Matti Aarnio <firstname.lastname@example.org>
* 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..)
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
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,
Some more coding of multi-db-format query lookups of
service limitation mechanisms.
Yet another parametrization error in the DB code..
(A non-fatal one, I presume.. affected only GDBM)