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

2.99.51-pre1 available




Since  2.99.50s19  there have been FOUR patches, and lots more
"invisible" work in the CVS.  The ChangeLog below has some 340
lines of things.


Unless this package has anything serious needing fixing, it will
be renamed (re-packaged) sometime towards the end of the week
as ``2.99.51''.

Some notable selections:
    - stuck smtp streams are auto-recovered, and a mail.emerg syslog
      message is sent about the thing.  email managers are suggested
      to receive those syslog events to his/her logged in session!
      (this is not the FIX, this is a KLUDGE!)
    - router has had a lot of work at the bad/weird headers, and complex
      RFC-822 folding rules.  Now it seems to be able to take about any
      junk you can throw at it.
    - smtpserver enforces minimum free POSTOFFICE storage space;
      the default minimum free space is 5 MB after message arrival.
    - smtpserver's logfile line start tag changed to be (likely) unique
      one per session.  Lookup of whole sessions will be easier.
    - `sm' program's `m'ultiple option fixed
    - router script interpreter memory leak plugged; now it will not
      grow, and grow all the time...

URLS:

  ftp://ftp.funet.fi/pub/unix/mail/zmailer/src/zmailer-2.99.51-pre1.tar.gz
  ftp://mea.(ipv6.)tmt.tele.fi/zmailer/zmailer-2.99.51-pre1.tar.gz


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


1999-07-05  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* Makefile.in:
	    Version 2.99.51-pre1

	* smtpserver/smtpcmds.c, smtpserver/smtpserver.h:
	    Limit the length of the "HELO/EHLO" string, and the length
	    of reported reversed hostname in the "rcvdfrom" envelope
	    header, and thus in the resulting "Received:" header.

1999-07-04  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* router/rfc822.c, router/rfc822hdrs.c, router/libta/header.c:
	    A bit more gymnastics to get rid of:
	        Received: from localhost (user '...' uid#1234) by ...
	    and to replace it with:
	        Received: (from localhost user '...' uid#1234) by ...

	* transports/smtp/smtp.c:
	    Fixed the errorneous 'Final-Recipient:' lines in the
	    delivery reports.

	* scheduler/threads.c:
	    Re-enable the kludge-report; if they don't happen, the
	    smtp.c is ok, if they do...

	* lib/rfc822scan.c, lib/token.c, router/rfc822hdrs.c:
	    Multiline compound tokens (topic for recent activities)
	    had still major problems.  Did also modify "Received:"
	    header content generation, although not quite sufficiently
	    in all situations (considering when/how to fold commentary
	    material in 'from' entry.)

1999-07-03  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* man/smtpserver.8, smtpserver/smtpserver.c, smtpserver/smtpcmds.c,
	  smtpserver/smtpserver.h, smtpserver/smtpdata.c, smtpserver/cfgread.c,
	  proto/smtpserver.conf.in:
	    "PARAM min-availspace 5000" -- specify the minimum required
	    available space in the $POSTOFFICE/ directory. In KILOBYTES.

1999-07-02  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* smtpserver/smtpserver.c, contrib/whoson-1.08.tgz:
	    Arkadiusz Mi?kiewicz <misiek@misiek.eu.org>:
	    - update to newer whoson package
	    - adding option "-w" to smtpserver to actually
	      do the query of Whoson.  Allows code being
	      compiled in without it being used...

	* proto/cf/canon.cf, lib/rfc822scan.c:
	    Turns out the best way to fix the 'foo\!faa!fii'
	    problem is not to tinker with tsift patterns at
	    canon.cf, but instead have '\!' pair scanned into
	    token of its own.

1999-07-01  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* proto/cf/canon.cf:
	    Received a patch to UUCP routing problem introduced
	    by the addition of forbidding to spot '\!' pair..

	* include/libz.h, lib/rfc822scan.c:
	    Fix the way how _unfold() works.  Pointer comparison
	    was certainly *wrong* way...

	* router/libdb/ldap.c:
	    Reorganized things:
		Do connect+bind to DB at  ldap_open()
		Do ONLY queries at ldap_search()
		Do dissociation at ldap_close()
	
	* libsh/builtin.c:
	    A bug in handling of  $(lreplace ... )  internal conscell
	    chains polluted wrong objects with call parameters.  Adding
	    one strategic copy-chain solved it.

1999-06-30  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* smtpserver/smtpauth.c, smtpserver/smtpcmds.c, smtpserver/smtphelp.c,
	  smtpserver/smtpserver.h, smtpserver/smtpserver.c:
	    A change in logging; make individual input sessions stand out
	    better by using constructed log line prefix; pppppTTTT[rw#-]
	    where "ppppp" is "%05d" of process pid. "TTTT" are chars in
	    range A thru Z, and are derived from log open time system time-
	    stamp as lowest 4 of base26 "digits" (0 = "A", 25 = "Z").
	    Now doing "egrep ^pppppTTTT smtpserver.log" should pick only
	    the interesting session...

1999-06-29  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* router/dateparse.c:
	     Fixes for Y2K-correct date parsing; although this
	     is dead code whose result is ignored, it still
	     apparently gets called...  Thanks Ken!

	* TODO:
	    Found major pain (problem, if you will) in the
	    LDAP interface code for the router.  It does server
	    connection and DB bind for *every* query :-(
	
	* transports/smtp/smtp.c:
	    Arkadiusz Mi?kiewicz <misiek@pld.org.pl> reported
	    compilation and operation problems in his IPv6
	    environment.  Turns out a  getnameinfo()  request
	    block parametrization bug prevented 'IPv6 AAAA only'
	    hosts from even being *found* for the data lookup.

	* configure.in, config.h.in, acconfig.h, libc.h:
	    Autoconfigure compilation sense of  'socklen_t' for
	    possible use of --with-ipv6-replacement-libc and then
	    smtp.c in mode where  getnameinfo() routine can be
	    debugged...

	* scheduler/threads.c, scheduler/transports.c:
	    Kludgeish "cure" to ``OF=0, HA=lots..'' problem.
	    If the HA exceeds now fixed value (3600 sec), the
	    system does client shutdown, and then recovers.

	* lib/rfc822scan.c:
	    Patch from <zack@bitmover.com> for RFC822 comment
	    nesting.  In the end result the comments disappear
	    entirely (not so great) but now properly nested
	    comments are not flagged as an error!

1999-06-27  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* smtpserver/policytest.c, smtpserver/smtpcmds.c,
	  proto/db/smtp-policy.src, utils/policy-builder.sh.in:
	    Tried to use delayed "rcpt-dns-rbl + test-rcpt-dns-rbl"
	    policy attributes, and noticed that things didn't work
	    quite the way I had planned  .  Ah well, some testing,
	    and patching, and now it works...   Noticed also that
	    the report out of themachinery used wrong variable in
	    the  RCPT TO report code.

1999-06-26  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* configure.in, ChangeLog, compat/rmail/Makefile.in,
	  compat/rmail/rmail.c, compat/sendmail/Makefile.in,
	  compat/sendmail/sendmail.c, include/listutils.h,
	  include/mailer.h, include/malloc.h, include/zmalloc.h,
	  lib/Makefile.in, lib/splay.c, lib/symbol.c, libc/Makefile.in,
	  libc/mail_alloc.c, libident/Makefile.in, libmalloc/maltrace.c,
	  libmalloc/simumalloc.c, libmalloc/testmalloc.c,
	  libmalloc/teststomp.c, libsh/Makefile.in, libsh/expand.c,
	  libsh/shconfig.h, libsh/trap.c, router/Makefile.in,
	  scheduler/Makefile.in, scheduler/mailq.c, scheduler/scheduler.h,
	  smtpserver/Makefile.in, smtpserver/mxverify.c,
	  smtpserver/smtpserver.h, transports/errormail/Makefile.in,
	  transports/errormail/errormail.c, transports/expirer/Makefile.in,
	  transports/expirer/expirer.c, transports/fuzzyalias/Makefile.in,
	  transports/fuzzyalias/fuzzyalias.c, transports/hold/Makefile.in,
	  transports/hold/hold.c, transports/libta/Makefile.in,
	  transports/libta/ctlopen.c, transports/libta/diagnostic.c,
	  transports/libta/dnsgetrr.c, transports/libta/mimeheaders.c,
	  transports/libta/routermxes.c, transports/libta/tasyslog.c,
	  transports/libta/writeheaders.c, transports/mailbox/Makefile.in,
	  transports/mailbox/mailbox.c, transports/mailbox/mboxpath.c,
	  transports/sm/Makefile.in, transports/sm/sm.c,
	  transports/smtp/Makefile.in, transports/smtp/smtp.c,
	  utils/makedb/Makefile.in, utils/vacation/Makefile.in,
	  utils/vacation/vacation.c:
	    Arkadiusz Mi?kiewicz <misiek@pld.org.pl> reported
	    compilation problems in his environment.
	    - About all Makefile.in template files did need changes
	      so that ZMailer's own include paths preceed ALL other
	    - Changed all include instances of "malloc.h" to "zmalloc.h",
	      although that propably is unnecessary... (and renamed
	      the file, although CVS will show deletion and adding..)
	    - Manage to autodetect OpenSSL shared objects, although does
	      not do full blown shared-library runtime load path define,
	      as that detail tends to vary from system to system :-(
	
1999-06-25  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* transports/mailbox/mailbox.c, configure.in, acconfig.h:
	    configure time option "--with-mboxquotacheck"

1999-06-24  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* transports/smtp/smtp.c:
	    More of "mailq -Q | grep OF=0" tracking.
	    Also several cases of eradicting extra  fflush() calls.

	* smtpserver/smtpdata.c:
	    Do "TRANSLATION" facility with PARANOID mode; and some
	    Asperin, or equivalent to Eugene Crosser...

1999-06-23  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* transports/libta/mimeheaders.c:
	    Do downgrade to QUOTED-PRINTABLE in all cases where it is
	    needed.  Convert to C-T-E: 7BIT and/or C-T: ... ;charset=US-ASCII
	    only when the message is TEXT/PLAIN type.

	* transports/smtp/smtp.c:
	    Change the way how timeouts are handled for the  connect();
	    now does connect() in NON-BLOCKING mode, and uses select()
	    to see when the connection has completed, or timeout occurs.
	
1999-06-22  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* transports/sm/sm.c:
	    Reworked the 'm'ultiple recipients processing. The previous
	    patch looped in place and kept allocation more and more memory.
	    Outch..

1999-06-18  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* transports/sm/sm.c:
	    Internal users reported that somewhen since 2.99.50s5 the
	    'm'ultiple recipients mode has been broken.  A likely fix
	    is supplied.  (I haven't had change to test this.)

1999-06-16  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* smtpserver/policytest.c:
	    More from Eugene Crosser; process %-hack also for those
	    domains we are a relay-target for...
	
	* router/libdb/ndbm.c, router/libdb/ldap.c, router/libdb/dbm.c:
	    Eugene Crosser spotted that I had forgotten to change
	    some close_*() parameters to match new prototypes, which
	    I introduced while debugging BSD DB 2.something at Linux
	    Alpha RedHat 6.0 system.  Eugene sent patches for ndbm.c,
	    and ldap.c.

	* configure.in, smtpserver/Makefile.in, utils/makedb/Makefile.in,
	  utils/vacation/Makefile.in:
	    Introduce new '@LIBLOCALDBMS@' substitution which does not
	    include possible LDAP for applications which *don't* use
	    LDAP in themselves.  (Eugene Crosser report about missing
	    @LIBSOCKET@ substitution because of ldap things at makedb..)

1999-06-14  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* scheduler/transport.c:
	    To sub-process (Transport Agent) pass environment variables:
	       TZ, PATH, ZCONFIG
	    I had thought that syslogd does timestamp formulation, but no...
	    It is within the  syslog()  library routine where that happens!
	    Thus our childs will need at least TZ (SysV-like systems) to know
	    what the local timezone is :-/

	* transports/smtp/smtp.c:
	    Treat "No MX, no A" as a serious error worth discarding the
	    recipient address.

1999-06-13  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* router/libdb/bsdbtree.c (and others during debug):
	    Spotted strange leakage of 'file' objects in the Linux
	    kernel.  Turns out that the BSD DB 2.x at Linux/Alpha
	    glibc-2.1.1 leaks one mmap() page at every db open.
	    Turns out also that every  search_btree()  which
	    misses, did a retry *after* close_btree() call.
	    As a result, routing did need terrible things.
	    Now won't do that db-reopen at search miss with
	    bsd-btree and bsd-hash codes.

	* scheduler/scheduler.h, scheduler/transport.c:
	    Spotted a case of 'very long' "host" information, which
	    naturally crashed the scheduler when scribling over fixed
	    buffer in the stack.  Now using malloc()ed buffers, which
	    are grown in case a need arises.
	

1999-06-12  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* libsh/interpret.c, router/functions.c, router/rfc822.c,
	  router/libdb/bind.c:
	    Code massage to silence the egcs-1.1.2 about "possibly unset
	    variable" -- if there is any code flow before variables are
	    set, then it doesn't know, what has happened.

	* scheduler/readconfig.c, scheduler/scheduler.c:
	    Removed/moved unused variable.

	* transports/smtp/smtp.c:
	    Sigh.. "warning: variable `channel' might be clobbered
	    by `longjmp' or `vfork'"

	* utils/vacation/Makefile.in:
	    [ -l somepath ] is NOT known function, it is:  [ -h somepath ]

1999-06-10  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* README.UPGRADING:
	    Explicitely list all standard commands for different
	    database regenerations.

	* contrib/zmailstats:
	    RE change in the main syslog pattern rule to handle the
	    timestamp format at the beginning of the syslog line.

	* libsh/interpret.c:
	    Tracked memory leakage in case the script did following:
	       ssift "$somevar" in
	         (.*)@(.*)  return "$somevar" ;;
	       tfiss

	* router/functions.c:
	    "stableprocess" routine used wrong argv[] element to
	    pass along to the real "process" script.

	* router/rtsyslog.c:
	    A bit more of compiler pleasing; smaller stack frame
	    when the 8000 byte buffer isn't off the stack..

	* smtpserver/policytest.c:
	    Silenced compiler about storing into constant variable.

1999-06-07  Matti Aarnio  <mea@mea.tmt.tele.fi>

	* lib/selfmatch.c:
	    Revoke the change I did while tinkering with
	    autodetecting <foo@[1.2.3.4]> address being
	    our local one..

	* utils/vacation/Makefile.in:
	    "test -e ..." is perhaps POSIX thing, but not at
	    Solaris /bin/sh :-/

	* router/rfc822.c:
	    A case of NULL pointer referral in form which I hadn't
	    encountered before...  (fqalias.ldap induced case)

	* Makefile.in:
	    'make dist' should dump also symlinks! Boo!

	* ChangeLog, configure.in, acconfig.h, router/libdb/bsdbtree.c,
	  router/libdb/bsdhash.c, smtpserver/policytest.c,
	  utils/makedb/makedb.c, utils/makedb/dblook.c, README.UPGRADING,
	  utils/vacation/vacation.c:
	    BSD DB 2.* interface had subtle difference; KEY and DATA
	    "DBT"s must be  memset(&key,0,sizeof(key))  to avoid nasty
	    surprises...  Wow, that API is -- versatile ...
	
	* router/libdb/bsdhash.c:
	    Fix of old BSD DB 1.85 type behaviour.