Version 6.3 Build 452.5

SPECIAL NOTES ABOUT THIS UPDATE:

Version 6.3 Build 452.5 is major update . It includes fixes and new features.  If you are up-to-date with Wildcat! versions, this is essentially a plug and play update.

SEE SPECIAL UPGRADE NOTES

Changes, Fixes, New Features and Enhancements by Wildcat! Component  

WCSERVER (Wildcat! Server)

- NEW: Added Telnet port and POP3 port initialization support

- NEW: Added new Hot Backup Support Options

WCWEB (Wildcat! WEB Server)

- NEW: Added WMV (Windows Media Video) playing support to file areas

- FIX: Fixed typo in message_inbox.htm template

- CHG: Added Mail Preview during framemode

Mail Preview was disabled in previous version when reading the inbox in framemode. It is now available via Framemode for the inbox.

- FIX: CGI Directory Only Fix

When the checkbox is enabled:

    [X] Allow Script Maps in CGI Directly Only

Running PHP scripts fixed due an incorrect setting of the PHP specific environment string SCRIPT_FILENAME. The fix allows PHP to be used with the secured CGI Directory only option enabled.

WCSMTP (Wildcat! SMTP Server)

- ENH: Changed Received line for WCSMTP router.

The RFC x822 Received: line added by the WCSMTP router now includes the domain and ip address. We think this might resolves downlink dynamic IP blocks when the mail is sent by users from a home based IP address.

- FIX: Fixed the logging of LastAttempt time stamp. It was using GMT.

- NEW: Added new NO-QUIT-CANCEL-MESSAGE logic per RFC 2821.

When a message is transferred, the sender waits for the 250 response. Once the server sends it (or 45x or 55x for rejects), the sender sends QUIT (or RSET). At this point the mail is passed to the WCSMTP Router which begins to process the message.  If the sender does not send the QUIT (or RSET), then the message is aborted (cancelled).

- ENH: Enhanced the connection drop logic.

This allows better support for SMTPFILTER applications detecting a client connection drop.

SMTPFILTER (wcSMTP Mail Filter Scanner)

The SMTPFILTER (version 2.0) system has been given a major overhaul.  It is faster and better with new options.  Yet, it remains compatible with your current setup files:

data\smtpfilterhookloader.ini
data\spamwords.txt

So you may continue to use your current SPAMWORDS.TXT filtering rules.  All new options are enabled (or disabled) by default.  

To explore and take advantage of the new features, in particular seeing the new options and new powerful words rules system,  see the backed up recommended setup files: 

data\smtpfilterhookloader-recommended.ini
data\spamwords-recommended.txt

NOTE:  The recommended files were installed automatically.  For new SMTPFILTER installations,  the recommended files are copied and used as your current setup files.  For current installation, your current setup files remain the same.  They are not overwritten.

Overall, the enhancements are:

- Improved to better support connection drops.

- New developer functions to improve time slicing, carrier detect.

- Faster mail scanning.

- New [WordsXXXXX] sections and rules.

- By default, [Words] section skips file attachments.

WCLISTSERVE (Wildcat! List Server)

- FIX: UUCP vs SMTP RFC x822 header format.

When using the UUCP transport, some headers were now using the correct list admin email address.  This was fixed for UUCP transports.

- FIX: Adding of footers (and headers).

Adding footers (and headers) was fixed with the updated version of MIMELIB.DLL

WCBASIC (Wildcat! BASIC Software Dvelopment Kit)

- NEW: New StripTags() function was added

Function StripTags(s as string, allow as string = "") as string

StripTags() will remove all HTML "<xx>" tags from the S string.

If the parameter allow contained the "<xx>" tags, these tags will not be removed. By default, allow is blank and does not need to be passed.

- FIX: Fixed a bug in FLUTIL.WCC.

A bug was fixed which caused "files not found" in the text mode file listings.

- ENH: Trim() function now does a true white space trimming.

- ENH: Added constants in WCSDK but not in WCBASIC compiler, i.e, maAllowDupes.

WCREFRESH (Wildcat! File Library Refresh Utility)

- ENH: WcRefresh was updated to provide FTP and WEB support. See File Database Refreshing

WCSDK (Wildcat! Software Development Kit)

- FIX: Initialized internal connected server variable. 

When the SDK function GetConnectedServer() was used prior to using WildcatServerConnect(NULL), there was a random chance of a corrupted server name and the DLL aborted.

- ENH: First GetPrevUser() call now calls GetLastUser()

The WCSDK function GetPrevUser() now calls GetLastUser() if the user record is empty. This allows you to reverse list the user database without needing GetLastUser() first:

dim u as tuser
dim tid as integer
tid = 0
clear u

while (GetPrevUser(UserLastKey,user,tid))
      print .. user information ..
wend

as opposed to

dim u as tuser
dim tid as integer
tid = 0
clear u

if GetLastUser(UserLastKey,user,tid) then
   do
      print .. user information ..
   loop while (GetPrevUser(UserLastKey,user,tid))
end if

The latter is still valid good and technically correct to work in all cases. So the enhancement is simply a way to reduce coding with the internal logic to start with the last record if the internal cursors are blank. Once the cursors are set, GetPrevUser() will continue to operate by getting the previous record.

- ENH: The Wildcat! DOOR32 module was enhanced with new functions:

DWORD DoorEvent(const DWORD timeout);

This can be used by DOOR32 applications to return the keyboard event:

WCDOOR_EVENT_FAILED      <--- critical error
WCDOOR_EVENT_TIMEOUT     <--- no event within timeout
WCDOOR_EVENT_KEYBOARD    <--- a character was hit
WCDOOR_EVENT_OFFLINE     <--- system dropped connection

- See wcBASIC/WCSDK Update Information.

WCT (Wildcat Template Processor)

- NEW: New WCT Macros

BROWSER.NAME

Returns the name of the user browser such as:

MSIE
FIREFOX
SAFARI
OPERA
K-MELEON
KMELEON
WCNAVIGATOR

Example:

@IF BROWSER.NAME = "MSIE"@
.... IE is the user's browser ...
@ENDIF@

BROWSER.name_of_browser

Return TRUE or FALSE for the browser name test, for example:

@IF BROWSER.FIREFOX@
.... firefox is the user's browser ...
@ENDIF@

- See Wildcat Template System.