Santronics Software, Inc.,
Version 6.4 Build 454.1


This major revision is a plug and play update, which includes many new features as well as substantive enhancements. If you are using Wildcat! utilities such as wcConfig, wcNode, wcLocal, wcReport, etc on different machines, or running doors and the Wildcat! folder is not mapped and shared from the main Wildcat! root directory, you need to make sure the following interface DLL files are copied over to the different machines and folders:

WCSRV2.DLL (required for all Wildcat! applications)
WCVB.DLL (only required for wcReports)

Otherwise, you may see Version Mismatch popup errors.


Changes, New Features and Enhancements by Wildcat! Component  

WCDKIM (Wildcat! DomainKeys Identified Mail)

- NEW: A new add-on product, Wildcat! DKIM to support DKIM signatures.

  wcDKIM allows you to digitally sign your mail using the new industry
  standard called DKIM adding special "DKIM-Signature" headers to your outgoing

  wcDKIM will also verify incoming messages using DKIM-Signature
  headers.   To enable, add smtpfilter-dkimverify.wcx to the [HOOKS]
  section of the data\smtpfilterhookloader.ini file.

  See the installed wcdkim\wcdkim-readme.txt file for additional setup

WCWEB (Wildcat! Web Server)

- ENH: Make sure you delete any html-captcha.wcx as this image is now
       part of the stock library wildcat.wcl

SMTPFILTER (WCSMTP Mail Filter Scanner)

- NEW: New feature for SMTPFILTER for recording "meta data" created by
       the script for WCSMTP to record in the WCSMTP trace logs.

- NEW: SMTPFILTER now includes Wildcat! Greylisting filtering scripts.

- NEW: SMTPFILTER now includes an Auto Whitelisting filtering script
       which offers tremendous value to automatic the whitelisting of
       your business and social network of email addresses.

WCBASIC (Wildcat! BASIC Software Development Kit)

- NEW: New DNS Resolver functions

       See wcdns.wch header file for complete details.

- FIX: Fixed HttpRequestQueryString() for urls with ? only

- UPD: Updated wcBASIC library source code and layout preparing it for
       future SVN "open source" (library) distribution

- UPD: Updated WcRefresh source code in wcBASIC examples

- NEW: New examples were added to WCBASIC distribution.


- NEW: New wcBASIC headers added:

       wcsqlite.wch  - sqlite3.DLL API wcBASIC Wrapper header file
       wcspf.wch     - wcspf.dll API wcBASIC Wrapper header file
       wcdns.wch     - documents wcBASIC intrinsic DNS resolver functions

- DOC: A special reminder note regarding opening files in wcBASIC

       dim f as integer = open filename as input

       f > 0   successful
       f = -1  an error occurred opening file
       f = 0   should NEVER occur as zero value has meaning for
               wcBASIC console I/O

       You should use greater than zero to check for success:

       if f > 0 then
          ... file open successfully ....
          ... error opening file, see GetLastError() ...
       end if

WCDNS (Wildcat! DNS Resolver)

- NEW: New and improved DNS resolver with caching.  wcSMTP, WCSAP, wcDKIM
       and wcBASIC apps using the new DNS resolver query commands now
       use wcDNS for improved DNS queries.

- NEW: New utility wcDNSCache to view and clear DNS caching.

- NEW: wcBASIC now supports WCDNS directly with new DNS resolver functions.

WCDNSCACHE (Wildcat! DNS Cache Utility)

- NEW: wcDNSCache - New wcDNS Cache Utility

  This is a new utility for the new enhanced Wildcat! DNS client
  resolver which now includes caching support to speed up query
  operations.  Wildcat! now uses WCDNS.DLL as its DNS resolver in the
  following areas:

     - wcSAP for all its various DNS related queries
     - wcSMTP for rDNS and MX lookups
     - wcDKIM for public key queries
     - wcBASIC applications using the new intrinsic DNS commands

  Whenever a DNS query is made, it is cached in the subfolder wcDKIM\
  using its TTL (Time To Live) as its expiration time before a new query
  is done. Otherwise when a redundant query is made, the cached result
  is used.

  Over time, these records expire and accumulate quickly on a busy system
  in the wcDKIM folder.   You can manually delete the files or you can
  use the wcDNSCache to view, pack them.

  For example:

     wcdnscache /l         to list all records
     wcdnscache /pack      to delete all expired records

  Type wcDNSCache with no options to see the help.  You can use wcDNSCache
  in wcEvent to create a regular schedule to purge the expire records, i.e,
  daily, weekly, monthly. We recommend weekly.

WCFTP (Wildcat! FTP Server)

- ENH: Improved socket/port operations

- ENH: Major reliability and performance improvements.

- FIX: Fixed connection drop aborts on control channels.

- FIX: Fixed session time exceeded not checking "Ignore Time Online" flag

- NEW: New FTP Timeouts

  WCFTP now offers three timeouts:

     FTP Login Timeout       waiting for a login
     FTP Idle Timeout        waiting for a command after a login
     FTP Data Timeout        waiting for idle file transfer

- NEW: New FTP registry options:


- NEW: FTP hooks

       The following are the WCX capabilities in wcFTP:

       ftpScanFile.wcx      - Called after an upload and before the
                              posting to the file area, and before the
                              server response to the client.

       ftpLogon.wcx         - Called after successful login and before the
                              server's successful response to the client.

       ftpPostDownload.wcx  - Called after a file is downloaded. Useful
                              for recording or notifications.

       NewFileNotify.wcx    - Called after a file is received and
                              after ftpscanfile.wcx is called.

- NEW: FTP Server now has the capability to override internal FTP commands
       (USER, PASS, etc) using an WCX override:


       Previously, you could only use the FTPCMD-xxxx.WCX for unknown
       FTP commands (extending the commands).

       This is an advanced concept. Now you can override the FTP server
       functionality using WCBASIC.

- NEW: New wcFTP registry options:

       EnableNoFileStats    set to 1 to skip updating file stats after downloading
                            and uploading.

       EnableAcceptRefuse   Default is 1, set 0 to revert to old method

WCLS (Wildcat! List Server)

- NEW: New /RESCAN option to force rescan at startup

- ENH: Automatic High Pointer Checker to perform auto rescan at startup.

- NEW: Reactivate Inactive new message

WCMAIL (Wildcat! Mail Gateway)

- ENH: Improved logging for tracing importing of mail.

- FIX: Fixes loop of incorrect bounced mail processing.

- UPD: Added fix for supporting NT Services under Windows 2008/Vista/7

WCNODE (Wildcat! Node and Server Monitor)

- ENH: wcNode now allows for port services state changes.


  wcnode ftp /refuse         <-- mark & refuse connections for ftp server only
  wcnode modem /down         <-- mark down all the modem services/nodes only
  wcnode /refuse /wait       <-- mark down all services, wait for active nodes to finish
  wcnode ftp http /up        <-- mark up the ftp and web server

  Traditionally, wcNode was designed around modems and pre-allocated
  nodes. So supplying any node number or range as parameters was only
  applicable to modems.  The Wildcat! internet hosting servers dynamically
  allocate nodes so it wasn't possible to just stop the FTP server without
  stopping all servers with the /ALL switch.

       Old way: No option to just stop the ftp server.

         wcnode /refuse /all

       New way allows for just one service to be changed:

         wcnode ftp /refuse

WCPOP3 (Wildcat! POP3 Server)

- FIX: Fixed an authentication issue with APOP

WCSAP (Wildcat! Sender Authentication Protocol)

- FIX: Fixed bug in WCSAP which used TCP for DNS randomly, and some
       Firewalls on NAT routers did not like this.  DNS lookups must
       use UDP first, then fallback to TCP for truncated responses.

- NEW: wcSAP now uses internal wcBASIC DNS Resolver functions for faster
       DNS operations.

- ENH: Enhanced logging options:


- NEW: Added XML vs SOAP Web Services

- CHG: For RBL performance recording, default set HKEY_LOCAL_MACHINE

- CHG: Testwcsap.htm is now read from wc:\wcsap\ folder

- NEW: WCSAP.WCX can now be used for web access (add to data\wcxaccess.lst)

- DOC: Deprecated SUPPORT_VCD, SUPPORT_CEP, SUPPORT_DMP, see wcsap.wch

- ENH: CBV now uses async socket operations. see new option

       ConnectWaitTime 10 secs default

WCSDK (Wildcat! Native Language Software Development Kit)

- NEW: New API functions

       BOOL WcGetWildcatServerGuid(TWildcatServerGuid &wg);

          Get unique server guid across all clients, see structure

- ENH: Improved WriteLogEntry() function

       BOOL WriteLogEntry(const char *fname, const char *text)

       WriteLogEntry() is used to append a text string to a log file
       in the root Wildcat! directory where wcServer.exe is located.

         WriteLogFile("myapp.log","some log line")

       The text string was limited to 255 characters. This was
       extended to 1024 characters.

WCSERVER (Wildcat! Server)

- FIX: Fixed an authentication issue with APOP

- NEW: New events were added to the Systems Event viewer

WCSMTP (Wildcat! SMTP Server)

- NEW: wcSMTP now use the WCDNS.DLL DNS client library for outbound mail.

- FIX: Fixed an intermittent RPC server Context Creation issue under
       multi-core/cpu machines with multiple clients trying to connect
       and create a context at the same exact microsecond time.

- FIX: Fixed issue with SMTP clients who dump their commands/data
       without waiting for responses, sometimes missing DATA depending
       on the underlying network bandwidth and flow controls.

- FIX: Fixed option for NO QUIT CANCEL when SMTPFITLER is disabled.

- NEW: Support for multiple roles startup

  wcsmtp /router         - begins wcsmtp as a router only
  wcsmtp /receiver       - begins wcsmtp as a receiver only
  wcsmtp /sender         - begins wcsmtp as a sender only.


  - Help reduce performance issues when a single process is working as
    three different SMTP components: Receiving Mail, Routing Mail and
    Sending Mall.  These three roles under high mail load environments
    can reduce performance on the machine.  With the router now having
    wcDKIM mail signing processing overhead, it may be necessary for
    larger operations to use a wcSMTP router role separate from the
    receiver/sender roles.

    While three separate roles are possible, it is only necessary to
    have two roles:

     wcsmtp /router
     wcsmtp /receiver /sender

  - Provides a way to run wcsmtp on different machines under different


  1) Desktop Startups using wcSTART

     wcSTART was enhanced to help support two startup entries with the
     same name such as wcSMTP which can now start up as different roles
     as long as the proper event signal names are different. For
     example, two startup entries for wcSMTP

     parameters: /router
     event name: Wildcat.SmtpUpEvent.Router

     parameters: /receiver /sender
     event name: Wildcat.SmtpUpEvent.Sender or Wildcat.SmtpUpEvent.Receiver

  2) NT (Windows) Services Startup

     You can install WCSMTP under the two roles as two different NT
     services.  Example install switches:

     wcsmtp /install /name:wcsmtpServer "/disp:Wildcat! SMTP Server" "/args:/sender /receiver"
     wcsmtp /install /name:wcsmtpRouter "/disp:Wildcat! SMTP Router" "/args:/router"

     You can now use NET command to start services:

     net start wcsmtpserver
     net start wcsmtprouter

     Note: To remove the services, you need to pass the /name switch:

     wcsmtp /remove /name:wcsmtpServer
     wcsmtp /remove /name:wcsmtpRouter

WCSMTPSTATS (Wildcat! SMTP Statistics Generator)

- UPD: WcSmtpStats was updated for 453.4+ log file name support. See
       the utility wcsmpstats in the Santronics Online File Section.

WCNTSERVICES (Wildcat! Windows/NT Services)

- DOC: When running Wildcat! as an NT Service, it is a good idea to use
       fully qualified paths for all path definitions.  Do not use
       NETBIOS paths as Windows has a tendency to lose track of shared
       NETBIOS folders.

- UPD: Supporting NT Services under Windows 2008/Vista/7

- NEW: WCSMTP can now run under different roles.

       See the WCSMTP change notes regarding installing WCSMTP under the
       two NT service roles.

WAIT32 (Wildcat! Utility)

- NEW: Improved WAIT32 utility

WCMODEM (Wildcat! Modem Host)

- NEW: The Wildcat! Modem Server (WcOnline) now directly support special
       hardware/cable configurations where the DSR (Data Set Ready)
       signal is used for Carrier Detection.

       The typical normal requirement is the DSR signal is always on and
       the DCD (Data Carrier Detect) is used to detect a new connection.
       The carrier is raised when a call comes in, and the carrier is
       dropped to disconnect the session.

       However, some hardware setups use cables where the DSR signal
       is only raised when the connection is established.

       Wildcat! now provides an option to select the Carrier Detection
       Method under modem setups:

       Carrier Detect Method:

       (o) Auto Detection (default)
       (_) Use DCD signal
       (_) Use DSR signal

       With Auto Detection, Wildcat! will sense whether DSR is raised or
       not when it first opens the port. If DSR is raised, then DCD will
       be used for carrier detection. If not, then DSR will be used for
       carrier detection.

WCSTART (Wildcat! Startup)

- ENH: Now runs on old Windows NT (checks for RAS not existing)

- NEW: Now allows for multiple programs to start as long as the
       program titles or event signal names are different.