MassTransit Release Notes 4.1.5x3 May 27, 2004 Group Logic, Inc. 1100 N. Glebe Road, Suite 800 Arlington, VA 22201 Phone: (703) 528-1555 Fax: (703) 527-2567 Email: info@grouplogic.com Web: www.grouplogic.com Support: www.grouplogic.com/knowledge This file contains information about changes and enhancements in various versions and builds of MassTransit. Please see the separate Read Me file for other information, including system requirements, configuration considerations and known issues. ================================================================================ HOW TO READ THIS DOCUMENT - Changes are listed from most recent to oldest - Numbers such as "[#10268]" refer to Group Logic's internal change tracking record. - The affected platforms are designed by the reference "[Mac]", "[Win]", or "[Mac/Win"] - If a change affects only a certain version of MassTransit, it will be marked with a designation such as "[Enterprise]" or ["Web Client"] - The numbers prefaced with an "x" indicate the specific build in which a change was introduced. Group Logic periodically releases "hot fixes" to its products to provide customers with access to bug fixes and new features before a full public release is available. Typically, a version (e.g., as 4.1.4) will go through a number of builds (x1, x2, etc.) on the way to a full rollout. Customers can use this information to evaluate whether to update to the latest hot fix. =============================================================================== CHANGES IN MASSTRANSIT 4.1.5 Released May 2004 hot fix for Mac OS 9 Below is a summary of the improvements in MassTransit 4.1.5. * ENHANCEMENT: File corruption checking (CRC) is automatically enabled [#10804] [Mac] MassTransit 4.1.5 reports errors and rejects received file if the CRC for the local and remote users do not match. [x3] * ENHANCEMENT: Reposting of Incoming Calls [#10794] [Mac] MassTransit now attempts to restart listening for incoming calls if a previous error has disabled them. For example, network changes may cause TCP/IP and TCP/IP secure listens to fail and stop accepting incoming calls. MassTransit will attempt to restart the incoming calls every five minutes for up to an hour. If incoming calls are still disabled after this time an error is added to the Log. The default settings for the retry interval and duration may be changed via the MassTransit.cfg file. For information about configuring the options refer to the cfg file. [x3] ================================================================================ CHANGES IN MASSTRANSIT 4.1.4 * ENHANCEMENT: Debug log can be enabled without restarting MT [#9500] [Mac/Win] MassTransit provides a way to reset the log without restarting MT via COM "SetDebugLog" or AppleScript "reset debuglog" calls. Debug log configuration is read from debuglog.cfg file. [x33] * ENHANCEMENT: Hot fixes can be applied without use of SerialConverter application [#9303] [Mac] A new MassTransit hot fix build can be placed into the MT folder without the need to transfer the serial number and registration from the previous one. [x33] * BUG FIX: Connection triggers to server do not fire automatically for Satellite Server [#10268] [Mac/Win] MassTransit properly handles automatic triggering. [x32] * NEW FEATURE: Relative path and originating user parameters added to CreateFileWithProperties COM interface [#10272] [Win] MassTransit adds new parameters RelPath and OriginatingUser to the CreateFileWithProperties COM interface. [x32] * BUG FIX: Proxy via SOCKS could be unintentionally enabled for TCP/IP clients [x32] [Mac/Win] MassTransit 4.1.4 prevents communication problems due to accidental enabling of SOCKS, which is no longer supported. [#10189] * BUG FIX: Possible server freeze with SSL [#10186] [Mac/Win] MassTransit corrects a problem that in rare circumstances could cause the server to freeze when using TCP/IP Secure connections in heavily flow-controlled situations. [x31] * NEW FEATURE: Build number displayed in About Dialog [#10176] [Mac/Win] MassTransit displays the specific build number in the About Dialog. [x31] * NEW FEATURE: Debug log wrapping [#9924] [Mac/Win] MassTransit provides a new option in the "debugLog.cfg" file to limit debug log to a given size by wrapping its content. [x31] * BUG FIX: Possible file database corruption with group file send [#10169] [Win] MassTransit properly handles group file send database updates. [x30] * BUG FIX: Possible server freeze when polling mailbox with >32,000 new entries [#9999] MassTransit properly handles all cases like this now. [x28] * BUG FIX: Possible server freeze with some file types in mailboxes [#9965] MassTransit properly handles invisible hidden Mac files. [x27] * NEW FEATURE: Automatic Forwarding [#9864] MassTransit provides a new feature that allows Enterprise customers to configure contacts to automatically forward all received files to another contact. [x25] * BUG FIX: Possible server freeze after multiple SSL connections [#9944] MassTransit properly disposes of closed SSL connections. [x24] * BUG FIX: Possible server freeze during https requests to SSL port [#9907] MassTransit properly handles https requests to SSL port. [x24] * BUG FIX: Possible server freeze for certain file transmission errors [#9906] MassTransit properly handles certain file transmission errors. [x24] * ENHANCEMENT: Log normal shutdown message [#9858] MassTransit logs "MassTransit shutdown normally." upon normal termination. [x21] * BUG FIX: Most recent log entries are not displayed for logs with more than 32000 entries [#9852] MassTransit always displays most recent log entries. [x21] * NEW FEATURE: PURGE_TO_SEND_RECORDS setting in MassTransit.cfg file [#9816] MassTransit provides a new option in the "MassTransit.cfg" file to delete file records for files that could not be accessed while sending jobs. [x21] * BUG FIX: Some files are skipped in mailbox polling of certain complex job folders [#9809] MassTransit properly recurses through complex job folder hierarchies. [x19] * BUG FIX: Possible server freeze during SSL port scans [#9793] MassTransit properly handles quick TCP/IP connect/disconnect sequences and certain DoS attacks. [x18] * BUG FIX: Summary entries for Group send are invalid in MassTransit log [#9772] MassTransit removes summary entries for Group send in MassTransit log. Transfer information is reported in file transfer entries. [x18] * BUG FIX: Incorrect handling of duplicate files being sent to members of a group [#9714] MassTransit corrects a problem that occurs when files being sent to a group were replaced by updated versions before all members of the group had received the first copy. [x17] * BUG FIX: Long delays between detection of files to send and placement of outgoing calls. [#9712] MassTransit corrects a problem were a considerable delay could occur between the detection of files to be sent and when an outgoing call is placed. MassTransit now minimizes this delay so that files are sent as soon as possible. [x17] * BUG FIX: Outgoing calls using Hot Folder comm. method not automatically triggered. [#9711] MassTransit corrects a problem where the "Restrict total Simultaneous TCP connection to XX connections" and "Allow X simultaneous automatic non-TCP/IP outgoing calls" settings were causing outgoing calls using the Hot Folder communication method not to occur. [x17] * ENHANCEMENT: Forwarding Files Through Multiple Servers [Enterprise only] Files can now be forwarded through multiple servers. A sample workflow follows: a) MT/E Server A has an address book entry for MT/E Server B. Server A has a web client called WebA. Server B has a web client called WebB. b) The administrator for Server A creates a new address book entry and calls it WebB. The admin sets the connection type to "Forward via" Server B. c) The admin then gives privileges for WebA to send files to WebB (using the same permissions UI as currently exists). d) User WebA connects to Server A, selects WebB from the "Sent To" popup, and sends files. e) On Server A, the WebB address book entry now says it has files to send. f) Server A connects to Server B and sends on the files destined for the real WebB user. g) Server B receives the files, and rather than putting them in the "Received" folder for the WebA account (which is automatically created just as it is now if it does not exist), it puts them in the "To Be Forward" folder for WebB. h) Finally, WebB connects and picks up the files. Note that the final destination (WebB, in the above example) can be any form of address book entry (e.g. another MT/E server, a satellite server, a hot folder user, etc.). * BUG FIX: Incorrect priority assigned to contacts with no files MassTransit corrects a problem where outgoing calls for contacts with no files to send were given incorrect priority compared to other contacts. MassTransit now assigns the default priority to such contacts. * ENHANCEMENT: 'originating user' and 'rpath' fields for Jobfile object accessible via AppleScript MassTransit allows to set values to 'originating user' and 'rpath' fields for Jobfile object via AppleScript make command. * BUG FIX: Administration UI locks with some passwords MassTransit properly handles locking and unlocking of the administration across sessions with all passwords. * BUG FIX: Security issues with MassTransit CGI MassTransit corrects security issues with the mt_admin.cgi where, in certain cases, users could execute JavaScript to access cookie information and areas of the web site to which they did not have access. * BUG FIX: MassTransit cannot receive files inside folders that contain a space at the end [Win] MassTransit corrects a problem where a trailing space at the end of a folder name could prevent MassTransit from receiving the folder. * BUG FIX: Fixes problem with files being moved from the To Send to Sent Folder when duplicates were already present MassTransit properly renames files and folders when moving a file from the To Send to the Sent Folder. Previously this could result in "directory not found" errors in some cases. * ENHANCEMENT: Improved database access speed through COM MassTransit has slight modifications to its COM code to improve performance of database access. * BUG FIX: Mailbox polling doesn't recognize new files MassTransit corrects a problem where mailbox polling would fail to recognize new files if the new files' modification dates matched the dates from files sent in the previous connection. * BUG FIX: MassTransit will not run if private key file cannot be found MassTransit will now launch without a private key file, but will disable TCP/IP Secure transfers. * ENHANCEMENT: Improved compression speed MassTransit has slight modifications to its file compression code to gain speed. * BUG FIX: Possible server crash during transfers MassTransit corrects a problem where the server could crash during some transfers. * NEW FEATURE: HIDE_DROP_OFF_FOLDER_CONTENTS setting in MassTransit.cfg file MassTransit provides a new option in the "MassTransit.cfg" file to allow the contents of the "Drop_Off" folders to be hidden from users connecting to the MassTransit FTP Server. This converts the "Drop_Off" folder to a write-only drop box. * ENHANCEMENT: Configurable refresh rates MassTransit includes configurable (and separate) refresh rates for the Log, Address Book, and Job Browser web pages. These values are configurable via the LOG_VIEW_REFRESH, ADDRESS_BOOK_REFRESH and JOB_BROWSER_REFRESH properties in the mtadmin.cfg file. * BUG FIX: Connections without files to be sent given default priority MassTransit corrects a problem where connections without files to be sent were preempted by other connections when no priorities were being used. * BUG FIX: Macintosh custom icons are lost when files are transferred through Windows server MassTransit on Windows will now store custom icons so they will be visible when sent to a Macintosh. * BUG FIX: Dropping Off file with a name containing a * results in server showing a dot under previous character MassTransit will now allow properly replace special characters * BUG FIX: Email notification message body text missing MassTransit corrects a problem where long email body text not saved correctly causing only the first 255 characters to be preserved. * ENHANCEMENT: Increased performance over broadband connections MassTransit includes changes to increase performance over high bandwidth/high latency connections such as DSL. For best performance, see Group Logic Knowledge Base article #103: Tuning TCP/IP Performance for MassTransit at http://www.grouplogic.com/knowledge/index.cfm/fuseaction/view_Info/docID/103. * ENHANCEMENT: Auto-configuration of new contacts MassTransit will now attempt to auto-configure the outgoing communication settings when an unknown server connects for the first time. The configuration information will be correct if the other server is listening on the default ports. * ENHANCEMENT: Performance improvements for Log, Job Browser, and Address Book web access MassTransit includes changes that increase the performance of Log, Job Browser, and Address Book especially on servers that have a large number of contacts in the Address Book. * NEW FEATURE: FTP server blacklist [Mac] MassTransit now allows you to 'blacklist' specified IP address such they may not connect to the MassTransit FTP server. * ENHANCEMENT: Throttle control via COM and AppleScript MassTransit can now have its throttle settings controlled via the AppleScript and COM interfaces. ================================================================================ CHANGES IN MASSTRANSIT 4.1.3 This release consisted only of the web clients. * ENHANCEMENT: OS X web client mtstacktuner The installer for the MassTransit web client now includes an optional component that, when installed on OS X, will adjust TCP/IP settings for better performance on high bandwidth/high latency connections such as DSL. * ENHANCEMENT: Mac OS X Native support in Web Client. The MassTransit web client can now run native on OS X. For best performance, see Group Logic Knowledge Base article #103: Tuning TCP/IP Performance for MassTransit at http://www.grouplogic.com/knowledge/index.cfm/fuseaction/view_Info/docID/103. ================================================================================ CHANGES IN MASSTRANSIT 4.1.2 * ENHANCEMENT: Support for USB hardware keys on Macintosh MassTransit can now run with a USB hardware key. Previously, it required an ADB key with a USB adapter. * BUG FIX: Stopping the MassTransit service does not cause MassTransit to terminate MassTransit 4.1.2 corrects a problem on Windows where stopping the mtservice would not cause the MassTransit process to stop. * BUG FIX: Filtering log entries by contact did not work MassTransit 4.1.2 corrects a problem in which log entries were sometimes filtered incorrectly for web clients and remote administration. If MassTransit was set to display, 100 entries at a time (for example) filtering the log would just filter the first 100 entries, rather than filtering all entries until the list reached 100. * ENHANCEMENT: Folders in the "Pick Up" tab are collapsed by default on Macintosh MassTransit 4.1.2 no longer displays folders in the "Pick Up" tab of the Macintosh web client as expanded, but rather collapsed, as it does on Windows. * ENHANCEMENT: Contact lists in Web Client alphabetized without regard to capitalization MassTransit 4.1.2 now alphabetizes contacts in the Web Client contact list (in the Log and Job Browser) without regard to capitalization. * BUG FIX: Assistant was not reporting when it ran out of memory. On Macintosh, the MassTransit Assistant will now report when it requires more memory for a large transfer. 7. BUG FIX: "Forward to self" does not work if you are part of a group, which exposes its members. MassTransit 4.1.2 will now allow web clients to forward files to themselves when they are part of a group that exposes its members. * BUG FIX: An unnecessary error message in the Address Book after forwarding files to yourself. MassTransit 4.1.2 eliminates extraneous error messages after forwarding files to yourself. Previously after forwarding files to yourself, using a Web client, every subsequent file upload, including forwarding, produces the following message in the MT/E address book: "Errors occurred during file transfer. Check the log for details." There are no error messages in the log. * BUG FIX: Binary postscript files failed to print MassTransit 4.1.2 now allows outputting of binary postscript files. Previously, an error was reported "Error: Output: could not process file : testprint.eps because job could not be scheduled (87)" * ENHANCEMENT: Faster performance building list of files in the web client. The web client can now build the list of files for pickup much faster, eliminating a delay that would previously occur when thousands of files were available for download. * BUG FIX: Error downloading thousands of files with the web client. MassTransit 4.1.2 corrects a bug that sometimes resulted in an "Unknown Error" when trying to download thousands of files using the web client. * BUG FIX: Drop Folder service puts folder structures in wrong place. MassTransit 4.1.2 fixes a problem in which a drop folder service would sometimes place folders in the wrong location. * BUG FIX: Remote administration of contacts in Address Book causes settings to be lost MassTransit 4.1.2 corrects a problem where editing a contact via the web caused TCP/IP communication settings to be lost. * ENHANCEMENT: mtservice.exe now accepts additional command line switches. The MassTransit service application, mtservice.exe, now accepts the following command-line switch characters: "\", "/", "-" * BUG FIX: Time zone incorrectly specified in email messages [Windows] MassTransit 4.1.2 corrects a problem where time zones east of GMT were not specified correctly as specified in RFC 2822. * BUG FIX: Crash communication with FTP client contacts after upgrading to 4.1 MassTransit 4.1.2 correct a problem where MassTransit would crash or hang when connecting with contacts using the FTP Client communication method. * BUG FIX: Installation of drivers for USB hardware key [Windows] MassTransit 4.1.2 corrects a problem where drivers for the MassTransit USB hardware key were not installed correctly on Windows 2000 systems. ================================================================================ CHANGES IN MASSTRANSIT 4.1.1 * BUG FIX: Missing contacts in Remote Mailbox Privileges cluster MassTransit 4.1.1 corrects a problem on Macintosh with contacts previously configured in the Remote Mailbox Privileges cluster on the Security panel of the Contact Information dialog box that were not saved correctly. ================================================================================ CHANGES IN MASSTRANSIT 4.1 1. NEW FEATURE: Secure Sockets Layer [SSL] support for TCP/IP transfers MassTransit 4.1 includes many new changes to provide comprehensive security for data being handled by MassTransit whether via Web Client, Application Client, Satellite Server, or Server. 2. ENHANCEMENT: Database and preference file security enhancements MassTransit 4.1 no longer stores passwords on disk in clear text. This includes Web Client login passwords and the User Interface lock password. * NEW FEATURE: "Bytes Served" MassTransit now keeps a running total of the number of bytes that it has sent and received. The two values are available via the AppleScript and COM interface and the sum of the two is displayed on the About dialog box. * ENHANCEMENT: Support for sending more than 2GB of data in single transfer MassTransit 4.1 includes changes to remove the limitation of earlier versions which could send up to 2GB of data on each transfer. In addition, MassTransit now uses the true free disk space on volumes with more than 4GB available. Previously MassTransit would cap the free space at 4GB. Note that the 2GB file size limitation has not been removed in this release. * NEW FEATURE: New configuration options for MassTransit CGI MassTransit 4.1 provides several new configuration options in the "mtadmin.cfg" file including the public IP address of the web server and whether the web site is being served by a secure web server. These options allow the CGI to modify the HTML dynamically and eliminates the need to edit the .pat files when using secure web server. Note that you must configure the web server's address and port correctly for the Web Client to function properly. Also note that if you are using a secure web server the IP address set in the mtadmin.cfg file must be the same as the "Common Name" in your web server's SSL certificate. * CHANGE: MassTransit 2.x and earlier no longer supported In order to keep the MassTransit platform moving forward, support for MassTransit 1.x and 2.x has been removed in MassTransit 4.1. This also includes support for the Adobe Virtual Network product. * ENHANCEMENT: Limit of 1024 files per transfer removed Previous versions of MassTransit could not send more than 1024 files during a single file transfer. This limitation has been removed in MassTransit 4.1. * NEW FEATURE: Password change and expiration feature for web clients MassTransit 4.1 includes several new features that allow users to change their web client passwords, allow administrators to force users to change their passwords, and allow administrators to set expiration dates for passwords. * ENHANCEMENT: 'Replace Files' option for Drop Folder service MassTransit 4.1 includes an enhancement where files being output to a Drop Folder service may optionally replace existing files. * NEW FEATURE: event support for mt_admin.cgi MassTransit 4.1 includes a configuration option for the mt_admin.cgi to use the mechanism to return more than 32K of HTML data to the web server. For this new feature to operate the .cgi is now named "mt_admin.acgi". If you have modified any .pat files you will need to make sure any reference to "mt_admin.cgi" is updated to ".acgi". This option is to support WebStar on the Macintosh and is ignored on Windows. * CHANGE: pClientRemotePassword support removed from client script object Because MassTransit 4.1 now stores passwords in encrypted form it is no longer possible to provide a contact's remote login password in clear text via the script interfaces. Scripts that use this property will need to be updated. * CHANGE: Communication Toolbox [CTB] support deprecated [Macintosh] MassTransit 4.1 no longer supports the Communication Toolbox and the associated tools such as AppleModemTool and Serial Tool. Users requiring CTB support should continue to use MassTransit 4.0.7. * CHANGE: OpenISDN support deprecated [Macintosh] MassTransit 4.1 no longer supports OpenISDN communication method. Users requiring OpenISDN support should continue to use 4.0.7. * NEW FEATURE: File level Cyclic Redundancy Checks for TCP/IP transfers MassTransit 4.1 adds file level CRC error checking for TCP/IP and TCP/IP Secure transfers. While not usually necessary when transferring data over reliable protocols such as TCP, CRC error checking allows MassTransit to detect file corruption problems and alert the user. * NEW FEATURE: Multiple Email Addresses per Email Action Task MassTransit 4.1 adds the ability to send email notifications to multiple recipients using a single action task. Multiple recipients are configured by separating each email address with a semi-colon in the "To" edit box. * BUG FIX: Stall processing received files for output MassTransit 4.1 corrects a problem where files queued for output to services would cease being processed and would remain in the "Received" tab of the Job Browser. * CHANGE: Release of MassTransit COM object no longer automatic [Windows] MassTransit no longer disposes of the MassTransit COM object when its reference count goes to zero. External VB applications or scripts must now explicitly terminate the MassTransit .EXE using the new Quit COM method. * NEW FEATURE: Long name support for Windows to Windows transfers MassTransit now supports transferring files and folders with names longer than 31 characters when transferring between two Windows computers. * CHANGE: Preservation file custom icons [Macintosh] MassTransit now transmits the necessary information to preserve custom icons when files are transmitted to other MassTransit locations using MassTransit 4.1 or later. This information is also preserved by MassTransit on Windows if the NTFS file system is used to store the User Mailboxes folder. * NEW FEATURE: Multihoming support MassTransit 4.1 adds support for machines with multiple IP addresses by allowing you to configure which interfaces MassTransit monitors for incoming calls. * NEW FEATURE: Web client send-to-self With MassTransit 4.1 you are now able to send files to yourself using the web client. This is convenient when accessing the same server from multiple locations. * NEW FEATURE: Log & Job Browser contact restrictions MassTransit 4.1 now allows you restrict which contacts' Log and Job Browser information is available for each web client. * NEW FEATURE: COM - Save Log To Text File MassTransit now provides a COM call that allows you to save the Log data to a text file. * BUG FIX: "File Not Found" errors when repeatedly forwarding the same files MassTransit 4.1 corrects a problem where "file not found" and "directory not found" errors were generated when a user forwarded the same files multiple times. * NEW FEATURE: Automatic Log purging for MassTransit Assistant MassTransit Assistant 4.1 now automatically purges data older than 5 days from the Log. * NEW FEATURE: 'members' property of Group script object MassTransit 4.1 now provides a way to access the list of contacts of a group from AppleScript and COM. * ENHANCEMENT: Improved handling of file system errors on mounted Unix volumes MassTransit 4.1 includes changes to improve the handling of errors when accessing files on a Unix volume from Windows 2000/XP. * ENHANCEMENT: User interface lock now persists between restarts MassTransit 4.1 now preserves the setting of the user interface lock between restarts. i.e. if the interface is locked when MassTransit is shutdown it will be locked the next time MassTransit is started. * BUG FIX: "Unknown XML Error" errors with Macintosh web client MassTransit 4.1 includes changes to eliminate "Unknown XML" errors caused when the user interrupts the plug-in initialization by navigating to a different page. * CHANGE: .DS_Store, .HSResource, .HSIcon files now ignored MassTransit now ignores several hidden system files found on various Unix file servers. These files will be ignored when files are added to the MassTransit file database and will be deleted from contact's "To Send" folders. * NEW FEATURE: "Active Sessions" application property MassTransit 4.1 provides a new property for the Application AppleScript and COM objects that returns the number of active sessions. ================================================================================ Copyright (c) 1995-2004 Group Logic Incorporated. All rights reserved. Adobe and PostScript are trademarks of Adobe Systems Incorporated and may be registered in certain jurisdictions. Apple, Macintosh, and Power Macintosh are registered trademarks of Apple Computer, Inc. All other trademarks are the property of their respective holders. ================================================================================ This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Copyright (c) 1999-2004 The Apache Software Foundation. All rights reserved. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================================================ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) Copyright (c) 1998-2004 The OpenSSL Project. All rights reserved. THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ====================================================================