DMail 3.xx and 2.9 significant new features 23/Feb/2001


Notes on updates to DMail, comprising the DSMTP, DPOP and DList mail servers

Jump to: current release version
Jump to: current recommended 'safe' beta version

NB: Have you pressed your 'reload' button to make sure you are not looking at a cached version of this page?

For a list of known bugs see,
Known Bugs in Current and Recent Versions of DMail

Use this link to get to the release directory of our FTP site.
Use this link to get to the beta directory of our FTP site.

 

Version 2.9 has now been locked and will no longer have anything added to it. Version 3 is the version now under development it is a continuation of version 2.9.

Version
& Release Date
Changes
3.0h1
25 September 2001
  • DSMTP: Fixes a problem with DSMTP not bouncing invalid domains immediately.
3.0h
24 January 2002
  • DList: Fixed template variable code
  • DSMTP: Fixed tcp_timeout_in/tcp_timeout_out wierdness
  • DSMTP: Now reads and write drop/data files in binary mode
  • DSMTP: Pulled qfile info out of tellsmtp status. Now in tellsmtp showq.
  • DSMTP: Increased dsmtp's capacity for incoming channel requests by factor of 5
  • DSMTP: Added message_process_action: to set actions based on the return value. deliver, vanish or reject.
  • DSMTP: Added message_process: to be run on all incoming messages prior to (or instead of) delivery.
  • DSMTP: Added relay_check_process: an external processes return value can now set a channels relay permission
  • DSMTP: Knocked the non-idle select wait down to 2ms (massive performance boost)
  • DSMTP: Removed throttle on authent queue checking (performance boost)
  • DSMTP: Added immediate command-buffer flushing for incoming channels (performance boost)
  • DSMTP: Fixed problem with dot-terminated domains creating everlasting qfiles
  • DSMTP: Added optional @ parameter to forward and forward_when_from
  • DSMTP: Processes multiple recipients in a message a lot faster (keeps near head of msg queue)
  • DSMTP: Added domain_vscan_skip to skip virus scanning for the given domains (including remote)
  • DSMTP: Added domain_vscan_combine to determine how DSMTP combine domain_vscan_skip results. (and/or)
  • DSMTP: Added max_send_domain to limit the number of outgoing channels to any one domain.
  • DSMTP: Added parsing of comma-separated To: lists in spool files
  • DSMTP: Will now read in (and swallow) Bcc: headers for RCPTs
3.0g
14 Jan 2002
  • DPOP: Fixed group ownership of drop files
  • DPOP: Fixed tellpop erase_user command
  • DPOP: Made DPOP and DSlave honour the notify_expire setting
  • DPOP: Fixed quotas, was hardly ever updating the quota properly!
  • DSMTP: Fixed external_viruschecker, was only passing on first 5 arguments to scanner. increased to 20?
  • DSMTP: Fixed memory leak.
3.0f
24 September 2001
  • DSMTP: Fixed memory leak on some outgoing messages.
  • DSMTP: set use_old_alias to false to switch on smaller, faster alias code
  • DSMTP: Realises when a robot has finished
  • DSMTP: Now removes all stale rbt files on startup
3.0e
24 September 2001
  • DPOP: Added separate_logs setting to allow multiple logfiles, one for each error level.
  • DSMTP: Now processes '!' symbols in ip lists.
  • DSMTP: require_user_vscan. Don't virus scan if there are no vscan="true" params on RCPT lookups
  • DSMTP: Fixed channel initialisation problem that caused crashes.
3.0d
12 September 2001
  • DPOP: added 'tellpop acache_clear' command
  • DSMTP: Remove memory leak in md5.c. Very bad when fingerprinting is activated.
  • DSMTP: Added maildir_usesuffix command to control the use of the .mdir suffix
  • DSMTP: No longer strips leading whitespace on filter rules, so can you white space as a rule.
  • DSMTP: bounce_to_returnpath. default is false. Rewrites the FROM envelope of outgoing mail
  • DSMTP: Fixed crash when DSMTP gets too busy.
3.0c
21 September 2001
  • DPOP: Fixed problem where DPOP wasn't adding X-UIDL headers to bulletins.
  • DPOP: *** Fixed bug where DPOP is putting all bin files in /
  • DPOP: Fixed ncpy() bug causing DPOP to loop on OSF
  • DSMTP: File fingerprinting for virus scanning. Matches fingerprint+name+size. Lasts for 1 day.
  • DSMTP: Fixed wildcard problem with host_domains beginning with *
  • DSMTP: Fixed bytes/kbytes mixup for quota bounce messages.
  • DSMTP: Treats 127.0.0.* addresses in mx responses as invalid.
  • DSMTP: show_tls tell DSMTP to advertise SSL support to certain ip numbers
  • DSMTP: hide_tls tell DSMTP not to advertise SSL support to certain ip numbers
  • DSMTP: received_template command. Takes $REMOTE, $HOST, $DATE, $MAIL and $FROM macros. Prepends Received: automatically.
  • DSMTP: Reverse lookups are now asychronous.
3.0
24 September 2001
  • DPOP: Fixed a bunch of logging/flushing issues.
  • DSMTP: Optimised the speed for lookups on whether mail was for a local domain or not.
  • DSMTP: forward_from_and_ip now accepts addresses as well as domains.
  • DSMTP: Fixed occasional corruption of attachments during mime extraction.
  • DSMTP: Add group_group setting to provide a *default* quota based on the group="" auth field
  • DSMTP: Add ban_ip_except
  • DSMTP: DSMTP now throws a 5xx error on a quota-hit.
  • DSMTP: Make suspended domains automatic relay_to domains
  • DSMTP: Environment variables for the virus scanner process RCPTO
  • DSMTP: Mysterious CPU-usage increase traced to lookup_setfd function. Fixed.
  • DSMTP: Added no_route option to disable <@foo.com...> style paths (default>
  • DSMTP: Added maxmsgsize field to auth response to specify the max_msgsize allowed for this user.
  • DSMTP: Added fromip_max_remote and fromip_nolimit_remote
  • DSMTP: Fixed hiccup with lines > 4096 char
  • DSMTP: Added suspend_domain_timeout
  • DSMTP: reserves four channels for localhost connections (for tellsmtp shutdown, for instance)
  • DSMTP: strip_header setting (lets you strip selected headers out)
  • DSMTP: one-line log now show authenticated channel username
  • DSMTP: Fixed case where queue mx lookups with number > 100 would get stuck
  • DSMTP: No longer nukes low-ascii chars in data lines (fixed Japanese character issues)
  • DSMTP: Exceptions for mime_extract... extract_mime_except
  • DSMTP: ip-based max_rcpts exceptions
  • DSMTP: File extension checks are now case-insensitive on all platforms.
  • DSMTP: Added tellsmtp configcount command to show how many entries there are for a given setting
  • DSMTP: Added settings to bounce/vanish entire message. bad_from/bad_rcpt [,[,...]]
  • DSMTP: Added a from-based mail-quota bypass setting noquota_from
  • DSMTP: Fixed busted chroot
  • DSMTP: Added relay_to_gateway setting to automatically relay_to for domains that are gatewayed
  • DSMTP: Added rbl_except_ip, rbl_except_mail, rbl_except_rcpt and rcp_except_envelope and Added rbl_ban, rbl_vanish and rbl_reject settings.
  • DSMTP: Welcome line's 'self' id will now reflect any ip-based vdomain settings
  • DSMTP: footers for MIME messages (incl. awareness of 'alternate' parts)
  • DSMTP: forward_from_and_ip now works even if there are now forward_from settings
  • DSMTP: when message possibly loops writes message to file work/loopxx.ded.
  • DSMTP: Fixed over-informative To: headers for bounces
  • DSMTP: Added Return-path and sender-ip pseudo-header for mfilter (they are faked if they don't exist)
  • DSMTP: when truncating messages, adds closing mime boundary
  • DSMTP: Another extract_mime bug fixed. Assume all previous versions broken
  • DSMTP: Now sticks something at the end of a rotated logfile to show normal EOF
2.9x5
24 September 2001
  • DSMTP: Fixed a bug with bounces/127.0.0.1 lookups.
2.9x4
21 September 2001
  • DSMTP: Fixed - DSMTP to work with host_domain values starting with *
  • DSMTP: Added - Code to delivery to domains with a mx ip of 127.0.0.1 (as used by spammers).
  • DSMTP: Fixed - fallback_address no longer changes x-rcpt-to header.
  • DSMTP: Fixed - problem with extracting out mime attachments with spaces in the name.
  • DSMTP: Addition: now extracts out text based mime attachments text/plain so should catch macro viruses.
  • DSMTP: Fixed - kbytes/bytes mixup in exceeded quota message.
  • DPOP: If couldnt spawn dslave.exe, kept trying and sucked up all available file handles on system.
2.9x1-3
1 September 2001
  • Fixed DNS code, wasn't moving onto next dns very well.
  • DSMTP: If an external processor outputs an error code of XXX, DSMTP will vanish the message.
  • DSMTP: received_template command. Takes $REMOTE, $HOST, $DATE, $MAIL and $FROM macros. Prepends Received: automatically.
  • DSMTP: Fixed blank NOTIFY parameter on RCPT lines
  • DSMTP: Fixed - kbytes/bytes mixup in exceeded quota message.
  • DPOP: Fixed ncpy() bug causing DPOP to loop on OSF
  • DPOP: Fixed bug where DPOP was not generating home directories for users under external authentication
  • DPOP: Fixed bug where DPOP is putting all bin files in / (root path)
  • DPOP: Added a logging line to match in both dpop.log and dslave.log for start and finish of burst.
  • DPOP: Fixed problem where bindir_dir wasn't being set correctly before bursting.
  • DPOP: Fixed problem where DPOP wasn't adding X-UIDL headers to bulletins.
  • DList: Fixed bug in DList where join.tpl is not being sent - defaulting to "no_processed_message true".
2.9x
20 April 2001
  • DSMTP and DPOP: Fixed memory leak when tellpop and tellsmp reload are used.
  • DSMTP: Fixed a problem when mailbombs detected, crashed.
2.9w
29 June 2001
  • DSMTP: Fixed occasional corruption of attachments with external_viruschecker
  • DSMTP: fixed big problem with looping over domains too many times checking for local domain on incomming message
  • DSMTP: Fixed suspend_domain and ETRN bug where messages suspended were not passed on!
  • DSMTP: Fixed case sensitivity issue with filtering
  • DPOP: Bug new account used for first time, with bulletins DPOP will think bin is corrupted.
  • DPOP: burst error ? made it impossible for some users to login
  • DMADMIN: started off in bottom right corner, on some resolutions impossible to get to.
  • DMADMIN: fixed various minor bugs.
Settings added from version 2.9i to 2.9v

"check_corruption", "set_user_owned", "bomb_exception_to", "bomb_exception_from", "bomb_exception_ip", "regular", "log_password", "welcome_bull", "no_max_msgsize", "no_disable", "guessing_allow", "drop_permissions", "fail_bounce", "no_route"
  • DSMTP/DPOP: Fixed problem in ini code which caused crash when some settings were used.
2.9v
14 June 2001
  • DPOP: Add system type and compile date (__DATE__) on log rotates and startups.
  • DPOP: Patched so if freespace fails then don't apply limits.
  • DSMTP: Fixed message-id corruption with Eudora
  • DSMTP: Fixed bug? where if default_quota is less than the external auth returned quota DSMTP uses default quota. (now just uses external auth).
2.9ua
12 June 2001
  • DSMTP: Fixed problem with external virus checker and environment variables
2.9u
1 June 2001
  • DSMTP/DPOP: Fixed problem in ini code which caused crash when some settings were used.
2.9t
May 2001
  • DSMTP: Fixed buffer problem with log rotation
2.9s
20 April 2001
  • DSMTP: Fixed glitch with swapping logfile with log_flush true
  • DSMTP: Fixed passing on of NOTIFY = missed a flag. Caused remote server to reject message
  • DSMTP: Fixed long line truncation
  • DList FIX: DList no longer truncates messages at 200 characters
  • DSMTP: Fixed hashing problem, mixed case recipients
2.9r
5 April 2001
  • DSMTP: ban_rcptto - This now works.
  • DSMTP: message filtering via msg_filter has been fixed, failed to filter at all.
  • TELLPOP/TELLSMTP FIX: These commands caused crashes in previous couple of versions.
2.9o
27 March 2001
  • DSMTP: Fixed problem with Japanese characters in messages and also digital signatures being corrupted
  • DSMTP: Directory creation problems fixed
  • DSMTP: SMTP AUTH fixed to work with vdomain password files
  • DSMTP: Fixed a problem with leaking channels where max_out was set above 100
2.9h
14 Dec 2000
  • DPOP: Correctly implemented 'drop_prefix' setting when drop, bin, and _inf files are created.
  • DSMTP: Fixed bug in host_details (only occurred in 2.9)
  • DList FIX: was possible to get message loop when list member is on a replicating mailing list - now checks that X-Mailing-List: header does not show current list address on all posts, i.e. assume all messages that originated at this particular list are bounces.
  • DSMTP BUG: Fixed dotlock.c logging weirdness - DSMTP would die when logging.
2.8z10
  • DPOP: Checks all messages for UIDLs on log-in, if not found, drops and bursts bin files. Log files from a corrupt bin file reburst will look something like this:
    18 22:50:24 [-3] Debug: Checking 20 messages for UIDLs...
    18 22:50:24 [-3] Error: ERROR: Bad UIDL retrieved, corruption found in records for user: kmoorej
    18 22:50:24 [-3] Error: Dropping and bursting bin files to fix corruption for user: kmoorej
    18 22:50:24 [-3] Info: Logging out user and bursting maildrop, as user had corrupt bins
  • Sendmail Stub: copied sendmail stub from the one in 2.9g so that it has the fix where -t option works - on some OS's the -t option was not working and sendmail would scan the message headers for destination addresses.
  • DList FIX: was possible to get message loop when list member is on a replicating mailing list - now checks that, X-Mailing-List: header does not show current list address on all posts, i.e. assume all messages that originated at this particular list are bounces.
2.9z9
  • DSMTP BUG: Fixed dotlock.c logging weirdness - DSMTP would die when logging.
  • DSMTP BUG FIX: minor security issue with SMTP AUTH fixed.
2.8z8
  • DPOP: When new user command issued on open channel, old user was not dropped, regardless of drop_user setting. This has been fixed.
2.9g
30 Nov 2000

NB:

Settings added/changed:

DSMTP: ban_from, orbs_envelope, orbs_rcpt, orbs_mail, maps_envelope, maps_rcpt, maps_mail, archive_incoming_to, filter_skip, filter_only, forward, foward_cc, forward_when_from, forwardcc_when_from, ban_rcpt, archive_outgoing_to, language_file_dstmp, alt_drop_path, maildir_althome, alias_file_domain, fallback_address, relay_to, forward_from, forward_from_and_ip, domain_block (both parameters), gateway, suspend_domain, proxy_domain, smtp_auth_out, add_footer, use_fromsize

ALL: hash_bindir, invalid_chars


  • DPOP: language_file_dpop now works correctly.
  • NWAuth FIX: version 2.0t, put limit on length of usernames added of 255 chars.
  • DSMTP BUG FIX: minor security issue with SMTP AUTH fixed.
  • DSMTP: The following settings will now understand 'local', 'remote', 'hostdomains' and 'vdomains' as the domain part of their <address> parameter:
    ban_from, orbs_envelope, orbs_rcpt, orbs_mail, maps_envelope, maps_rcpt, maps_mail, archive_incoming_to, filter_skip, filter_only, forward, foward_cc, forward_when_from, forwardcc_when_from, ban_rcpt, archive_outgoing_to
  • DSMTP: The following settings will now understand 'local', 'remote', 'hostdomains' and 'vdomains' as their <domain> parameter:
    language_file_dstmp, alt_drop_path, maildir_althome, alias_file_domain, fallback_address, relay_to, forward_from, forward_from_and_ip, domain_block (both parameters), gateway, suspend_domain, proxy_domain, smtp_auth_out.
    add_footer *used* to use 'virtual' and 'host' instead. It has now changed.
  • DPOP: changed newhash invalid_character from $ to \254 to ','. This is the character that is not allowed to be used in usernames and drop file names because it is used by newhash to indicate an encrypted character.
  • DSMTP: use_fromsize to set usage of MAIL FROM SIZE extension. Default is false.
  • DSMTP: Capped auto-generated MIME boundaries to 70 chars
  • DSMTP: Fixed multiple calls to robot_closehandles causing grief
  • DSMTP: forward_from_and_ip <dom> <ip> ip and dom may be wildcard, ip may be range, dom may be 'vdomains', 'hostdomains', 'local' or 'remote'.
  • POPFETCH: changed ini enums from PF_USER etc to PAAF_USER in order to avoid clashes on OSF with socket defs.
  • DSMTP, DPOP, IMAPD: change all to newhash hashing algorithm which fixes various hashing problems. It is expected that the changes will only affect a very small number of systems, because only usernames with particularly bad characters are effected. The only common one is where usernames are of the form:
    b.smith
    i.e. where you have one character followed by a dot and then the rest of the username. Previously on hash_spool 2 this would be hashed to ...
    /b/./b.smith
    i.e. .../b/b.smith, that example now hashes to,
    .../b/s/b.smith
    as the the dot is skipped. DPOP now looks for drop files in old format first and moves them to new location if found - this only happens in the small number of cases where the old and new drop path differ. There is also now the option to hash the bin directories if you set, bin_path different from the drop_path, which will only happen when hash_bindir is set to true. New hashing algorithm now encodes the following characters on Windows platforms:
    \\/:*?\"<>|
    and on UNIX based platforms just the forward slash character:
    /
  • DList: made email_message (for command processing and moderator messages) use list_bounce address if from was going to be "", as (MAIL FROM) Return-Path:<> upsets some mail servers.
  • DSMTP: added dwatch_port setting, and add support to it for dmadmin2.
2.9f
  • DPOP: small fix to get rid of harmless error message,
  • DSMTP: finished translation stuff, particularly making sure the DSN messages are all one line in the translation file, and we have included an updated translation file in the distribution.
2.9e
7 Nov 2000

NB:

Settings added/changed:

DPOP: max_sessions_override
DSMTP: check_lwrusername


Commands added/changed:

DSMTP: -version
Sendmail Stub: -version


  • DSMTP: Fixed possible hard loop due to misconfigured hostname records on NT
  • DSMTP: added a -version command line option which prints version info and quits
  • DPOP FIX: dotlock code, no longer possibility of locking wait on check to see if user is already logged on.
  • DOTLOCK: updated dotlock.c and dotlock.h in 2.9 DSMTP DPOP and list - 1/11/2000
  • DSMTP: added ini setting, check_lwrusername <true/false/always>, if true then DSMTP will do a second lowercase username lookup if the given username contains any uppercase chars and the first lookup failed. If set to always then DSMTP will always lowercase the username before doing a lookup in the database. Setting only active if using external authentication.
  • DSMTP: Message chars less than 0x20 are turned into 0x20.
  • SysAuth: changed all flock to myflock and removed flock.c and .h from sysauth dir, so can use DPOP one.
  • DSMTP,DPOP,DList: added ini setting, lock_fcntl
  • Sendmail Stub FIX:
    • doremove now gets initialized, as thought to be cause of delivery to To: header even when -t option not specified, e.g. sendmail -i -fuser@domain bob@domain.
    • added -version command line option
    • made it look for extension header lines that start with tab or space and add them when using -t (doremove option).
  • DPOP FIX: added ini setting, max_sessions_override , which if set overrides all file handle limit checking. Should only be used after consulting DMail support.
  • DList BUG: Recent versions, 2.7r onwards, 2.8 and 2.9 versions up to, 2.7x, 2.8z6, 2.9e, only on platforms, solaris, aix and osf have weird bug where many log lines have 200 spaces in them, and similarly it sends lines like, RCPT TO:<200_spaces user@domain>. This means some versions of DSMTP (2.7u does, 2.9d doesn't) end up with a message loop bounce, talking about addresses like, <""""""""""user@address...
  • DSMTP BUG: if sender requests an action that requires ESMTP extensions then DSMTP was sending EHLO regardless of whether destination server responded with ESMTP in welcome line. Bug came in between 2.8m and 2.8z4 (2.9d), Fixed in 2.9e and 2.8z5. NB: if using smtp_welcome be careful NOT to leave the word, ESMTP out of your welcome line.
  • DSMTP: no longer minds if client sends HELO or EHLO without a domain.
  • DSMTP BUG FIX: DSMTP randomly said users exceeding quotas when they shouldn't have been. When user had no _inf file or no 'used xxx' line in their _inf file, DSMTP would compare used data with random used data value. Only in 2.9 versions, fixed in 2.9e.
  • DSMTP: No longer upset by non-ESMTP servers when it has extensions in the current message
2.8z7
  • DSMTP FIX: gateway settings broken in 2.8z6 (and possibly some earlier 2.8 versions) - thought to be solaris only.
  • DPOP FIX: file structure leak which resulted in '-err bursting bin file' errors for some users and in the log a matching could not open bin file, with a nonsense file i/o error, like 'no error'. But was only in 2.8z4 through 2.8z7.
  • DPOP: small fix to get rid of harmless error message.
  • DPOP FIX: fix that was in 2.9 where corrupt or blank messages in bin files could be displayed without a UIDL, now in response to UIDL command DPOP always gives something. Caused Outlook to report 'unknown response' when DPOP gave a UIDL response of, message number followed by no UIDL. (also fixed in 2.8nfix)
2.8z6

NB:

Settings added/changed:

DList: lock_fcntl
DPOP: lock_fcntl
DSMTP: lock_fcntl

  • DSMTP: Fixed possible hard loop due to misconfigured hostname records on NT.
  • DSMTP,DPOP,DList: added ini setting, lock_fcntl
  • DList BUG: Recent versions, 2.7r onwards, 2.8 and 2.9 versions up to, 2.7x, 2.8z6, 2.9e, only on platforms, solaris, aix and osf, have weird bug where many log lines have 200 spaces in them, and similarly it sends lines like, RCPT TO:<200_spaces user@domain>. This means some versions of DSMTP (2.7u does, 2.9d doesn't) end up with a message loop bounce, talking about addresses like, <""""""""""user@address...
2.8z5
17 Oct 2000
  • DSMTP: no longer minds if client sends HELO or EHLO without a domain.
  • DSMTP: No longer upset by non-ESMTP servers when it has extensions in the current message.
  • DPOP BUG FIXED: signal handler was sometimes looping on crash during shutdown. (could prevent core dumps)
  • DPOP BUG FIXED: stop dslave going into CPU loop in.
  • DPOP FIX: fixed error message, Read pending reply from authchan
2.7x
  • DPOP FIX: no longer responds to UIDL command with messages and a blank UIDL, as per fix in 2.8z7 and 2.9 versions.
  • DList BUG: Recent versions, 2.7r onwards, 2.8 and 2.9 versions up to, 2.7x, 2.8z6, 2.9e, only on platforms, solaris, aix and osf, have weird bug where many log lines have 200 spaces in them, and similarly it sends lines like, RCPT TO:<200_spaces user@domain>. This means some versions of DSMTP (2.7u does, 2.9d doesn't) end up with a message loop bounce, talking about addresses like, <""""""""""user@address...
2.8z7
22 Nov 2000
  • DSMTP FIX: gateway settings broken in 2.8z6 (and possibly some earlier 2.8 versions).
  • DPOP FIX: file structure leak which resulted in '-err bursting bin file' errors for some users and in the log a matching could not open bin file, with a nonsense file i/o error, like 'no error'. But was only in 2.8z4 through 2.8z7.
  • DPOP FIX: fix that was in 2.9 where corrupt or blank messages in bin files could be displayed without a UIDL, now in response to UIDL command DPOP always gives something. Caused Outlook to report 'unknown response' when DPOP gave a UIDL response of, message number followed by no UIDL. (also fixed in 2.8nfix)
  • --------
  • DPOP: small fix to get rid of harmless error message, Error: wsock: (set no_delay:) The descriptor is not a socket. (in tcp.c changed tcp_setnodelay(chan(n), TRUE); tcp_setnodelay(chan(n), TRUE); )
2.9d
13 Oct 2000


NB:

Settings added/changed: lists.dat: no_welcome_message, no_processed_message,language_file

Commands added/changed:

  • LOCKING CODE: lock_id locking code improved so 1/1000 test error gone
    {
    - Lock files were created with bad modes '0000'
    - The .lock file was not checked before attempting to create the link
    - There was a logic error when releasing a lock that had been held for too long, which could also result in a lock file being randomly deleted which could also result in two processes thinking they had the lock.
    }
  • DSMTP FIX: Config Settings with no value may cause crash: 2.7 and 2.8 versions have a bug where a dmail.conf file setting with no value, e.g.,
    alias_file
    rather than,
    alias_file <filename>
    may cause DSMTP to die intermittently. This is fixed in the 2.9 versions.
  • DSMTP FIX: some DNS servers respond with an empty MX lookup the first time you lookup a domain, so made DSMTP's DNS code do a repeat MX lookup if no response within 20 seconds from the DNS server, before moving on to A record lookup.
  • DPOP BUG FIXED: signal handler was sometimes looping on crash during shutdown. (could prevent core dumps)
  • DPOP BUG FIXED: stop dslave going into CPU loop.
  • DSMTP: fixed virtual_user_post setting which was being ignored.
  • DSMTP BUG FIXED: Fixed broken flocking when no lock_id setting present, affects file locking on NT and non NFS UNIX based systems.
  • DSMTP BUG FIXED: fixed, error with talking to -1 channel that was introduced in 2.9a, e.g. out=-1: *** Warning *** ftell returned ...
  • DSMTP BUG: When using vdomain_passwd settings, DSMTP would do a lookup of /etc/passwd if no user found in vdomain's password file. Fixed in 2.8z4 and 2.9d.
  • DSMTP CHANGE: Previously, DSMTP gave a 250 OK response regardless of the outcome of the DATA stage of a delivery, and sent a DSN later, if needed. Now changed so that if the delivery failed, it gives a 4xx/5xx response so that robots etc. can immediately tell if their message has not got through OK.
  • -----
  • DSMTP: added setting, route_from <true/false>, if true DSMTP will add routing information to the MAIL FROM, e.g., <@domain:user@domain>, which may be useful when your server is not directly accessible, but it tends to just confuse many mail servers, as it is an old RFC option.
  • DSMTP: Added a bit of tolerance to MTAs that don't like <@domain,@domain:user@domain> MAIL FROM lines, if not accepted then DSMTP will send a plain MAIL FROM <user@domain>. It only tries these when, route_from is set true.
  • DList: added lists.dat setting no_welcome_message <true/false>, which if set true stops DList from sending list welcome messages for that list.
  • DList: added no_processed_message <true/false>, which if sets true stops DList from sending command process log messages for that list.
  • DList: added list.dat, language_file <filename>, added translation ('per list') for all DList messages and responses. see, language.htm in the DMail manual.
2.8z5
17 Oct 2000


NB: this is the current 'safe beta' hoped to become the release version in the next 2-3 weeks.

Settings added/changed:

Commands added/changed:

  • DSMTP FIX: no longer minds if client sends HELO or EHLO without a domain.
  • DSMTP FIX: No longer upset by non-ESMTP servers when it has extensions in the current message
  • DPOP BUG FIXED: signal handler was sometimes looping on crash during shutdown. (could prevent core dumps)
  • DPOP BUG FIXED: stop dslave going into CPU loop in.
  • -----
  • DSMTP: made tarpit_except able to be a comma separated setting in both 2.8z5 and 2.9e.
2.7w
13 Oct 2000


NB:

Settings added/changed:

Commands added/changed:

  • DPOP BUG FIXED: signal handler was sometimes looping on crash during shutdown. (could prevent core dumps)
  • DPOP BUG FIXED: stop dslave going into CPU loop.
  • LOCKING CODE improvements from 2.8z5
  • DSMTP BUG: NOT FIXED IN 2.7W: When using vdomain_passwd settings, DSMTP would do a lookup of /etc/passwd if no user found in vdomain's password file.
  • -----
2.8z4
12 Oct 2000


NB:

Settings added/changed: lock_id

Commands added/changed:

  • DSMTP BUG: if sender requests an action that requires ESMTP extensions then DSMTP was sending EHLO regardless of whether destination server responded with ESMTP in welcome line. Bug came in between 2.8m and 2.8z4 (2.9d), Fixed in 2.9e and 2.8z5. NB: if using smtp_welcome be careful NOT to leave the word, ESMTP out of your welcome line.
  • DSMTP BUG: all versions rejected RCPT TO lines that sent the SIZE option as part of ESMTP (and probably other non-supported ESMTP options too). Clients should not send it when DSMTP does not advertise support for it, but DSMTP should have handled it nicer. Now fixed in 2.9c and 2.8z4
  • DSMTP Fix: virtual_user_post now works :)
  • DSMTP BUG: When using vdomain_passwd settings, DSMTP would do a lookup of /etc/passwd if no user found in vdomain's password file. Fixed in 2.8z4 and 2.9d
  • LOCKING CODE: lock_id locking code improved so 1/1000 test error gone
    {

    Lock files were created with bad modes '0000' which could cause some odd behavior, particularly when not run as root, and probably explains the intermittent failure of open() - this was nasty but didn't really effect operation.

    The .lock file was not checked before attempting to create the link which shouldn't of mattered except when the link failed it would result in the lock file being prematurely removed.

    There was a logic error when releasing a lock that had been held for too long, which could also result in a lock file being randomly deleted which could also result in two processes thinking they had the lock.
    }

  • DPOP FIX: vdomain information was being lost in 2.8 and 2.9 versions on tellpop reload if only one vdomain in config file, fixed in 2.9c and 2.8z4
  • DPOP FIX: all versions 2.7n onwards have a small mem leak because of *setting* hbna in _inf file on user logoff (quit) if user's bulletin number has changed. Fixed in 2.9c and 2.8z4
  • DPOP FIX: all versions have a small mem leak when user_quota is set on every user logoff (quit), because of *setting* 'used' in _inf file. Fixed in 2.9c and 2.8z4
  • DSMTP FIX: Is now not bothered by unexpected ESMTP extensions. Some clients send the MAIL SIZE extension even when DSMTP does not advertise that it supports it, and previously it would reject the RCPT TO line as having invalid syntax.
  • ---------
  • DSMTP: Added info to the 'Spawn read' logline to show time since dispatch, and time since request, to log clearly if authent modules are taking time to respond.
2.9c
5 Oct 2000


NB: did not make it out of 'ask' directory

Settings added/changed: log_dropsize

Commands added/changed:

  • DSMTP BUG: all versions rejected RCPT TO lines that sent the SIZE option as part of ESMTP (and probably other non-supported ESMTP options too). Clients should not send it when DSMTP does not advertise support for it, but DSMTP should have handled it nicer. Now fixed in 2.9c and 2.8z4
  • DPOP BUG FIX: vdomain information was being lost in 2.8 and 2.9 versions on tellpop reload iff only one vdomain in config file, fixed in
  • DPOP BUG: internal structure of users.idx file changed by mistake. Would cause loss of information on upgrade, so put back as it was. Thought to be only in version 2.9b, unreleased. To fix problem you would have to delete users.idx file, which may result in users getting old bulletins again. If you suffer from this bug, please contact us DMail Support
  • DSMTP FIX: Is now not bothered by unexpected ESMTP extensions. Some clients send the MAIL SIZE extension even when DSMTP does not advertise that it supports it, and previously it would reject the RCPT TO line as having invalid syntax.
  • DSMTP FIX: routing information was being added to MAIL FROM lines, e.g. <@netwin.co.nz:tam@netwinsite.com> by default in 2.9 versions only. Now only does that if set with setting,
  • DPOP FIX: vdomain information was being lost in 2.8 and 2.9 versions on tellpop reload iff only one vdomain in config file, fixed in 2.9c and 2.8z4
  • DPOP FIX: all versions 2.7n onwards have a small mem leak because of *setting* hbna in _inf file on user logoff (quit) if user's bulletin number has changed. Fixed in 2.9c and 2.8z4
  • DPOP FIX: all versions have a small mem leak when user_quota is set on every user logoff (quit), because of *setting* 'used' in _inf file. Fixed in 2.9c and 2.8z4
  • ------
  • DSMTP: Added log_dropsize <true/false> setting (default false) to keep a closer eye on dropfile sizes
  • DPOP: bulletin feature improved to accept bulletins with headers more easily.
2.9b
18 Sept 2000


NB: did not make it out of 'ask' directory

Settings added/changed: log_copylines,smtp_auth_out

Commands added/changed: tellsmtp filters,

  • File Locking Bug on Solaris only: now does not fail to secure lock on drop files on solaris sparc OS when using lock_id and NFS drive. Used to give 'Permission Denied' error when trying to lock drop file. May need to set, use_flock false, to turn off additional flock calls which will fail on NFS with permission denied error. Fixed in 2.9b, 2.8z2
  • DSMTP BUG: fixed unreported slow reload bug on systems with large numbers of vdomains
  • DSMTP Fix: Should now log any errors during log rotation (after the fact, of course :).
  • DSMTP Fix: Will no longer pass low-ASCII chars to auth requests
  • DSMTP Fix: Will now disregard *any* out of sync authent replies, not just 'lagged' ones.
  • DSMTP Fix: authent processes that timesout 6 times in a row are killed, and respawned
  • DSMTP and Authent Processes with command line arguments: Previously only the first authentication process spawned by DSMTP, was spawned with the command line arguments. If you run a system where in your config file you specify command line arguments on the authent_process setting, e.g.,
    authent_process c:\dmail\nwauth.exe -drop_path 2 c:\dmail\in
    then you should work out if those options affect the authent processes's response. If they do then you should upgrade urgently to version 2.8z3. This is fixed in versions 2.8z3 and 2.9b
  • DPOP Security Fix: now has stronger manager password guessing protection.
  • --------
  • DSMTP: Added tellsmtp filters <n> to show filter rule number <n>.
  • DSMTP: Added info to the 'Spawn read' logline to show time since dispatch, and time since request, to log clearly if authent modules are taking time to respond.
  • DPOP: now stores highest bulletin number, hbna, read in users _inf files
  • DSMTP: Added support for MAIL SIZE extension (RFC1870)
  • DSMTP: Should now log any errors during log rotation (after the fact, of course :).
  • DPOP: Appends message to users drop file notifying him/her of message expiry when using expire commands.
  • DSMTP: Added new setting, log_copylines <filename> <string>. No wildcards. Obeys the same size, number and rotation rules as dsmtp.log. This setting allows you to create your own log files that only log specific log messages, e.g. if string were 'error' then the file specified would have any log lines with the word error in them logged to it.
    Up to 16 different filenames may contain the $DATE macro, which gets replaced by ddmm (the current date) so that you end up with a new file for each day.
  • DSMTP: added setting, smtp_auth_out <wildcard-domain> <username> <password>
    which makes DSMTP authenticate the smtp channel when talking to other (upstream) smtp servers for any messages where the destination domain is matched by the wildcard-domain setting. Use simply * for all domains, and you probably need a relay_to setting for the same domain.
    Note: the result of an AUTH transaction CANNOT cause DSMTP to retry/fail a message transaction.
  • DSMTP: Made the qfile status info a bit more readable :)
  • DPOP: Now logs expiry of messages in dslave.log in a nice way, e.g.:
    13 14:51:55 Info: expired for user0: Date: Wed, 13 Sep 2000 14:13:26 +1200 From: User0 Subject: Test
  • DPOP FIX: Limited authent_number setting to no more than 10, and we still recommend just 5, as more than 10 does not give performance increase and slows DPOP down.
  • DPOP FEATURE: Added support for domain-specific bulletins. If the first line of a bulletin contains the header 'X-DPOP-Domainlist: ', then the bulletin will only be shown to users who are in the domains (space separated) in the header. The tellpop command now prompts for the domains, that each bulletin message should be sent to when you create it. If no such header then bulletin goes to all domains as before.
  • DPOP: Appends message to users drop file notifying him/her of message expiry when using expire commands. (Same detail format as log in logdslave.log.)
  • DPOP: added support for language translation, see language.htm
2.8z3
19 September 2000


NB:

Settings added/changed:

Commands added/changed:

  • DSMTP and Authent Processes with command line arguments: Previously only the first authentication process spawned by DSMTP, was spawned with the command line arguments. If you run a system where in your config file you specify command line arguments on the authent_process setting, e.g.,
    authent_process c:\dmail\nwauth.exe -drop_path 2 c:\dmail\in
    then you should work out if those options affect the authent processes's response. If they do then you should upgrade urgently to version 2.8z3. This is fixed in versions 2.8z3 and 2.9b
2.9a
8 September 2000


NB: this is the next line of beta versions after 2.8

Settings added/changed:

Commands added/changed:

  • DSMTP BUG: DSMTP was trying to do NFS file locking whether lock_id set or not. It is now possible to turn it off.
  • DSMTP BUG: NFS file locking caused large startup delays when restarting after process had died. Now much shorter (16 seconds per channel where lock file clearing has to occur) and will clear lock files immediately if older than two minutes old.
  • ------
2.8z1
built 8 September 2000


NB:

Settings added/changed:

Commands added/changed:

  • DSMTP BUG FIX: on solaris file handle problem when greater than 50 tcp_max setting.
  • ----
2.8y
to be built 31 Aug 2000


NB: same as 2.8x

Settings added/changed:

Commands added/changed:

  • ---------
2.8x
to be built 31 Aug 2000


NB: in release directory as will soon be release version

Settings added/changed:

Commands added/changed:

  • DSMTP and DPOP: updated dotlock code, so no longer fails every write on certain platforms, e.g. solaris sparc with permission denied error.
  • ---------
2.8w
to be built 31 Aug 2000


NB: in release directory as will soon be release version

Settings added/changed:

Commands added/changed:

  • DList BUG: Fixed killer bug that posed minor security issue.
  • ------
  • DList: Added lists.dat setting, max_users. syntax max_users ,Prevents new subscriptions to a given list, if the line 'max_users n' is present for that list in lists.dat, and if the current number of users in that list is greater than n.
  • DList: Added farewell message. If found, the farewell message is sent to a user when that user unsubscribes from a list. The filename used is 'leave.tpl', and is located in the same path as 'join.tpl', i.e. the lists directory.
2.8v
29 Aug 2000


NB: in release directory as will soon be release version

Settings added/changed:

Commands added/changed:

  • DSMTP BUG: DSMTP was trying to do NFS file locking whether lock_id set or not. It is now possible to turn it off.
  • DSMTP BUG: NFS file locking caused large startup delays when restarting after process had died. Now much shorter (16 seconds per channel where lock file clearing has to occur) and will clear lock files immediately if older than two minutes old.
  • DSMTP Fix: add_footer is now case insensitive
  • ------
  • DSMTP: Will now add a body to bodiless messages
  • DSMTP: Will now accept messages with invalid headers (unless told not to)
  • DSMTP: Will now start the message at the first invalid looking header, unless reject_badheader is true this means that messages sent without a separator line between headers and body will now have a valid body.
2.8u
23 Aug 2000


NB: in release directory as will soon be release version

Settings added/changed:

Commands added/changed:

  • DSMTP BUG: Fixed bug where message_id-less messages would crash dsmtp.
  • ------
2.8t
22 Aug 2000


NB: not built for most platforms

Settings added/changed:

Commands added/changed:

  • DSMTP BUG: 2.8s dies on some platforms when external authentication 'fwd' field has empty values, e.g., fwd="bob,,fred"
  • ------
2.8s
17 Aug 2000


NB: in release directory as will soon be release version

Settings added/changed:

Commands added/changed:

  • DPOP BUG: fixed problem with dpop's channels not responding at regular intervals (all channels would stop responding, tellpop list_current shows channels in pre login stage).
  • DSMTP Fix: new SMTP AUTH feature was broken with respect to virtual domains. Previously DSMTP did not handle ip address based vdomains correctly (not putting on prefixes and authenticating against main domain when authent_domain true) in terms of SMTP AUTH authentication.
  • DSMTP BUG: Stopped DSMTP terminating its own process when delivering to with robot names that did not exist on UNIX based platforms
  • DSMTP BUG: in 2.8q we broke forwarding to /dev/NULL in forward settings or aliases, bounces messages, this is because of bug above where you can't pipe to something that does not exist.
    Now functionality of using /dev/NULL is not changed but you will get error messages every time it is used because of new security checking code, so we recommend changing to using @NULL.
  • ------
2.8r
2000


NB: Not yet Released

Settings added/changed: dns_switch_nfails,retry_invalid_domain

Commands added/changed:

  • DSMTP BUG: Fixed hard loop bug, if all gateways point to local addresses, or if all host_domain entries have a matching vdomain entry, DSMTP would go into a hard loop. (ralph fixed dmc_removen, so ok with removing last entry)
  • DSMTP BUG: Fixed silliness with .forward file addresses
  • IMPORTANT SECURITY ISSUE, DPOP: further enhances blocking of cross channel password guessing by limiting by ip address failed attempts/hour.
  • ------
  • DSMTP: Now swallows X-UIDL headers.
  • DSMTP: max_rcvd now defaults to 30
  • DSMTP: added ini setting, dns_switch_nfails which sets the number of fails before switching dns servers. (set to -1 for switch on every fail)
  • DSMTP: Fixed bad handling of "blahblah@x.com"@local.com addresses - this was causing some sites to fail ORBS and other anti relay site tests.
  • DSMTP: Added setting 'retry_invalid_domain' (default false) to continue trying to deliver instead of failing
  • DSMTP: Added alias_fallthrough (default true) command to set global alias checking after local failure.
  • DPOP: add setting dpop_maildir so DPOP keeps doing maildir as well as normal so that easy to move back from maildir.
    If set Maildir format drop files will be scanned by DPOP only, for use in converting from maildir.
  • DList FIX: added 'rough matching' so that when checking for users, e.g. is this user a list member then for example, bob@mail.domainx.com will be matched if bob@domainx.com is in the list. (uncommented Chris's earlier addition of this 31072000). DList: fixed handling of mime encoded subscribe messages. (Stu to test on ball). (copied across Chris's dlist.c). DSMTP: domain checks are now insensitive all: fixed all parts so that they work with domains that start with digits (changed any instances of if(isdigit(*name... to isip,) DWATCH: fixed bug where multiple copies could start due to port connection failing. DSMTP: add_footer command now has an insensitive domain parameter DSMTP: Max retry time now works with non-default retry intervals
2.8q
2000


NB: Not yet Released

Settings added/changed:

Commands added/changed:

  • ------
2.8p
2000


NB: Not yet Released

Settings added/changed:

Commands added/changed:

  • ------
2.8o
2000


NB: Not Released to beta

Settings added/changed:

Commands added/changed:

  • ------
2.8n
2000


NB: Not Released to beta

Settings added/changed:

Commands added/changed:

  • ------
2.8m
10 June 2000


NB: Use instead of 2.8l, Currently in beta/ask directory of ftp site ...

Settings added/changed:

Commands added/changed:

  • DSMTP BUG: fixed bug where messages with '<From' in them caused DSMTP to die!
  • DSMTP FIX: drop_connection setting added earlier was not working, now does.
  • ------
2.8l
Not released


NB: This version will be 2.8j with Security Fixes

Settings added/changed:

Commands added/changed:



  • DSMTP FIX: Fixed bug where the forward-rule rewriting code screwed robots up
  • DSMTP FIX: Fixed possible bug with nt_user authentication method (will probably only manifest on W2k systems, if at all)
  • DList: fixed multiple moderators bug. Now sends to first moderator on comma separated list.
  • ------
  • DSMTP: Added robot_defaultuser <userid>, which defaults to root if not defined. If set then DSMTP overrides anything returned by the authent module so that all robots are run as the specified uid. If set to -1 then no robots are run. DMSetup will set as 'mail' id by default. See Robots running as root.
  • DPOP: adding setting, bulletin_hasheaders. When set true you can optionally give headers when entering bulletin, and DPOP will use them. You can have a mixture of bulletins that are just the message body and those that have headers.
2.8k
5 Jun 2000

NB: Special Security Fix 'Safe Beta' Version, based on 2.8i

  • Fixed Exploitable ETRN command bug.
2.7r
5 Jun 2000

NB: Special Security Fix 'Safe Release' Version, based on 2.7q

  • Fixed Exploitable ETRN command bug.
2.8j
Never put in Beta Directory

NB:

Settings added/changed: external_processor

Commands added/changed:



  • DList Fix: fixed From address parsing so that addresses like, ' "user@domain" <user@domain>' do not get stripped to "user@domain" instead of user@domain.
  • DSMTP FIX: Fixed the NT bug with blank results from dns_host queries. So no longer dies on WIN 2000 when it finds a blank DNS entry.
  • --------
  • DSMTP: Added 'external_processor' command. Default false. This is a beta system for passing mail to an external program. If set to true, DSMTP writes m_x.dmn when it receives the dot of the incoming message.DSMTP then Waits for m_x.rdy to appear. The first line in m_x.rdy should be an SMTP-style reply line. If it's error code >=400, DSMTP will use it, other it will process the message as per usual. (We will be writing a robot to test this soon - probably one that spawns common virus scanners)
  • DSMTP: added further Speed enhancements.
2.8i
not released

NB: This version has a number of speed enhancing changes in DSMTP.
NB: New DSMTP DNS disk caching feature added by default in this version.

Settings added/changed: dns_disk_disable, msg_filter_skip
, msg_filter_skip_onlyif, forward_from
,forward + forward_cc,log_mime
reject_case attachment

Commands added/changed:
tellsmtp offline


  • DSMTP: fixed AUTH PLAIN bug, where stray characters from a previous AUTH transaction would be appended. Bug resulted in AUTH for a user failing until restart after several successful logins.
  • -------
  • DSMTP: Added command "hash_qfiles". Default false. Applies directory hashing for qfiles. This can give a significant speed increase if set to true on UNIX based platforms if the number of queue files gets above 2000.
    NB: Currently, DSMTP will put unhashed qfiles into the right place but can't unhash them. So you cannot just turn this setting on and off.
  • DSMTP: Speed Enhancement: Added internal tracking of qfiles to cut down on disk thrashing.
  • DSMTP: Speed Enhancement: Added internal tracking of qfile record count.
  • DSMTP: Tracked down rogue "PANIC, channel not initialized" messages
  • DSMTP: Added 'tellsmtp offline' to make DSMTP refuse all incoming connections (except from 127.0.0.1, need to use 'tellsmtp -o 127.0.0.1 online' to put it back online.)
  • DSMTP: now caches successful dns lookups to disk, with setting dns_disk_disable to turn it off.
  • DList Improvement: send to rest of users on list when DSMTP tcp connection fails. It waits there forever trying to reconnect.
  • DSMTP: Added explicit logging of connection rejection by remote server.
  • DSMTP: Added msg_filter_skip <string> - wildcard match against address from rcpt to line, msg_filter_skip_onlyif <string> to trigger message filter bypassing, msg_filter_skip_onlyif bob (= deliver ONLY IF all recipients are exempted) msg_filter_skip bob (= deliver message if bob is the only OR one of the recipients, regardless of whether the other recipients are exempted or not)
  • DSMTP: Added vdomain and hostdomain keywords for forward_from
  • DSMTP: forward and forward_cc can now rewrite. E.g. the following syntax,
    forward *@test.com %1@domain.com
    results in all mail to the userx@test.com being redirected to userx@domain.com. (or %1@ to use the original domain, e.g.
    forward abuse@* postmaster@
    would forward all mail to 'abuse' at any domain to 'postmaster' at the same domain)
  • DSMTP: Added 'log_mime' command (defaults to false) to log stuff about MIME parsing.
  • DSMTP: Added beta setting 'reject_case attachment <wildcard-string>' and 'reject_nocase attachment' for MIME filtering (not weighted, like the rest of message filters, so if hit will always result in rejection, cannot be bypassed with an accept msg_flter line).
    E.g. reject_case attachment *.vbs*
    will reject all attachments with '.vbs' in their names.
    NB:This setting does its best to find attachments in MIME encoded messages. We will be improving it over the coming weeks. If you have a message that gets through this filter and you think that it should not then please send it to DMail Support
  • DSMTP: Added buffering code for outgoing TCP data.
  • DSMTP: Added $user$ macro parsing for maildir systems.

  • DSMTP: Fixed maildir directory setting.
    We are adding maildir for use on NFS drives to DPOP soon as an alternative to our lock_id code.
  • DSMTP: Nailed memory leak when reloading message filters.
  • DSMTP: Added 'reject_nocase', 'reject_case', 'accept_case' and 'accept_nocase'. These are added so that we can tidy up the use and documentation of message filters.
    Body commands were *not* case sensitive by default (therefore reject body == reject_nocase body)
    Header commands *were* (therefore reject header == reject_case header)
  • DSMTP: Added MIME parsing code, plus reject based on the 'name' parameter to 'Content-Type:'
  • DSMTP: Now takes notice of the dtablesize setting
  • DSMTP: added setting,
    drop_connection <string>, which will cause DSMTP to drop any connection where found as part of the SMTP envelope. E.g.,
    drop_connection COOLSPAMMER
    will cause the TCPIP connection to be dropped if 'COOLSPAMMER' is found in any envelope command, i.e. MAIL FROM, RCPT TO, HELO etc.
2.8h
not released

NB:

Settings added/changed: rbl_exempt,self_rcvd, delay_badrcpt
(DList: log_bounce, bounce_remove)

Commands added/changed:
tellsmtp redraw


  • DSMTP BUG: fixed a "panic ...channel not initialized" crash.
  • DSMTP BUG: fix of dns code that may have caused DSMTP to die occasionally, due to it using corrupt data.
  • DSMTP BUG: Fixed bug where mail to a non-existent vdomain- passwd user would go an existing /etc/passwd user
  • DSMTP FIX: Fixed filter_file problem on reload - filters were being lost on tellsmtp reload.
  • -----
  • DList: Added new setting,
    join_cookie_subject true
    , which modifies cookies to use the subject line.
  • DList: Added new setting,
    access_block bob*netwin.co.nz,fred@*
    ,which causes DList to block all emails from these addresses.
  • DList: Added list setting for debugging LOG_BOUNCE true/false - if true then DList will create a log file for the list of all bounces that it finds. It is intended that you use this setting for debugging only.
  • DList: Added new list setting,
    BOUNCE_REMOVE true
    , which enables auto removal of bounces from a list. The list of removed email addresses is emailed to the moderator at the end of each day and also written to the file, removed.log
  • DList:Added email command test_removed, which if received makes DList send you the remove.log file.
  • DSMTP: Added delay_badrcpt command to send DSNs instead of 5xx replies for invalid RCPTs. With this setting set to true, DSMTP will accept all mail and send bounce messages if necessary rather than notifying the email client directly. We do not recommend this setting - we only added it to get around outlook weird behaviour :-)
  • DSMTP: (added in earlier version) Added code to ensure that a reasonable number of channels remain for outgoing messages - half of max_send value.
  • DSMTP: Added beta tellsmtp command,
    tellsmtp readraw
    command to insert raw messages into q-files, e.g.,
    tellsmtp readraw c:\dmail\oldmail\*.msg
    would make tellsmtp try to convert all .msg files in that directory into queue file messages and then add them to dsmtp's queue in the work_path
  • DSMTP: Added self_rcvd setting to explicitly alter DSMTP's tolerance for talking to itself, this defaults to 15. So by default if DSMTP sees a message 15 times then it bounces it.
  • DSMTP: rbl_exempt, ban_ip, tar_except and forwardip now accept ranges, e.g. ban_ip 1.2.3.0-3, see config.htm#notes
  • DSMTP: Fixed ban_revname setting, so that it works
  • DSMTP: Added rbl_exempt setting for making ip numbers exempt from rbl actions
2.8g
27 April 2000

NB:

Settings added/changed: lock_id

Commands added/changed:
tellsmtp testrcpt


  • Fixed DSMTP Bug : Locking code fixed for NFS drives for DSMTP (DPOP still to be fixed - only causes problem if drop_users or tellpop drop is being used).
  • ---------
  • DSTMP: Some DSN messages have had their text changed.
  • DSMTP: Added tellsmtp testrcpt to track final result of user lookups.
2.8f
10 April 2000

NB: this version was removed from beta directory.

Settings added/changed: stop_listen, qfile_split, smart_reload

Commands added/changed:



  • DPOP BUG: File Locking - DPOP was freeing a lock that it did not have, resulting in occasional locking failure. Dotlock code changed so that this can not happen any longer.
  • DSMTP: Fixed tarpit channel leak. This appears to be a new bug, but I can't tell when it arrived
  • DSMTP: RSET no longer resets AUTH status - we backed the wrong one of the 2 conflicting RFCs :-)
  • DPOP: fixed bug where occasionally a burst (if it went through dslave) would result in user getting message, "error slave said open logfile ./log/\dslave.log"
  • DPOP FIX: list response was occasionally not sending closing dot when DPOP logged that it did!
  • DSMTP: fixed bug in dns code -socket read error bug, particular brands of dns server that send data in small packets instead of whole request in one go.
  • ---------
  • DPOP: added setting, stop_listen. Default FALSE. When set to true on shutdown, DPOP will stop listening for new connections rather than rejecting them with 'error DPOP offline'. This was added specifically for routers which will stop routing if DPOP stops listening. So a nice shutdown is,
    tellpop shutdown 10
    which causes DPOP to stop listening for new connections and give current connections 10 seconds to finish before shutting them.
  • DSMTP: Added qfile_split command (default 1000, min 20, max 10000) to cap the number of RCPT lines per qfile. NB: this changes the way that DSMTP handles the que files for messages to a large number of recipients. Previously they could be slow to deliver because DSMTP delivers to the recipients in the que file pretty much synchronously. Now that qfiles like this get split they can be worked on separately.
  • DSMTP: Made the spam_dump file into a proper dropfile. So you can point the setting at a drop file and then check the dumped mail with a normal email client through DPOP.
  • DSMTP: now logs "panic ...channel not initialized" to help track sporadic crash.
  • DSMTP: ORB/MAPS is bypassed when ip matches forward_from_ip or is recent_pop
  • DSMTP: Added code to ensure that at least (max_send/2) chans are available for outgoing messages
  • DSMTP: Now show ini_read error/warning messages in tellsmtp status
  • DSMTP: Now gives message size in tellsmtp status
  • DSMTP: Added SMTP AUTH stats (cached vs. non-cache) for 'lookup' and 'check' queries to stats_dump output file.
  • DSMTP: authentication lookup cache raised from 1000 to 10,000.
  • sysauth: put in regan's latest code fixes bug where sysauth returns Config resulting in DSMTP and DPOP writing to file named 'config'. - 16 March 2000.
  • DSMTP: Added logging of ini_read errors, even on success
  • DSMTP: Added smart_reload tolerance of missing #included files
  • tellpop: fix so that domains starting with a number would still be resolved before tellpop tries to connect, e.g. 200fred previously would not get resolved so connect would fail
  • DSMTP: Made DSMTP do a log rotation at startup rather than renaming dsmtp.log dsmtplog.old
  • DSMTP: Added 'smart_reload monitor' which rotates out the temp.conf files instead of deleting them
2.8e
23 February 2000

NB:

Settings added/changed: lock_id,maps_action,authent_cache
spam_dump(goes with spam_filter),
DList - footer and footer_html

Commands added/changed:



  • DPOP,DSMTP and IMAPD BUG: fixed all three so that file locking with lock_id does not get the occasional error that it was getting. Lock_id setting should now be used on NT as well as UNIX platforms where multiple servers are accessing the same mail spool.
  • DSMTP BUG FIX: Added check to stop authent_cache from exceeding MAXC, previously setting authent_cache greater than 1000 caused periodic crashes.
  • DSMTP FIX: fromip_nolimit now works with "fromip_nolimit a,b"
  • DSMTP FIX: Fixed bug where absoluted footer file path was munged on NT, e.g. C:\dmail\c:\dmail\footer.txt, so now you really can put footer files in directories other than the dsmtp_path directory.
  • ---------
  • DSMTP: Added 'X-AutoResponder: mailer-daemon' header entry as appropriate, e.g. on Bounce messages generated by DSMTP. This hopefully helps to stops autoresponders from responding to bounce messages etc.
  • DSMTP: Added MAPS RBL support (identical to ORBS) with setting
    maps_action.
  • DSMTP: Added support for braindead M$ servers that issue 'ETRN @domain' commands
  • DSMTP: Fixed bug where "check x" auth queries (e.g. where the email client sends the SMTP AUTH command) were cached-retrieved wrongly.
  • DList: Fixed error message returned when approv command has wrong password.
  • DSMTP: Cleaned up a few stray (but harmless) 'free without NULL' instances
  • DPOP: fixed LOGON_BATCH back to LOGON_INTERACTIVE
  • DSMTP: Fixed problem with self-referential aliases not working if the domain was present, e.g.
    bob: bob@same_domain,fred@another_domain
    bob now gets a copy of the message as well as fred.
  • DSMTP Feature: Added spam_dump command to get filtered spam to be appened to a file. So now if you set, spam_dump /etc/spam.txt the file spam.txt will get every message blocked by the spam_filter (where action is reject) appended to it.
  • DList Fix: digests loose message attachments - now fixed.
  • DList FIX: footer and footer_html settings. For MIME encoded messages add plain text footer as a mime part, previously they were simply put on end. Also where a message is sent twice in both text and html forms, need to add plain text footer as well as adding html footer to html mime part.
2.8d
23 February 2000

NB:

Settings added/changed:signal_core, dtablesize, use_flock,tcp_sendsize,
preserve_domain(authent_domain)

Commands added/changed:



  • Fixed Unintentional DSTMP Change: fixed bug with host_domain setting in versions, 2.7p and 2.8a,b and c, where all host_domain settings starting with the same characters were ignored except for the first one, e.g.
    host_domain mail.fred.com
    host_domain mail.bob.com
    host_domain mail
    only mail.fred.com would be seen, as they all start with 'mail' and it is the first one.
  • DPOP FIX: if a message ended in just lf.lf DPOP did not check for it and passed it through to email client which upset some clients, notably MS Outlook. So now DPOP adds, crlf.crlf to the end of messages ending in just lf
  • DPOP FIX: added new ini setting, use_flock (default true) which when set to false stops DPOP from trying to use flock when lock_id is also set. Enables lock_id to work on systems with a stuffed nfs system.
  • DSMTP FIX: add_footer setting did not check that footer file finished with a line feed. Which meant that a bad footer file resulted in messages joining together.
  • Fixed DPOP bug: bin_path setting was ignored if set to something other than the drop_path
  • -------
  • DSMTP: added new setting, signal_core (unix only), which when set to true stops DSMTP from intercepting common signals like, access violation. This should be useful in getting a back trace of the DSMTP process by sending it a kill -11.
  • DSMTP fix: preserve_domain true makes DSMTP pretend that authent_domain true is set so that the incoming address is passed to the user lookup for local domains. Because authent_domain can be left out, DPOP sees it as false and therefore it also passes the full user login to the auth module for any domain suffix. This means that adding a virtual domain is as simple as adding a host_domain setting to cover it and usernames in the database become the full email address and the drop file name is the same. It can be a nice way to do vdomains.
  • DSMTP: fixed DNS timeout adjustment log line as times given wrong way around.
  • DPOP: new setting, dtablesize, set if you wish DPOP (and soon DSMTP as well) to use a dtablesize above our suggested maximum of 1024.
  • DPOP: new setting, tcp_send_size (default 64k) has been added to enable the setting of the TCPIP output buffer size. Previously it was hardcoded to 8k.
2.7q
2 February 2000

NB:

Settings added/changed: host_domain

Commands added/changed:



  • Fixed Unintentional DSTMP Change: fixed bug with host_domain setting in versions, 2.7p and 2.8a,b and c, where all host_domain settings starting with the same characters were ignored except for the first one, e.g.
    host_domain mail.fred.com
    host_domain mail.bob.com
    host_domain mail
    only mail.fred.com would be seen, as they all start with 'mail' and it is the first one.
2.7p
26 January 2000

NB:

Settings added/changed:

Commands added/changed:



  • DSMTP AND DPOP: fix from 2.8c put in. Fixes handling of tabs and extra whitespace problems in dmail.conf settings which was put in 2.7.
  • DSMTP: fixed ras_domain setting. If ras dial up is turned on and no ras_domain setting was set then DSMTP used to crash. Solution was to set, ras_domain to a few spaces. Broken only in 2.7 versions, fixed in 2.7p and 2.8c
2.8c
26 January 2000

NB:

Settings added/changed:

Commands added/changed:POP DELE command



  • DSMTP AND DPOP: fixed handling of tabs and extra whitespace problems in dmail.conf settings which was put in 2.7.
  • DSMTP: fixed ras_domain setting. If ras dial up is turned on and no ras_domain setting was set then DSMTP used to crash. Solution was to set, ras_domain to a few spaces. Broken only in 2.7 versions, fixed in 2.7p and 2.8c
  • DPOP Feature: added DPOP POP command dele all which responds +OK n messages deleted, rather than having to delete individual messages, e.g. dele 1, dele 2 etc.
2.8b
12 January 2000

NB:Fixes NT permission login bug.

Settings added/changed:ban_mailfrom,ban_rctpto,reverse_name_ban,
etrn_relay,orbs_action,virtual_user_pre,suspend_domain
auth_cache

Commands added/changed:tellsmtp filters



  • DPOP: temporary fix, increase limit on disabled accounts from 100 to 1000
  • DSMTP: Fixed 'tellsmtp showq' hang
  • Fixed DMSetup: now asks user about forward_from_ip setting instead of defaulting to just 127.0.0.1. It now defaults to 127.0.0.1,1.2.3.* where 1.2.3.* is the first part of the machine's ip address (dmsetup detects the ip address).
  • Fixed Unintentional DSTMP Change: 2.8a did not allow multiple vdomain lines with the same prefix (needed for vdomain aliases), this restriction has been removed.
  • Fixed Unintentional DPOP Change: 2.8a and 2.7n changed the NT_User login permission needed to, 'log on as batch job' from 'log on locally' and 'access this computer from the network'.
  • DSMTP: DSNs for errors occurring before the message is sent no longer say, "destination server said"
  • -----------
  • DSMTP: Added rejection pattern based explicitly on RCPT TO and MAIL FROM by adding settings ban_mailfrom and ban_rctpto.
  • DSMTP: Added reverse_name_ban to block connecting domains
  • DSMTP: Added etrn_relay command. Relays any ETRN commands to the given ip numbers.
  • DSMTP: Added ORBS support via orbs_action command (ban only, currently. Will add vanish, reject and forward user@domain)
  • DSMTP: Added virtual_user_pre support for sendmail's virtual user tables (_post setting pending)
  • DSMTP: added setting suspend_domain.
  • DSMTP: Added pattern matching to 'tellsmtp filters'
  • DSMTP: logs clearly when the auth cache index resets or initialized
  • DSMTP: dsmtp's auth cache size is now settable via auth_cache
  • DSMTP: trims trailing spaces off domain names in rcpt and mail lines
2.7o
11 January 2000

NB: Fixes NT permission login bug.

Settings added/changed:

Commands added/changed:



  • DSMTP: Fixed bomb_hash fatal bug
  • Fixed Unintentional DPOP Change: 2.8a changed the NT_User login permission needed to, 'log on as batch job' from 'log on locally' and 'access this computer from the network'.
2.8a
13 December 1999

NB:

Settings added/changed:

Commands added/changed:



  • DSMTP: Fixed bomb_hash fatal bug
  • DSMTP: Fixed base64 decode bug
  • DList Fix: when checking for mailer-daemon and postmaster return addresses it is now a case showinsensitive check. Now also checks for these in the return-path as well as the from header. They are checked on messages to all of the mailing list addresses, -request etc.
  • DSMTP: added auth_hide command, which takes ip numbers (with * and -) or "recentpop"
  • DSMTP: if auth_allow is present, DSMTP will advertise AUTH
  • DList: now logs what loglvl each error message is.
  • DList: now logs host and port that it connects to in order to send mail on info logging level.
  • DSMTP: Fixed bug in comma separated user forward file lines (found as not working when $user was added to recipient list).
  • ------------
2.7n
29 November 1999

NB:This version has been frozen for converting to a Release 2.7 version. The next beta version will be a 2.8 version.

Settings added/changed:show_ehlo, auth_allow

Commands added/changed: tellpop rebuild



  • DSMTP Bug: Killed a bug in the new fromip code - DSMTP died on freebsd machines at DATA stage.
  • DSMTP Fix: Added protection against runaway user forwardfile recursion - limits to 5 recursions. Previously DSMTP got into a loop when a user had a .forward file which pointed to themselves.
  • ------------
  • DPOP:Added tellpop command, rebuild user, which rebuilds the user's message index files in their bin file.
  • DPOP: now writes which bulletin a user is up to in their user_inf file
  • DPOP: tried to change DPOP NT login so that it does not require user log on access, but found to be impossible.
  • DPOP: changed logging so that it logs channel fro every log line, also uses 3 special channel numbers, -1 in poll loop, -2 shutdown -3 background
  • DSMTP: Added MS Exchange/Outlook style AUTH LOGIN DSMTP: Altered the EHLO command to reply with a single multi-line packet, to work with buggy MS clients
  • DMSetup Fix: on unix platforms now check that /usr/local exists - caused a problem on MACOSX. - changed all of the startup scripts to try this line as well for platforms like BSDI, limit coredumpsize 20000 DSMTP: Dwatch not parsing settings using multiple spaces/tabs as command/param delimiter -made show_ehlo and auth_allow into comma separated multi value settings. DSMTP: fixed show_ehlo setting so that DSMTP looks at more than the first value.
2.7m
19 November 1999

NB:

Settings added/changed: drop_old,authent_cache,max_sessions,fromip_nolimit ,alias_file_domain



  • Fixed DPOP BUG: stop kill ever using -, when an authent process failed it was possible for DPOP to issue the kill -1 command which on some operating systems knocks out all processes!!!.
  • Fixed DPOP BUG: max_sessions was limited on Solaris boxes because of library limit to file handles. This has been fixed - you should now be able to open 1000 concurrent pop connections.
  • Fixed DPOP BUG: memory leak in DPOP reload. authent_cache was not freed on reload. i.e. about 370k per reload for default of 1k user cache.
  • Fixed DPOP bug: - fix bug in reading reply from external auth etc. replies over 200 chars lost start of reply - now it always keeps first 100 bytes plus last 100 roughly
    NOTE: increased buffer for replies from external auth to 100.
  • Fixed DPOP bug: fix tellpop stats number overflows
  • Fixed DSMTP bug: msg_filter setting was getting a '/' added to the end of it which stopped it working on some operating systems.
  • DSMTP Fix: fromip_nolimit now looks at *both* the ip number and reverse lookup name. So if you have lookup_names set to true any ip addresses you have listed as exceptions to the fromip setting will work. Also you can specify domain names in the fromip_nolimit setting if you have lookup_names set to true.
  • DSMTP Fix: alias_file_domain may now take the form 'alias_file_domain domain filename suffix' where suffix is appended to any alias destinations with only sub domain names, e.g.
    bob: fred@machine1
    becomes a legal setting if the suffix was set to
    .domain.com
    , i.e. fred@machine1.domain.com.
    NB: DSMTP only adds the suffix if there is no dot in the destination domain.
  • Fixed DSMTP Bug: Fixed glitch in RCPT and MAIL code that rejects <"blah"@domain.com>
  • Fixed DSMTP queue bug: Improved throughput - it was possible for the queue to get filled up with messages not going to be retried for 1 hour.
  • Fixed DSMTP Bug: Fixed old (serious) mem leak associated with RCPT code
  • Fixed DSMTP Bug: Fixed new (minor) mem leak associated with short-name crash.
  • -------------------
  • DPOP Fix: make it log name of authent and slave processes on first spawning.
  • DPOP Feature: tellpop stats now has another column lastcon which is time of last connection for each user (secs since 1970 -:)
  • DPOP Feature: tellpop list_current now has another column which is sent bytes for each current user.
  • DPOP Feature:- if drop_old setting contains a separator then use path rather than tacking onto droppath. So DPOP will read drop files from another path as well as reading its ones in the hash directory. This lets you move to another hashing method. NB: this does not mean old bin files will be checked so you have to drop all users first.
  • DSMTP: Now takes note of manager_ip commands - this new feature is turned off until DPOP can conform with setting changes.
  • DSMTP: Added authent process lag-tolerance code. So DSMTP can recover from one off slow responses from an authentication process and not loose other lookup responses done at the same time.
  • DSMTP: Put the *.dmp files on the same rotation scheme as the *.sta files
2.7k
11 November 1999

NB: This version fixes a number of bugs in earlier 2.7 pre beta release versions. Definitely upgrade versions 2.7a-j to this version. We have only listed bugs fixed from the 2.5 line and differences from 2.5k.

NB:This version is essential for users running multiple dpops accessing the same drop files!

Settings added/changed:
preserve_domain, bind_in, bind_out, quota_fix,dump_stats, add_status, smart_reload, (DList settings forward_from_user, footer_html)
Changed default behaviour of host_domain and authent_domain
Added support for SMTP AUTH command.

  • Fixed DPOP BUG: File locking and lock_id setting. Now dslave processes do dot locking.
  • Fixed DPOP BUG: multiple dpops used to allow one user to connect more than once resulting in drop file corruption. Now if lock_id is set then DPOP creates a drop_dir.x file while user is logged in(between userpass and free on quit or die of chan) and other dpops lock the user out while that file exists.
  • Fixed DPOP BUG: Quotas were not being updated correctly (used line in _inf file) after delete of msg's when they had been previously left on the pop server. So did the following to correct:
    • compact bins - if nmsgs=0 remove bins regardless set used to 0
    • fixed diskquota not being updated correctly after delete of msgs
    • added new ini setting quota_fix, set this to true for 1 week so affected users are not denied messages.
  • Fixed DPOP bug: fixed key bug on 64 bit machines like OSF.
  • Fixed DPOP BUG:if fail during drop user then delete the drop file as msgs all still in bins.
  • Fixed DPOP BUG: fixed bug in drop user - which resulted in messed up drop files.
  • Fixed DPOP BUG: uses more memory than necessary if you have a large users.idx file and are adding users regularly. (was in all versions).
  • DSMTP: Changed default behaviour: of host_domain looked up on external authentication in 2.7e. DSMTP looks up first host_domain for all virtual domains. 2.7i onwards has the setting, preserve_domain true, which makes DSMTP do its previous behaviour. Admins who think that they need this setting should think about whether they should be using vdomain settings instead of vhost settings.
  • DPOP: new config code fixes known peculiar behaviour in 2.5g: user-quota setting needs to be set with two settings in this specific order if setting a default user quota,
    user_quota x
    user_quota true
    where x is the default quota.(fixed in 2.7e)
  • Fixed DPOP BUG: non unique uidl's for messages burst in same second - can cause dmailweb/cwmail a few problems when displaying lists of messages.
  • Fixed DPOP BUG: memory leak in reload of virtual domains in tellpop reload.
  • Fixed DPOP BUG: fixed status line appearing on same line as from after drop user on NT. Was upsetting some email clients.
  • Fixed DPOP BUG: fixed problem bursting large messages. When you had no dpop_path setting, the slave process was defaulting to 'dmaildslave', i.e. with no separator.(all versions up to this one).
  • Fixed DSMTP Bug: DNS problems - dns lookups that timeout for a specific domain cause other messages in the queue to get held there. Added cache of failed dns lookups for short period.
  • Fixed DPOP BUG: DPOP now passes all environment variables when it spawns the authentication processes.
  • DPOP FIX: max_sessions limit increased for NT. If max_sessions requires it use _setmaxstdio to up file handle limit to what they have asked for (limit is 2048 file fopens)
  • -----------
  • DPOP FIX: make it selectable which ip addresses on a machine DPOP binds to, DSMTP also does this with setting, bind_in. DSMTP also has bind_out setting.
  • DPOP FIX: Status header; new ini setting add_status - default true. If set to false then DPOP does not add the Status header line.
  • DPOP FIX: Status header; make status change to read only on retr command and not on the top command.
  • Fixed DPOP BUG: was sending apop stamp on end of the external authentication lookup - which could confuse some modules. Now only sends it if apop_enable is true.
  • DPOP Change: for list with 0 msgs send reply and . in one package to speed it up.
  • DSMTP: '$user' can now be used in .fwd files, as per other redirection methods. Instructs DSMTP to still deliver to original recipient as well as redirecting as per a forward carbon copy (forward_cc) setting.
  • DSMTP: Added show_ehlo command (previously documented as ehlo_show). So show_ehlo a,b,c means DSMTP advertises a,b,c as well as ETRN,DSN,HELP in response to the EHLO SMTP command, where a,b and c can be any of the key words, '8bit', 'vrfy' or 'auth'. Switches on the following ESMTP notifications: 8bit, auth and vrfy
  • DSMTP: Added support for AUTH commands, use setting, 'auth_allow relay', to allow relaying by authenticated logins.
  • DSMTP: log_data setting changed to take 'some', as well as true/false. When set to some, DSMTP logs all tcpip transactions except for middle of data section so that your log is not full of attachment data!
  • DSMTP: added setting dump_stats. If set to x then DSMTP appends stats information to a file called, dmxxyy.dmp, in the log_path every x minutes.
  • DList: Fixed dot stuffing of list messages
  • LIST:Fixed logging of failed smtp sends, no longer says, 'finish unsuccessfully' when SMTP connection fails.
  • DList:Added forward_from_user true setting, if set for a list then email is sent with 'from' header of user and 'reply-to' header of list-request.
  • DList:Fixed handling of HTML -request commands so it usually works.
  • DList:Added feature, list setting footer_html d:\footer.html which will be added to HTML messages just before the @lt;/html> line.
  • DPOP FIX: if cant start first authent process then die and remove pidf so dwatch does not restart us.
  • TELLPOP + DPOP FIX: no longer do they talk about DPOPXTRA commands, but rather manager commands.
  • Fixed DPOP BUG: no longer reports bursting error to users who connect before any mail has ever been sent to them.
  • TELLPOP FIX: tellpop shutdown etc now return quickly if manager_ip_address etc wrong, rather than waiting for a timeout.
  • DSMTP: Added smart_reload boolean setting. When true, DSMTP and DPOP will try to create a temp.conf in the work directory by merging #included files as/when appropriate, spreading the load out so it occupies at most 20% of dsmtps attention during the process. If it fails for any reason, it will do a normal reload. If you include more than 500 files into dmail.conf then we suggest that you use this setting as reloads could take as much as 3 minutes to complete.
  • DList: fixded listname@domain style of naming domains in lists.dat (used to look in drop file without domain on front) NB: all mailing list drop files go in the drop_path dir not vdomain dirs.
  • DSMTP FIX: now works with new DList syntax, listname@domain. Any explicit domain settings will override it, however.
  • DList: fixed max_size setting in lists.dat - was being ignored. Default is kbytes and any letters put on end of setting are ignored, e.g. 40k = 40M = 40kbytes.
  • DList FIX: Made sendlog not crash it if no parameter
  • DPOP FIX: max_sessions limit increased for NT. If max_sessions requires it use _setmaxstdio to up file handle limit to what they have asked for (limit is 2048 file fopens)
  • DPOP BUG: now ignores case when checking for "External" for auth method to enable caching.
  • DPOP FIX: fixed user_quota setting again, so that user_quota x turns on quota system as well as user_quota true.
2.5k
15 Sept. 1999

NB: Version 2.7b will be up soon with new features and recent small bug fixes. Version 2.5k has major bug fixes in it only.

Settings added/changed: from_test

  • from 2.7b,Fixed DSMTP Bug: multiple aliases for the user were not all being actioned, only the last one was.
  • from 2.7b,Fixed DSMTP Bug: forward slashes '/' in usernames are relayed correctly and rejected nicely for local addresses (currently they are not permitted in local usernames!)
  • from 2.7b;DPOP BUG: tellpop drop in 2.5i could merge messages.
  • from 2.7b; DPOP FIX: Added setting, from_test, defaults to false. If set true then DPOP's from checking is not as fussy about From headers in drop files - you may want to use this when DPOP is running with SMTP servers other than DSMTP. (If true checks for From instead of full test of From line.)
  • Freeze on startup on RH6 bug fixed: from 2.7b,- sendmail stub: no longer freezes on,
    sendmail -bi
    as sent by RH6.0 start up script.
  • from 2.7b,- sendmail stub now responds to mailq with use tellsmtp showq (rather than tellsmtp que).
2.5i
12 Aug 1999

NB: This version is no longer on the ftp site. Please upgrade DSMTP to the one from 2.5k if you are using this version.
NWAuth Version: 2.0g

Settings added/changed: allow_dup_drop,vdomain_substitute

  • DSMTP: before forward slash '/' was not allowed in usernames, now it is (as per the relevant RFC).
  • DSMTP: added setting, allow_dup_drop. If true and two recipient lines point to the same drop file, e.g. an alias or forward point to a drop file (rather than a user) then two messages end up in the drop file. Currently only gets delivered.
  • DSMTP FIX: added tighter control on the vdomain feature, 'vdomain masquerading' where the host_domain is replaced with the appropriate vdomain in message headers. Replacement no longer done in the From: header (if you want masquerading here then you need to configure the email client properly). Added setting vdomain_substitute (default true) so that you can turn off this feature all together.
2.5h
not released

NB:
NWAuth Version: 2.0g

Settings added/changed: fake_vrfy

  • DSMTP BUG: handle left dangling on hitting fromip_max and possibility for two channels to talk to same file in 2.5h versions, in 2.5g versions the error showed itself in a safer form where DSMTP rejected any connections and filled the log file with messages about failure to open .tmp files in the work path.
  • DSMTP BUG: fixed fatal crash with invalid syntax of destination address.
  • DPOP BUG: fixed >from bug, in DPOP
  • DSMTP: reduced log lines sent when sending data out.
  • DSMTP FIX: improved DSMTP outgoing send on windows platforms so that each channel sends for at least 20 milliseconds. So faster channels can send more chunks without interruption.
  • DSMTP: made vrfy optional with setting, fake_vrfy true - will say yes to everything.
  • DWatch: added sendlog command (for DMAdmin)
  • DWatch: added support of dimap, on NT IMAPD (and imapdsvc on NT)
  • DSMTP FIX: adding incoming/outgoing/tcpip channel information to log messages.
  • NWAuth: removed funny search behaviour when an @ in the search (it was put in to handle search *@domain nicely), now use search @domain to achieve same effect.
  • DPOP: DSMTP's timezone setting now used by DPOP for bulletin Date: field.
  • DPOP:fixed bulletin Date field format
  • DPOP: improved nt authentication failure messages.
  • TELLSMTP: improved tellsmtp sendlog command so stays open until you kill tellsmtp - e.g. ctrl-C
  • NWAuth: NWAuth updated to version 2.0g
    - FIXED BUG: part or all of nwauth.txt could get lost during rebuild, added lockfile handling during rebuilds to fix.
    - added Lynden's -fallback_unix option
    - removed funny search behaviour when an @ in the search (it was put in to handle search *@domain nicely), now use search @domain to achieve same effect.
    - made file_config use arg_path when no dmail.conf on machine.
    - made logging always append
    - added encrypt option
    - added fallback_unix option
2.5g
7 July 1999

NB:

Settings added/changed: use_forward_files,gateway,tellsmtp monitors

  • New DMSTP setting: added setting use_forward_files true/false. When set false all checking for forward files (.fwd and .forward files) is turned off.

     

  • Fixed DPOP: DPOP would start but would ignore incoming connections when restarted by dwatch on its death.
  • Fixed DSMTP: on windows NT DSMTP was putting up a debug box on fatal errors (when it died), which was stopping dwatch from restarting it.
  • Fixed DPOP bug: death when compacting bin files when bin file could not be opened
  • Fixed DSMTP bug: self referencing aliases introduced in 2.5f all worked except for when the self referencing destination came last, e.g.
    bob: test@test,bob
    now works as an alias.
  • Fixed DPOP: (small memory leak) made ini file stuff free memory when reading in multiple settings.
  • Fixed DList bug: 2.5d had handle test left in which affected performance - removed again in 2.5f.
  • Fixed DSMTP: accept nulls in messages, and try to continue as normal.
  • Fixed DSMTP: EMail clients or servers that send multiple lines without waiting for a response would cause that TCP channel to go into sulk mode.
  • Fixed DSMTP(affects DList); if lists.dat reads, "list listname" then it used to try to write to drop file, \dmail\in\ listname , i.e. with a space!
  • Fixed DSMTP: was writing drop files in incorrect directory when multiple external authentication lookups for the same message - e.g. when you had two destinations on different domains for an alias.
  • Fixed DSMTP: channels receiving log lines do not timeout (although tellsmtp sendlog does timeout). Previously in DMAdmin you might have noticed that it kept losing connection to the DSMTP server every so often.
  • Fixed DSMTP: (UNIX and default case settings) messages arriving for mixed case usernames were being put in drop file, named with case as per username in address rather than as per case in passwd file.
  • Fixed DPOP: temporary fix for >From lines in message body ( messages were being split into two on tellpop drop).

     

  • DSMTP: added tellsmtp command, tellsmtp monitors which shows you all channels receiving log lines (e.g. channels to dmadmin).
  • DSMTP: tellsmtp showchans now tells you if a particular channel is receiving log lines (e.g. DMAdmin).
  • DSMTP: when DSMTP starts sending log lines out on a channel it starts by telling you what logging level of messages it is sending.
  • DSMTP: when a TCPIP channel times out the log file warning message, tells you how long it was open for.
  • DPOP: if no stats_path then don't show 0's for kilobytes served etc.
  • DList: changed error message,
    'Invalid destination user bob@domain, SHOULD PROCESS THIS PROPERLY'
    to read, 'Invalid destination user %s, you might like to REMOVE them from the users.lst file.'
    Message is given when user address on list cannot be delivered.
  • DList: changed some info level log messages to debug log level so that on startup from command line you don't see so much rubbish.
  • DSMTP feature: all log lines now stay on one line (any carriage returns replaced with spaces).
  • DSMTP feature: (gateway setting) can now gateway to domain names (used to be just to ip addresses).
  • DSMTP feature: make message id use domain in MAIL FROM: if a valid vdomain instead of host_domain.
  • DSMTP feature: postmaster messages for non local delivery bounces appear to come from vdomain.
  • DWATCH feature: added a timeout on dwatch's port testing
2.5f
8 June 1999

NB: With this we will be looking to end the 2.4 line at 2.4k

Settings added/changed: forward_from, max_sessions
DList: reply_to_user

Special Mention:
DNAuth update,
Improved moderators subscribing users to mailing lists.

  • Fixed DPOP BUG: max_sessions was being limited by false file handles limit (because of check stopping at 256). Now DPOP checks you have got enough file handles to give max_sessions requested. NB: Max. sessions can still be limited by the compile time DTABLESIZE variable, contact support if you are having problems.
  • Updated DNAuth to 1.0b:
    • - build index did not handle blank fields - implemented token_split
    • - added -version command line option.
    • - fixed bug with rebuild being done twice at startup, done_first
  • Fixed tellpop command: made it respond to tellpop pass command
  • Fixed DMAdmin bug: temporary file, dmail.in being left open on pressing config button.
  • Fixed DMAdmin bug: Large dmail.conf files not being sent saved properly. (tcp_setblock not succeeding).
  • Fixed DMAdmin text: forwarding tab did state "last match is applied" now states, 'all matches apply'
  • Improved DMAdmin; made it remove its previous '#Adding stuff here' lines on rewriting dmail.conf.
  • Changed forward_from setting: made case insensitive so,
    forward_from domainx.com
    covers, DOMAINX.com Domainx.com etc.
  • Enhanced DMSetup: if user chooses to limit manager ip addresses, always add 127.0.0.1 on start of list to stop them locking themselves out.
  • Added DList feature: setting reply_to_user can now take an address, as well as true/false. If given, posted messages will have any Reply-To: header turned into X-Reply-To:, and the address given is added to a new Reply-To: header.
  • Enhanced DList: now wont read in lines from users.lst that don't have an '@' symbol in the address field - this implies they will be removed as on re-construction only those users read in are written out again.
  • Fixed DList Bug: users who send subscribe (or unsubscribe or leave) command to listname instead of listname-request, get subscribed, but everyone on the list (or the moderator on a moderated list)was also getting the subscribe message they sent.
  • Fixed DList bug: subscribing users incorrect names being put in full name field, now takes,
    subscribe "real name" <address>
    subscribe <address> "real name"
  • Fixed DList bug: when user subscribed themselves and no real name attainable, real name used to take on moderator's real name - now that field is left blank.
  • Enhanced DList: when log rotates, puts line at the top like,
    28 11:31:16 DList log rotated (60kbytes) 2.5e
  • Fixed DSMTP bug introduced in 2.5e: caching always returns 'out of sync' - which meant that it always did a real lookup.
  • Fixed DSMTP bug introduced in 2.5d: any aliases to file (specifically DList aliases) were corrupted, so no messages to mailing lists could get through.
  • Fixed DSMTP weirdness: no longer inserts too many X-Rcpt-To entries when talking to robots
2.5e
20 May 1999

Due to the following bugs this version has been REMOVED from the beta directory
-Mailing lists not working in 2.5e
-DSMTP caching not working in 2.5e

Settings added/changed:

  • Fixed DPOP bug: file handles being inherited so dpop.log not rotating when running NWAuth or dslave.
  • improved DSMTP: made DSMTP check that external authentications respond with the correct user that was given in the lookup. DSMTP also checks that cache lookups return the correct username.
  • - added DSMTP feature: made messages from postmaster where possible, have a from address of, postmaster@virtual_domain rather than postmaster@first_host_domain.
  • - fixed DSMTP bug in 2.5d: has a bug with External Authentication modules returning fwd="", e.g. when you modify a user using DMAdmin. If the fwd="" field does not have a destination in it then DSMTP was trying to forward the message to the blank address. As a result DSMTP would return the error,"no valid rcpt fields". This has been fixed in 2.5f (not yet built), so contact support-dmail@netwinsite.com if this bug is affecting you.
2.5d
14 May 1999

NB: The 2.5 line includes New Features the 2.4 line only has bug fixes.

Settings added/changed:
forward_from, dotstuff_robot

  • added DSMTP feature: Sleepy external authentication processes now timeout
  • fixed DSMTP bug: Fixed NT handle leak for robots introduced in pre-release of 2.5d (so only a couple of people have this version with the handle leak in it - and they have probably already upgraded).
  • fixed DSMTP bug: Stopped DSMTP from locking up when authents sulk
  • fixed DSMTP bug: NT robot reading code to work with non-responding robots
  • changed DSMTP behaviour: Made DSMTP slaughter innocent robots on shutdown (after asking nicely)
  • fixed DSMTP bug: now recognizes that external auth responses not starting with '-' may not be valid
  • fixed DSMTP bug: recognizes setting lines with only \t (tab) delimiters
  • changed DSMTP behaviour: dotstuffing now defaults to true on NT, false otherwise... and it works.
  • added DSMTP feature: NULL environment vars aren't set
  • fixed DWATCH bug: hard loop when dwatch restart of a server is 'disabled'.
  • fixed bug DList and DWatch: stopped them writing all socket stuff to a file raw.dat - you may like to search for a file called raw.dat on your system (probably in the dwatch or DList or work_path directories) - if it is there then it may be very big.
  • Fixed DPOP bug: On authent_method nt_user, cache of last lookup, not doing lookup when last check failed.
  • Fixed tellpop bug: no longer creates empty dpop_.sum files on tellpop stats command, and instead writes the output to a file, dpop.sum
  • Updated dmsetup:asks dwatch to stop on all platforms even if no pid for it in dwatch dir (as old versions did not write pid).
  • changed DSMTP behaviour: now *any* user lookup that gets back a fwd="blah" field will generate a 250 User OK response, no matter whether the forward rule works or not.
  • Updated dmsetup: asks dwatch to stop on all platforms even if no pid for it in dwatch dir (as old versions did not write pid).
  • Made DSMTP hide domain names (and replace with vdomain names) for robots and direct-to-file deliveries, as it does on normal write to drop file.
  • Fixed DList bug: Now only the list moderator can unsubscribe users when access_leave set to moderator. Members cannot even unsubscribe themselves.
  • Fixed DList bug: Moderator can now unsubscribe a list member when access_leave set to member.
  • Fixed DList bug: DList did not realize Rcpt To: had been accepted when an SMTP server responded with 251 instead of 250.
  • Changed DSMTP back: DSMTP bounces now get all the normal relaying rules applied to them. For 2.5c they did not have any relaying restrictions, now you must set something like, forward_from_ip 127.0.0.1 so that DSMTP can send bounces.
  • - DSMTP now gives a 4xx error if the authent processes fail - authent processes can now return -DEAD reason (for example if they cannot access their database), if they do then DSMTP gives the 4xx error so that the sender knows to try again later.
  • - DWATCH altered startup messages so not so worrying :-)
  • - DSMTP no_dotforward command to stop DSMTP looking for ~/.forward files, this makes it look for .fwd files instead.
  • - DSMTP set environment variables on NT when spawning a robot as have always done on UNIX, e.g. MAILFROM, RCPTTO and MSGSIZE
  • - DSMTP write X-Rcpt-To: header when feeding to robots,for 2.5d
  • - DSMTP feature (for 2.5d) where you can have multiple addresses in a fwd="" ext. auth field, and use $user, as an entry so that the original recipient also gets the message
  • Added DNAuth external authentication module beta - reads users from DNews's users.dat file
  • Fixed drespond crashing bug: when subject or from in command line empty.
  • Fixed DSMTP bug: SMTP connection was hanging when the following combination occurred, 1. multiple mail redirection (e.g. two forward rules for the same alias) 2. one of mail redirections was to a robot 3. using external authentication. This bug could often be fixed by putting the forward rule for a robot before any other mail redirection rules - yes it is black magic :-)
  • Fixed DPOP bug: messages with no body were being skipped on look through bin file (in with message size of -1), i.e. were not counted or retrievable by email client.
  • Fixed obscure DPOP bug: blank line in message body of last message in drop file deleted (Netscape mail deletes any trailing or leading blank lines in message body).
  • Fixed DSMTP bug: forward from still looking at HELO line and not Mail From line, now checks, mail from, then helo, and accepts all <> (i.e. bounces) for relay.
  • known DList bug: Bug in DList digest operation, when a user removes themselves from the digest they don't get the digest messages that existed between the last one they were sent and their new message.
  • Fixed DSMTP bug: DSMTP dying on MAIL FROM:<@domainx,@domainy:user@domainz> lines
  • Changed DSMTP behaviour: DSMTP did dotstuff robot mails... now it doesn't by default on UNIX, but still does on NT
  • Added DSMTP setting: DSMTP dotstuff_robot true (default is false) to make new version compatible with current robots that expect dotstuffed lines.
  • fixed DSMTP possible bug: DSMTP was not finding user home directories properly, see forward files.
  • Fixed DPOP bug: wrong path was given for drop_path ~/inbox type drop path setting. Should become, home_dir/inbox where home_dir might be, /home/username.
2.5c
(24 Mar 1999)

NB: The 2.5 line includes New Features the 2.4 line only has bug fixes.

Settings added/changed:
apop_enable (apop not yet finished)

  • Fixed spawn problems for Windows 95/98 (also in 2.4k)
  • -fixed DSMTP bug: forward from still looking at HELO line and not Mail From line, now checks, mail from, then helo, (As does 2.4j) and accepts all <> (i.e. bounces) for relay (NB: this last bit is an error fixed in 2.5d
  • Made DPOP/dwatch (dsmtp already did) delete dpop.exit file on startup and also after it was found while running. Putting a program.exit file in the dwatch_path directory will make that server shutdown as soon as it can in a nice way.
  • Modified tellsmtp and tellpop to suggest that the DSMTP and DPOP respectively are not running when they cannot open a TCPIP port to them.
  • Modified DMSetup
    - waits at end of install
    - suggests not to worry about files not found.
    - automatically starts dwatch at end of install and upgrade on Win 95/98
    - made it able to shutdown dwatch when not running as a service on Win 95/98
    - now automatically sets up NWAuth on Win 95/98
    - fixed bug, dlist.exit being put in DList path.
  • Added first stage of APOP, on external authentication.
  • Added setting, apop_enable true, which results in DPOP sending
    'user username digest ipaddress apop_stamp'
    to the external authentication routine. More details once it is completed.
  • Fixed DList bug: archiving count not being recorded - so dir command now works.
  • Fixed DSMTP bug with quotes in forward rules and aliases. Aliases should always have quotes around whole robot alias - can't have multiple word arguments until version 2.5c. Forwards must have quotes around them if want multiple words before 2.5c. Now can have quotes around robot and multiple word arguments (quotes within quotes) in either. Aliases still have to have quotes around whole robot destination, but it is optional to have quotes around robot destination in forwards.
2.5b
(not released)

NB: The 2.5 line includes New Features the 2.4 line only has bug fixes.

NB: DPOP2.5b does not work - delete it if you have it on your machine.

Settings added/changed:
(DList: skip_postmaster_check,skip_mailer_check)

  • Fixed multiple forward rules/ext. auth bug from 2.4j
  • Added DList list.dat settings, skip_postmaster_check and skip_mailer_check, to stop DList from ignoring messages from POSTMASTER and MAILER-DAEMON (all in capitals forms only).
  • Changed DList default max_per_user setting to 200 from 50.
  • Fixed DList bug: lockup if TCP connection on port 7111 was opened but nothing sent. - seemed like DMAdmin did it occasionally.
  • Fixed DList bug, introduced with new default individual behaviour, if a list delivery fails on one address, did not move onto next address in list.
  • Fixed DList bug: non-members can post in period before they have sent back their join cookie.
  • Fixed DList moderator passwords - password protected moderated lists were not working :-)
  • Fixed DPOP bug: can't handle more than three >'s in the body of a message, the an extra one would be added by DPOP.
  • DSMTP dying bug fixed - special (robot or direct to file) recipients causing to crash
2.5
(not released)

NB: The 2.5 line includes New Features the 2.4 line only has bug fixes.

Settings added/changed:
forward_cc, forward, block_domain

  • Altered DPOP message error message to email clients from
    "-ERR external authenticator timed out"
    to "-ERR password check failed (authentication (external) timed out)".
  • forward and forward_cc can now take multiple entries and comma delimited lists.
  • Added DSMTP setting: block_domain <users.domain> <nasty.domain>
    stops all incoming mail for users.domain if it's from nasty.domain
  • When using RAS dial up, DSMTP now sends an ETRN command for each of the vdomain domains, and not just the host_domains.
  • DSMTP now adds Received: from xxx message header lines where xxx is the correct domain or virtual domain, rather than just as set in the first host_domain setting.
2.4k
27 April 1999

NB: This version has Bug Fixes to 2.4j only (new features are in 2.5 line)

Settings added/changed:
forward_from, dotstuff_robot

Special Mention:
DList, DWatch and DMSetup in this version are based on the versions from 2.5c

  • Made DSMTP hide domain names (and replace with vdomain names) for robots and direct-to-file deliveries, as it does on normal write to drop file.
  • Updated DList to the one from 2.5c then added the following three bug fixes,

    1. Fixed DList bug: Now only the list moderator can unsubscribe users when access_leave set to moderator. Members cannot even unsubscribe themselves.

    2. Fixed DList bug: Moderator can now unsubscribe a list member when access_leave set to member.

    3. Fixed DList bug: DList did not realize Rcpt To: had been accepted when an SMTP server responded with 251 instead of 250.

  • Updated dwatch from 2.5c
  • Updated dmsetup from 2.5c
  • Fixed drespond crashing bug: when subject or from in command line empty.
  • Fixed DSMTP bug: SMTP connection was hanging when the following combination occurred, 1. multiple mail redirection (e.g. two forward rules for the same alias) 2. one of mail redirections was to a robot 3. using external authentication. This bug could often be fixed by putting the forward rule for a robot before any other mail redirection rules - yes it is black magic :-)
  • Fixed DPOP bug: wrong path was given for drop_path ~/inbox type drop path setting. Should become, home_dir/inbox where home_dir might be, /home/username.
  • Fixed DSMTP spawn problems for Windows 95/98 (also in 2.5c)
  • Fixed DSMTP bug: DSMTP dying on MAIL FROM:<@domainx,@domainy:user@domainz> lines
  • Changed DSMTP behaviour: DSMTP did dotstuff robot mails... now it doesn't by default on UNIX, but still does on NT
  • Added DSMTP setting: DSMTP dotstuff_robot true (default is false) to make new version compatible with current robots that expect dotstuffed lines.
2.4j
12 Mar 99

NB: This version has Bug Fixes to 2.4h only (new features are in 2.5 line)

Settings added/changed:
forward_from, show_8bitMIME, no_rcvd_ip

Special Mention:
8 Bit MIME - changed default behaviour

  • changed default behaviour!!! - DSMTP no longer advertises its acceptance of 8 bit MIME messages in its welcome banner. You can make it go back to doing by setting, show_8bitmime true in dmail.conf
  • Fixed DSMTP crashing bug: on multiple forward rules for the same user when using external authentication.
  • Fixed DSMTP crashing bug: due to bad fprintf
  • Fixed forward_from setting so that it uses domain given in SMTP envelope, rather than domain given in HELO line.
  • Fixed file lock problem, spawned processes (nwauth) taking file handles on NT. Evident when start DSMTP from dos window and then CTRL-C to quit, could not restart DSMTP as dmail.lck file being held open by NWAuth sub-processes.
  • Fixed DList bug: where if one list delivery fails (e.g. destination user not found) DList did not continue on with next address on the list.
  • Added setting, no_rcvd_ip IPaddress, hides that ip address if it was going to be in the received line that DSMTP adds to the message - for keeping secret your internal IP addresses- which are probably made up and not registered. NOTE will do this for BOTH incoming and outgoing messages.
  • made DSMTP happy with all DList_ settings - it was complaining in dsmtp.log that it did not know some of the new ones.
  • Fixed DSMTP bug, relay_to and gateway settings case sensitive.
  • Fixed DSMTP bug: lowercase_usernames true stopping fromip_nolimit from working as it should.
2.4i
23 Feb 99

Settings added/changed:
domain setting in lists.dat
user_quota

  • Fixed DPOP and DSMTP new setting bug: user_quotas are now turned on when user_quota 1000 (1Mbyte) as well as user_quota true.
  • Fixed DList: list specific domains. When you put domain domainx.com in the lists.dat file, then that list is domain specific. DList had to be made to look for the drop file, domainx.comlistname (no separator), instead of just listname, to match the alias that DSMTP creates. This behaviour can be turned off with list.dat setting, list_global true.
  • Fixed DPOP bug: spawn of authentication processes on UNIX platforms was not separating out command line arguments - e.g. NWAuth -log would never get started.
  • Fixed DPOP bug: if spawned authentication process died, DPOP died on printing an error message. Together with above bug, when trying to get NWAuth to create a log file ('authent_process /dmail/nwauth -log'), DPOP would die repeatedly.
2.4h
(16 Feb 1999)
(also known as 2.4g2)

Bug Fix Version.

Settings added/changed:
all forward_* settings, forward_from

  • DMAdmin now logs to file, dmadmin.log, if you check the debug check box on the DWatch tab.
  • Changed DSMTP Relaying behaviour, to suit new manual :-)
    default relay behaviour is now false, i.e. do not allow any relaying other than as specified, if there are ANY forward_* type relay settings. Previously forward_from_ip was the only setting that turned relaying restrictions on, i.e. all other settings were only exceptions to the forward_from_ip rules.
  • Fixed DMSetup bug - created garbage work|bulletins path.
  • Fixed forward_from Bug, it now works off MAIL FROM: line in the SMTP envelope as advertised.
2.4g
(12 Feb 1999 - released on Linux and NT only.)

Settings added/changed:
no_xdpop_header,
tarpit_start,
tarpit_except,
dlist_rotate_log,
(lists.dat settings:
max_per_hour and
footer).

  • Fixed DPOP BUG in quota system, used not being reset, when all messages deleted.
  • Fixed forward & forward_cc commands with chrooting for robots - they were forgetting the domain for the robot to chroot to.
  • Fixed Sendmail stub, no longer adds domain, if users gives fred@domain.
  • Added DSMTP tarpit anti-spam feature: tarpitting is where the server begins to respond slower and slower to excessive posting from a single ip/session.
    Added settings:
    tarpit_start : commences tarpitting from the numberth RCPT line per session.
    tarpit_except : allows exceptions to the rule. (note the setting is currently NOT tarpit_exclude as this used to state)
  • Fixed dlist_rotate_log dmail.conf setting - now takes notice of it :-) whereas it was hard coded to an approximate 60k)
    - default and minimum value is now 60 K.
  • Fixed DList bug, hardcoded max. messages per user ever, now it is per hour.
  • Added DList lists.dat setting, max_per_user x
    Sets the max. number of messages allowed to be posted to all lists on the server per user per hour. Note that the count is per user for posts to all lists, whereas setting is per list, so the count is global but whether it applies to a list is list specific (the default is 50).
  • Changed user_quota to ALSO take numerical value. So
    user_quota true - turns on quota system, no limit if not specified in username_inf in drop file directory.
    user_quota 30 - turns on quota system, limit of 30 Kbytes imposed on user's disk usage.
    user_quota false/0 - turns quota system off.
  • Added DList lists.dat list setting, footer xxxx where xxxx is the full path to the footer file to be added onto the end of all list messages.
  • Corrected DPOP's response to no_xdpop_header true setting.
Current Release Version
2.4f
(29 Jan. 1999)
  • Fixed DSMTP bug: crashing somewhere during a tellsmtp reload if a config setting was too long (alias_file_domain too long).
  • Fixed DPOP Bug: introduced in 2.4e, hashing was being worked out and logged but not used ! :-(
  • Fixed unreported DPOP bug and changed setting definition: when lowercase_username set to true, DPOP would lower case the full drop path as well as drop file name. This would probably only have caused it to be a different drop file directory on UNIX platforms and if a mixed case drop file path was being used. Now when lowercase_username is true, DPOP always writes the user name into its cache in lower case. This has resulted in a slight change in setting definition, see lowercase_username.
  • Note: This version does not support DList domain specific lists, 2.4j and 2.5c both definitely do.
2.4e
(26 Jan. 1999)
(now removed from ftp site!)
  • Added settings: max_rcvd (see below)
  • Fixed DSMTP Bug: where username matches virtual domain prefix. Previously if the virtual domain prefix was 'sales_' and you had a valid user called 'sales_bob', then if dm_set.htm#drop_prefix was set to false, when a message arrived for the domain where that prefix applied, DSMTP would remove the sales_ from bob's username assuming it was a virtual domain prefix, before writing the drop file. Note: if a user has the virtual domain prefix in their username, you do have to add their name to the password file as for example, sales_sales_bob!
  • Fixed BUG: postmaster alias was case sensitive. DSMTP automatically, adds this alias as per the SMTP RFC to its internal alias list for each domain. Now it is happy with Postmaster@domain, or postmaster@domain or even PoStMaStEr@domain :-)
  • Fixed DSMTP bug: system timezone being stamped as three digits, e.g. -600 now stamped as -0600
  • Changed DSMTP: to use lowercase_username setting, was just a DPOP setting.
  • Changed: DPOP and DSMTP so they no longer hash ( hash_spool 1 or 2) with upper case letters, e.g. for hash_spool 2 DPOP used to hash, mail/F/R/FRED, now it hashes to mail/f/r/FRED.
  • Fixed BUG: where DSMTP and DList unconditionally lower cased dropfile names.
  • Fixed BUG: when noautohost was set to true, DSMTP would not open a connection to itself, ever :(
  • Added Feature: DSMTP now detects if a message has too many Received: lines, as another method to stop loops. For example this should put a stop to a message going around indefinitely if you have two DMSPT servers gatewaying a message back and forth to each other.
  • Added the max_rcvd DSMTP setting to set the max. number of received lines allowed in a message, (the default is 15).
2.4d
(15 Jan. 1999)
  • Added config setting: no_autohost <boolean> This setting switches off DSMTP's automatic adding of host_domain entries for MX lookups which eventually refer back to itself. Default is false. See the DSMTP Settings list
  • Re-instated config setting: forward_from <wildcard> This relaying setting which was removed in about version 2.1k, has been re-instated in a slightly stronger form. It now checks the from line of the message envelope for the specified domain. See the DSMTP Settings list
  • Bug fixed: where the last list entry in lists.dat wouldn't get aliased, so was not recognized by DSMTP as a valid list.
  • Bug fixed: where the list alias files wouldn't get hashed, e.g. DSMTP placed mail for the list cars (hash_spool set to 2) in /mail/cars, rather than /mail/c/a/cars where DList was looking.
  • Bug fixed: NT spawns inherited socket and file handles which they should not have, e.g. robots and authent processes used to hold TCP connections open until they terminated.
  • Bug fixed: NT spawns were not killable by DSMTP.
  • Bug fixed: *nix (Unix'ish) problem with dead processes not being de-zombied - i.e. properly removed from the processes list.
  • Bug fixed: temp license key expiry date bug, could display dates like 31-FEB, so now shows 1-month, e.g. 1-Mar
  • Bug fixed: vdomain_separator stuck on '_', now works in DPOP - previously it was always set to '_' for DPOP but not for DSMTP. Affects password list usernames for virtual domains, e.g. you can now have usernames in your password list for a virtual domain like, dom1#bob, if you set vdomain_separator to '#', previously could only have had dom1_bob.
  • Bug fixed: ETRN gateway bug, gateway messages were queued using the IPaddress instead of the domain name when gatewayed.
    Result: when DSMTP received for example ETRN bob.com, it would not realize that it had any messages for bob.com as they were all queued to go to the corresponding gateway IP address.
  • Bug fixed: vrfy bug, DSMTP was returning, user@domain@domain to the SMTP command "vrfy". Problem was related to vrfy section of code only, everywhere else DSMTP was treating usernames correctly.
  • Bug fixed: problem with host_domain/vdomain ambiguity, if admin entered host_domain setting and vdomain setting for the same domain, vdomain settings were ignored which resulted in virtual domain mail being delivered locally, unless you were using external authentication.
  • Bug fixed: log messages appearing about mail bombs when fallback_address did not exist and was pointing at account on the same domain.
  • Bug fixed: authent_domain true, for users on the main domain DPOP authenticated with user@domain_last, where domain_last was your last host_domain setting in dmail.conf. Now DPOP uses the domain specified by the dpop_host setting, if it exists, otherwise it uses the first host_domain setting.
  • Chris finally nailed weird memory bug :-)
. . .
  • These will be filled in soon :-)
2.2p
(10 Aug 98)
  • Added tellsmtp command: profile. This displays some DSMTP program statistics, cpu usage etc.
  • Added dmail.conf setting: lock_id nnn, this can be used when running multiple copies of dsmtp/dpop over NFS volumes, this makes DMail use an internal locking mechanism that will work over NFS. Each DMail should have lock_id nnn in its dmail.conf file, where nnn is a different integer in each case.

 

For update information on older versions, see updates1.htm