Weasel

Version: 
2.52
Release date: 
Thursday, 6 December, 2018

License:

Interface:

Authors/Port authors:

Weasel: a POP3 and SMTP daemon for OS/2 (also available an IMAP optional extension). Includes controls on who may send relay mail, and includes a way of blocking mail from specified hosts. This software was "optional shareware". What this means was that you decided whether you wanted to register as a paid owner of the software. The author will continue to provide support, for at least the short-term future.

Many thanks to Peter Molyan, the author, who on 17/09/2014, released as GPL License the source code of one of the most used mail server on OS/2.

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. Start makefolder.cmd to create program objects and configure the program (instructions in Weasel.INF file). See below for download link(s).

Warp 4.51 or better to support files bigger than 2GB. The program was developed using Modula/2 Toolkit for OS/2, in Modula-2 language (an advanced Pascal language, see the documentation).

Following ones are the download links for manual installation:

Weasel v. 2.52 (6/12/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.52 ( 6 Dec 2018) Fixed: INI corruption caused by error in checking for duplicate hosts. First attempt at displaying an "outbound SMTP" count.
 ftp.pmoylan.org/Weasel/weasel_2.52.zip
Weasel v. 2.52 (6/12/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.52 ( 6 Dec 2018) Fixed: INI corruption caused by error in checking for duplicate hosts. First attempt at displaying an "outbound SMTP" count.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.52.zip
Weasel v. 2.51 (4/12/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.51 ( 4 Dec 2018) Count of entries added to Setup pages that show lists of hosts.
 ftp.pmoylan.org/Weasel/weasel_2.51.zip
Weasel v. 2.51 (4/12/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.51 ( 4 Dec 2018) Count of entries added to Setup pages that show lists of hosts.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.51.zip
Weasel v. 2.5 (25/11/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.5 (25 Nov 2018) Added option to reject mail that fails a reverse DNS lookup. Changed the rules about the decision whether to use INI or TNI format (see manual).
 ftp.pmoylan.org/Weasel/weasel_2.5.zip
Weasel v. 2.5 (25/11/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.5 (25 Nov 2018) Added option to reject mail that fails a reverse DNS lookup. Changed the rules about the decision whether to use INI or TNI format (see manual).
 ftp.pmoylan.org/Weasel/WeaselSrc_2.5.zip
Weasel v. 2.49 (18/11/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.49 (18 Nov 2018) Nonrouteable addresses are no longer checked by RBL. Minor change to manual: wildcard entries are allowed on the whitelist page of Setup. In all host lists, duplicate entries are removed when you exit Setup. Fixed: confusion between POP and SMTP when decoding the ServerEnabled flags.
 ftp.pmoylan.org/Weasel/weasel_2.49.zip
Weasel v. 2.49 (18/11/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.49 (18 Nov 2018) Nonrouteable addresses are no longer checked by RBL. Minor change to manual: wildcard entries are allowed on the whitelist page of Setup. In all host lists, duplicate entries are removed when you exit Setup. Fixed: confusion between POP and SMTP when decoding the ServerEnabled flags.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.49.zip
Weasel v. 2.48d (13/9/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.48d (13 Sep 2018) Changed watchdog code to avoid a critical race. Minor change to message about reloading INI data. Stricter interpretation of option to not log POP sessions.
 ftp.pmoylan.org/Weasel/weasel_2.48d.zip
Weasel v. 2.48d (13/9/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.48d (13 Sep 2018) Changed watchdog code to avoid a critical race. Minor change to message about reloading INI data. Stricter interpretation of option to not log POP sessions.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.48d.zip
Weasel v. 2.48c (17/8/2018) Readme/What's new
LIST OF CHANGES Version 2.48c (17 Aug 2018) Minor correction to blacklist code. Fixed: error in interpreting the "Enable" in INI file. Released to mailing list. Version 2.48a (16 Aug 2018) Added option to use domain blacklist checkers. Not yet released.
 ftp.pmoylan.org/Weasel/weasel_2.48c.zip
Weasel v. 0.373 (IMAP4 addon for Weasel Pro, optional, 17/8/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 0.373 (17 Aug 2017) Rebuilt to accommodate changes in support for 64-bit numbers, and changes in Weasel Setup.
 ftp.pmoylan.org/Weasel/imapd0.373.zip
Weasel v. 2.48 (10/8/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.48 (10 Aug 2018) Fixed: obscure bug in BDAT processing. Fixed: stack overflow on nameserver lookup. Fixed: source code corruption in POPCommands.mod. "No chunking" hosts removed from Setup. Chunking is now supported whenever it is supported at the other end of a connection. You can still specify a maximum outgoing chunk size in Setup. Version 2.47 (23 Jul 2018) Not released. Version 2.46 (21 Jul 2018) Fixed: error response when POP RETR fails. New: allow for CNAME nameserver records when doing an MX lookup. This version proved to be unusable.
 ftp.pmoylan.org/Weasel/weasel_2.48.zip
Weasel v. 2.48 (10/8/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.48 (10 Aug 2018) Fixed: obscure bug in BDAT processing. Fixed: stack overflow on nameserver lookup. Fixed: source code corruption in POPCommands.mod. "No chunking" hosts removed from Setup. Chunking is now supported whenever it is supported at the other end of a connection. You can still specify a maximum outgoing chunk size in Setup. Version 2.47 (23 Jul 2018) Not released. Version 2.46 (21 Jul 2018) Fixed: error response when POP RETR fails. New: allow for CNAME nameserver records when doing an MX lookup. This version proved to be unusable.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.48.zip
Weasel v. 2.46 (21/7/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.46 (21 Jul 2018) Fixed: error response when POP RETR fails. New: allow for CNAME nameserver records when doing an MX lookup.
 ftp.pmoylan.org/Weasel/weasel_2.46.zip
Weasel v. 2.46 (21/7/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.46 (21 Jul 2018) Fixed: error response when POP RETR fails. New: allow for CNAME nameserver records when doing an MX lookup.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.46.zip
Weasel v. 2.45 (29/5/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.44e (27 May 2018) Fixed: "Delete domain" operation was deleting two domains. Added domain count to the "Domains" Setup page. Not yet released.
 ftp.pmoylan.org/Weasel/weasel_2.45.zip
Weasel v. 2.45 (29/5/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.44e (27 May 2018) Fixed: "Delete domain" operation was deleting two domains. Added domain count to the "Domains" Setup page. Not yet released.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.45.zip
Weasel v. 2.44 (14/1/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.44 (14 Jan 2018) New approach to watchdog, using fewer threads. Internal change: test for detached process moved to module TaskControl. Top screen line now lists number of users instead of "online" status. Added NoChunkingHost category, and a "Chunking" page in Setup. Version 2.43 (18 Nov 2017) Moved password attack protection into a separate module. Slightly tougher rules for repeated password guessing. Fixed minor bug in the POP log. Added a limited number of retries (about 5 seconds) before reporting "mailbox is locked".
 ftp.pmoylan.org/Weasel/weasel_2.44.zip
Weasel v. 2.44 (source code, 14/1/2018, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.44 (14 Jan 2018) New approach to watchdog, using fewer threads. Internal change: test for detached process moved to module TaskControl. Top screen line now lists number of users instead of "online" status. Added NoChunkingHost category, and a "Chunking" page in Setup. Version 2.43 (18 Nov 2017) Moved password attack protection into a separate module. Slightly tougher rules for repeated password guessing. Fixed minor bug in the POP log. Added a limited number of retries (about 5 seconds) before reporting "mailbox is locked".
 ftp.pmoylan.org/Weasel/WeaselSrc_2.44.zip
Weasel v. 0.372 (IMAP4 addon for Weasel Pro, optional, 18/9/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 0.372 (18 Jun 2017) Rebuilt to accommodate changes in some of the underlying support modules. Fixed: incorrect check at startup on whether IMAP is enabled. Not yet released.
 ftp.pmoylan.org/Weasel/imapd0.372.zip
Weasel v. 0.372 (IMAP4 addon for Weasel Pro, source code, 18/9/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 0.372 (18 Jun 2017) Rebuilt to accommodate changes in some of the underlying support modules. Fixed: incorrect check at startup on whether IMAP is enabled. Not yet released.
 ftp.pmoylan.org/Weasel/imapdSrc0.372.zip
Weasel v. 2.42 (31/8/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.42 (30 Aug 2017) Minor change to manual. Fixed Setup bug that would cause Weasel to incorrectly assume that \MPTN\ETC\MAIL was the mailroot directory even if it wasn't. Slight change to shutdown processing. Allowed for a nonstandard port in via: addresses. Modified looping test to allow for multiple mail servers on different ports, same machine.
 ftp.pmoylan.org/Weasel/weasel_2.42.zip
Weasel v. 2.42 (source code, 31/8/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.42 (30 Aug 2017) Minor change to manual. Fixed Setup bug that would cause Weasel to incorrectly assume that \MPTN\ETC\MAIL was the mailroot directory even if it wasn't. Slight change to shutdown processing. Allowed for a nonstandard port in via: addresses. Modified looping test to allow for multiple mail servers on different ports, same machine.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.42.zip
Weasel v. 2.41 (26/8/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.41 (17 Aug 2017) Added CheckRelayRules.cmd and Sample_RELAYRULES.TXT to the distribution. New option on the "Relay" page of Setup to route outgoing mail using a "relay rules" file.
 ftp.pmoylan.org/Weasel/weasel_2.41.zip
Weasel v. 2.41 (source code, 26/8/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.41 (17 Aug 2017) Added CheckRelayRules.cmd and Sample_RELAYRULES.TXT to the distribution. New option on the "Relay" page of Setup to route outgoing mail using a "relay rules" file.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.41.zip
Weasel v. 2.4 (6/8/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.4 (24 Jul 2017) Rules about whether to use INI or TNI extended to the case of remote setup.
 ftp.pmoylan.org/Weasel/weasel_2.4.zip  local copy
Weasel v. 2.4 (source code, 6/8/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.4 (24 Jul 2017) Rules about whether to use INI or TNI extended to the case of remote setup.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.4.zip  local copy
Weasel v. 2.39 (21/7/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.39 (20 Jul 2017) Alterations to allow TNI files to be used as default without having to use a -T parameter. New option to support this on the first Setup tab. Several consequential changes to the manual. New program ChooseTNI added to the distribution.
 ftp.pmoylan.org/Weasel/weasel_2.39.zip
Weasel v. 2.39 (source code, 21/7/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.39 (20 Jul 2017) Alterations to allow TNI files to be used as default without having to use a -T parameter. New option to support this on the first Setup tab. Several consequential changes to the manual. New program ChooseTNI added to the distribution.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.39.zip
Weasel v. 2.38 (14/7/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.38 (14 Jul 2017) Experimental check on time taken by blacklist checker. Disable a blacklist checker for an hour if it takes more than a minute to do the check. More careful guard against SMTP timeouts. For incoming mail, added a failure response for BDAT chunk size > 5 MiB. For "chunk size too large" and similar errors, we delay the error response until the chunk has been received (and ignored). Fixed a conflict between Weasel and imapd.
 ftp.pmoylan.org/Weasel/weasel_2.38.zip
Weasel v. 2.38 (source code, 14/7/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.38 (14 Jul 2017) Experimental check on time taken by blacklist checker. Disable a blacklist checker for an hour if it takes more than a minute to do the check. More careful guard against SMTP timeouts. For incoming mail, added a failure response for BDAT chunk size > 5 MiB. For "chunk size too large" and similar errors, we delay the error response until the chunk has been received (and ignored). Fixed a conflict between Weasel and imapd.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.38.zip
Weasel v. 2.37 (11/5/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.37 (11 May 2017) Fixed: some of the checks for a valid sender address were being skipped. Added check for "out of heap memory" while receiving chunked data. Fixed: if sending mail failed at the DATA or BDAT stage, the sender got the wrong error message. Fixed: miscalculation of how much chunked data to send when there are dot-stuffed lines. Fixed: memory leak when chunked data send failed.
 ftp.pmoylan.org/Weasel/weasel_2.37.zip
Weasel v. 2.37 (source code, 11/5/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.37 (11 May 2017) Fixed: some of the checks for a valid sender address were being skipped. Added check for "out of heap memory" while receiving chunked data. Fixed: if sending mail failed at the DATA or BDAT stage, the sender got the wrong error message. Fixed: miscalculation of how much chunked data to send when there are dot-stuffed lines. Fixed: memory leak when chunked data send failed.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.37.zip
Weasel v. 2.36 (27/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.36 (27 Apr 2017) Recoded some of the CHUNKING operations to be consistent with dot-stuffing.
 ftp.pmoylan.org/Weasel/weasel_2.36.zip
Weasel v. 2.36 (source code, 27/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.36 (27 Apr 2017) Recoded some of the CHUNKING operations to be consistent with dot-stuffing.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.36.zip
Weasel v. 2.35 (17/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.35 (17 Apr 2017) Fixed some minor logging errors. More accurate message size in SMTP log. Implemented the CHUNKING option (RFC 3030) to give faster data transfer for large message files, if the other server supports it.
 ftp.pmoylan.org/Weasel/weasel_2.35.zip
Weasel v. 2.35 (source code, 17/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.35 (17 Apr 2017) Fixed some minor logging errors. More accurate message size in SMTP log. Implemented the CHUNKING option (RFC 3030) to give faster data transfer for large message files, if the other server supports it.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.35.zip
Weasel v. 2.34 (source code, 8/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.34 ( 8 Apr 2017) Fixed faulty POP fetch. Cleaned up some log file messages. Version 2.33 ( 5 Apr 2017) EHLO response now includes 8BITMIME. Fixed: two files were missing from source distribution. Fixed: disabling SPF did not "stick" in Setup until Setup had been run several times. Added note to manual about situations where you should not enable SPF. Added SPF results to transaction log. Added direction indicator to transaction log entries. Change to retry strategy: we will not retry if the error code is 552 (exceeded storage limit).
 ftp.pmoylan.org/Weasel/WeaselSrc_2.34.zip
Weasel v. 2.34 (8/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.34 ( 8 Apr 2017) Fixed faulty POP fetch. Cleaned up some log file messages. Version 2.33 ( 5 Apr 2017) EHLO response now includes 8BITMIME. Fixed: two files were missing from source distribution. Fixed: disabling SPF did not "stick" in Setup until Setup had been run several times. Added note to manual about situations where you should not enable SPF. Added SPF results to transaction log. Added direction indicator to transaction log entries. Change to retry strategy: we will not retry if the error code is 552 (exceeded storage limit).
 ftp.pmoylan.org/Weasel/weasel_2.34.zip
Weasel v. 2.33 (5/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.33 ( 5 Apr 2017) EHLO response now includes 8BITMIME. Fixed: two files were missing from source distribution. Fixed: disabling SPF did not "stick" in Setup until Setup had been run several times. Added note to manual about situations where you should not enable SPF. Added SPF results to transaction log. Added direction indicator to transaction log entries. Change to retry strategy: we will not retry if the error code is 552 (exceeded storage limit).
 ftp.pmoylan.org/Weasel/weasel_2.33.zip
Weasel v. 2.33 (source code, 5/4/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.33 ( 5 Apr 2017) EHLO response now includes 8BITMIME. Fixed: two files were missing from source distribution. Fixed: disabling SPF did not "stick" in Setup until Setup had been run several times. Added note to manual about situations where you should not enable SPF. Added SPF results to transaction log. Added direction indicator to transaction log entries. Change to retry strategy: we will not retry if the error code is 552 (exceeded storage limit).
 ftp.pmoylan.org/Weasel/WeaselSrc_2.33.zip
Weasel v. 2.32 (source code, 19/3/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.32 ( 6 Mar 2017) SMTP output transactions are now included in the transaction log.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.32.zip
Weasel v. 2.32 (7/3/2017, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.32 ( 6 Mar 2017) SMTP output transactions are now included in the transaction log.
 www.pmoylan.org/ftp/Weasel/weaselsrc_2.32.zip
Weasel v. 2.31 (source code, 17/1/2017, Peter Moylan) Readme/What's new
Version 2.31 (13 Jan 2017) Added check to reject mail with a missing From: header. Changed the rules about when we will retry, or try a relay host, for an outbound message that failed. Fixed: weasel.xqs was missing from distribution.
 www.pmoylan.org/ftp/Weasel/weaselsrc_2.31.zip
Weasel v. 2.31 (13/1/2017, Peter Moylan) Readme/What's new
Version 2.31 (13 Jan 2017) Added check to reject mail with a missing From: header. Changed the rules about when we will retry, or try a relay host, for an outbound message that failed. Fixed: weasel.xqs was missing from distribution.
 www.pmoylan.org/ftp/Weasel/weasel_2.31.zip
Weasel v. 2.3 (14/12/2016, Peter Moylan) Readme/What's new
Version 2.3 (14 Dec 2016) Skip SPF check for whitelisted host. Fixed "ptr" bug in SPF check. Extra "banned host" check in HELO and EHLO commands. Slight revision of how the MAIL FROM address is checked for acceptability. More generous rules about what parameters may be changed without restarting Weasel. Added option to suppress POP sessions in transaction log. Fixed: maximum message size was not being updated. Added option to disable the SPF check. Removed postmastercheck.cmd from distribution, put it on web site instead. Miscellaneous changes to the manual. Altered EHLO response for stricter compliance with standard.
 ftp.pmoylan.org/Weasel/weasel_2.3.zip
Weasel v. 2.3 (source code, 14/12/2016, Peter Moylan) Readme/What's new
Version 2.3 (14 Dec 2016) Skip SPF check for whitelisted host. Fixed "ptr" bug in SPF check. Extra "banned host" check in HELO and EHLO commands. Slight revision of how the MAIL FROM address is checked for acceptability. More generous rules about what parameters may be changed without restarting Weasel. Added option to suppress POP sessions in transaction log. Fixed: maximum message size was not being updated. Added option to disable the SPF check. Removed postmastercheck.cmd from distribution, put it on web site instead. Miscellaneous changes to the manual. Altered EHLO response for stricter compliance with standard.
 ftp.pmoylan.org/Weasel/WeaselSrc_2.3.zip
Weasel v. 2.293 (30/11/2016, Peter Moylan) Readme/What's new
Extra "banned host" check in HELO and EHLO commands.
 ftp.pmoylan.org/Weasel/old/weasel2.293.zip
Weasel v. 2.293 (source code, 30/11/2016, Peter Moylan) Readme/What's new
Extra "banned host" check in HELO and EHLO commands.
 ftp.pmoylan.org/Weasel/old/WeaselSrc2.293.zip
Weasel v. 2.29 (27/10/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.29 (27 Oct 2016) Added log message to show username on AUTH. Fixed: session could time out during postmaster check. Added an SMTP whitelist. Added CIDR option to host lists (banned, whitelisted, etc.) Added an "edit" button to all host list pages. Preliminary version of SPF check included. For now this does not reject mail, it only puts a result in the Authentication-Results message header.
 ftp.pmoylan.org/Weasel/old/weasel2.29.zip  local copy
Weasel v. 2.29 (source code, 27/10/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.29 (27 Oct 2016) Added log message to show username on AUTH. Fixed: session could time out during postmaster check. Added an SMTP whitelist. Added CIDR option to host lists (banned, whitelisted, etc.) Added an "edit" button to all host list pages. Preliminary version of SPF check included. For now this does not reject mail, it only puts a result in the Authentication-Results message header.
 ftp.pmoylan.org/Weasel/old/WeaselSrc2.29.zip
Weasel v. 2.28 (5/8/2016, Peter Moylan) Readme/What's new
Version 2.28 (05 Aug 2016) Moved IPF files to source distribution, and added weasel.bmp. Added a separate manual for VIOSetup.
 ftp.pmoylan.org/Weasel/old/weasel2.28.zip
Weasel v. 2.28 (source code, 5/8/2016, Peter Moylan) Readme/What's new
Version 2.28 (05 Aug 2016) Moved IPF files to source distribution, and added weasel.bmp. Added a separate manual for VIOSetup.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.28.zip
Weasel v. 2.27 (29/5/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.27 (29 May 2016) Fixed: crash when a mailbox contains more than 2^32 bytes (about 4 GB) of messages. Implemented message size limit (RFC 1870).
 ftp.pmoylan.org/Weasel/old/weasel2.27.zip  local copy
Weasel v. 2.27 (source code, 29/5/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.27 (29 May 2016) Fixed: crash when a mailbox contains more than 2^32 bytes (about 4 GB) of messages. Implemented message size limit (RFC 1870).
 ftp.pmoylan.org/Weasel/old/weaselsrc2.27.zip  local copy
Weasel v. 2.26 (31/1/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.26 (31 Jan 2015) Fixed: dangling pointer while creating lists of "separate filter" users.
 ftp.pmoylan.org/Weasel/old/weasel2.26.zip
Weasel v. 2.26 (source code, 31/1/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.26 (31 Jan 2015) Fixed: dangling pointer while creating lists of "separate filter" users.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.26.zip
Weasel v. 2.25 (25/1/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.25 (25 Jan 2015) Increased size of ArgString used to call a filter, to allow for the worst case filenames. Fixed: memory leak when stage 0 filter rejects an SMTP connection.
 ftp.pmoylan.org/Weasel/old/weasel2.25.zip  local copy
Weasel v. 2.25 (source code, 25/1/2016, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.25 (25 Jan 2015) Increased size of ArgString used to call a filter, to allow for the worst case filenames. Fixed: memory leak when stage 0 filter rejects an SMTP connection.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.25.zip  local copy
Weasel v. 2.24 (8/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.24 (08 Dec 2015) Fixed: incorrect handling of greylisting.
 ftp.pmoylan.org/Weasel/old/weasel2.24.zip  local copy
Weasel v. 2.24 (source code, 8/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.24 (08 Dec 2015) Fixed: incorrect handling of greylisting.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.24.zip  local copy
Weasel v. 2.23 (7/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.23 (07 Dec 2015) Fixed: Weasel was ignoring postmaster check option in Setup. Added option to bind outgoing mail to specific IP address. Fixed: parsing of an envelope address when the MAIL command has an AUTH parameter.
 ftp.pmoylan.org/Weasel/old/weasel2.23.zip  local copy
Weasel v. 2.23 (source code, 7/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.23 (07 Dec 2015) Fixed: Weasel was ignoring postmaster check option in Setup. Added option to bind outgoing mail to specific IP address. Fixed: parsing of an envelope address when the MAIL command has an AUTH parameter.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.23.zip  local copy
Weasel v. 2.22 (3/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.22 (03 Dec 2015) Improvements to the postmastercheck algorithm. Updated Setup.exe and the manual. The postmaster check can now be disabled using Setup.
 ftp.pmoylan.org/Weasel/old/weasel2.22.zip  local copy
Weasel v. 2.22 (source code, 3/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.22 (03 Dec 2015) Improvements to the postmastercheck algorithm. Updated Setup.exe and the manual. The postmaster check can now be disabled using Setup.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.22.zip  local copy
Weasel v. 2.21 (2/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.21 (02 Dec 2015) Improvements to the postmastercheck algorithm. Updated Setup.exe and the manual. The postmaster check can now be disabled using Setup.
 ftp.pmoylan.org/Weasel/old/weasel2.21.zip  local copy
Weasel v. 2.21 (source code, 2/12/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.21 (02 Dec 2015) Improvements to the postmastercheck algorithm. Updated Setup.exe and the manual. The postmaster check can now be disabled using Setup.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.21.zip  local copy
Weasel v. 2.2 (28/11/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.2 (28 Nov 2015) Fixed errors in implementation of postmaster check. Skip postmaster check for local domains. Elimination of a few false positives in postmaster check.
 ftp.pmoylan.org/Weasel/old/weasel2.2.zip  local copy
Weasel v. 2.2 (source code, 28/11/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.2 (28 Nov 2015) Fixed errors in implementation of postmaster check. Skip postmaster check for local domains. Elimination of a few false positives in postmaster check.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.2.zip  local copy
Weasel v. 2.12 (17/11/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.12 (17 Nov 2015) Fixed error in implementation of postmaster check. Skip postmaster check for local domains. Not yet released.
 ftp.pmoylan.org/Weasel/old/weasel2.12.zip  local copy
Weasel v. 2.12 (source code, 17/11/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.12 (17 Nov 2015) Fixed error in implementation of postmaster check. Skip postmaster check for local domains. Not yet released.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.12.zip  local copy
Weasel v. 2.1 (12/11/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.1 (12 Nov 2015) Fixed an error in makefolder.cmd. Fixed: conflict when "forward", "keep copy" and "separate filter" all activated together. Added the "X-PostmasterCheck" header and associated postmastercheck.cmd filter.
 ftp.pmoylan.org/Weasel/old/weasel2.1.zip  local copy
Weasel v. 2.1 (source code, 12/11/2015, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.1 (12 Nov 2015) Fixed an error in makefolder.cmd. Fixed: conflict when "forward", "keep copy" and "separate filter" all activated together. Added the "X-PostmasterCheck" header and associated postmastercheck.cmd filter.
 ftp.pmoylan.org/Weasel/old/weaselsrc2.1.zip  local copy
Weasel v. 2.01 (19/9/2014, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.01 (19 Sep 2014) Fixed: SMTP authorisation failing when "all users may use SMTP AUTH" was not set for this domain. Removed some obsolete registration checks. Version 2.0 (10 Sep 2014) Fixed: wrong domain was being written to POP.LOG Major overhaul of the manual. Now released as open-source with GPL licence.
 ftp.pmoylan.org/Weasel/old/weasel2.01.zip  local copy
Weasel v. 2.01 (source code, 19/9/2014, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 2.01 (19 Sep 2014) Fixed: SMTP authorisation failing when "all users may use SMTP AUTH" was not set for this domain. Removed some obsolete registration checks. Version 2.0 (10 Sep 2014) Fixed: wrong domain was being written to POP.LOG Major overhaul of the manual. Now released as open-source with GPL licence.
 ftp.pmoylan.org/Weasel/old/WeaselSrc2.01.zip  local copy
Weasel v. 1.813 (12/12/2012, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 1.813 (12 Dec 2012) Fixed: a semaphore leak where some event semaphores were not being properly closed. Some alterations to exceptq support. Removed some debugging code and debug log messages. Default value of "when to go online" changed to "always". This will not affect anyone who has already set a value for that option. Added option to change the limit on number of recipients per outbound mail item. Released only to Weasel mailing list. Version 1.811 (16 Sep 2012) Fixed: poor choice of default root directory on a new installation. Added debugging code to check for semaphore errors. The logging of amount of heap memory used is now suppressed unless "More detailed logging" is specified in Setup. This version not released, but the changes were incorporated in later releases. Version 1.81 (8 Sep 2012) Fixed: Weasel was not unhiding the files in the 'forward' directory on startup. LoadINI and DumpINI are no longer included in the Weasel distribution. You have to download GenINI separately. (Luckily, GenINI does not often get updated.) The "fetch last" POP option is now obsolete. POP clients now see all of the messages on the server, rather than the first or last 512 messages. Fixed: an uninitialised pointer that was causing a crash on some POP fetches. Added log message that identifies the domain that an SMTP outbound thread is trying to reach. Fixed a stack overflow on USER command. Some extra log messages for SMTP outbound. Removed the obsolete "POP fetch starts with most recent" checkbox from the Setup program. New policy: 5-second delay added before closing the connection from a blacklisted client. Setup now accepts new command-line parameters. See the manual for details. Policy change to accommodate servers that do greylisting: when sending out mail, we don't try the relay backup host until the fifth retry. Removed some obsolete code, cleaned up the POP data structures. Change to the interval between retries. For SMTP outbound mail, authentication is not used unless there is a relay host. The Setup notebook and manual have been updated to make this clearer. Fixed: when a backup relay is configured, the relay was not always used, so some items remained undeliverable. Added: extra log line to show whether SMTP authentication for outgoing mail was successful. Removed code for the obsolete "POPFetchLatest" option, an option that allowed fetching mail in a nonstandard order. Some minor changes to logging. Fixed: crash on USER command when TNI file used. Fixed: the next message number was not being updated in INI or TNI file. Fixed: in TNI mode, a zero-length WEASEL.INI was being created if it didn't already exist. Startup operations more carefully sequenced to take into account task interdependencies. Fixed: crash if INI or TNI file was missing. New approach to dynamic control of the number of Send_NN tasks. Fixed: the wrong number of Send_NN tasks were being started. Change: you can now change the number of these tasks (in Setup) without having to restart Weasel. Build level information added to weasel.exe. (So you can now find out its version number by running "bldlevel weasel.exe".) Fixed: the transaction log was not being cleanly closed on exit. Policy change: transaction log now updated every minute instead of once every 15 minutes. Fixed: error when trying to write a number in too small a field size. Fixed: crash caused by missing CRLF in input line or input line that is longer than the standards allow. Fixed: we accept neither mail nor logins for an account that has been marked inactive. New protection against dictionary attack: when there are too many password errors, the client IP address is blocked for 10 seconds. Misc changes to reduce stack usage. The "status" thread that was putting three counts to the log has been removed. It was created to track down a memory leak, but it never managed to find one. New script "ban.cmd" added to tools directory on web site. (But not to zip file.) Converted many "value" string parameters to "var". Corrected a spelling error in looking up "OurHostName" in the INI or TNI file. Fixed: incorrect handling of option to forward mail for a local user to another address. Minor update to kernel stack shifting code. Fixed: Setup was crashing if SETUP.INI did not exist. Updated Spanish language file. Fixed small memory leak in TNI handling. Added log message to show how much memory has been allocated for TNI data (but only if extra logging is specified and we are in TNI mode). Added a "-i" parameter to explicitly turn off TNI mode. Fixed: Setup crash in TNI mode if MailRoot changed. Added file WEASEL.FMT, for more readable layout of TNI files if DumpINI is used. Added check for accessibility of DOMAIN.INI when clearing a recipient list. Fixed: after dropping a new font on a Setup notebook, the notebook sometimes reverted to the old font on exit. For consistency, Setup now saves its own options in Setup.TNI if running in TNI mode. Note that this implies that you can have two independent sets of fonts and window positions depending on whether you start Setup in INI or TNI mode. Added logging of heap usage, as a check for memory leaks. Removed OldDumpINI and OldLoadINI from the distribution. These programs are now officially obsolete. Added exceptq handling. Fixed: Two semaphore leaks. Version 1.80 (26 Oct 2009) The 'X' parameter is no longer supported. (Use the equivalent Setup option instead.) Fixed: some INI data was being read from WEASEL.INI even when the 'T' option was specified. Top line of screen now shows whether INI or TNI used. Fixed a memory leak that occurred when POP fetch was picking up most recent 512 messages. New command-line option 'F' to set working directory to be equal to program directory. Removed obsolete debugging code that was causing APOP to crash sometimes. Version 1.79 (13 Jul 2009) Fixed: screen "offline" message was not updated correctly when we were not logging to screen. The namelist passed to a filter now includes a line terminator (carriage return and line feed) at the end of the last name. POP3 processing modified to use less memory. Weasel now supports TNI mode. Setup now supports TNI mode. The support for remote setup with a TNI file is also in place, but will not become effective until a new version of INIRemote is released. (Remote setup still works for INI files, just not for TNI files.) Minor policy change for convenience: when you switch to or from multidomain mode, the Setup notebook automatically turns to the page that would let you reverse that change, if desired. Old versions of DumpINI and LoadINI included in the tools directory as OldDumpINI.exe and OldLoadINI.exe. The new versions are packaged as a GenINI zip file. New versions of LoadINI and DumpINI use a new format for the TNI file; in fact they are identical to the LoadINI and DumpINI that are now distributed in the GenINI release. Rexx files mloadini.cmd and mdumpini.cmd added to the tools directory, to provide conversion of the DOMAIN.INI (DOMAIN.TNI) files as well as conversion of WEASEL.INI (WEASEL.TNI). Extra log information for incoming SMTP. Reduced the amount of memory used for storing domain information. Fixed a memory leak in the module tracking domain info. Added log messages to check for related leaks. Fixed: in TNI mode, the file DOMAIN.TNI was not being created when a new domain was created. Cleaner transition to and from multidomain mode, to minimise potential confusion about the domain files and directories. Inactive users now marked with a '*' in Setup user page. Policy change: when looking up all alternative names belonging to a domain, we don't (except in the single-domain case) do reverse DNS lookup on numeric addresses. Policy announcement: the command-line argument 'X' will soon be phased out. Fixed a potential memory corruption during failed POP login attempt. Extra option on "Local" page for strict domain name checking, in the multidomain case only. Added an option to fetch the last 512 messages on a POP fetch, instead of the first 512. Minor efficiency improvement in blacklist checking. The deprecated POP2 command LAST is no longer supported. Design changes to reduce the number of writes to the INI file. Extra checks for corruption of (UName,VName,NextName) entries in the INI file. LoadINI and DumpINI replaced by the current GenINI release. Fixed: crash on mail to nonexistent user. Now passes the session ID to filters via the namefile file name. Fixed: Setup was sometimes losing the name of the stage 4 filter. Syslog option may now log to another machine. Fixed: documentation error related to filter namefile. Added a colon after "Weasel" in syslog messages. Version 1.78 (11 Sep 2008) Setup now remembers the last page that was open. Fixed: crash when all logging was turned off. Fixed: "out of memory" problem on POP3 login when user has too many messages on server. Fixed: response to SMTP EHLO was advertising AUTH methods that were disabled. Fixed: memory leak when delivering local mail. Slowed down dictionary attacks that use AUTH commands. Minor changes to the way the top two lines of the screen are written. Fixed: username missing from POP log when user logged in with AUTH command. Minor change to default replies used when a filter rejects mail. Restrictions on which users may use SMTP AUTH (as specified in the user page in Setup) Alterations to "too many bad passwords" POP3 check: - can specify the number of tries before disconnecting; - 3-second delay comes after, not before error reply; - can disable this test completely, if desired. Added the Spanish language file. Minor change to user Setup dialogue. To fix an "out of memory" problem, limited the number of messages visible to a POP client to 512. Version 1.77 (15 Jul 2007) Fixed: failure to update user count when a client is banned or blacklisted. Fixed the "100% CPU" problem when a client connects but sends no command. "Extra logging" checkbox in Setup replaces X parameter. Improved protection against denial-of-service attack. Fixed: problem with authenticating outgoing mail. Fixed: logging via a pipe was failing. Now allowing for up to 8 blacklist servers. Added comment in the manual to point out that the Rexx variable RC can be checked to see whether Weasel shut down normally or crashed. Minor change to INIData.Close. Updated transaction logging to improve the case of multiple threads writing to disk. Fixed: memory corruption in INI file operations. Version 1.76 (15 Mar 2006) Allowed for longer names on registration page. Fixed: result of 16 from stage 0 filter was being ignored. Added new POP3 commands CAPA and AUTH. Fixed a bug in CRAM-MD5 implementation. Version 1.75 (8 Feb 2006) Internal changes to buffering and logging. Rule change: INI file is taken from working directory, instead of from program directory. Added German language file. This version not released because of a CRAM-MD5 bug. Version 1.74 (18 May 2005) Provision for a fourth service: a "message submission agent" service which is like SMTP but which is intended for messages initially entering the mail system, as distinct from those which are already in the system and are being relayed from one mail server to another. Very few mail clients understand this distinction, so you probably don't need to enable this service unless you are sure you have a need for it. Restored the "Synch" operation that was needed to work around a bug in Microsoft clients. Version 1.73 (4 April 2005) Internal changes to MD5 encryption, in preparation for future implementation of TSL. Minor internal changes to simplify the future integration of IMAP. Setup notebook changes to include IMAP settings. Version 1.72 (7 February 2005) Internal changes to transaction logging. Remove spaces after '<' in a RCPT address. Fixed bug: crash if port > 32767 in remote Setup. Increased heap limit to 16MB. Version 1.71 (3 September 2004) Implemented the obsolete (and deprecated) POP2 command LAST, for the benefit of users such as Yahoo who are still using obsolete POP clients. Filenames for incoming mail now chosen in a way that forces the sort order to be the same as the order of arrival, even when Weasel is not shut down properly. LoadINI and DumpINI now load/dump all domains in the multidomain case, rather than requiring each domain to be handled manually. Changed transaction logging module to use less memory. Allow changes to the relay option for outgoing mail (including relay host name and authentication data) to be made without restarting the server. Changes to message list construction on POP3 login to eliminate a faulty memory reference and to improve efficiency. Added option to use a fixed hostname to report as our own hostname. Fixed: occasional crash on UID calculation. Fixed: Setup problem in multidomain mode, where the default domain name kept being re-created. Option to change the length of time we continue to attempt to send outgoing mail. Setup notebook changed to new style. Allow user%domain as another acceptable POP login username. Version 1.70 (21 May 2004) Support for different languages in Setup. This version is distributed with English, French, and Dutch language files, but it is easy to add more. Setup notebooks now remember fonts dropped on them. Added new user options: inactive account, forward mail with or without local copy. Policy change: if a filter returns a "reject this mail" decision, we send the reply to the client, and then send a "421 closing connection" reply, and then we forcibly cut off the client. This is to protect us against the increasingly aggressive approach of junk mail software. Policy change: rDNS lookup on numeric IP addresses is not done unless and until necessary. Policy change: the loopback address [127.0.0.1] is now automatically a "Trusted" address that is allowed to send relay mail. More flexible rules for the syntax of an IP address range. Added some delays to discourage dictionary searches: - 2 seconds after POP password error (note that there is already a limit of 3 attempts to log in) - 10 seconds before SMTP "unknown user" reply - 10 seconds after an SMTP RSET command Indented continuation lines in screen log. Added initial server response to log. Extra "End of session" log message to make log analysis easier. Added "pipe" to transaction logging options. "Override filter" option now works even when there are multiple recipients, possibly with different filters for each recipient. Fixed: adjust Return-Path header after calling a filter. Fixed Setup bug: option to log SMTP users was not being remembered. Permit a delivery attempt via backup server if original server gives 550 or 553 response to RCPT command. Fixed: failure to try backup relay if the initial attempt failed on the MAIL FROM command. Added an option to relay everything, for the case where this server has no local users and is simply acting as a front end for another mail server. Now can change all logging options without restarting Weasel. Made the log file names configurable. Added a new reply code 16 for filters, meaning "accept this message and skip future filtering steps". Setup changed to fix a "lost users" bug that appeared when remote setup was used in multidomain mode. Also minor other changes to Setup.
 ftp.pmoylan.org/Weasel/old/weasel1.813.zip  local copy
Weasel v. 1.704 (7/7/2004, Peter Moylan) Readme/What's new
LIST OF CHANGES Version 1.704 (7 July 2004) Changes to message list construction on POP3 login to eliminate a faulty memory reference and to improve efficiency. Version 1.703 (1 July 2004) Added option to use a fixed hostname to report as our own hostname. Altered order of notebook pages. Fixed: occasional crash on UID calculation. Fixed: Setup problem in multidomain mode, where the default domain name kept being re-created. Version 1.702 (31 May 2004) Option to change the length of time we continue to attempt to send outgoing mail. Setup notebook changed to new style. Version 1.701 (30 May 2004) Allow user%domain as another acceptable POP login username. Version 1.70 (21 May 2004) Support for different languages in Setup. This version is distributed with English, French, and Dutch language files, but it is easy to add more. Setup notebooks now remember fonts dropped on them. Added new user options: inactive account, forward mail with or without local copy. Policy change: if a filter returns a "reject this mail" decision, we send the reply to the client, and then send a "421 closing connection" reply, and then we forcibly cut off the client. This is to protect us against the increasingly aggressive approach of junk mail software. Policy change: rDNS lookup on numeric IP addresses is not done unless and until necessary. Policy change: the loopback address [127.0.0.1] is now automatically a "Trusted" address that is allowed to send relay mail. More flexible rules for the syntax of an IP address range. Added some delays to discourage dictionary searches: - 2 seconds after POP password error (note that there is already a limit of 3 attempts to log in) - 10 seconds before SMTP "unknown user" reply - 10 seconds after an SMTP RSET command Indented continuation lines in screen log. Added initial server response to log. Extra "End of session" log message to make log analysis easier. Added "pipe" to transaction logging options. "Override filter" option now works even when there are multiple recipients, possibly with different filters for each recipient. Fixed: adjust Return-Path header after calling a filter. Fixed Setup bug: option to log SMTP users was not being remembered. Permit a delivery attempt via backup server if original server gives 550 or 553 response to RCPT command. Fixed: failure to try backup relay if the initial attempt failed on the MAIL FROM command. Added an option to relay everything, for the case where this server has no local users and is simply acting as a front end for another mail server. Now can change all logging options without restarting Weasel. Made the log file names configurable. Added a new reply code 16 for filters, meaning "accept this message and skip future filtering steps". Setup changed to fix a "lost users" bug that appeared when remote setup was used in multidomain mode. Also minor other changes to Setup. Version 1.68 (8 Oct 2003) New limitation: POP3 users will see only the first 1024 messages in their mailbox. (But they will see the next 1024 after the first group has been fetched and deleted.) This change has been made necessary as the result of the current campaign by junk mailers to crash servers that support anti-junk measures. More permissive rules about which Setup options can be changed without restarting the server. See WEASEL.INF for the details. Fixed: handling of the "no valid users" case when mail is relayed. Fixed: damaged header line in the case where the Return-Path header is more than one line long. Fixed: undesirable looping behaviour when a secondary relay keeps re-attempting to send mail that has already been rejected by the primary server. Scavenge utility removed from the distribution. Added the filter names and "serialise filters" option to the list of things that can be changed without restarting. Corrected misleading "no relay path to destination" that is sometimes given when a different message would be more appropriate. Version 1.67 Fixed Setup bug (couldn't turn off SMTP authentication). On POP fetch, add an extra CRLF for mail that violates the SMTP standard by ending lines with LF rather than CRLF. (Only old Unix software does this, as far as I know, but apparently there are still people who use old Unix software. In addition, we have to allow for spammers and Microsoft, both of whom tend to introduce new standards violations without prior warning.) Expanded the set of Setup parameters alterable without having to restart the server. More careful definition, in WEASEL.INF, of which Setup options take effect immediately, and which ones require the server to be restarted. Rule change: unregistered users may use multidomain mode, but only the first domain will be supported. (The ultimate aim is to migrate everyone to multidomain mode.) Updated VIOSetup to support some (but not yet all) of the new configuration options supported by Setup. Version 1.66 Major change to filtering system. Filters may now be called at up to five different times during an incoming SMTP session. If there is only one local recipient, there is also an option to replace the default final filter by a user-specific filter, or to skip the filtering for some users. As a side-effect, the order of parameters passed to the filter has changed, therefore existing filters need to be modified. Fixed a bug that would cause Weasel to fail if SMTP was disabled. Since this bug has been present for many versions, and has never been reported, this tends to suggest that nobody ever uses Weasel in conjunction with another SMTP server. Added a message to the log file to say "Delivered" or "Failed to deliver" for an SMTP outgoing mail item, to make it easier for log analysis tools to distinguish between success and failure. Made the responses to spammers a bit more consistent with RFC2821. (With some reluctance. I still think that RFC2821 makes too many concessions to tolerating spammers.) Moved endmail.exe and scavenge.exe to the tools subdirectory, on the grounds that most people won't need them. Fixed: crash on invalid AUTH command. Added an error message for the "No command supplied" case. (An empty SMTP command should never occur, but the spamming software is getting sloppier in terms of ignoring the standards.) Changed the upper limit on number of threads for outbound mail to 64. Changed the default for "log outgoing mail" to FALSE. Fixed: (rare) SETUP crash when working on aliases. Changes in internal library implementations. Fixed an error in CRAM-MD5 authentication. Increased the stack size per thread to 64 KiB. Version 1.65 This (buggy) version withdrawn immediately after release. Version 1.64 Fixed error in verifying a POP login. You can now specify how many threads will handle outbound mail (range 1..99). Added option of a log file (SMTPOUT.LOG) for outgoing mail. Updated LoadINI and DumpINI to handle options that have been added in recent changes. Fixed: recipient list passed to a filter could contain remote addresses resulting from an alias expansion. Clear all 'LOCK.!!!' files at startup. (Previously this was being done only for the single-domain case.) Version 1.63 Don't automatically create a 'postmaster' account if there is an alias, possibly wild, that will handle 'postmaster' mail. Fixed: crash when loading complicated set of aliases, a crash that appears to be caused by an OS/2 Prf API bug. Increased the "listen" queue length to 5. Removed the "routing loop?" from the "no relay path to destination" error message, because there are too many cases where this is a temporary loss of connection rather than a routing loop. For outgoing mail, increased the timeout on the initial connection attempt from 75 to 150 seconds. This is to accommodate the deteriorating network performance now that so many ISPs are replacing their fast Unix mail servers by slow Windows servers. Version 1.62 Identifies EXPN as a supported ESMTP command, even though we will respond only with "that information is confidential". Avoid creating a redundant postmaster directory in multidomain mode. Implemented AUTH command for both incoming and outgoing SMTP, with methods PLAIN, LOGIN, CRAM-MD5. Removed the "accept mail for unknown users" option, and added conversion code in Setup and VIOSetup to add a wildcard alias if that option had been set. Added a 'Demote' option to the Alias page in Setup. For outgoing mail that has to be retried, we now wait until after several attempts before sending the sender a "delivery has been delayed" notification. (The previous strategy was to send that notification after the second attempt, which was probably too soon.) Version 1.61 New interpretation of alias expansion: if there is no '@' in an address, we assume the current domain. Fixed: some "delivery failure" messages were using [127.0.0.1] as the name of the sending host. Avoid sending a bounce message to the address <>. Clearer indication that registration code has been accepted. Version 1.60 General tidying up to permit a non-beta release. First official release of the multidomain feature. Version 1.59 Permit wildcards in alias names. Added test for NIL descriptor in TaskControl.SuspendMe, and increased heap limit to 8MB. Made the software again runnable on older 16-bit versions of the tcp/ip stack, as well as on the newer versions. Version 1.58 Fixed a bug in alias expansion that was causing redundant files to be created in the MailRoot directory. In single-domain case only, switched back to something similar to the older method for identifying a POP user. On incoming mail, long lines wrapped if they go over 1000 characters. (This is helpful for e-mail clients that get confused by junk mail that violates the SMTP standard.) More care that our hostname matches the IP address in things like HELO parameter, timestamps, etc. Version 1.57 Added option to say whether password should be used to work out which POP3 user is logging in, in the case where the same username occurs in more than one domain. Added a check for duplicates in "Add all local IP addresses". Changed the "unknown user" error code from 553 to 550. Added test for unknown local user during alias expansion. Removed the "via" message from the log in the case of an unsuccessful delivery attempt. Documentation of multidomain mode added. Timed demo now enabled until the end of January 2003. Version 1.56 Fixed error: mail could be duplicated if a message was received just as we were going on-line. Added a "too many hops" check on incoming mail. Allow optional parameters for DumpINI and LoadINI. Fixed initialisation failure when a hostlist contained a numeric range of IP addresses. Fixed error: data being lost when users moved to a different domain. Better handling of the case where a filter changes or deletes the "Return-Path" header line. This version released as a beta, not as a public release. Version 1.55 Fixed an error in alias expansion. Includes time-limited demo of multidomain mode, untested. This version released as a beta, not as a public release. Version 1.54 Added option to auto-detect dial-up connection. Major internal changes in hostlist handling in preparation for the switch to multidomain support. Added an error check to the "create thread" operation. This version released as a beta, not as a public release. Version 1.53 Removed detailed counts for outgoing mail. Yet another change to shutdown handling. Version 1.52 Slight change to shutdown handling. Also added a FINISHED event semaphore, to confirm shutdown complete. Version 1.51 Don't reset the RECEIVED semaphore before posting, for better Major Major response. Slight change to shutdown thread, to avoid need for typing Ctrl/C twice. Version 1.50 Added a global semaphore to force shutdown. The namelist for a filter no longer reveals the expansion of aliases. Made the initial 'checking' messages more visible. Modified the 'for' part of the 'Received:' header line, to be an accurate copy of the RCPT TO: address. Fixed bug where mail queued before we went online was sent twice. Version 1.40 Altered the queue throttling algorithm for outgoing mail. Increased limit on POP username size to 255. Allow filters to return a message to be sent to the client in the case of rejection by filter. Refined test for when an outgoing mail is not worth retrying. Corrections to the way the number of jobs in progress is calculated. In POP command DELE, added check for deleting a message that has already been deleted. Changes to make it harder for an attacker to guess passwords, e.g. we don't reject a POP login attempt when an incorrect username is received, we wait until after the password is supplied. Fixed a memory leak in MD5 calculation (affects UIDL). Corrected bug introduced in version 1.30 related to huge file support. This version should again work with pre-FP15 versions of Warp. Domain included in local addresses passed to a filter. (This corrects a regression made in version 1.30) Setup: added count of users. Version 1.30 Increased number of worker threads that send mail to 16. Radical change to the way the outgoing mail is sorted. This should improve mailing list performance. Optional serialisation of filter operations, to compensate for Rexx scripts that can't handle more than one thread at a time. For relay host, use direct lookup rather than MX lookup. Extra guard against memory overflow in high-traffic conditions. Mail no longer sent through backup relay for recipients where the original server has rejected this user. New way of specifying blacklist sites, as a result of the way those sites have changed. In Setup and VIOSetup, added check for a user name that duplicates an alias, or vice versa. VIOSetup now supports most things that Setup does. Fixed bug: misleading error message if no valid recipients. Fixed memory leak in UIDL command. Version 1.20 Speed improvement for POP3 fetch of big message. New rule: dot-stuffed lines remain dot-stuffed as long as they are in the Weasel mail directories (including the 'forward' directory). Previous versions removed the extra dot, then reinserted it when a POP user did a fetch. This will require a change to any software that deposits mail directly into the Weasel directories. This change implies that anyone who upgrades to the new version of Weasel should also upgrade to the new versions of - popget - qmail - Major Major - EchoNews if they're using those packages. Added a check for faulty nameserver response. Fixed error in Setup: blacklist options weren't always being stored correctly. Fixed obscure error in handling a range of IP addresses. Fixed error in the Setup 'Promote' option. New way of identifying a thread, to get around possible bug in run-time system. Version 1.10 Added more anti-spam options in the "Options" setup page. Option of extra detail in transaction log. Replaced all RndFile operations by API calls. Error reply returned for "Mailbox already locked" for better conformance with POP3 standard. This reverses a change made in version 0.4. Check for case of retry scheduled for negative time in future. Version 1.00 Fixed: was not working properly if started from inetd. More detailed logging of outbound mail. New 'techdata' manual added to the distribution. Format of TNI file changed significantly. Better buffering of socket I/O. New rule for POP-before-SMTP authentication: once it has obtained this authorisation, an SMTP client keeps it for multiple operations, as long as the authorisation time doesn't expire between operations. Changed computation of a message UID so that it also depends on file date and time. Permit old-fashioned path specification in the SMTP commands MAIL and RCPT. Fixed: crash when POP user supplied an empty username. Version 0.99 Removed reliance on tcp_h_errno(), which appears to be giving faulty results. Removed a case sensitivity in user names in PMSetup. Renamed PMSetup.exe to Setup.exe. Version 0.98 Renamed Setup.exe to VIOsetup.exe. Include domain name for local users in recipient file used by filters. Direct delivery of local mail even if "use relay host always" option is in force. External program can now force check of "forward" directory by posting an event flag. (Feature added to make Major Major output faster.) In addition Weasel now posts an event flag on incoming mail. Added check that ensures that the SMTP commands for outgoing mail use angle brackets around the addresses. Version 0.97 Fixed error: multiple copies of mail being sent out. MIME encapsulation for failure message. Version 0.96 Periodic re-scan of "forward" directory to see whether mail has been placed there by other programs. Endmail modified so that it no longer uses the $i parameter, for compatibility with newer versions of sendmail. (This won't affect most Weasel users. It's relevant only if you use a Weasel/sendmail combination.) PMSetup changed so that "public" is the initial default for an alias. Faster shutdown when dealing with hard-to-deliver mail. We now add Message-ID header if it's missing. Adaptive timeout for outgoing SMTP connection. In SMTPData.AcceptOneLine, made provision for a Nul appearing as an incoming data character. Fixed error: was running out of memory when there were more than 800 mails waiting to be sent. Version 0.95 Fixed a list corruption problem in POP-before-SMTP authentication. Removed the source files and some of the tools from the main distribution. (Tools are now available for separate download - they rarely change from one version to another.) Version 0.94 Added option for POP-before-SMTP authentication. Filter strategy changed back to using DosExecPgm (since the other solution was preventing filters from being run when Weasel was run detached). Fixed an error in the Setup "promote host" operation. Added server replies to detailed transaction log. Added option to specify a nonstandard relay port. Added "Real name" and "comments" fields to user data in PMSetup. Version 0.93 Added option to use Realtime Blackhole List. "Bounce" messages to local users are now delivered without having to go on-line. Fixed PMSetup bug (SMTP timeout) Filter strategy changed - now using DosStartSession which appears to be more reliable. Transaction log now shows which host we sent mail through. Fixed a PMSetup bug - was failing to write back a host list after all items were deleted. Added option to check whether the MAIL FROM address is on a blacklisted host. Added option to use a relay host as a backup. Version 0.92 Added option to accept mail for unknown users. Added -G option to PMSetup. Check whether outbound mail is looping. Minor change to POPGET - doesn't create new directories. Simplified module TaskControl. Fixed some memory leaks in the kernel. Filters now inherit the environment, including PATH. Reduced the "going online" delay to 4 seconds. Version 0.91 Now using version 2.32 of the compiler. This should fix a "thread leak" problem. Fixed error in filtering: non-local recipients were missing from the list of recipients. Added SEND.CMD to the Tools collection. Repaired error in POPGET.CMD. More accurate handling of timeout. Fixed socket leak on "failed to connect" condition. Added a "for" item on the timestamp, but only in the case of a single recipient. Allow for longer responses from nameserver. Version 0.90 PMSetup in remote mode now creates user directories if necessary (requires an upgrade to version 0.4 of INIServe). Fixed a problem in endmail. SMTP log uses IP address if hostname cannot be found. Tightened up a check for pathological cases; this seems to solve a problem where hard-to-reach destinations led to a crash. Version 0.88 Added SMTP and POP log files. Changed way we determine our own host address. Minor enhancements to PMSetup. Allow a numeric range in a list of host names. Minor change to screen output format. Fixed a Setup bug that was causing a spurious error message in the log, and another that was causing the "relay dest" list to be incorrectly stored. Version 0.87 New system for wildcard matching on host names. Optional filter for incoming mail. Relay mail allowed to specified destinations. Setup updated to allow for new options. Outgoing mail is held until a file 'ONLINE' exists. Complete rewrite of PMSetup. Version 0.86 Fixed a problem with wildcard matching. Version 0.85 Timeout on remote host when sending mail. Now running 4 threads for outbound mail. Minor fix to reading mailroot from INI file. Major change to the way "forward" mail is stored. Scavenge.exe modified to convert any unsent mail to the new format. Setup creates mailroot directory if it didn't exist. Obsolete threads killed a little faster. Fixed a problem where a session would time out when transferring a large file. PMSetup added to distribution. Version 0.83, 0.84 (Private test versions, never released.) Version 0.82 Fixed a memory allocation error in LoadINI. Minor change in the host name-matching, which might help with a reported error of wildcards not working. Fixed a problem of spurious characters being inserted in incoming mail that contains byte-stuffing at beginning of line. Minor correction to the nameserver lookup code, for the case where there is no MX entry for the destination domain. REXX script to migrate OS2PopS user data. Version 0.81 Fixed an error that caused the software to lose track of some outgoing messages. Scavenge utility added to the distribution. Version 0.8 Change in MX check - swap byte order of IP address in case where MX record not found. (And software tidied up to guard against other cases of confusion between network byte order and host byte order.) Changed the re-try strategy, to improve the chances of successful delivery of mail to hard-to-reach destinations. Increased the number of retries, to a total of 26 attempts over four days. Version 0.7 Redundant nameserver lookup removed (should speed up delivery slightly for outgoing mail). Fixed an error in APOP authentication calculation. SMTP connection dropped if client sends too many undecipherable commands. Changed the "user not local" response code from 251 to 250, to work around a Netscape bug. Source code added to distribution. Version 0.6 More detailed checks for a valid sequence of SMTP commands. More careful checking for uniqueness of generated file names for received mail. Added a Return-Path: line to mail header on final delivery. In host name lists, the single character "." now matches anything. New option to send all outgoing mail via a relay. Added SMTP commands VRFY, EXPN, EHLO. Added POP commands APOP, UIDL. Added sender IP address to the "Received:" line on incoming mail. Version 0.5 Retries of outgoing mail (for 4 days) implemented. Fixed an error in alias expansion. Fixed a problem of sockets not being released. Version 0.4 New feature: aliases. Local host names: we now accept "mymachine" as a synonym for "mymachine.localdomain". If POP mailbox is locked, extra clients can still log in, but they'll see an empty mailbox. Added check for duplicate local recipients. Fixed a bug that caused the SMTP server to use an alias instead of the official host name. Local usernames are now case-insensitive; but we don't alter the case of remote usernames, in case the remote server uses case sensitivity. Version 0.3 Mail relaying permitted for trusted hosts. (This is the biggest change - I had to add a major subsystem for dealing with outgoing mail.) Locked mailboxes automatically unlocked at startup. New "wildcard" syntax for domain names in Setup. General overhaul of everything. Version numbering system changed. Version 0.02 Added check for missing user directory. Fixed a logging error: transaction log was going to the wrong file, and causing the INI file to explode in size. Inetd option implemented (but not yet tested). Allowing a list of possible names for the current host. Check for banned clients. Version 0.01 First beta-test release.
 ftp.pmoylan.org/Weasel/old/weasel1704.zip  local copy
Record updated last time on: 06/12/2018 - 04:45

GTranslate

English Dutch French German Korean Russian Swedish

Add new comment