[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
2.99.49 patch3 -- only full dump
I have finally made 2.99.49 patch3 available.
It has a few new files in it; utils/Makefile, for example,
and more importantly, a couple performance and security
fixes. Security by nulling routers/schedulers starters
supplementary groups list.
... plus a couple performance things that stem from experiments
at vger.rutgers.edu, and reading one SunSoft book about Solaris
This source dump has been at the ftp.funet.fi for a few
hours, but it took me a while before I got around to test
install at other than Linux systems, and of course that first
dump had an error in "utils/Makefile.in"..
(An extra "-c" at install.)
/Matti Aarnio <email@example.com>
Sun Jun 29 21:36:43 1997 Matti Aarnio <firstname.lastname@example.org>
* configure.in, config.h.in, transports/libta/ctlopen.c,
Configuration option: --with-ta-mmap which uses mmap()
facility to map in pages of the message data.
At least at Solaris 2.x it is not advisable to use if you
want to have highest possible performance, because the
munmap() throws away ALL pages of the file from the system
memory, even when other users have those pages in use!
For that reason it is much better to rely on plain simple
read()/write() behaviour that let buffer cache to exist.
Configuration option: --without-fsync
Option that turns off (globally) the use fsync() anywhere
in the ZMailer. System configurers can decide what is best
for their systems. It does give definite edge at buffered
IO by not forceing every file modification to be commited
up to the disk.
Alteration at the treatment of "!" and "%" characters. Now
they are special, and are analyzed in more profound manner
within localpart analysis.
Register, and analyze properly how many SMTP sessions are
currently active (non-reaped) from any given source IP
Correction into notary-status-code pickup for ENHANCEDSTATUSCODES
* libsh/testeval.c: (+ several of proto/cf/*.cf files)
New operators into the builtin 'test' function: -nt, -ot, -ef
(file age comparators, and file equality comparator)
* SiteConfig.in, router/rtsyslog.c, smtpserver/smtpserver.c,
New ZENV entry: SYSLOGFLG=
which can be used to turn off syslog() logging activity
at the smtp-server/router/transport-agents
* config.h.in, configure.in, router/router.c, scheduler/scheduler.c:
Check of setgroups() routine, and at both the router, and
the scheduler, use both to clean out the set of supplementary
groups the processes have.
Concise USE_ALLOCA/HAVE_ALLOCA defines
Be a bit more tolerant at what comes back as response
for the ident query.
* libsh/interpret.c, router/functions.c:
A bit more smarts into quote containing string processing;
Especially when dequoteing string that contains only one
char: ' or " ...
Accept incore database of form: $MAILVAR/db/routes.zmsh
Allow "Reply-To:" and "Resent-Reply-To:" to have value: "<>"
* scheduler/msgerror.c, transports/errormail/errormail.c,
Stronger MIME-report boundary generator which isn't merely
stocastic, but very likely unique at the creation time.
* smtpserver/policytest.c, smtpserver/policytest.h:
Move policy-database open out from database define
- Study "rejectsource" at HELO/EHLO parameter check
- For the RCPT TO:<..> study also the full addresses
in addition to the domain part
* smtpserver/smtpcmds.c, smtpserver/smtpserver.c:
- Print out the incoming HELO/EHLO parameter as is
into comment at "rcvdfrom" envelope header along
with many other bits of info.
- Change policy-rejection responses from:
553 5.1.8 ...
553 5.7.1 ...
Conflicting routine name within the ssl.c program: basename()
( Linux libc6 a.k.a. glibc-2.0.4 .. )
Modifications into 'vacation start' command behaviour.
Found a couple off odd situations where creation of files
into non-kosher location was allowed; partly corrected with
the purge of supplementary groups at the scheduler, partly
with a bit of new code.
Recognize (unknown) smtp response value 571 to be a sign of
policy based refusal.
At Debian systems including <errno.h> causes surprises at
parameters called 'errno' ... rename such parameters.