SPECIAL NOTES ABOUT THIS UPDATE:
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 messages. 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 informtion.
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. Examples\ListFiles Examples\ListUsers - 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 .... else ... 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: EnableAcceptRefuse MaxConnections - 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: FTPCMD-internalcommand.wcx 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. Examples 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: LogMilliSecs LogLineNumber - 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 TWildcatServerGuid - 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. Why? - 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 rules. NOTES: 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.