Sorry, alleen Engels.
For changes marked [obsolete] or [removed] see the list at the top of the Resources.Sources.RunImage file or the StrongHelp manual in the zip. Changes with numbers in red are bugfixes.
AntiSpam - changes from version 1.68 to 1.69
- 336: Removed all code related to using 'negative' monotonic time values (i.e. after 248.5 days uptime). Not just because that is an unlikely scenario, but it would mean Wimp_PollIdle's 'next null poll' time would become negative as well and that simply will not work.
- 337: Implemented 'Separate Poll Interval' ([326]), enabling the setting of a separate poll interval per mailbox.
- 338: Switches read from CLSwitches now have a higher priority than real command line switches. Also, lines not starting with a lower case letter are ignored.
- 339: Added verification of (envelope) sender using a new rules file Sender keyword.
- 340: Messages with a huge number of header lines could still make the program crash...
- 341: [removed]
- 342: Increased maximum password size in templates to 100 characters.
AntiSpam - changes from version 1.67.1 to 1.68
New features
- Mail sending functionality, which has been available through the external application !MSC for many years already, but now under the transport name AntiSpam. This replaces POPstar as default transport and uses a specially tuned version of MSC, supplied with AntiSpam and configurable through the Choices window's Sending frame.
If you have used the stand-alone version of MSC until now, you may want to (try to) import its settings. You may also want to remove any reference to the stand-alone version that may exist in AntiSpam's Settings, like in the Chain or TaskEnd command fields.
The Run frame of the Choices window now has an option to automatically send mail during/after a run.
- Code to identify the two main mail readers, Messenger Pro and Pluto. Includes a support module and a set of transport settings for use with the former and maintaining a specific mail transport structure for the latter. See Using AntiSpam with Messenger Pro and Pluto.
Uses a new item on the Format frame of the Choices window and the Settings keyword MailDirPath.
- A command line switch -nulldelay, to specify a null poll delay in case of ENOTCONN.
- A command line switch -adjustsend, to run the send mail procedure instead of opening the Trial window with a right click on the icon bar icon.
- Reading command line switches from the file CLSwitches in the Choices directory.
- Trailling... item on the main menu.
- Using an asterisk in the (POP) password field to tell the program to use a CrypStor query to get the login data.
Bug fixes
- Fixed crash on switching language, caused by different number of icons in template _06.
- Fixed the -nomask switch changing the wrong icon.
- Clicking Menu on a radio icon in the Choices window's frame selection panel should not change the current frame.
Clean ups
- Changed 'Check area' to 'Scratch area' (scr%) as this area is always used as scratch space.
- Imported bits of an ancient, semi dead project meant to replace part of Acorn's retarded internationalisation system. Also added the FindLocale tool, which is essentially a ResFind replacement and only needed because of !Help.
- Improved check for incompatible older Settings file.
- Moved code blocks around to group more related stuff together (usually not marked). Search to show group headers. Also moved source files and related scripts to Resources.Sources and renamed several of them, e.g. Source to RunImage, !Crunch to BuildRunImage, Assembler to Code and so on.
- Lots of code cleanups, also to do with the test setup and in !Boot, !Help and !Run.
- Added functionality to check and - if necessary create - file paths mentioned in the Settings file.
- Added Settings keyword SeparatePollInterval, in preparation of enabling the setting of a separate poll interval per mailbox. Not active yet.
- Changed FNno_good so files can be optional (dot in second column of Versions). If they're present, they're checked with the usual codes.
- Added setting a system variable AntiSpam$Version.
- The minimum version of AcornSSL that AntiSpam wants is now 1.06.
The same list, but now with change numbers - see the source (RunImage)
- 312: [obsolete]
- 313: Added MSC settings support.
- 314: Changed 'Check area' to 'Scratch area' (scr%) as this area is always used as scratch space.
- 315: Imported bits of semi dead project meant to replace part of Acorn's retarded internationalisation system. Also added the FindLocale tool, which is essentially a very limited ResFind replacement and only needed because of !Help.
- 316: Improved check for incompatible older Settings file.
- 317: Fixed crash on switching language, caused by different number of icons in template _06.
- 318: Fixed the -nomask switch changing the wrong icon.
- 319: Moved code blocks around to group more related stuff together (usually not marked). Search REM> to show group headers. Also moved source files and related scripts to Resources.Sources and renamed several of them, e.g. Source to RunImage, !Crunch to BuildRunImage, Assembler to Code and so on. Lots of code cleanups, also to do with the test setup and in !Boot, !Help and !Run.
- 320: Created !AntiSpam.Resources.Support, a module to 'catch' MPro SWI calls and Wimp messages.
- 321: Changed transport format MSC to AntiSpam, making it the default format instead of POPstar. Added a special copy of the !MSC application to !AntiSpam.Resources. Added AntiSpam$MailDir as the default transfer root, with the option to specify its path - keyword MailDirPath (MDP% / mdp$() - Choices/Format frame).
- 322: Added :send: token and keywords AlsoSend and SendBefore (OZD% / oz%(), VZD% / vz%() - Choices/Run frame) to specify automatic send actions for a run.
- 323: Changed the download/divert/default filenames so they can be specified without path. This will lead to the current default Inbound path being prepended.
- 324: Added code to identify the two main mail readers, Pluto and Messenger Pro. Pluto 3.16 and earlier needs POPStar's directory structure and Messenger Pro needs the Support module and a transports directory.
- 325: Added functionality to check and - if necessary create - file paths in Settings. Moved PROCget_transport code to PROCcopy_set for this.
- 326: Added SeparatePollInterval (SPI% / spi%() - Choices/Mailbox/General) but not enabled yet (no time to code and properly test it).
- 327: Added command line switch -nulldelay to specify a null poll delay in case of ENOTCONN.
- 328: Changed FNno_good so files can be optional (dot in second column of Versions). If they're present, they're checked with the usual codes.
- 329: Added setting AntiSpam$Version.
- 330: Added command line switch -adjustsend to run PROCsend_mail instead of opening trial window on Adjust click. Added reading command line switches from the file CLSwitches in the Choices directory. Added Trailling... to the main menu.
- 331: Changed minimum AcornSSL version to 1.06.
- 332: Clicking Menu on a radio icon in the Choices window should not change the current frame.
- 333: Added doing CrypStor query if password is * and (pop) remote host filled in, to allow for queries that ignore the host sent by CrypStor (which MSC does anyway).
- 334: Added copying outbound messages to a separate directory, set by keyword Outbound in MsgCopySettings.
- 335: Improved 'full paths used' warning trigger. Added 'Do not show this again' option to warning window.
AntiSpam - changes from version 1.67 to 1.67.1
- 310: The fix for frame and window switching in the Choices window (change 120) didn't always work as expected.
- 311: Using NOT on values other than TRUE or FALSE may lead to unexpected results...
AntiSpam - changes from version 1.66 to 1.67
- 308: AcornSSL API changed. Version 1.01 of 24 November 2018 (beta 5) is required.
- 309: Loading a newer version of a support module would report an error even if the right version was loaded.
AntiSpam - changes from version 1.65 to 1.66
- 304: Reverted a number of [298] changes so the procedures are always the same up to and including Socket_Select.
Some new changes required to switch to AcornSSL_CreateSession for SSL/TSL as well as StartTLS.
- 305: Removed the (small) null poll delay after AcornSSL's ENOTCONNs as MSC doesn't have any either.
- 306: Added check for (state 76) tot FNsockErr.
- 307: If the portnumber is empty or 0, port 110 or 995 will be selected depending on the security setting.
AntiSpam - changes from version 1.64.1 to 1.65
- 294: Extended the message length in the '#!rmail' line to nine digits.
- 295: Changed FNunique to use a counter and not check the directory, because that wouldn't always catch duplicates.
- 296: Added MsgCopy functionality to selectively copy incoming messages to other locations.
- 297: The code to handle saving old versions of the Settings file was a bit to enthusiastic. Any files named 'Set-1-62' in AntiSpam's Choices directory can be deleted.
- 298: Added support for the new AcornSSL module provided by ROOL (currently still in beta). Lots of changes in the connection and transfer routines.
- 299: Removed most of the debugging code provided by PROCdump. Added trace logging using the command line switch -trace (just for networking errors for now).
- 300: The Warning window could close too soon if 'now%' had not been set yet,
- 301: Added PROCbuild_settings to quickly create Settings file for testing/debugging. Query window command bs.
- 302: More changes because of the third AcornSSL beta.
- 303: More changes because of the fourth AcornSSL beta: SetSessionHost => ConfigureSession,0.
AntiSpam - changes from version 1.64 to 1.64.1
- 293: Added 'connected' timeout, as apparently we can also get stuck waiting for the server greeting.
AntiSpam - changes from version 1.63.1 to 1.64
- 283: Changed the URL of Dave's site and e-mail address.
- 284: Fourth item in PROCget_transport (MSC) was wrong.
- 285: Running AntiSpam in RPCEmu for a while made me realise you do not want any filenames to have characters with the top bit set. Changed the names of intermediate files (is$) and dump files (PROCdump) accordingly.
- 286: Added overall state dependent timeout functionality. This really should have been present from the start, but that did not become obvious until one of my mail providers had some very unusual data transfer problems and randomly stopped responding to POP3 commands.
- 287: Changed NSQ SYS call in PROCbl to specify the query type A (we do not really need all possible records, just the As).
- 288: HostFS does not support ADFS file attributes, so locking a file will not work. As the intermediate files are the only ones that need to be locked anyway, worked around this by using empty flag files in a Locks directory in the scrap directory.
- 289: Replaced PROCstate(idle%) with PROCidle(TRUE) in PROCcreate_socket to prevent the program from going into a continuous loop if one of the socket calls involved fails.
- 290: Changed FNno_good to account for different time granularity of HostFS compared to ADFS.
- 291: The download routine (get%) assumed no boundary line would ever grow big enough to cause buffer overflow. However, some Mail Delivery Reports have ridiculously long lines starting with two dashes...
- 292: Added receiver and sender to the IDs file, because they were not available to the X-AntiSpam headers for manually accepted messages.
Change 292 makes it necessary to remove any IDs file from the Choices directory if - after using version 1.64 - you go back to an earlier version.
AntiSpam - changes from version 1.63 to 1.63.1
- 281: Added the {sndr} User Action Header keyword which results in the e-mail address of the sender of a message.
- 282: The internal number of the first mailbox and the highest internal mailbox number were not set when the program was newly installed.
AntiSpam - changes from version 1.62.4 to 1.63
- 267: Added the {ibx#}, {rcpt} and {uid} User Action Header keywords. This results in the internal box number and the recipient and UIDL value of message respectively.
267: Also, the {box#} keyword would erroneously return the box number in hexadecimal.
- 268: Moved the WIMP message check/process code from PROCsend_mail to FNstart_task() and made it suitable for strings as well as integers.
- 269: Added an optional (numeric) parameter to the AntiSpam_Run message, so another application can tell AntiSpam to check just one box.
- 270: Extended the wildcarded download file name option with #* and @*. This indicates that each message should be placed in its own file with a name made up of ten hexadecimal digits or a reversed date/time string.
- 271: With an asterisk as the last character of the name of a download file, a previous setting of the leafname (even from a previous run) could cause the program to fail or a message to be added to the first download file in the inbound directory.
- 272: Retrieving previously deferred messages could fail because the bitflag of the SkipRetrieved option was added in on manual actions.
- 273: [obsolete]
- 274: [obsolete]
- 275: Changed the internal action code for marked messages which are to be ignored (previously deferred or headered or SkipRetrieved with zero days) from Defer to Ignore as this is what actually happens.
- 276: The Marking window no longer shows messages which have already been retrieved and are ignored indefinitely. Sender and subject of ignored messages are now stored in the NIL files, along with the UIDL value. Future versions of the program may include a function to manipulate these files using a separate window.
- 277: Manipulated messages would not be accepted properly when using wildcarded names for download files.
- 278: Extended the NSQ module with SWI NSQ_Cache and direct country code lookup (not yet used by AntiSpam). Also provided some documentation (!Help file).
- 279: The Trial functions did not have access to the header keyword in its original case in the variable K$.
- 280: Some servers appear to assume it is all right to claim an available message is zero bytes long...