PATCH 66 - 2010/07/27 * ************************* Major

advertisement
*************************
* PATCH 66 - 2010/07/27 *
*************************
Major Enhancements - Framework
------------------------------ Added support for the Minimal Lower Layer Protocol (MLLP). MLLP is
commonly used within the HL7 (Health Level Seven) community for
transferring HL7 messages and acknowledgments. In addition to standard
file-based transactions, the VLTrader MLLP host provides the ability to
interface with MSMQ message queues. To create an MLLP host, go to the
Preconfigured tab and then Clone and Activate the Generic MLLP host.
- VLTrader only: VLTrader now supports intefacing with an LDAP server to
authenticate external users inbound thru FTP, HTTP (including VLPortal),
and SSH FTP. Go to Configure>Options>LDAP Server. If reverse proxying
using VLProxy, VLProxy v2.6.1 or later is required for LDAP
authentication. Related issue #1885.
- Added a new Local Commands host feature. This new feature allows the
VersaLex user to create hosts which are designated solely for
manipulation of local files (through LCOPY, LDELETE, etc.), without an
association to a protocol. Actions within a Local Commands host may be
scheduled. Also, the new Packaging tab is available with the Local
Commands host, so files may be encrypted/decrypted at rest. Refer to the
user's guide Local Listener chapter in a section titled, "Local Commands
Host Configuration."
- Expanded the features under the Encryption tab (the Encryption tab was
recently added within VersaLex Release 4.2). Before, the features under
this tab supported only XML Encryption. Now, OpenPGP has been added as
another option for encryption. Signing is also supported through the new
OpenPGP option. Due to the expanded functionality, and possible futures
expansions, the Encryption tab has been renamed to "Packaging".
For
further information on the features under the Packaging tab, refer to the
user's guide Basics chapter in a section titled, "Configure the Mailbox
Packaging Tab."
Major Enhancements - OFTP
------------------------- OFTP version 2 is now supported, including all of the new security
options (e.g. session authentication, content signing/encryption). Note:
Any already existing OFTP connections should continue to function as
before; however, if your trading partner's software does not properly
handle version negotiation, the host advanced property 'Downgrade OFTP
Version' can be explicitly set to v1.4.
Enhancements - Framework
------------------------ When the "Disable Date/Time Portion of Filename In Sent/Received Box"
property in the Options->Other panel is selected, now no longer add
date/time stamps or serial numbers (if synced) to the sentbox and
receivedbox filenames which was added as a new feature in version 4.2.47
of the product. Related incident #85763.
- Added monthly and one-time scheduling capabilities to the scheduler.
These new capabilities are built on top of the current weekly scheduling
ability. Also, some user-interface improvements were made to the weekly
scheduling dialog. Related issue #1497.
- When scheduling partner certificates for future use, old partner
certificates will now be archived (in the certs\archive directory) if
they are not being used in any other trading relationship. Related
incident #85052.
- VLTrader only: Added WSDL 1.2 compliant version of general purpose web
service (i.e. no overloaded operations). Related incident #84010.
- Added support for SSL client authentication through VLProxy
incident #80931. Related issue #1881.
Related
- Tree icons for hosts and mailboxs with an external ID association are
now enclosed with a dashed box. Hosts/mailboxes with an external ID
association cannot be enabled/disabled from within the VLTrader UI. And
a warning confirmation dialog is displayed if a host or mailbox with an
external ID association is selected for removal.
- VLTrader only: Added new mailboxID column to VLTransfers table, which
gets populated when a mailbox has an external ID association.
- For more tighter application integrations, added additional API methods
for managing host and mailbox external IDs, determining whether a host is
a "local" host, listing available host types, and getting/setting systemlevel options. Please refer to the API javadocs for more information.
Also added additional web UI parameters for selecting and displaying a
specific host or mailbox association and limiting content/capabilities.
- Added ability to configure the "Sent/Received Box Archive After Files"
setting in the Options>Other panel to -1. When configured in this way,
archiving of those files will NOT be done and files copied to the sentbox
and receivedbox directories will NOT be set to read-only (as would happen
when archiving is enabled).
Related incident #84225; 84450.
- Added support for including the date/time stamp (and the serial number
if synced) as part of the sentbox and receivedbox file names. When
archiving sentbox and receivedbox directories, the archive file names now
also include the start and end time stamps of the files contained within
each archive. Related issue #1848.
- Added the ability to bind Local Listener server ports to a specific IP
address. This address is configured by specifying an address for the
'Local Bind Address' property in the Local Listener>Advanced tab.
Related incident #83601. Related issue #2008.
- Now allow client API connection to use files in addition to streams
when sending through IMailboxController.
- When using the ILexiComIncoming API interface, added a
"Source.Directory" property to the open() parameters object which for FTP
or SSH FTP will contain the incoming file's directory path on the remote
server. Related incident #84020.
- Added commandline -s "threaddump,all" option to generate a thread dump
not just for the running service, but for each of the connected UIs. For
web UIs, each thread dump will be captured in a logs/HTML*.dbg file if
Local Listener Web Browser Advanced property "Create individual client
debug files" is turned on. For native UIs, each thread dump will be
captured in a logs/RMI#.dbg file.
- Added ability to import a CA certificate within a zip file
- VLTrader only: Added the "From" header value to the list of properties
that are returned from the SMTP server to be accessed from the API's
ILexiComIncoming or ILexiComMultipartIncoming open() method. Related
incident #83583.
- The %host% (but not %mailbox%) macro variable can now be to configure
the host inbox/outbox/sentbox/receivedbox directory.
- VLTrader only: Added ability to create custom preconfigured hosts.
- VLTrader only: When an inbound payload is not associated with a file
name and the resulting file name obtained from the messageID is greater
than the maximum column length of the filename field in the transfer
database, now use the transferID to name the inbound file instead.
Related incident #81761.
- VLTrader only: Changed VLTransfers database column ResultText maximum
size from 200 to 500. MySQL versions prior to 5.0.3 are no longer
supported. Related incident #81916.
- VLTrader only: Added support for marking local users as read-only and
only allowing read-only access to the related FTP, SFTP and HTTP servers.
Related issue #1853.
- VLTrader only: Multiple local user hosts (of the same type) may now be
created. Related issue #1854.
- Product Service RMI part default changed from 1099 to range of 10991109.
- Added import (button) on CA certificate and export (right-click menu)
on user certificate browser selection windows.
- When downloading the initial preconfigured host list from the web site,
no longer display the "Download" dialog when the user clicks on the "Web
Site" node. Now the list is automatically downloaded when the user
clicks on the Web Site node.
- Added "-s heapdump" command line and support bundle options for
generating a heap dump with JRE 1.6 (or later). Memory monitor will
generate a heap dump the 1st time an error is detected (dependent on
Configure > Options > Advanced property "Heap Dump On Memory Errors =
true") Related incident #81614.
- VLTrader only: When sending via the general purpose web service, an
<ExternalID> can now be included with each outgoing <File> which, if
database transfer logging is enabled, will populate the ExternalID column
in the VLTransfers table. An ExternalID value can be up to 50
characters. Related incident #81161.
- VLTrader only: If the parameter "transfers" is included in the query
string of the VLTrader web UI URL (e.g.
http://localhost:5080/VLTrader?transfers), today's transfer report is
automatically displayed. This matches the functionality in the native UI
of the VLStat program. Related incident #81161.
- In View>Log, added ability to filter local listener log events relative
to a local user mailbox (either FTP, SSH FTP, or HTTP). If a local user
mailbox is selected as the log source, the local listener log events for
the user (starting with the initial login events) are shown. Related
incident #80772. Related issue #1775.
Enhancements - FTP
------------------ Now allow for server response code after a successful TYPE request to
be 250 in addition to the standard 200. Related incident #85575.
- For PUT commands whose destination contains a directory path, added new
advanced property "Pre Put Change Directory" which forces an explicit CWD
request to the destination directory path prior to issuing the STOR
request. Some FTP servers treat directories as logical rather than
physical directories, and require directories be set only through a CWD
request. Related incident #85475.
Enhancements - AS2/AS3
---------------------- AS2 only: First usage logic now includes a comparison of the
certificate's fingerprint in addition to comparisons of the issuer and
serial number since it's possible that two different certificates could
have the same issuer and serial number. Related incident #85052.
- Added check for duplicate certificates (same issuer and serial number)
to avoid signature verification errors.
Related incident #82057.
Enhancements - ebMS
------------------- Ensured all temporary files, those written during the process of
packaging/un-packaging ebMS data, are encrypted.
Enhancements - SSH FTP
----------------------
- VLTrader only: When "Use Key From File" is selected, multiple keys may
be included in the file specified. Related incident #85904.
- Added support for DSA server keys larger than 1024 bits.
incident #85498.
Related
Enhancements - OFTP
------------------- If the listener was not able to send the EERP/NERP because the OFTP
sender did not honor the CD (change direction) request, then the OFTP
listener will now immediately start a new session with the trading
partner in order to send the EERP/NERP immediately. Related incident
#80998.
Enhancements - MQ
----------------- Added support for allowing the ability to specify a queue name in the
ReplyToQ field in the message descriptor of the sent message.
Related
incident #84312.
Enhancements - MLLP
------------------- Made changes to disable logging of the red messages, "Interrupted"
"Requested by user", when an MLLP receiver is in a listening state
(waiting for client connection).
Bug Fixes - Framework
--------------------- Fixed NumberFormatException when logging an error message with an RMI
port range defined and no ports registered.
- VLTrader only: Fixed problem where changes to a local user host could
not be applied due to an error removing subdirectories. Related incident
#85904.
- VLTrader only: For database transfer logging using an Oracle database,
fixed problem where the VLTransfers.MessageID column index was not being
created. This missing index could cause performance problems for systems
using asynchronous receipts (e.g. AS2, ebMS). The index can not be
created in VLTrader however if the table has already been created
previously, so for systems already using Oracle transfer logging, the
following DDL should be used to create the index manually: CREATE INDEX
VLTransfersMessageIDIndex ON VLTransfers(MessageID);
- VLTrader only: Fixed problem where local user sent/received box was not
working for LDAP user groups.
- Fixed problem where a forward slash (/) in a host alias would cause
synchronization to fail on Linux/Unix systems. Related incident #86146.
- VLTrader only: Fixed problem where the wrong splash screen was being
shown after the VLNavigator web UI was exited.
- Now log the exception instead of failing silently when unable to add a
host to tree when downloading it from the Cleo web site.
- VLTrader only: Fixed problem with resizing columns and determining
database type for ODBC connections. Related incident #86007.
- VLTrader only: Fixed problem with VLStatc where transfer report filter
EDI details option was ignored. Related incident #86007.
- Fixed issue with local XML encryption where the certificate
distinguished name contained XML special characters.
- Corrected problem where updated Advanced properties were not being used
during 'Email On..' or 'Execute On..' operations for Local Users (FTP,
SSH FTP and HTTP ) when running as a service. Related incident #85932.
- Made changes to improve robustness of autosend when files with the same
name are being repeatedly dropped into an autosend folder. These changes
will prevent unnecessary errors from being reported. Related incident
#85804.
- Options - Configure > Options > Other property Heap Dump On
MemoryErrors is now shown for JRE 1.6 or above.
- Fixed problems related to active host tree and host table not properly
reflecting which hosts/mailboxes are running.
- VLTrader only: Fixed problem where router could potentially kick off
more than the "Maximum Number Of Concurrent Routes" configured.
- When using API's IActionController, fixed problem where if an exception
was thrown during a command, the exception and corresponding result would
not be logged.
- Corrected problem where when a 'Software Update' or 'License Check'
could not connect to the Cleo server through VLProxy, an
IllegalAccessError was being logged.
Now when this occurs, a '400
Connection Failed' error will be logged instead. Related incident
#85606.
- VLTrader only: Fixed problem where VLNavigator web UI was showing the
wrong product title
- VLTrader only: Fixed problem where VLTrader would log a large number of
database exceptions or warnings in a short period of time.
- Eliminated API dependency on web UI jars (ajaxswing.jar and asboot.jar)
- VLTrader only: Fixed problem where folder setting in transfer report
filter was not working through VLStatc program. Related incident #85327.
- VLTrader only: Fixed problem introduced in patch 6 where a
VLTrader/VLNavigator password could not be changed at the initial login
dialog because of a missing checkbox. Related incident #85274.
- Made sure that temporary files that are created as part of an LCOPY
operation are not picked up by an autosend operation until they are
completely stable (and no longer temporary). Related incident #83882.
- Corrected problem where the resulting web UI frame would be too small
or too large if the browser window was resized while the web application
was processing a request (e.g. while initializing).
- Upgraded web UI engine, which resolves various cases where the web UI
can become hung either within the browser (e.g. when a menu with submenus
selected) or under the covers (e.g. when applcation is exited).
- Disabled LDAP paging when selected server is Lotus.
- Fixed possible memory leak problem with a large number of LCOPY
commands.
- Fixed problem with reverse proxy connections from VLProxy when
Configure > Proxies > Reverse forward connections was set. Related
incident #84468.
- When using database payload and encryption, changed the order in which
exceptions are reported to ensure the original exception is the one
reported.
- VLTrader only: When using database payload, fixed problem where
deadlock could occur when a database stream was closed more than once.
Related incident #84451.
- Fixed problem in any Advanced properties table where if a property with
a pulldown list was selected but not changed, applying would result in
clearing the property value.
- If using VLProxy to reverse proxy, fixed problem where an empty Local
Listener advanced property value (e.g. Email Local and Partner
Certificate Expiration Notices) would cause parse exceptions on VLProxy
and keep VLProxy from fully starting up. Related incident #82736.
- Fixed problem where changing just the case of a host alias would result
in a NullPointerException. Related incident #84156.
- VLTrader only: Fixed problem where the HTTP mailbox could not be found
in VLProxy when only a single local HTTP user host was defined in
VLTrader. Related incident #82736.
- VLTrader only: For outgoing database payload, if update of database to
mark send complete should fail after a successful send, added database
update retry to avoid eventual attempts to resend the same message.
Related incident #84086.
- For VLProxy reverse forward connection option, added check that if
custom header missing in VLProxy response, then restart connection. Also
tightened up connection timeout logic. Related incident #83562.
- VLTrader only: If using incoming database payload, eliminated
possibility of a database exception causing a deadlock. Related incident
#84006.
- VLTrader only: Changed LDAP integration to use a paged context search
to prevent the directory from limiting the number of results returned.
- Fixed problem that could occur when using mailbox inbound decryption
(as set in the Packaging tab -- XML or OpenPGP) and also database
payload or EDI logging are being used.
- VLTrader only: Fixed problem where NullPointerException was logged
if/when home directory for LDAP user was not properly extracted from LDAP
- VLTrader only: Fixed problem where if an LDAP user's home directory was
itself a network share then VLTrader would not allow a login.
- VLTrader only: Fixed problem where NullPointerException would be logged
if using LDAP user group mailbox and user home directories were
configured to be extracted from LDAP, but the LDAP home directory
attribute name was not configured. Related incident #83208.
- VLTrader only: Fixed problem where Advanced properties could not be
applied to any Local User mailboxes (HTTP, FTP or SSH FTP) Related
incident #83869.
- When selecting a trading partner certificate, now only show OpenPGP or
SSH FTP CA store certificates when applicable.
- For AS/400 network access, fixed problem where Configure>AS/400 would
fail silently if the jt400.jar has not been downloaded.
- VLTrader only: Fixed NullPointerException logged when FTP or SSH FTP
listening port conflict at startup
- Fixed problem in scheduler where if a number of actions were all
scheduled at once while the scheduler was running, the GUI could lockup.
- Fixed problem with LCOPY where "Error: Unable to rename temporary
file…" was being reported when running on Unix. Related incident #83519.
- In View>Log dialog, more information is now shown when invalid input is
detected Related incident #83388.
- VLTrader only: Fixed possible blocking problem when EDI logging
- VLTrader only: HTTP server authentication is now more efficient.
Related incident #82736.
- Fixed problem where queued log events could be logged out-of-sequence.
Related incident #82976.
- Updated the certificate expiration checker to be able to handle PGP
certificates and to also check local and partner packaging certifcates
for expiration. Related incident #82140.
- VLTrader only: Help > About dialog now shows FIPS provider version (as
well as the provider name when enabled).
- VLTrader only: Under Configure>Options>Transfers, fixed problem where
the VLTransfers table column ExternalID was not showing up in the
exported database definition. Related incident #82931.
- VLTrader only: Fixed problem where the absolute path of the user's home
directory was sometimes being included in FTP server directory listings.
Related incident #82659.
- Added local users host to the search criteria for the Certificates
Usage Dialog.
- Made change to ensure that certificates which are generated from PGP
keys are reported in the Certificate Usage dialog with their associated
host/mailbox. Related incident #82140.
- VLTrader only: Fixed problem where the contents of the FTP or SSH FTP
user home directory could not be found when the default root\username
directory was not being used.
New dialogs have also been added to
notify the user of the status when attempting to move from one home
directory to another. Related incident #82659.
- Fixed problem where VersaLex -s service running from the commandline
would not terminate in response to Ctrl+C if any web GUI sessions were
open at the time. Related incident #82107.
- Fixed problem where PGP encryption key was not being located correctly.
Related incident #82794
82678.
- VLTrader only: In Help > About added configured FIPS approved provider
name.
- VLTrader only: If using MS SQL Server for transfer logging, fixed
incorrect SQL syntax when increasing the VLTransfers.Resulttext column
size. Related incident #82659.
- Fixed problem with NullPointerException on a local user host LCOPY.
Related incident #82659.
- Fixed a NullPointerException printing to the console or being logged
relative to formatting a scheduled item.
- Fixed problem where inserting messages into web UI could cause
service/daemon logging to fail.
- VLTrader only: Fixed router timing problem where if a file being routed
contained two routes going to the same host and the host was set to not
allow concurrent actions, the routes could potentially not get kicked
off. Related incident #82513.
- Fixed problem where client updates to the scheduled actions could
result in false warnings that scheduled actions were not found. Related
incident #82360.
- Fixed a problem in the Edit Command dialog where a browsed source or
destination directory (selected through the […] button) was being
incorrectly displayed when its name began with the inbox or outbox name.
- Corrected problem where LCOPY commands were failing when the
destination was on the AS400 (iSeries) IFS Related incident #82260.
- VLTrader only: When database transfer and EDI logging is enabled, if
the database is not available, database transactions are saved to disk
(up to Configure>Options>Other>Maximum Saved Database Transfer Log
Files). Once the database is again available, fixed problem where the
saved transactions could be processed out-of-order for large EDI files,
which would cause integrity constraint violations. Note that integrity
constraint violations can still occur if the maximum number of saved
files is reached (defaults to 10,000). Related incident #82329.
- Fixed problem when "Scheduling Certificates for Future Use" where a
dialog was incorrectly forcing the user to set initial SSL certificates
even though SSL certificates weren't being scheduled. Related incident
#82302.
- Fixed problem on AS3 GET commands where the destination file name was
not accurately named according to the destination specified in the
action. Related incident #82280.
- VLTrader only: Fixed problem where a database deadlock could occur
because checking the validity of database connection already in use.
Related incident #82093.
- VLTrader only: For EDI transfer report tables, added paging to the
functional group and transaction set tables to further improve
performance for large EDI files. Related incident #82164.
- VLTrader only: For db transfer and EDI logging, added logic to retry
any inserts/updates with a new connection for before erroring out
Related incident #82106.
- Setting read permissions for all users will be attempted for heap dump
files . Related incident #82109.
- Fixed problem where an IndexOutOfBoundsException could be thrown in the
web UI when custom directory variables are modified. Also fixed problem
where an UnsatisfiedLinkError was being thrown in the web UI on certain
Unix platforms when the Tools>License dialog was closed. Related
incident #81960.
- VLTrader only: In the web UI, added paging to the EDI transfer report
interchange table view to improve responsiveness. Related incident
#81676.
- Added protection against StackOverflowError when recursively checking
for an XML attribute. Related incident #81778.
- VLTrader only: Fixed problem where ClassCastExceptions were occurring
(causing transfer reporting to hang) when both "EDI" and "Report" were
selected in the Transfer Report Filter dialog. Related incident #81676.
- Fixed Windows only problem with JRE 1.6 where tables would show "…"
instead of data due to insufficient row height.
- Moved parameter "Heap Dump On Memory Errors" from system Options >
Advanced panel to Options > Other. Related incident #81614.
- Fixed problem on AIX where the web GUI was hanging at certain points in
the UI. Related incident #81634.
- VLTrader only: For EDI logging, fixed problem with function
acknowledgment tracking in an Oracle database where an ack status was
being updated for more than just the appropriate interchange/functional
group. Related incident #81492.
- Fixed problem where an ArrayIndexOutOfBoundsException could be thrown
in File>Export if a user certificate password was entered incorrectly.
Related incident #81161.
- Now resolve the %admin% macro when it is either used within a SYSTEM
command or when it used in conjunction with the -d option when running
either VLStatc or VLLogc (or LexLogc) from the command line.
- Fixed software update (and update checker) issue with existing
hosts\support\Software.xml hosts (pre-July 2003) which may not have the
required parameter 'product'. Related incident #81309.
- Added check in service/daemon to make sure schedule update from UI is
not missing already scheduled actions. Related incident #80554.
- Fixed problem where outside quotes on execute-on command strings were
causing exceptions to be thrown.
Related incident #81154.
- VLTrader only: For incoming database payload, fixed problem where an
overly large incoming property value was not being truncated when
inserted into the database. Related incident #81092.
- When renaming files, added retry loop logic when the first attempt
fails. This fix compensates for a bug that is present in JRE 1.5 and has
been reported on several Windows platforms. Refer to
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6213298 for further
information.
Related incident #80638.
Bug Fixes - FTP
--------------- Corrected problem where the -UNI switch was being ignored for the PUT
command when "Resume Failed Transfers" was disabled.
- VLTrader only: Fixed memory leak when VLProxy was used as a reverse
proxy for FTP connections for sessions ending without a quit command.
- Fixed problem where note that receivedbox file was created was not
being included in logged result when a single file was being received.
- VLTrader only: Fixed memory leaks when VLProxy was used as a reverse
proxy for FTP connections.
- Variables for QUOTE and SITE commands may now be quoted to permit
commands which require multiple spaces.
Related incident #84746.
- If initial attempt failed (connection refused), subsequent retries
would not try to determine if the server supported restarting failed
transfers.
- VLTrader only: Fixed problem handling file rename (RNFR/RNTO).
- Fixed problem where canonicalization of the current directory path for
the API could cause an ArrayIndexOutOfBoundsException. Related incident
#82736.
- VLTrader only: Fixed null pointer exception with invalid user login
attempt when no LDAP mailboxes were configured.
- VLTrader only: Fixed issue introduced with LDAP enhancement where
execute or email on properties set in the local user mailbox would not
override the system level settings.
- Fixed issue where new connection was created (and Ignore Retrieve Error
was active) where server was allowing the data port to open and then
closing with an error and no data transferred. Related incident #83519.
- Fixed issue where current connection was closed when error code
specified in advanced property Ignore Retrieve Error Code occurred.
Related incident #83519.
- Fixed problem where any file (regardless of size) would be deleted if
the transfer (-DEL or POSTGET) failed and Advanced option "Delete Zero
Length Files" was selected. Related incident #82021.
- Fixed LexiCom(only) problem with creating a temporary file during a PUT
when Resume Failed Transfers advanced property was enabled. Related
incident #81663.
- VLTrader only: Fixed problem with tracking logins for multiple users in
the same session. Related incident #81326.
Bug Fixes - HTTP
----------------
- Fixed problem where HTTP PUT+GET with a preceding CONNECT would not be
able to find files to send.
- Corrected problem where attempts were being made to get the results of
an HTTP response even when a timeout had occurred and the response was
never received. This was causing any additional transaction results
(e.g., the associated messageID) to never get logged. Related incident
#84780.
- VLTrader only: For HTTP LDAP authentication, now log warning rather
than exception when password not provided by user.
- Fixed problem where macro variable references within PUT HTTP header
values were being resolved in what was logged, but not in what was
actually sent to the trading partner. This affected AS2 and ebMS as
well. Related incident #81154.
Bug Fixes - AS2/AS3
------------------- When archiving MDNs and an "invalid distance code" error is logged
(which signifies a corruption of the temp archive), now attempt to remove
the temp archive. Also, if any unhandled exceptions occur during MDN
archiving, now log the stack trace. Related incident #86381.
- Addressed signature verification exception
(iaik.cms.CMSSignatureException: SignerInfo does not exist. Wrong
index.). This exception was occurring when the message block being
returned contained a partial boundary segment. Related incident #84003.
- Corrected certificate scheduling initial setup check so that an error
is not thrown when either the initial encryption or signing field is not
configured but that field is also not being scheduled. Related incident
#85052.
- Corrected problem where the MIME header wrapping detection logic was
incorrectly detecting a header wrap when the header value ended with a
semi-colon but the following line was not a continuation of the current
header.
- AS2 only: When an unsigned Certificate Exchange Message (CEM) request
is received and the auto-accept setting has been enabled, now log an
error stating that the request must be manually accepted or rejected
since the trading partner cannot be authenticated. Related incident
#82890.
- When an MDN archive file is corrupted, previously an exception was
thrown and archiving of the affected MDNs would never complete until the
corrupted MDN archive file was manually removed. Now the corrupted
archive event is logged stating that its contents have been lost and a
new archive is created. Related incident #82254.
- VLTrader only: Fixed IAIK CMS initialization problem in FIPS mode where
AES/192 and ASE/256 ciphers could not be used.
- Fixed problem where a ';' character received in an inbound filename for
Windows (which is only a problem for Unix) caused an invalid filename
warning. Related incident #82530.
- VLTrader only: Corrected problem where signature verification error
exceptions were being reported when EDI logging was enabled and the size
of the signed message was greater than two megabyes. Related incident
#82250.
- When using the %sourcefile% macro as part of the default file name, now
use the messageID when no file name has been provided. Related incident
#81761.
Bug Fixes - ebMS
---------------- Fixed issue when encrypting where the certificate distinguished name
contained XML special characters.
- Fixed issue with result being successful for non-synchronous ping
messages when forward proxy connection failed.
- Added check to correct issue for 204 No Content responses which had a
content-type of text/xml.
- When importing a CPA/CPP, now detect when there are multiple delivery
channels for the selected party/role and prompt for which channel to
import. Related incident #85307.
- Fixed problems with overriding the local encryption certificate.
- VLTrader only: Fixed message signature issues when operation in FIPS
mode.
Bug Fixes - SSH FTP
------------------- Fixed problem where note that receivedbox file was created was not
being included in logged result.
- Fixed client problem when using a forward proxy where connection would
not timeout while waiting for some server responses. Related incident
#84644.
- VLTrader only: Fixed problem handling file rename (SshFxpRename).
- VLTrader only: Fixed problem listing files or directories with names
containing ".." on a network share. Related incident #83208.
- VLTrader only: Fixed problem listing files or directories with names
containing "..". Related incident #83208.
- Fixed issue with retrieving files using a wildcard when the current
directory was the root directory. Related incident #84297.
- VLTrader only: Fixed problem where exceptions during file transfers due
to errors on the server end did not set the transfer status correctly and
the response to the client indicating the error was not logged.
- Added additional checks for invalid (not present) permissions found on
Tectia server. Related incident #82651.
- VLTrader only: Added permissions check for rm(delete) command to deny
read-only users from deleting an existing file.
- Fixed problem where check for deleting zero-length received file was
not done if the transfer failed.
- Fixed LexiCom(only) problem with creating a temporary file during a PUT
when Resume Failed Transfers advanced property was enabled. Related
incident #81663.
- VLTrader only: Fixed problem with user login limit after failed
password login attempts. Related incident #81252.
Bug Fixes - OFTP
---------------- Fixed UI timing problem where the EERPs table in the OFTP service may
not be updated with a new received EERP.
Bug Fixes - SMTP
---------------- VLTrader only: If using outgoing database payload, fixed problem where
an ArrayIndexOutOfBoundsException would be logged if/when an outbound
email request without attachments was inserted into the database. Also
fixed problem where an ArrayIndexOutOfBoundsException would be logged
if/when an inbound email was received without any attachments. Related
incident #84006.
- VLTrader only: Fixed problem receiving a binary message where the
server was failing silently when the incoming data ended prematurely.
Bug Fixes - MLLP
---------------- Added a double-check when EOF is detected on returned acknowledgments.
This will help prevent unnecessary flagging of false negative conditions
on end-of-file (EOF).
****************************
* RELEASE 4.2 - 2009/12/07 *
****************************
Major Enhancements - Framework
------------------------------ Added two complimentary encryption options:
- Inbound payload files can now be automatically encrypted or decrypted
while being stored to the file system or database.
- Outbound payload files can now be automatically encrypted or
decrypted while being retrieved from the file system or database.
These options are available in all VersaLex protocols and with any
content type. With these flexible options, 1) payload files stored in a
public network can be secured, 2) payload can be encrypted over an
otherwise insecure communication channel, and 3) VersaLex can work in
tandem with another application or a second VersaLex to keep files secure
during the workflow process. The encrypted data is packaged using XML
(http://www.w3.org/TR/xmlenc-core/). For more information, go to the
Encryption tab of any mailbox.
- So that an inbound port does not need to be opened through the
firewall, VLProxy can now reverse proxy forward connections from
VLTrader/LexiCom. This is enabled in VLTrader by checking "Reverse
forward connections" in the VLProxy configuration. The VLTrader/LexiCom
"Incoming Connection Backlog Size" advanced property dictates how many
forward connections VLProxy will continually pool for inbound request
processing.
- VLTrader only: A general purpose web service is now available for
initiating trading partner mailbox sends and receives through any
VLTrader protocol. Similar to the Java API IMailboxController interface,
the web service provides for send(), receive(), and sendAndReceive()
operations. A delete() operation is also included for confirming receipt
of a payload file after a receive(). Please refer to the Local Listener
Web Service for more information.
- Added several new options to the LCOPY command:
- Added zipping (-ZIP) and unzipping (-UNZ) options. To manage these
new options four advanced properties were added:
"Zip Comment", "Zip
Compression Level", "Zip Subdirectories Into Individual Zip Files", and
"Unzip Use Path". Refer to the Basics chapter of the user's guide for a
description of these properties.
Refer to a command reference within
the user's guide for a discussion of the new LCOPY options.
- Also added recursion (-REC) option. This option indicates that
subdirectories should be searched recursively for source files. For
example, "LCOPY -REC dir1/*.edi dir2/." will search for all files that
match "*.edi" within "dir1", including subdirectories of "dir1".
- It is worth noting, within the context of zipping or recursing, it
was necessary to change how 'autosend' determines the stability of files
within the send directory. Rather than starting the LCOPY action when
only a single file is stable, now a complete set of files must be stable
before the action will begin. Related incident #78394.
- Modified the Certificate Exchange dialog to be able to filter on
specific protocols and statuses. When filtering for both protocol and
status is enabled, multiple rows may be selected allowing commands to be
invoked on all selected rows. The ability to schedule certificates for
activation at a specified date/time has also been added.
Enhancements - Framework
------------------------ Now include a system requirements link (specific to the product) at the
end of the software update email notification. Related incident #77633.
Related issue #1657.
- Sentbox and receivedbox archive file names now include date/time stamp
ranges for the files within the archives. Related incident #78842.
Related issue #1800.
- Added a Website node to the preconfigured tree that enables the ability
to download preconfigured hosts from the Cleo web site into the product
for cloning and activation. With this update, existing non-local
preconfigured hosts are archived.
- The "Admin Email Address" previously defined and configured in the AS2
& AS3 Service panels has been moved to the Options->Other Panel (as the
"System Administrator Email Address"). If this setting was not
previously defined for either AS2 or AS3, this value will initially be
set from the registered email address. The macro %admin% may be used
anywhere that an email address is configured as a reference to the system
administrator email address.
- Added a new "Save Raw Message" option to the Local Listener Unknown
Partner Message Action advanced property. This property is used by both
the AS2/AS3 and ebMS protocols, and indicates how VLTrader should react
when a received message does not correspond to any of the configured
trading partners. The new "Save Raw Message" option indicates to save
the raw request (just like if the Store Raw Received Message advanced
property were on) before sending back an error. As part of this, the
existing "Save" option was renamed to "Save Payload" for clarification.
Related incident #79106.
- VLTrader only: Three new enhancements were added to the administrative
features of the VLTrader web portal (Local Listener>Web
Browser>VLPortal). First, a feature was added to allow users to link to
their own web pages directly from the VLPortal main menu.
They can
specify an URL or a reference to an HTML file. Second, a feature was
added to allow users to embed the web portal base pages (ad hoc file
transfers and transfer reporting) within their own web pages. Login is
required to access the portal pages in this manner. Finally, the user
can now customize the graphic images within the banner and menu sections
of the web portal framework. Refer to the user's guide for detailed
information. Related issue #1658.
- Made general changes to support more macro variables in more contexts.
With this, several changes were made to the user's guide in an effort to
clear up the understanding of macros and their usage. Refer to the
section titled, Using Macro Variables, in the Basics chapter of the
user's guide. In this section, there is a table that shows a cross
reference of all the macro variables and the contexts under which they
may be used.
Also, it should be noted that, with this change, macro
variables that are not resolvable will no longer be substituted with
"UNKNOWN" or "N/A". Instead, the variable is simply passed through
unchanged.
- VLTrader only: Under Tools>Router, the EDI table in the edit route
dialog can now be sorted by any column. Related incident #77901.
- Added feature to allow stripping of the record padding in outbound
AS/400 NFS files. Related incident #77727.
- In Configure>Options>Messages, added debug switches for each protocol
(previously only HTTP and SSL debug could be selectively
enabled/disabled). Also added a general system debug switch. System,
HTTP, SSL, and FTP debug are on by default.
- Added new Configure>Options>Other>"Include Millisecond In System Log
File" property, which indicates to include a millisecond attribute (ms=)
in each <Mark> element in the system log file.
- Added support to include additional information in the subject line
when the "Include Failure In Subject Of Email" advance setting is
selected. Defaults to selected. Additionally, if the system alias has
been provided, it wiil be included in the subject line of email
notifications regardless of the advanced property setting. Related issue
#1161.
- VLTrader only: When using the outgoing database payload feature, if a
transfer attempt fails for protocols which employ message IDs (e.g. AS2,
SMTP, ebMS), the failed message ID is now stored in the VLOutgoing table
and reused on all subsequent send attempts. Related incident #69821.
Enhancements - FTP
------------------ Ignore Retrieve Error Code advanced property will now accept a regular
expression as well as a numerical error code. Related incident #79830.
- Added new advanced property "Pre Put Command For First File Only" which
indicates whether to execute the specified Pre Put Command(s) before each
file being transferred by the PUT or only before the first file transfer.
This property defaults to true. Related incident #79245.
- The PrePutCommand and PreGetCommand advanced properties can now contain
macro variables (e.g. %date% and %index%) just like their PostPutCommand
and PostGetCommand counterparts. Related incident #79245.
Enhancements - HTTP
------------------- When sending via HTTP client or receiving via HTTP server, if an
ExternalID header or parameter is specified (case insensitive) and db
transfer logging is enabled, the ExternalID column will be populated in
the inserted VLTransfers table entry. For sending, the %messageID
keyword can be used to provide a unique ExternalID value. Related
incident #80512.
- HTTP client PUT commands (including AS2 and ebXML) can now specify a
destination filename, which can include macro variables (e.g.
%sourcefile%_%date%_%time%_%index%). Related incident #80366.
- Added option to allow the omission of the 'Name' parameter from the
Content-Type header. Related incident #80257.
- VLTrader only: For the PUT+GET command transfer logging, the same
transferID will now be used for the send and receive except for the last
character (the send transferID will end with an 'S' and the receive with
an 'R').
- Added new SET command properties (also available in AS2 and ebMS) which
allow the host configured command resource path to be overridden in an
action (e.g. SET host.Path.PUT=...). Related incident #79118.
- VLTrader only: When an Oracle Transport Agent (OTA) client is sending
to VLTrader and a file name has not been provided through either the
Content-Disposition header's 'filename' parameter or the Content-Type
header's 'name' parameter, now use the OXTA "DOCUMENT_NUMBER" parameter
value as the default file name and the "MESSAGE_TYPE" parameter value as
the default file extension. Related incident #78408.
- VLTrader only: If an Oracle Transport Agent (OTA) client is sending to
VLTrader, now no longer require the "request=send" parameter as long as
an OXTA "REQUEST_TYPE=SEND" parameter has been provided instead. Related
incident #78408.
- Added support for "macros" (e.g., "%index%") within an HTTP parameter
or header value. "Macros" should not be confused with the "keywords"
(e.g., "%file.name") that are currently supported. Macro support within
a parameter/header is an additional feature, on top of the existing
keyword support. Macros may be placed anywhere within the value string
for the parameter/header. The set of macros that are supported are those
defined under the "Destination File" context. They include: %inbox%,
%outbox%, %sourcefile%, %srcfile%, %sourcefilebase%, %srcfilebase%,
%sourcefileext%, %srcfileext%, %date%, %time%, %index%, %host%,
%mailbox%, and custom directory macro variables. Related incident
#78021.
Enhancements - ebMS
------------------- Added new advanced property "Enclose Content Type Start With <>" which
indicates whether the Content-Type start parameter value for an outgoing
ebMS multipart/related message should contain enclosing angle brackets.
The examples shown in the ebMS v2 specification are inconsistent, and
some implementations may only accept one or the other format. VersaLex
will accept either format for incoming messages. This property defaults
to false. Related incident #79861.
- When receiving through the API and a trading partner relationship is
unknown because the CPA Id or Role or Service were not properly defined
by the trading partner, now include a "LostAndFound" property containing
the text of the "Unknown Trading Relationship" exception. Related issue
#1352.
- Expanded the capabilities of advanced property "Conversation Id XML
Payload Element" to allow multiple payload elements to be concatenated
together to produce the ebMS ConversationID. When used in this way, each
payload element name must be surrounded by the < and > characters and any
needed, additional constant characters placed before, in-between, or
after (e.g. <UID>_<DocumentNumber>). Related incident #78974.
Enhancements - SSH FTP
---------------------- Added support for aes128-cbc, aes192-cbc, aes256-cbc, cast-128-cbc,
twofish128-cbc, twofish192-cbc, and twofish256-cbc ciphers. Related
incident #79883.
- Added new advanced property "Pre Put Command For First File Only" which
indicates whether to execute the specified Pre Put Command(s) before each
file being transferred by the PUT or only before the first file transfer.
This property defaults to true.
- The PrePutCommand advanced property can now contain macro variables
(e.g. %date% and %index%) just like its PostPutCommand counterpart.
Related incident #79245.
Enhancements - SMTP
------------------- Added support for the usage of BCC headers in the SMTP client
issue #955.
Related
- VLTrader only: Now allow for additional inbound SMTP server usernames
to be configured. Related incident #79796. Related issue #1803.
Bug Fixes - Framework
--------------------- VLTrader only: When using database payload, fixed problem where a
"java.sql.SQLException: No suitable driver" exception would be logged
once at startup even though the database driver was already successfully
loaded.
- VLTrader only: For VLTrader database payload, fixed problem where a
NullPointerException would be thrown if a value in the
VLOutgoingProperties table was null. Now the value is treated as empty
rather than null. Related incident #80935.
- VLTrader only: Fixed problem where an empty parameter value in the xml
passed to the general purpose web service was causing a null pointer
exception. Also now require that a file name attribute value always be
supplied.
- When archiving either a sentbox or receivedbox folder now enforce
exclusive access on the folder so multiple VersaLexes cannot archive the
same folder at the same time. Related incident #80638.
- Fixed problem where on an older Windows FAT file system, a host ID
mismatch was being reported when trying to run from a network share on
another computer. Related incident #80363.
- VLTrader only: Fixed problem where checking the validity of the same
database connection from two threads at the same time was causing
database connection pooling to lockup. Related incident #80573.
- VLTrader only: For outgoing database payload, now check validity of the
database connection after the send and prior to updating the send status
in the database. Related incident #80573.
- Fixed various problems mainly centered around a high amount of outgoing
database payload:
F128- Order processing of host change events is now first-in/first-out.
- Fixed potential problem signalling log event handler.
- Fixed problem where temporary actions could potentially be stored
permanently in a host file, which was causing unwanted overhead. Any
temporary actions found in a host file are now stripped out at startup.
- Optimized creation of temporary action such that it does not require
the entire host XML representation to be recreated. Related incident
#79357.
- Fixed problem if during startup the VersaLex GUI was trying to log a
message (e.g. support contract expiring) the GUI could become locked up.
Related incident #80427.
- Corrected file access violation / file not found problem (ipconfig.out)
when an email is generated through LexMailc on an AS400/iSeries IFS
installation.
Related issue #1368.
- Caught condition where a NullPointerException was being thrown when the
native GUI was attempting to connect to the service, and the host address
or host name were not known. Related incident #80126.
- Fixed problem on AIX where the web GUI was throwing an exception when
exiting the Tools>License dialog. Related incident #79494.
- Fixed problem where autosend actions that contained multiple PUT/LCOPY
commands were not being reliably deployed when they should, or with the
correct set of source files.
Also added code to ensure that file lists
are passed properly between a master and a slave VersaLex when an
autosend action is run across multiple synchronized VersaLexes. Related
incident #79949
79928.
- Corrected problem where validation of the email address entered in the
software update dialog and the Options->Other panel (for the System
Administrator Email Address) was failing if multiple email addresses were
entered.
- Fixed null pointer exception that could be thrown in the scheduler when
synchronizing multiple VersaLexes.
- Added further debug printing for the scheduler.
#79949.
Related incident
- Corrected problem where when 'Email On…' is invoked and the host is set
to 'Unknown' an exception was being logged and the email notification was
never sent. Related incident #79903.
- Fixed timing problem where the GUI would log an error that the "Local
Listener was not found" if the service and GUI were started one right
after the other. Related incident #79686.
- VLTrader only: Fixed issue where the string, "NULL", was being written
to the MessageID field of the transfer log when "Log Individual LCOPY
Results To Transfer Logging" was set.
- VLTrader only: Fixed problem where embedded spaces were being displayed
as non-ASCII characters when first starting the web portal under certain
Firefox browser versions.
- Fixed problem on AIX where the web GUI was throwing an exception at
various points in the application (e.g. trading partner certificate
selection and support bundle generation). Related incident #79494.
- Fixed API problem where a CLIENT_ONLY, SERVER_ONLY, or CLIENT_OR_SERVER
request to LexiComFactory.getVersaLex() was hanging when VersaLex was
running as a standalone GUI. LexiComFactory.getVersaLex() will now throw
an exception in this situation.
- Fixed problem where an action couldn't be run after characters in its
alias had been changed from upper to lowercase or vice versa.
- If a scheduled action was incorrectly scheduled for autosend and then
autosend was turned off, fixed problem where the action wouldn't run
until the scheduler was restarted or the action was run manually.
Related issue #1369.
- When synchronizing the schedule across production VersaLexes but the
"Automatically run at startup" switch was not turned on, added logging to
indicate why the scheduler was not load balancing.
- Fixed problem in API where IMailboxController.send() was not making use
of an HTTP PUT+GET command if it existed in the default <send> action
rather than a PUT command.
- VLTrader only: In VLNavigator, fixed problem where the VLTrader pool
Status tab could potentially hang on initialization.
- Fixed general problem in the Configure>Options>Advanced and Other
panels and the various host Advanced panels where just clicking in and
out of one of the editable cells was being interpreted as an actual
modification.
- VLTrader only: Fixed problem where host and mailbox aliases within
generated transfer reports were not being sorted the same as elsewhere
within the product (case insensitive).
- Synchronization is automatically disabled between VersaLexes if there
is a mismatch in product versions (e.g. upgraded one VersaLex but have
not yet upgraded the other). Fixed problem where synchronization was not
being automatically re-enabled when the product versions again matched.
- Fixed problem where queuing of a sync item (e.g. at the end of an
action) could possibly become hung up if at the same time VersaLex was
forcing a reconnect to the synchronized VersaLex because of user or autodetected modifications to the connection information. Related incident
#79099.
- Fixed two web GUI problems in the action insert/edit command dialog:
- An ArrayIndexOutOfBoundsException would be thrown when the dialog was
OKed if a command had not been selected on entry into the dialog.
- Checkbox option selections in the dialog were not always taking
affect. Related incident #78758.
- ILexiCom.setDefaultDestination() is now available when using the API in
CLIENT mode.
- VLTrader only: Fixed problem where if any of the special XML characters
(", &, <, and >) are contained in the logged transfer information, the
XML transfer log file could become corrupted. Related incident #78781.
- Fixed problem where a misleading "renamed" dialog would be displayed
and then "element not found" exceptions would be thrown if a user
attempted to clone and active a local host that was already active but
had been renamed. Related incident #78782.
- When using a mailbox controller to send or receive, if a PUT/GET
command is not found in the base action , an error result is now logged
by the temporary action rather than the system and the result text gives
the path to the base action and lists the action's commands. This change
affects to the router and database payload features as well as the API.
Related incident #78834.
- Fixed various syncing issues:
- VLNavigator user groups and users are now synced at initialization
rather than waiting for the first change. The last synchronization
confirmation dialog has a note stating this.
- VLPortal files will now only be synced if the Local Listener is being
synced.
- VLTrader privileges weren‟t working if syncing across Windows and Unix
platforms.
- Synchronized items weren‟t displaying correctly if syncing across
Windows and Unix platforms. Similarly, VLTrader privilege items in
VLNavigator weren‟t displaying correctly if syncing across Windows and
Unix platforms.
- Synchronization could lock up during initialization while trying to
switch to an available secure port.
- VLTrader only: Fixed problem where configured EDI logging exclusions
were not being applied for unsolicited receives. Related incident
#78700.
- Update to webserver to address potential Cross Site Scripting
vulnerabilities. Related incident #78584.
- Fixed bug where a NullPointerException was being thrown when a local
host did not exist and an attempt was made update the local listener
data. Related incident #78529.
- Added scroll pane to Generate User X.509 Certificate dialog to handle
smaller screen resolutions. Related incident #78342.
- In Help>Support>Bundle, fixed problem where an XML parse exception
could be thrown if a host file was being updated when generating a
support bundle. Related incident #77859.
- Modified remote log event queue and thread to avoid the possibility of
an endless wait condition. Related incident #77859.
- Corrected problem where making updates to the Listener panel in LexiCom
was causing a NullPointerException to be thrown after the Apply button
was pressed.
- Fixed problem where two adjacent macros (e.g., %date%%time%) were not
being resolved correctly. Related incident #78348.
- Fixed problem where the Schedule.xml file could end up with duplicate
entries if while the scheduler is active an attached user updated the
schedule. Related incident #77966.
- Irrelevant UnsatisfiedLinkErrors will no longer be printed to the
console. Related incident #78079.
- Now log full exception stacktrace when schedule read/write error
occurs. Related incident #77966.
- Now synchronize xerces/xalan factory XML calls because of known
concurrency issues. Related incident #77966.
- Corrections to better handle pad stripping of AS/400 NFS files and to
ignore and just stream AS/400 NFS files that are not padded. Related
incident #77727.
- Fixed problem in View>Log where "Start of Session" markers were being
inserted not just when VersaLex was restarted but also when the log file
was archived.
- VLTrader only: Fixed problem where the database transfer log purge was
attempting to delete more than just this VLTrader's serial number,
potentially resulting in locking exceptions if another VLTrader was
purging at the same time.
- VLTrader only: If a local HTTP user mailbox is associated with a
primary mailbox (e.g. AS2 mailbox), it now no longer counts against the
licensed mailbox limit.
- VLTrader only: Modified all Oracle triggers which handle on update
cascade for foreign keys to be AFTER UPDATE rather than BEFORE UPDATE.
Under certain conditions, BEFORE UPDATE has been shown to cause inserts
into the foreign key table occurring at the same time to hang or fail.
Related incident #77546.
- Eliminated memory leak of web server sessions caused by client requests
that did not carry forward the assigned session ID for the socket
connection.
- Added transfer log event queue and thread to avoid database transfer
logging bottlenecks (VLTrader only). And similarly, added a remote log
event queue and thread to avoid remote logging bottlenecks caused by
attached GUI, commandline, and API processes.
- VLTrader only: Eliminated constant quarter second delay when logging
EDI information Related incident #75892.
- Fixed problem during action retry which caused an incomplete result
element if a transfer completed successfully and execute on would not
execute. Problem occurred if initial attempt had not logged a file
element before the error occurred. Related incident #77075.
- A registration validation check is now done when the "Send email when
updates are available" option is selected from the "Update Options…"
button in the Software Update dialog.
When the registration is
incomplete, a warning message is displayed. Additionally, run-time
exceptions are no longer thrown when any of the needed registration
settings are missing. Instead a warning message is logged and the
software update checker is not run. Related incident #77340.
- Fixed problem where LCOPY warnings were generating EmailOnFail
notifications Related incident #77284.
Bug Fixes - FTP
--------------- Fixed bug where new advanced property PrePutCommandForFirstFileOnly was
not being handled correctly when set to true.
- VLTrader only: Changed the Maximum Concurrent FTP Logins Per User
(system level) setting to be used only when the Maximum Concurrent FTP
Logins (mailbox/user level) setting is zero. Related incident #79226.
- VLTrader only: Fixed problem where current user was not being logged
off with multiple USER commands within the same session. Related
incident #79097.
- Fixed problem on retry where file from initial attempt was not used
when destination used -UNI or %index% macro. Related incident #79078.
- VLTrader only: Fixed possible memory leak for each server connection
when used with VLProxy.
- Eliminated possible quarter second delay after the initial connection
and at the end of each transfer.
- Fixed ASCII transfer issue where a PUT (or a GET from the server) where
a carriage-return character (0xD) would not be followed by an inserted
line-feed character (0xA).
- Fixed problem with transfer ID not updating on retries when either Only
Retrieve First Available File or Only Retrieve Last Available File was
enabled. Related incident #77075.
- Fixed problem with -UNI when a single file was being retrieved where
the unique name was not used and the base file was overwritten.
Related
incident #77468.
- Added host advanced property "Reuse SSL Session" which when selected
will attempt to reuse command port SSL sessions for data ports. Related
incident #77342.
- Fixed problem with appending to a destination file with a PUT command
or with a GET command if Resume Failed Transfers was enabled (in 4.1 and
4.0.40) where the destination file was always being overwritten. Related
incident #77236.
Bug Fixes - HTTP
---------------- For HTTP (and AS2 and ebMS), if the configured Content-Type is
overridden by the API (or web service client or database payload), then
the value logged now reflects this.
- For Chrysler HTTPs, fixed problem where an error was being logged when
no files were available for download. Related incident #77350.
Bug Fixes - AS2/AS3
------------------- AS2 only: Fixed problem where a check was being done for an enabled
reverse proxy external HTTP or HTTPs port even when a synchronous MDN was
being requested. Related incident #80831.
- Corrected signature verification errors which manifested themselves as
CMSSignatureException: SignerInfo does not exist. Wrong index. Related
incident #80115.
Bug Fixes - ebMS
---------------- Fixed timing problem where an exception could be thrown trying to parse
an unsent ebMS message file that was just deleted.
- Fixed timing problem where FileNotFoundException referring to unsent
directory could be thrown.
- Fixed problem where a valid TimeToLive value could not be parsed and
was marked as invalid.
- Fixed a timing issue where processing of an inbound, encrypted ebMS
message could be put into an indefinately suspended state.
Bug Fixes - SSH FTP
------------------- VLTrader only: Fixed issue with client attack via disconnect message
which could lead to out-of-memory errors. Related incident #80852.
- VLTrader only: Changed logging of disconnect message from error to
warning for transport IOExceptions. Related incident #80445.
- Exceptions due to changing file permissions with MKDIR command are no
longer treated as errors as some servers do not allow this.
- VLTrader only: Changed the Maximum Concurrent FTP Logins Per User
(system level) setting to be used only when the Maximum Concurrent FTP
Logins (mailbox/user level) setting is zero. Related incident #79226.
- Fixed problem on retry where file from initial attempt was not used
when destination used -UNI or %index% macro. Related incident #79078.
- Fixed issue with HTTP proxy authentication when used with a Squid proxy
where NTLM was the preferred authentication method.
Related incident
#78951.
- VLTrader only: Fixed problem in overnight testing which caused
intermittent PKA login failures via VLProxy.
- VLTrader only: Fixed problem when a read request is beyond the file
length to generate a status (EOF) rather than an error. Related incident
#78477.
- VLTrader only: Fixed issue where concurrent sessions could cause
invalid handle exceptions after the file was already opened successfully.
- Eliminated possible quarter second delay after the initial connection.
- Fixed problem with appending to a destination file with a PUT command
(in 4.1 and 4.0.40) where the destination file was always being
overwritten.
Bug Fixes - OFTP
---------------- Fixed problem introduced in patch 11 where inbound OFTP files were
being dropped into the installed home directory rather than the
configured inbox. Related incident #78951.
- Eliminated possible quarter second delay after the initial connection.
Bug Fixes - MQ
-------------- VLTrader only: Corrected problem where the filename was not being
populated in the "Application identity data" field on MQ server when the
payload was being streamed from the database. Related incident #79394.
Bug Fixes - SMTP
----------------
- Fixed problem where when forward proxying, the initial SMTP server
response could be lost because of buffering.
- Corrected problem where NullPointerExceptions were being logged when a
sentbox was being used in combination with the -DEL option. Related
incident #77860.
- Eliminated possible quarter second delay after the initial connection
and at the end of each transfer.
****************************
* RELEASE 4.1 - 2009/06/15 *
****************************
Major Enhancements - Framework
------------------------------ VLTrader only: Added a new trading partner web portal, which provides a
manual file transfer option, either for low-tech or low-volume partners
or for a backup to a primary, automated transfer channel. With only an
Internet connection and web browser, a web-portal user can easily upload
and download files to/from the VLTrader web server. The web-portal user
can also view the file transfer history and have access to any custom web
pages that have been configured by the VLTrader administrator. Go to the
VLPortal tab in the Local Listener Web Browser service. Requires VLProxy
version 2.5 when VLPortal is accessed through VLProxy.
- VLTrader only: Added LDAP (Lightweight Directory Access Protocol)
authentication for authenticating users using an external directory
service.
Major Enhancements - FTP
------------------------ Added support for resuming failed transfers. When Advanced property
"Resume Failed Transfers" is selected and a transfer fails (and Command
Retries > 0), attempt to resume the transfer on a retry. If OpenPGP is
enabled on the Mailbox OpenPGP Tab, the entire file will be transferred
instead of resuming with a partial file.
Major Enhancements - SSH FTP
---------------------------- Added support for resuming failed transfers. When Advanced property
"Resume Failed Transfers" is selected and a transfer fails (and Command
Retries > 0), attempt to resume the transfer on a retry. If OpenPGP is
enabled on the Mailbox OpenPGP Tab, the entire file will be transferred
instead of resuming with a partial file.
Major Enhancements – Fax
------------------------ VLTrader only: On Windows, VLTrader can now be used to send and receive
faxes in the same fashion as other supported protocols. Please review
the VLFax system requirements at
www.cleo.com/support/byproduct/vltrader/sysreqs.php, as additional
requirements and licensing apply. Currently Fax over IP (FOIP) to a
Cisco router is supported; future releases will include support for fax
boards and other routers.
Enhancements - Framework
------------------------ VLTrader only: The VLNavigator GUI can now be accessed via a web
browser like the VLTrader GUI. (VLNavigator is an optional VLTrader
component.) Go to the Local Listener Web Browser service in VLTrader to
modify the default resource path (/VLNavigator). Requires VLProxy
version 2.5 when VLNavigator is accessed via a web browser through
VLProxy.
- VLTrader only: Added support for additional logging of warning messages
to the System Event Log (for Windows) or the Syslog file (for Unix /
Linux). Logging of warnings requires that error logging is also enabled.
Note that for Unix / Linux logging a '*.warn' entry must be included in
the syslog configuration file, if not already present. Refer to
Knowledge Base item # 2416 for further syslog configuration details.
Related incident #76479.
- Added support for generating RSA certificates with larger private key
sizes of 2048, 3072 or 4096. Related incident #76665. Related issue
#1199.
- For the API, like the recently added PUT_DESTINATION property, added a
new IMailboxController.receive() GET_SOURCE property which overrides the
configured GET command's source at runtime.
- Added feature to the Certificate Manager to 'Replace Trusted CA
Certificates' and will allow the existing certificate file name to be
retained so host configurations don't need to be updated with a new file
name. Related incident #74853. Related issue #1245.
- VLTrader only: A custom splash screen placed in conf/images is now also
used for the VLNavigator GUI.
- The API IMailboxController.send() "Put.Destination" property can now
also be used to specify a subdirectory path for local user file releases.
And like the <release> action LCOPY command, when "Put.Destination" is
used it can optionally start with the %outbox% variable, which indicates
the specified destination is relative to the configured outbox
subdirectory under the user's home. (If %outbox% is not specified, the
destination is relative to the user's home directory.)
- Now include the serial number in the dialog that is presented when a
server certificate isn't already trusted. Related incident #75516.
- Added several new API features:
- ILexiCom.noop() can be used to check API connection.
- ILexiCom.getHostProtocol() and ILexiCom.getMailboxPackaging() can be
used to get the protocol (e.g. ILexiCom.HTTP_CLIENT) and packaging (e.g.
ILexiCom.AS2) a host/mailbox corresponds to. These methods are also
available in IMailboxController and IActionController.
- For protocols supporting a destination path (e.g. FTP, SSH FTP),
added new IMailboxController.PUT_DESTINATION property which can be used
to set the put destination value in the IMailboxController.send()
parameters object.
- Added ability in API to interrupt and stop an action started by
IActionController or IMailboxController. Related incident #75493.
- VLTrader only: In Tools>Router, added a Note field with each configured
EDI that can be used to enter partner or other relevant information. The
Note field can also be used when searching for a route (i.e. [Find
Route...] button). Related issue #1289.
- VLTrader only: Fixed problem where a SQLException was being logged when
the account used for the database transfer log did not have the required
privilege to retrieve table index metadata. This exception is now
captured in the debug information instead. Related incident #75168.
- VLTrader only: When a very large number of mailboxes exist, added
several improvements to frames and dialogs throughout the GUI to be more
efficient.
- VLTrader only: Added support for being able to process inbound SMTP
messages with an empty MAIL FROM header and the sender address contained
in the MIME From header instead. Related incident #74991.
- Added mouse over text to the run mode in the status bar which indicates
when VersaLex was last started. Also added Note: entries in the View>Log
display which indicate each time VersaLex was started up and its run
mode. Related issue #1221.
- VLTrader only: Added new %transferid% macro variable to ExecuteOn...
advanced properties. Related incident #74744.
- A [Reregister…] button is now included wherever the registered primary
contact information is shown and used (e.g. Tools>Software Update).
[Reregister…] allows the registration information to be permanently
updated. Related issue #864.
- If a regular expression is used in the source of a PUT or GET command,
a syntactical check of the regular expression is now included in the
validity check that is performed when the action is updated or run.
Related incident #74755.
- VLTrader only: Local user hosts (HTTP, FTP, SSH FTP) can now also be
moved to within a host folder
- VLTrader only: Added new router icon in VLTrader toolbar
- VLTrader only: Host “modified by” setting now uses current logged-in
user
- VLTrader only: Current logged-in user now displayed in VLNavigator and
VLTrader status bar Related issue #939.
- VLTrader only: Added two new VLNavigator user group privileges for
VLTrader:
- A subset of the VLTrader privileges if set to view-only or editable
can also have stop/start enabled, which indicates that a member of the
user group is allowed to stop and start (a.k.a. run) the item.
- When the hosts privilege is set to view-only or editable, host folder
branches can be set to a list of VLTrader host folder names that are
accessible by the user group. Related issue #1192.
- Made change when locking destination files for an LCOPY command. If
multiple source files are being appended to a single destination file,
the destination file is locked for the duration of the LCOPY command.
This will prevent other operations from accessing a destination file that
is actively being built with the LCOPY command. Related incident #74599.
- VLTrader only: The VLTrader transfer database can now be marked as
temporarily disabled by going to Configure>Options>Transfers. While
disabled, transfers are saved to disk and logged once the database is
again available. Go to Configure>Options>Other to configure the "Maximum
Saved Database Transfer Log Entries". This includes both base transfer
and additional EDI log entries. Related incident #74483.
- Improved the -s service,stop commandline option to not rely on being
able to connect over RMI in order to issue the stop request to the
running service/daemon. Instead it now uses the file system to request
the stop. Also improved command line parsing to ignore any spaces inbetween service, and stop. Related incident #74167.
- VLTrader only: If transfer logging is enabled, now insert a transfer
log entry if a GET command fails to connect or log into the server.
Protocols affected include FTP, SSH FTP, OFTP, and HTTP.
- Renamed advanced property 'Copybox' to 'LCOPY Archive' to clarify its
use. No functionality has been changed; only the property name has been
changed. Related incident #68850.
- Added All/None buttons to host and configuration tables in
Help>Support>Bundle dialog.
- Inclusion of HTTP and SSL debug in system debug file is now optional in
Configure>Options>Messages (defaults to on).
- Enhanced File Viewer: old buttons for selecting files, printing and
changing formats have been removed in favor of new menu-style options.
Also added a new feature to be able to convert the file contents to a
desired character set (replaces the ASCII/EBCDIC switches). Made viewing
via the Web GUI more acceptable.
- EDI parser now ignores end-of-line characters (CR/LF) found within
segments (caused by fixed length records). Related incident #73340.
- Added a more descriptive error message when send or receive actions are
temporarily created and there is no PUT (for send) or GET (for receive)
commands in the default send or receive action for a mailbox. This will
affect database payload, the API call MailboxController.send()/receive(),
and Piping. Related incident #73015.
- VLTrader only: Added the ability to set the default connection type for
database connections (either auto commit or rollback) through the LexUtil
API. In addition, you can override this default setting with the new
getDatabaseConnection(boolean) and putDatabaseConnection(Connection,
boolean) methods. See the API javadoc for more information. Related
incident #73052.
- VLTrader only: Added a new "Log Individual LCOPY Results To Transfer
Logging" Advanced property that may be set either at the system level or
at the individual host level. By default LCOPY logs a single <Result>
regardless of how many files are copied. When this option is enabled, a
<send> and <receive> result is logged for each file copied.
- In the native GUI Log View frame, added a "Save As" right-click context
menu item which can be used to save an HTML version of the log messages.
- VLTrader only: When using the database payload feature, at each polling
interval outgoing payload for the same mailbox can now be bundled
together and sent one-by-one using just one mailbox session. Go to
Configure>Options>Transfers>Configure... database payload to enable
"Bundle (serialize) same mailbox sends" and to set the bundle size.
Related incident #64566.
- VLTrader only: Added support for processing cXML client messages and
returning a cXML response Related incident #70993.
- VLTrader only: Added a new feature to log errors/exceptions to the
System Event Log (for Windows) or the Syslog file (for Unix / Linux).
Note that for Unix / Linux, error messages larger than the size of the
Syslog record entry will be truncated. If this feature is enabled,
system event logging will be done in addition to "Email On Fail".
If
emailing fails, the email error will also be logged in the system event
log. Related incident #71378.
- Added a new Advanced property, called 'Copybox', at both the system and
host levels. If the Copybox field contains a directory path, either
absolute or relative, then the source files that are copied within an
LCOPY command will also be copied (archived) to the Copybox location.
Custom directory variables are supported at the beginning of the Copybox
path, similar to the Inbox/Outbox/Sentbox/Receivedbox fields on the hosts
General tab. If the Copybox field is left empty (default), then no
archiving will take place on LCOPY commands. Related incident #68850.
- VLTrader only: Added a new feature to compute CRC-32 values on
transferred files. This feature is enabled through a new option,
'Compute CRC on transfers' (Configure>Options>Messages panel). If this
option is enabled, the computed CRC value is recorded in the <Result>
element of the system log file; and further, if database logging is
active, the CRC will be stored in the database as well.
Additionally, a
new macro variable, %crc%, has been added. This variable is supported
within Execute On Successful Send, Execute On Successful Receive, and
Execute On Fail commands. The CRC feature is available for all
protocols.
Enhancements - FTP
------------------ Added hint when using OpenPGP encryption to confirm configuration and
data format for OpenPGP exceptions.
- Added a new advanced property PreGetCommand which can be used to
specify FTP commands to be executed before retrieves (e.g. change
directory). Using PreGetCommand rather than regular action commands
preceding the GET allows failures to connect or log into the server to
still be inserted into the VLTrader transfer log as receive errors.
- Added a new advanced property PostGetCommand which can be used to
specify FTP commands to be executed after retrieves (e.g. rename the
retrieved file on the server to mark it as downloaded). All of the macro
variables supported by PostPutCommand are also supported by
PostGetCommand. Related incident #73827.
- If an exception occurs trying to open a passive or active data port and
Command Retries is set, now retry starts with a new FTP session. Related
incident #71611.
Enhancements - HTTP
------------------- Added support for one or more %HTTP.header.XXXX% macro variables in the
destination of a GET command. The XXXX references a header name in the
HTTP server's response and is replaced with the header's value when
assembling the inbound file's name and path. If the header name is not
found in the response, the GET will error out.
- Added a new HTTP PUT+GET command for being able to both send and
receive payload in one server request/response.
- Added support to the VersaLex API to allow for the creation of an
HttpResponseListener in order to expose the contents of the HTTP request
and response through a callback method. See the API javadoc for further
information.
- Added support for displaying cXML server responses
#70993.
Related incident
Enhancements - AS2/AS3
---------------------- When receiving through the API and a trading partner relationship is
unknown because the AS2 or AS3 names were not properly defined by the
trading partner, now include a "LostAndFound" property containing the
text of the "Unknown Trading Relationship" exception.
Related incident
#75493.
- AS2 only: Added new "Disable TE Headers" Advanced Property that will
disable the Transfer Encoding headers that are normally set in the outer
HTTP headers since some trading partners having trouble processing these
headers. Related incident #71924.
Enhancements - ebMS
------------------- If using the API's ILexiComIncoming interface, the SOAP envelope of the
incoming payload is now available via property name "ebMS.SOAP.envelope"
in the open() method's parameters object. Related issue #1322.
- Added ability to SET a mailbox.Description value in an action, which
can be used to override the configured mailbox description. The
description is inserted into the generated ebMS SOAP header.
- Added several new advanced properties for manipulating outbound
messages:
- "Always Send Multipart Content", which if set on, forces Contenttype: multipart/related for all non-payload requests and responses.
- "Conversation Id XML Payload Element", which when set indicates the
element name in the XML payload whose value should be used as the ebMS
Conversation Id value.
- "Encryption Encrypted Key Id", which when set adds an Id attribute
with the configured value to the EncryptedKey element.
- "Encryption Include Certificate", which when set indicates to include
the X509Certicate in the encrypted data.
- "Encryption IV", which when set specifies the initialization vector
to be used for encryption/decryption. If specified, the configured IV is
NOT added to or expected at the beginning of <CipherValue>. The
configured value must be prefixed with either a 'c' or 'x', which
indicates whether the value following the prefix should be treated as a
character or hexadecimal string.
- "Maximum Message Id Length", which if set to a positive number,
truncates the generated ebMS message id if necessary.
- "Sign XML Payload If Signing", which when set indicates to sign XML
payload in addition to signing the ebMS SOAP envelope.
- "Sign XML Payload Omit XML Declaration", which when set indicates
when signing to omit the XML declaration at the top of the XML payload.
- If encrypting, the xenc: and ds: namespaces are now used in the
generated encrypted payload.
- Optional <X509SubjectName> and <X509IssuerSerial> subelements are now
included in the <X509Data> element of a generated signature.
Enhancements - SSH FTP
---------------------- Added hint when using OpenPGP encryption to confirm configuration and
data format for OpenPGP exceptions.
- Added client support
server supports it and
mailbox password field
each time an action is
for keyboard-interactive authentication when the
password authentication is not available. The
will be used instead of prompting for a password
run. Related incident #74525.
- Added append (-APE) for SSHFTP PUT commands.
Enhancements - SMTP
------------------- Added support for sending SMTP payload to multiple (open-ended)
recipients without requiring an SMTP forward proxy.
Additionally,
support for resending payload is now available to LexiCom users.
Bug Fixes - Framework
--------------------- When the user has selected either "Add Mailbox Alias Directory To
Sentbox" or "Add Mailbox Alias Directory To Receivedbox", now also
archive the contents of those subdirectories. Related incident #76590.
- VLTrader only: For outgoing database payload, VLOutgoing table is now
updated first with the transferID before VLSend is updated with a sent
status so that a trigger can check that the VLTransfers table status for
the transferID is not still "In Progress". Related incident #76594.
- Fixed problem in patch 31 to 35 when operating in FIPS mode where
certificates were not usable (or displayed).
- Fixed problem where use of the API IMailboxController "Put.Destination"
property was alway causing a "Command parameter does not exist" warning
to be logged at the beginning of a send. Related incident #76324.
- VLTrader only: Fixed problem where transferIDs generated for LCOPY
commands were exceeding the maximum number of allowed characters in the
database table causing VLTrader to hang. Related incident #76232.
- VLTrader only: Fix to the API IMailboxController.send()
"Put.Destination" property when it is being used to release files to a
local user mailbox. Now the "Put.Destination" path value is only treated
as a directory if the value ends in '/' or '\' (or if the directory
already exists). Otherwise the last portion of the "Put.Destination"
path value is treated as the destination filename.
- Corrected problem where when invoking either LexMailc or VLMailc, an
email server was required (using the -e option) in order to get the email
to be successfully sent even though this is an optional parameter.
Related incident #76128.
- VLTrader only: Fixed problem where when the HTTP server was receiving
inbound url-encoded content, the transfer bytes were not being logged
causing emailOnStatus and/or executeOnStatus commands not to run.
- On Windows, fixed problem where API was attempting to load DLLs each
time LexiComFactory was invoked rather than just the first time.
- Fixed problem where when viewing logs from an archive file on an AS/400
mapped drive, the error 'Log file syntax error found: "Content is not
allowed in prolog"' was being displayed.
- When VLLogc is invoked and the report is to be emailed but the email
fails to be sent, the process now ends with a negative status
- VLTrader only: When VLStatc is invoked and the report is to be emailed
but the email fails to be sent, the process now ends with a negative
status
- VLTrader only: For EDI functional acknowledgment tracking, when using
an Oracle database, now explicitly include all tables in the EXISTS
clause used within a SQL UPDATE to optimize performance. Related
incident #75389.
- Fixed problem where NullPointerException was being thrown when running
an action via the commandline. Related incident #75249.
- VLTrader only: For database transfer logging, if a file name or path is
longer than the database is sized for (100 and 200 characters
respectively), the name or path is now truncated in the logging.
- Fixed problem where if cancel exit of the GUI service, even though
scheduler and router were being restarted appropriately, the mainframe
status bar items were inaccurate.
- Fixed problems with passwords starting with a "*" for FTP/FTPs,
HTTP/HTTPs, SSH FTP hosts and local users (VLTrader only).
Related
incident #74826.
- Corrected problem where interruptions to an action were also stopping
the logging of the status of the sending of the EmailOnFail message.
- VLTrader only: Fixed problem where the router was not including the
optional EDIFACT UNA header when present in the original file. Related
incident #74865.
- Fixed problem where an java.lang.reflect.InvocationTargetException
could be thrown by the GUI if an action within the host is running and
logging messages while updating the host XML file.
- Fixed AS/400 related problem where a new certificate used for OpenPGP
or SSL may be not used or exported until the GUI is restarted. Related
incident #74461.
- For protocols supporting the PrePutCommand advanced property (FTP and
SSH FTP), fixed problem in the API IMailboxController where the
PrePutCommands would be executed before each send rather than just before
the first send. This also affected VLTrader features using
IMailboxController including the router and outgoing database payload.
Related incident #74615.
- VLTrader only: Fixed problem where the router was checking that the
host and mailbox were enabled but was not checking that the <send> action
was enabled. Related incident #73236.
- Fixed problem where updating action properties thru commandline would
always log an error that the action was not found even if it existed.
- VLTrader only: Corrected problem where a NullPointerException was being
thrown during Software update for VLTrader when checking for VLTraderspecific licensed features. This protects a client which in rare cases
may be sending the LexiCom product name instead of the VLTrader name to
the server.
- VLTrader only: Corrected a problem in the HTTP server where an embedded
file containing a '%' character was causing the contents of the file to
only be partially stored.
- Changed memory monitoring message logic to include the amount of free
memory available to avoid false indications when actual usage is much
different than the maximum available.
- Fixed problem with wide warning dialog when attempting to apply invalid
changes to an action.
- Removed client non-encrypting SSL Cipher selections
SSL_RSA_WITH_NULL_MD5, and SSL_RSA_WITH_NULL_SHA.
- Removed server support for non-encrypting (cipher algorithm NULL) SSL
ciphers SSL_RSA_WITH_NULL_MD5, and SSL_RSA_WITH_NULL_SHA. Related
incident #73815.
- Fixed problem on Unix platforms where Certificate Manager was
indicating that a duplicate certificate with the same filename except in
lowercase existed, when in reality it did not. Related incident #72391.
- Fixed file viewer problem which affects patch 8.
#73743.
Related incident
- Fixed problem with expiration date on generated OpenPGP key and serial
number on certificate when the key is created with a new self-signed
certificate. Related incident #73743.
- Fixed an issue with the class loader used to create classes for the
API. Previously, for each new class created in the API, a new class
loader would be created. This has been fixed so that only one class
loader is created. This resolves the issue of having static variables
with different values in the API. Related incident #73052.
- VLTrader only: Corrected problem when using the API and VLNavigator is
installed where LexiCom.setIAIK() had to be called before calling
LexiComFactory.
- Fixed problem where an unexpected interrupted exception could be thrown
while the PUT command is finding local files.
- Fixed issue when not waiting for processes to complete (Wait For
Execute On was not selected) where the two reader threads started with
each process would never complete.
Related incident #73169.
- Moved transfer report related code to new VLTrader method to address
class loader issue with LexiCom(only) on AIX with JRE 1.5.
- Fixed a problem on the Advanced panels where a text field would not
allow character entry, if a numeric field had previously been selected
and/or entered.
Bug Fixes - FTP
--------------- Fixed problem with GET -APE option (patch 26-39) where destination file
was overwritten instead of being appended.
- Fixed problem with GET when Resume Failed Transfers was enabled when
the destination file was already used in the same session.
- VLTrader only: Fixed problem where active mode FTP into VLTrader FTP
server using a specific source data port (e.g. 20) would occasionally
cause socket bind exceptions. Related incident #76636.
- Fixed problem when receiving PGP armored file using FTPs in ASCII mode.
- VLTrader only: Fixed problem (Windows only) when Automatically Delete
Retrieved Outbox Files would not delete the file if the retrieved
filename case did not match the configured outbox. Related incident
#76711.
- Fixed problem where a path in the source of an FTP GET was being
stripped out in the generated retrieve when the source filename was not
wildcarded.
- Fixed problem where when running natively on the AS/400 and storing
received files to an AS/400 NFS directory, the file path was incorrectly
being appended with a text string causing the AS/400 to throw an
ExtendedIOException: Directory name not valid. Related incident #75221.
- Fixed ASCII transfer problem where a line-feed character (0xA) was not
always preceded by a carriage return character (0xD) on a PUT from the
client or with a GET from the server (VLTrader only). Related incident
#74758.
- Now ignore SSL close_notify bytes if sent by server on command port
after CCC command/response. Related incident #71959.
Bug Fixes - HTTP
---------------- Corrected problem where the file being used for the %file parameter in
an application/x-www-form-urlencoded post would sometimes not be fully
read, causing a partial file to be sent to the trading partner.
- Corrected a problem in the HTTP client where an embedded file
containing a '%' character was causing the contents of the file to only
be partially stored.
- Fixed problem where the -DEL option on a PUT was causing the command to
be flagged as invalid because validation was incorrectly looking for the
parameters required for a remote delete. Related incident #73035.
- Eliminated possibility of small memory leak occurring with each HTTP
client request (including AS2 and ebMS as well).
Bug Fixes - AS2/AS3
------------------- When forwarding an MDN to an email recipient, now replace the
'multipart/report' content type with a 'multipart/mixed' content type in
the outbound MIME message. This was done because Microsoft Exchange
Server 2007 is interpreting a 'report-type=disposition-notification' as a
read-receipt and was stripping out the content of the email being
forwarded. Related incident #76945.
- AS2 only: Corrected problem where async MDN timeout email notifications
were always being sent to the system email on fail address even when a
different email on fail address had been overridden at the host. Related
incident #74704.
- AS2 only: Corrected problem where exception logging was being ignored
in some cases where the connection had timed out.
Also, user
interruptions now supersede any other possible exceptions in the logging
and email on fail and retries are no longer attempted when an action is
interrupted. Related incident #74071.
- AS2 only: Corrected problems where the host name that is set and
retrieved from the AS2 Service Panel could potentially contain two ports
appended together in the form 'address:port:port'. Additionally,
corrected this same issue in the address specified for returning the
asynchronous MDN. Also, the Disposition-Notification-To and ReceiptDelivery-Option header values should now always be the same. Related
incident #72577.
Bug Fixes - ebMS
---------------- Fixed problem where a large configured TimeToLive hours value was
causing an integer overflow and resulting in an already expired
TimeToLive date. Related incident #77180.
- Fixed problem where path of the trading partner signing certificate was
included in the fault sent in an ebMS response if the fault had to do
with the certificate not existing or being invalid.
Bug Fixes - SSH FTP
------------------- Fixed problem with GET -APE option (patch 26-39) where destination file
was overwritten instead of being appended.
- Fixed problem where a path in the source of an SSH FTP GET was being
stripped out in the generated retrieve. Fixed problem where the current
directory was changed during a DIR or GET (with wildcards) causing
following commands to fail. Also fixed issue with mixed (both '/' and
'\') in the same command.
- When opening a file for writing and the initial open fails using the
attributes returned by the server from the stat command, another attempt
is made with default attributes and the truncate flag (as if the file did
not already exist). Related incident #75973.
- VLTrader only: Fixed problem with retrieving files (larger than 32K)
with OpenSSH for a OpenPGP local user where the number of bytes returned
from a SshFxpRead could be fewer than the number requested. Related
incident #72854.
- VLTrader only: Fixed overnight issue SSH FTP server problem when
receiving OpenPGP encrypted files where a failed transfer could leave a
file locked open.
- VLTrader only: SSH_MSG_IGNORE messages will now be logged as a detail
message (High) instead of a request.
Bug Fixes - OFTP
---------------- Also fixed problem where LexiCom was not always logging the <File> and
<Transfer> elements. Related incident #75416.
- Fixed problem where if file receive fails because of an ISDN
disconnect, then a retry by the sender would always result in a duplicate
file error. Related incident #75416.
Bug Fixes - MQ
-------------- Corrected problem in trust verifier where a certificate chain was not
being trusted even after the user had opted to permanently trust the
server certificate Related incident #75516.
****************************
* RELEASE 4.0 - 2008/11/12 *
****************************
Major Enhancements - Framework
------------------------------ VLTrader only: Added graph tabs to VLNavigator which show throughput
for a VLTrader pool (bar chart) and individual VLTraders (line graph).
In the VLNavigator tree, go to a VLTrader Pool>Status or a
VLTrader>Status. VLTrader database transfer logging is a prerequisite
for graphing.
- Web browser GUI now more closely matches native GUI:
- Main page automatically maximized
- Toolbar
- Configurable automatic refresh rate
- Right-click context menus
- Auto-scrolling message lists
- Tool tip help
- Layered and centered dialog windows
- Outbound forward proxy requests can now be load balanced between two or
more VLProxies. The load balance setting can be enabled in any one of
the non-backup VLProxies.
Also, whether load balancing or not, an
alternate VLProxy will now be used immediately if/when the initial
request fails to connect to the proxy.
- VLTrader only: Added FIPS edition which will only use FIPS 140-2
approved cryptographic operations (when FIPS Mode is enabled under
Configure > Options >Other ). The VLTrader FIPS edition is only
compatible with VLProxy version [2.3.2] or better and has additional
license restrictions. If multiple VLTraders are used with VLProxy, the
VLTraders must have identical FIPS Mode settings.
Major Enhancements - SSH FTP
---------------------------- Added OpenPGP encryption/decryption to SSH FTP for outgoing/incoming
files.
Enhancements - Framework
------------------------ In the Listener Wizard, replaced the HTTP and HTTP/s "port enabled"
lines with the appropriate URLs. Related issue #868.
- If the configured inbox or outbox for a scheduled action is not
presently accessible, the action is now automatically retried after
waiting Configure>Options>Other>Autosend Restart minutes rather than
being marked as invalid and requiring manual intervention. Note that
VersaLex is unable to distinguish the difference between a VersaLex
configuration problem versus a temporary network condition. Related
incident #72178.
- The native AS/400 STRLEXSVR, ENDLEXSVR and translator file generation
scripts now require use of JRE 1.4 instead of JRE 1.3
- When the AS/400 client access network password is about to expire, now
log a warning message once per day. Also now display the same warning in
the dialog when the "Validate Login" button is used. Related incident
#71926.
- Added a new system-level property (Configure>Options>Other panel),
"Minimum Number Of Destination File Index Digits". The setting of this
property determines the minumum number of digits that will be inserted by
the %index% macro.
The %index% value is always padded with zeros. For
example, if %index% resolves to "9" and this property is set to "6", then
"000009" will be inserted for the %index% macro.
- For all protocols, added a new host Advanced property, "Wait For
Execute On". Also added "Wait For Execute On" at the system level
(Configure>Options>Advanced panel). The setting of Wait For Execute On
indicates whether execution should wait for processing to complete within
an Execute On Successful Send, Execute On Successful Receive, Execute On
Successful Copy, or Execute On Fail command.
- Added %sourcefile% and %srcfile% macro support to the Execute On
Successful Send, Execute On Successful Receive, Execute On Successful
Copy, and Execute On Fail.
- VLTrader only: Added ability to redirect (i.e. pipe) inbound payload
for a local FTP, HTTP, or SSH FTP user mailbox out through any other host
mailbox, regardless of protocol. This can be configured in the specific
local user mailbox panel. Piping is done instream, so that if the
transfer out through the pipe mailbox should fail, the transfer into the
local mailbox will also fail.
- Added support for the SET command in local user actions.
- Added ExecuteOnSuccessfulCopy and EmailOnSuccessfulCopy Advanced
properties for all protocols and as a System Advanced property. When
configured, these properties will generate and email or start an external
process for each file successfully processed by an LCOPY command.
- Added ability to support regular expessions on GET, PUT, LCOPY, LDELETE
and LREPLACE commands. Basic wildcards ('*' and '?') are still
supported, while regular expressions enable a wider range of search
patterns. When used, a regular expression must be encapsulated in
brackets ('[' and ']').
- VLTrader only: HTTP, FTP, SMTP and SSH FTP welcome messages may be
customized using the Local Listener Responses panel. An optional banner
message may be configured for FTP, SMTP and SSH FTP.
- Added ability to generate a new self-signed certificate with the same
information as an old and/or expiring user certificate. To use this
feature, right-click on an existing user certificate and choose the
"Generate New Self-signed User Certificate". Everything except the alias
and password is cloned from the existing certificate.
- SMTP is now also available to LexiCom clients
- When the master scheduler in a synchronized system is being manually
stopped, a confirmation dialog will now indicate that stopping the master
scheduler will keep all synchronized VLTraders from running scheduled
actions.
Related incident #70502.
- VLTrader only: For incoming database payload, added an
AlwaysAllMailboxesReceive switch in the VLOptions table (defaults to off)
which indicates that all mailboxes are always database incoming mailboxes
rather than requiring each mailbox to be individually enabled. This
switch can either be set directly in the database or using
Configure>Options>Transfers>[Configure...] database payload.
- Added option for generating an OpenPGP key using Certificate Manager
Certificates>Generate>Self-signed User Certificate. Added support for
exporting an OpenPGP key with subkeys. Related incident #70320 and
70431.
- VLTrader only: Instead of having to go through the VLTrader transfer
table to generate a transfer report, either "Table" or "Report" can now
be selected in the initial transfer filter dialog. (A report can still
be generated from the table as well.)
- VLTrader only: Configured VLTrader aliases are now included in the
transfer filter dialog, transfer table detail, and transfer report.
- VLTrader only: Added the ability to update in-process transfers to the
database based on a user-defined Update Frequency specified on the
Transfers tab of the Options panel.
- Added ability to use SMTP authentication usernames and passwords for
emailing.
As part of this enhancement, the SMTP Mail Server has been
moved from the Options->Other panel to the Proxies panel and the SMTP
Mail server proxy entry may be edited to include a username and password.
(Either "Plain" or "Login" Proxy Authentication may be selected, but will
currently be ignored. The authentication mechanism used is currently the
first available authentication mechanism in the server.) Related
incident #68354. Related issue #962.
- The Properties parameter in the ILexiComIncoming interface's open()
method now will contain all of the HTTP header and parameter name/value
pairs for unsolicited receives. The names are all prepended with either
"HTTP.header." or "HTTP.parameter."
- Added a new directory variable feature. The first aspect of this
feature allows the user to create custom directory variables under
Configure>Options>General. Variables are defined as '%name%=value'
pairs. The second aspect of this feature allows the user to then
reference these variables in the inbox/outbox/sentbox/receivedbox
settings under the active hosts General tab. With this capability, a
reserved variable '%system%' references the associated system-level
settting.
Related incident #67109.
- Modified the SYSTEM command to allow processing of %date% and %time%
macros Related incident #68703.
- Made changes to LCOPY command to help the user determine if the command
completed successfully. When copying a file without the -APE option, or
when copying a file with the -APE option but the destination file does
not already exist, a temporary file name is used while the copy operation
is taking place. This temporary file will be placed in the destination
directory. Its name will begin with the product name and end with
'.tmp'. Once the copy completes successfully, the temporary file is
renamed to the destination name. Related incident #68850.
- For all protocols, added a new host Advanced property, "Outbox Sort".
Also added "Outbox Sort" at the system level (Configure>Options>Advanced
panel). The setting of Outbox Sort controls the order in which multiple
files are transferred on a PUT command. At the system level, there are
two options:
"Alphabetical" (default) and "Date/Time Modified". At the
host level, there are three options: "System Default"(default),
"Alphabetical" and "Date/Time Modified".
- Up to three VersaLex API interfaces can now be configured to run
directly within the Versalex service/daemon. Implementations of one or
more of these interfaces - ILexiComIncoming, LexiComLogListener, and
LexiComOutgoingThread - can be set at Configure>Options>Other>Custom XXX
Class. Refer to the VersaLex API documentation for a description of each
interface. An archive containing the implementation(s) must be copied to
the VersaLex lib/api/ folder. The Versalex service/daemon will load and
register the configured classes at startup.
- Macro variables %inbox% and %outbox% can now be used in a SYSTEM
command. Related incident #67451.
- VLTrader only: Database SQL statements used to create the VLTrader
transfers table and optional EDI and payload tables can now be exported
to a file using Configure>Options>Transfers>[Export Database
Definition…].
- VLTrader only: If the database transfer logging is enabled but the
database is unavailable, transfer log entries are now saved to disk and
the database is brought up-to-date when it is again available. This
applies to the basic send/receive transfer log and EDI option, but does
not apply to the database payload option. If
Configure>Options>Other>Maximum Saved Database Transfer Log Entries
(default 10,000) is reached while the database is down, the oldest saved
entries are deleted when new entries are added.
- Synchronization with an offline VersaLex is now automatically disabled
if the sync queue size reaches the maximum number of entries. The
maximum can be configured at Configure>Options>Other>Maximum Allowed
Synchronization Queue Size and defaults to 10,000.
- Up to 25 message IDs and sent/received receipts are now bundled
together during syncing to improve sync performance in high volume
systems.
Enhancements - FTP
------------------ If FTP Mailbox setting No Password Required is checked and the response
from the server is 331 from the USER command, the PASS command (followed
by a space) will be sent to the server with no password supplied.
Related incident #71656.
- VLTrader only: For the FTP server, inbound filenames can now be
required to have a file extension. This can be set in the Local FTP
Users FTP tab.
- VLTrader only: FTP server now supports FEAT and OPTS commands (RFC
2389).
Enhancements - HTTP
------------------- VLTrader only: Added Oracle Transport Agent server interface for
processing inbound messages
- Added Oracle Transport Agent client interface for processing outbound
messages
- Added new "Store Raw Sent Message" Advanced property. When this
property is enabled, a copy of the outbound message will be stored in the
HTTP/sent directory.
- Authorization and Proxy-Authorization HTTP headers can now be manually
set in host/mailbox HTTP tab for non-standard values or unsupported
authorization schemes. This is supported in all of the HTTP protocols,
including AS2 and ebMS. Related incident #70239.
Enhancements - AS2/AS3
---------------------- In the Mailbox Wizard, added a checkbox in Step 3 "Select Trading
Partner's Signing Certificate" to "Use Encryption Certificate" and
populate the signing certificate field with it when the option is
checked. Related issue #871.
- AS2 only: Added Async MDN Resend and Async MDN Timeout values at the
host level which, when set to the non-default value (-1), overrides the
Local Listener's settings.
- Added new "Date" and "Date-Local" entries to the generated MDN text
Related incident #67287.
- AS2 only: When any additional headers are defined in HTTP panel, those
headers that have a value are included (as-is) in the HTTP header.
- AS2 only: Added ability to specify the AS2 Async Preferred Port on the
Advanced Panel Related incident #68580. Related issue #961.
- AS2 only: When sending asynchronous MDNs, the Listener's configured
advanced property Connection Timeout is now used and the MDNs will now
time out if the trading partner's server stops reading it. Before this
change, the asynchronous MDN would hang until the socket was eventually
closed by the server.
Additionally, when an asynchronous MDN cannot be
sent, it is now logged as a warning instead of an exception. Related
incident #68010.
Enhancements - ebMS
------------------- Added new "Encryption-Signing Order" advanced property which if changed
from the default of "Sign then encrypt" to "Encrypt then sign" allows the
encryption/signing order to be reversed for both outbound and inbound
messages with an ebMS trading partner.
- Added new "Outbound SOAP Charset" advanced property which if set to
UTF-8 will add charset=UTF-8 to the Content-Type header of the SOAP part
and ensure UTF-8 encoding.
- In addition to default TripleDES, added support for optional SEED
encryption algorithm. Related incident #70239.
- Added Async Ack Resend and Async Ack Timeout values at the host level
which, when set to the non-default value (-1), overrides the Local
Listener's settings.
- Added new option "TCD Super Gateway" to the ebMS Profile Support
advanced property. When this profile is chosen, VersaLex will set the
outgoing ConversationID and To Action in the ebMS SOAP envelope based on
the outgoing filename (the To Action will be the portion of the filename
before '_' and the ConversationID will be the portion of the filename
after '_' less the extension). Related incident #70832.
Enhancements - SSH FTP
---------------------- VLTrader only: For the SSH FTP server, inbound filenames can now be
required to have a file extension. This can be set in the Local SSH FTP
Users SSH FTP tab.
- VLTrader only: Added support for formatting SFTP version 2 SshFxpStatus
messages.
Related incident #69629.
- VLTrader only: Added log message showing username for connections via
VLProxy. Related incident #70152.
- VLTrader only: Added check to assume the user root directory is
requested when the path specified is '\' or '/'. Related incident
#69629.
Enhancements - SMTP
------------------- VLTrader only: When rejecting incoming email because account is not
known or not unique or disabled, added rejected sender email address to
SMTP server response so that if EmailOnFail is configured, the generated
email contains the problematic email address. Related incident #68914.
Bug Fixes - Framework
--------------------- Fixed problem handling autorun/ files where multiple -c command
arguments were not being parsed correctly if the commands themselves
contained multiple double quotes because of paths with embedded spaces.
Related incident #72131.
- Fixed problem where the Tools>Scheduler dialog would not reflect the
correct "Next Scheduled" column value for an action if the action had
been marked as invalid, incomplete, or for restart before the GUI was
opened. Related incident #72281.
- VLTrader only: For inbound HTTP messages, no longer log the file or
PAYLOAD parameter values since they both contain data which shouldn't be
logged. Additionally, when the database payload is enabled for incoming
data, the file and payload parameters are no longer inserted into the
VLIncomingProperties table.
- Fixed problem where a scheduled action that was disabled (or it's
parent mailbox or host was disabled) would cause delays in autosend
actions. Related incident #72134.
- Fixed problem when generating a support bundle with JRE 1.4 (patch 42
to 44 only) which would throw an exception when attempting to create a
thread dump.
Related incident #72072.
- When an AS/400 client access network password has expired, no longer
display the Client Access popup dialog within VersaLex Related incident
#71926.
- VLTrader only: Fixed problem in versions 3.6.25 to 3.6.41 where the web
GUI would throw a NullPointerException when attempting to view the
transfer log table.
Related incident #72015.
- Fixed null pointer exception problem (3.6.20 to 3.6.36) when emailing
support bundle.
- Fixed problem where web GUI sessions were missing all images, style
sheets, etc. if the browser requests inserted additional name=value pairs
at the beginning of the Cookie: header. Related incident #71387.
- Fixed problem where if the scheduler could not run an action because
the action was invalid, the scheduler would possibly not run any other
actions until the action in error was corrected. Related incident
#71055.
- Fixed problem where characters & and ] when present in the log file
content were sometimes being displayed in the log viewer surrounded by
semi-colons (;).
- Added check to remove .dbg files in the logs directory that are older
than 3 days old . Additionally, on exit all zero-length files are
removed. (The standard LexiCom/VLTrader dbg file is always excluded from
these checks.) Related incident #71150.
- Fixed problem where if VersaLex daemon running on Solaris, the web GUI
would throw a NullPointerException when a tab in the Configure>Options
dialog was selected. Related incident #71049.
- Fixed problem where duplicate menubar pulldown items could appear.
Related incident #71052.
- Fixed LexiCom (3.6.19 to 3.6.30) only problem when requesting a
permanent license which would result in a null pointer exception.
- Fixed issue with increasing number of threads and eventual out of
memory error when accessing AS/400 IFS. Caused by I/O exceptions which
would create a new AS/400 connection while the current connection was
left open.
- Fixed problem with reverse proxy load balancing between VersaLexes when
using as a synchronized backup or with a backup license. Reverse proxy
load balancing was selecting the backup rather than the primary VersaLex
if both were available.
- Fixed issue where a synchronized backup would continually initialize
VLProxy. Related incident #70885.
- Fixed problem where enhancement made to create temp files during LCOPY
was failing when destination directory was networked AS/400. Related
incident #71010.
- VLTrader only: When a Local FTP or SSH FTP User home directory is
invalid or not available at startup the user account will no longer be
disabled. Instead I/O errors will occur after a successful login when
file operations are attempted. Related incident #70814.
- VLTrader only: Fixed problem where EDI router was not recognizing a
file as EDIFACT if the initial UNB segment contained a carriage return
and/or line feed. Related incident #70806.
- VLTrader only: Fixed issue loading IBM intermediate CA cert
(IBM_PKI.certificate.cer) in FIPS mode.
- VLTrader only: Fixed problem verifying a signature from a hash value
where the signature's corresponding public key cannot be used for
decryption in FIPS mode.
Related incident #70437.
- VLTrader only: Fixed problem where [Export Database Definition…] in
Configure>Options>Transfers would throw a NullPointerException if
database transfer logging was just turned on.
- VLTrader only: Fixed problem where the folder location for a host when
it was exported was not being retained if/when the host was later
imported onto a VLTrader where it no longer existed.
- Fixed issue with importing DSA certificate and private key file
(separate files) using Certificate Manager Certificates>Import>User
Certificate and Private Key.
- Added warning message if file selected does not appear to be a valid
OpenPGP key using Certificate Manager Certificates>Generate Trusted CA
Certificate from OpenPGP Key Related incident #70228.
- Made changes to avoid a potential endless cycle that could be started
if an exception occurred while trying to distribute a log event to the
connected (web) GUIs or commandlines.
Related incident #69951.
- VLTrader only: Fixed problem where if VLTraders are sharing a database
instance but are not synchronized, the VLTrader transfer report
incorrectly included both VLTrader transfers.
- VLTrader only: When load balancing outgoing database payload between
active, synchronized VLTraders, added more feedback between the VLTraders
so that the outgoing load is more evenly distributed. Related incident
#69514.
- For synchronized LexiComs or VLTraders, fixed problem where if
"Email/Execute On Repetitive Action/Listener Failures" is turned off,
VersaLex was unnecessarily synchronizing a host or local listener every
time an error or exception occurred. Related incident #69951.
- VLTrader only: Fixed problem where VLTrader was not detecting payload
as EDIFACT when it started with an optional UNA segment followed by extra
end-of-line characters.
- VLTrader only: Corrected problem in VLNavigator where if a VLTrader's
address/port/secure fields were changed, the subsequent connection status
dialog was incorrect.
- VLTrader only: When database logging and payload is in use and
automatic purging of transfers was enabled, already retrieved incoming
transfers (i.e. VLIncoming.Retrieved DT was not NULL) were never being
purged.
- Corrected problem where the scheduler could not be started from the GUI
when running under the AS/400 service; incorrectly reporting that
"Scheduler not started because this LexiCom is a backup-only system."
Related incident #69081.
- If an HTTP/s port is configured and enabled in the Local Listener and
Authenticate Client is also enabled, fixed problem where VLProxy would
not be able to establish a secure connection inbound to LexiCom/VLTrader
when reverse proxying an HTTP/s, FTP/s, or SSH FTP request. Related
incident #69015.
- While checking an outbox file status for autosend actions, the
scheduler now forces a 1 minute timeout. This is to avoid possible lock
ups when accessing networked folders. If a timeout occurs, VersaLex logs
an error containing the action and outbox file in question and then
continues processing the schedule. If the outbox file continues to be an
issue, VersaLex will continue to log errors. As part of this change,
also the outbox file status check is now more efficient when a large
number of files are present in the same outbox directory. Related
incident #69002.
- Fixed problem where specifying 1 in the Configure>Options>Other
Sent/Received Box Archive After Files setting would never archive files
(limit was considered invalid).
- Corrected issue with shortcut (Windows only) created to a file which
may not exist while generating translator files. Related incident
#68198.
- When archiving directories, removed host specific information in log
messages since the same directories could be shared by several hosts.
- For AS/400 network access, if a "java.lang.InterruptedException" is
thrown while checking validity of the source or destination of a command
in an action, it is no longer interpreted as a command syntax error and
will force reauthentication with the AS/400. Related incident #67986.
- VLTrader only: When transfer logging enabled, fixed small memory leak
for each logged transfer. Also corrected problem where if a multiple
file transfer is being logged and it included a synchronous receipt, the
transfer bytes logged for each file were not proportioned properly.
- Fixed problem where if commandline -t option was used to modify a host
Advanced property then any other Advanced property settings for the host
were being reset back to defaults. Related incident #67760.
- VLTrader only: Fixed problem where the VLTrader daemon would not run
without an XWindows environment. Related incident #67523.
- VLTrader only: Fixed problem where if using the database payload option
and the database is not currently available, an add/rename/removal of a
host or mailbox could cause the GUI to hang.
- VLTrader only: When the outgoing database payload option is being used,
if the host/mailbox requested does not exist, VLTrader will now skip
immediate retries and wait the restart period before trying again.
Related incident #67545.
- Fixed bug where the host advanced properties "Add Mailbox Alias
Directory To Inbox" and "Add Mailbox Alias Directory To Outbox" were not
being applied when the system default inbox or outbox was in use. Also
fixed problem where use of the SET command for changing these properties
within an action would have no affect.
- Indexes will be added (in addition to the timestamp) to zip entries to
prevent duplicate entry exceptions when archiving directories after the
system clock has rolled back.
Bug Fixes - FTP
--------------- VLTrader only: For connections via VLProxy, VLProxy will now process
the FEAT command. Requires VLProxy version 2.4. Related incident
#72072.
- VLTrader only: Fixed problem with multi-line responses (Unix only) for
FEAT and STAT commands through VLProxy. Related incident #72072.
- VLTrader only: Corrected FEAT response multi-line ending to from "211
End of extensions" to "211 End". Related incident #72072.
- Changed ASCII transfers to read/write bytes instead of characters.
Transferred data will not be altered with the exception of inserting or
removing carriage returns when necessary. Related incident #72072.
- Fixed problem with decrypting OpenPGP data which contained a password
encrypted object. If password encrypted data is detected, it will be
ignored and a warning will be logged. Related incident #71761.
- Fixed null pointer exception when sending where the source file from a
database without a filename and PGP was enabled. Related incident
#69588.
- Fixed null pointer exception when sending where the source file was
from a database and PGP was enabled. Related incident #69588.
- VLTrader only: FTP server will now allow the RNFR/RNTO command pair to
rename a directory, as long as "Allow users to make/remove
subdirectories" is enabled in the Local FTP Users. Also corrected
problem where FTP server was erroring out processing a RMD (remove
directory) command. Non-empty directories can be renamed, but not
removed. Related incident #69071.
- VLTrader only: Fixed problem with "Automatically Delete Retrieved
Outbox Files" advanced property which was not limiting to only the
configured outbox and its subdirectories.
Bug Fixes - HTTP
---------------- Fixed a memory leak that was occurring with each HTTP action whenever
WWW or proxy authentication was in use.
- To improve performance, removed hostname resolution that was occurring
with each inbound HTTP connection. Related incident #69967.
- VLTrader only: If Local HTTP users root directory is configured with an
absolute path but is in fact a directory under the VLTrader home
directory, fixed problem where VLTrader was throwing a
StringIndexOutOfBoundsException when an HTTP mailbox was accessed via a
web browser. Related incident #69582.
- Fixed problem where if an HTTP transfer attempt was interrupted by the
user, any subsequent attempts to transfer the same file would log a
warning that the source file was not found.
- VLTrader only: Fixed problem on Unix platforms where HTTP server was
not switching a Windows path separator (\) to a Unix path separator (/)
when processing inbound requests.
Bug Fixes - AS2/AS3
------------------- AS2 only: Corrected problem where uncompressed signed base64-encoded
multiple payload messages that had the "compressed then signed" setting
enabled were being incorrectly assembled with a missing start boundary
(within the MIME message).
- When an exception occurs while sending the message, now preserve that
exception and give it precedence over exceptions that could occur while
attempting to close the connection. Related incident #72219.
- AS2 only: When multipart payload files are received and any of the
payload parts have content types that do not match the specified file
name, now only add a file name extension (associated with the specified
content-type) if the received file name does not already have an
extension.
- AS2 only: Corrected problem where the wrong offset from GMT was being
displayed in the MDN for time zones ahead of GMT that are currently
observing DST. Related incident #71597.
- AS2 only: When an unsigned/unencrypted message is received containing a
bad, missing or duplicate filename and the "Generate Filename
Preservation MDN Responses" is enabled and the Action is to "Reject
Payload, Return Error", now read (and throw away) the entire message
before returning the MDN.
This corrects problems where some receivers
were not receiving the MDN but instead were getting a "Connection reset"
response.
- AS2 only: When writing to the AS/400 NFS and the "Overwrite duplicate
filenames" option has been selected, now force the addition of the .mbr
extension and the correct 10.3 filename format when a default filename
has been specified that didn't include a .mbr extension. Related issue
#859.
- When negative MDNs are received by the Listener they will now trigger
Execute On Fail and Email On Fail alerts; however when positive MDNs are
received, the successful result will continue to be ignored. Related
incident #69634.
- Fixed problem where messages terminated with just a line feed were
sometimes causing the SignatureException - "Content hash does not match
to MessageDigest attribute value!" Related incident #68265.
- VLTrader only: Duplicate and unsolicited MDNs are no longer logged in
the transfer log. Related incident #67545.
- Corrected duplicate MDN checking so that file existence is checked
instead of relying on read-only access errors.
Related incident
#67545.
- Reworked the micalg string parsing logic in the DispositionNotification-Options header. Also if there is an exception that a
supported micalg was not specified, now always store the raw received
file to aid in further debugging. Related incident #66760.
Bug Fixes - ebMS
---------------- Fixed problem when select to [Resend] a previously sent message where
VersaLex would error out indicating the CPA/Role/Service values were not
recognized.
- Any pathing contained in the payload's Content-Type header 'name' value
or Content-Disposition header 'filename' value are now stripped before
being used locally. Also, now handle case when a payload ContentDisposition header is not present. Related incident #70239.
- Fixed problem where ebMS client would log an IllegalAccessError rather
than a ConnectException when unable to connect to the configured
address/port.
- Fixed problem where an ebMS action would throw a NullPointerException
when trying to send if the Local Listener ebXML Message Service was not
configured.
Bug Fixes - SSH FTP
------------------- Fixed problem with decrypting OpenPGP data which contained a password
encrypted object. If password encrypted data is detected, it will be
ignored and a warning will be logged. Related incident #71761.
- VLTrader only: Fixed issue when system commands needed on Unix failed
with parameters (filenames) containing spaces. Also fixed issue where
failed system commands showed the local path. The details on the failed
command will be shown in the debug file. Related incident #70454.
- Fixed problem when retrieving a file where a SSH_FXP_STAT command after
a file was opened for reading would fail. Related incident #70268.
- VLTrader only: Added check for paths beginning with '\' or '/' resolve
to user's root directory. A path of '/filename' will be
'/home/username/filename'. Related incident #69629.
- VLTrader only: To improve performance, removed hostname resolution that
was occurring with each inbound SSH FTP connection. Related incident
#69967.
- VLTrader only: Corrected problem with server not using the configured
timeout values during protocol negotiation. Server would disconnect (i.e.
with a telnet connection) if the client did not provide a valid protocol
version within 1 second.
- VLTrader only: Corrected problem with unsupported implementation
specific channel requests (i.e. simple@putty.projects.tartarus.org sent
by PuTTY or FileZilla) which are now ignored or a SSH_MSG_CHANNEL_FAILURE
message is returned if a reply is requested. Related incident #69629.
- Added support for allowing an empty (blank) remote identity comment
field where the identity ends with a space. Related incident #68113.
- Added support for allowing an empty (blank) algorithm at the end of a
list when the list improperly ends with a comma ",". Related incident
#68583.
- Corrected problem where action would never complete if the server
disconnected (transport protocol disconnected) during authentication.
Related incident #68113.
- Added support for silently ignoring the first SSH_MSG_KEXDH_INIT
message when the first_kex_packet_follows field is true in the proceeding
SSH_MSG_KEXINIT message and the preferred (guessed) server public key
algorithm was optimistically sent and doesn't match the algorithm agreed
upon.
- Fixed problem when retrieving files (larger than 64K from a GlobalScape
server) where the transport would disconnect due to an unexpected server
response without a reason specified. Related incident #67959.
Bug Fixes - OFTP
---------------- Fixed problem where if an outgoing ISDN connection request timed out,
any subsequent outgoing ISDN connection requests would result in an
java.lang.ArrayIndexOutOfBoundsException. Related incident #67825.
Bug Fixes - SMTP
---------------- Fixed problem with outgoing transfer rates being half the value
configured on the host's advanced panel.
- VLTrader only: When an exception is generated while processing an
inbound message preamble, now return the actual exception instead of a
"Read end dead" error. Related incident #69069.
- VLTrader only: When receiving a base64 or uuencode message, corrected
the transfer byte count logged by the SMTP server. Also, the transfer
byte counts for multiple attachments are now logged as separate events by
both the SMTP client and server.
****************************
* RELEASE 3.6 - 2008/04/15 *
****************************
Major Enhancements - Framework
------------------------------ VLTrader only: Initial release of VLNavigator, an optional, add-on
application for multiple VLTrader and user management. VLNavigator
facilitates:
- grouping VLTraders into "pools",
- defining user groups with specific VLNavigator and VLTrader
privileges, and
- creating individual user logins.
- Added Maximum Incoming Transfer Rate and Maximum Outgoing Transfer Rate
advanced properties for limiting mailbox transfer rates (kbytes/second).
The system level properties are set on the Configure>Options>Advanced
panel and control the maximum rates allowed for concurrent transfers for
all mailboxes. The system level property can be overriden by each host or
local user mailbox advanced property. The system settings are used unless
the host or mailbox setting is more restrictive. The system and host or
mailbox settings default to 0 which is unlimited.
- Two or more synchronized production Versalexes are now allowed to
synchronize (i.e. load balance) the schedule. When multiple production
VersaLexes are active, one of the VersaLexes is automatically chosen as
the master scheduler which distributes actions. Backup VersaLexes become
part of the distribution or become even the master scheduler when
production VersaLexes are offline. Please note in this scenario that the
outboxes for autosend actions MUST be shared network folders and it is
strongly recommended that ALL inboxes and outboxes be shared network
folders.
- VLTrader only: Similar to above, two or more synchronized production
VLTraders using the outgoing database payload feature will now be load
balanced. When multiple production VersaLexes are active, one of the
VersaLexes is automatically chosen as the master outgoing database
payload controller which distributes sends. Backup VersaLexes become
part of the distribution or become even the master controller when
production VersaLexes are offline.
Major Enhancements - SMTP
------------------------- VLTrader only: Added ability to send outbound FAXes through the Streem
service bureau
Enhancements - Framework
------------------------ VLTrader only: For database transfer logging, added the host's folder
as a column in the VLTransfers table so that it is now available for
external report generation. Related incident #66881.
- In Configure>Synchronization…, an optional alias can now be entered for
each LexiCom or VLTrader being synchronized. If entered, the alias is
included in the title bar of VersaLex's main window. (Even if
synchronization is not being used, an optional alias can still be entered
for the active VersaLex if so desired.)
- A custom splash screen can now be placed in the conf/images directory.
The filename must start with "splash." and supported formats include
JPEG, GIF, and PNG. The image can be no larger than 525X340 pixels and
no smaller than 250X100 pixels.
- At startup, if LexiCom/VLTrader detects that the end of the system log
file is corrupt, the log file is now immediately archived. Also, if
LexiCom/VLTrader detects a corruption when reading in active/archived log
files for viewing, the user now has the option of still viewing the
events that were readable.
- The host's configured advanced property Connection Timeout is now
applied to writes as well as reads. Client-side writes will now timeout
if the trading partner's server stops reading the sent payload. Before
this change, the client would hang until the socket was eventually closed
by the server. This applies to the FTP, HTTP, SMTP, and OFTP protocols.
Related incident #65579.
- VLTrader Only: Database transfer logging reports now by default include
all synced VLTraders. User also has the option of including just
selected VLTraders. Report details indicate specific VLTrader
responsible for each transfer.
- To facilitate VLTrader-LexiCom network rollouts, VLTrader
administrators can now provide deployment URLs to their LexiCom users. A
deployment URL points to a zip file at a web location (possibly VLTrader
itself) and can potentially contain a host file which points back to
VLTrader, a local listener file which sets the proper LexiCom listening
ports, a user certificate, CA certificates, configuration files, and any
additional files pertaining to the trading relationship between VLTrader
and this LexiCom. The zip file normally would be created using
VersaLex's File>Export. LexiCom users can enter their deployment URL
either during initial product registration or via File>Import or via the
commandline -i option.
- In File>Export, if specially named "prereadme.txt" and/or
"postreadme.txt" files are included as additional files in the export,
then when the exported file is imported using File>Import, the contents
of these files are displayed as pre-import/post-import instructions
before/after the file import. If using the commandline -i option rather
than File>Import, the instructions are printed to the console.
- The File>Export utility now includes the ability to export user
certificates and their private keys as PKCS12 files in the created zip
file. And likewise, the File>Import utility will now look for PKCS12
files in the zip file and if present, allow for import. A password must
be provided for each user certificate being exported/imported. If using
the commandline -i option rather than File>Import, each PKCS12 file
password is prompted for.
- VLTrader only: Previously, when using the database payload feature (or
when streaming files via the API), the logged source or destination for
streamed items in the transfer report were just the keyword "*stream*".
Now, if a filename for the stream is known, it is retained in the
transfer report.
- VLTrader only: An index is now created in the database for each of the
VLTrader tables' foreign keys. This potentially helps to avoid
deadlocks.
- In Configure>Options>Other, added the "Synchronized Backup Failover"
property. This property controls how long a synchronized backup VersaLex
waits for the production VersaLex to become active before taking over.
This property defaults to 5 minutes. A warning is logged halfway through
the wait period.
- When using the select certificate dialog, if a certificate had already
been previously selected and configured, the dialog will now initially go
back to this selection, if it exists.
- When using the LexLogc/VLLogc or VLStatc command to generate an email
report, when no log events or transfer results are found for the
specified filter, the filter settings are now included in the generated
email.
Enhancements - FTP
------------------
- Added new OpenPGP advanced property "PGP V3 Signature", which when set
on indicates to generate "old-style" V3 signatures when signing. Related
incident #66700.
- VLTrader only: The Local Listener advanced property Connection Timeout
is now applied to writes as well as reads for the FTP Server. Server-side
writes will now timeout if the trading partner's client stops reading the
sent payload.
- VLTrader only - Added Local FTP User mailbox Advanced property "Maximum
Concurrent FTP Logins". Added Local Listener Advanced property "Maximum
Concurrent FTP Logins Per User". Both settings default to zero which is
unlimited. The Local Listener parameter (Maximum Concurrent FTP Logins
Per User) is used unless the mailbox setting is more restrictive.
Enhancements - ebMS
------------------- Added new advanced property "Outbound Message Time To Live", which
defaults to 24 hours. This value indicates how long a message has to be
delivered before it is considered expired. Related incident #66714.
- An empty SOAP message received in a response will now be treated as no
content and will not result in an error as long as a synchronous
acknowledgment was not requested.
Enhancements - SSH FTP
---------------------- VLTrader only - Added Local FTP User mailbox Advanced property "Maximum
Concurrent FTP Logins". Added Local Listener Advanced property "Maximum
Concurrent FTP Logins Per User". Both settings default to zero which is
unlimited. The Local Listener parameter (Maximum Concurrent FTP Logins
Per User) is used unless the mailbox setting is more restrictive.
Bug Fixes - Framework
--------------------- Fixed problem when forcing synchronization to resolve previous syncing
errors where all of the message IDs and receipts would be resynced
unnecessarily.
- VLTrader only: For database EDI transfer logging, when the database is
not available, fixed problem where VLTrader would hang at the end of a
send or receive when attempting to log the EDI information.
- VLTrader only: For database transfer logging, at startup, VLTrader sets
any leftover, previous "In Progress" transfers to "Interrupted". Changed
this SQL UPDATE statement to use an IN clause instead of just a WHERE
clause when connected to MS SQL Server because SQL Server does not
support a simple UPDATE WHERE statement that affects more than 1 row.
Related incident #67025.
- Like the scheduler, for AS/400 network access, the sent/received box
directory archiver now also catches various AS/400 I/O exceptions and
forces reauthentication with the AS/400. Also added a two and a half
minute timeout when making any AS/400 connections to keep connections
that could not be made from hanging indefinitely.
#66557.
Related incident
- For AS/400 network access, if a
"com.ibm.as400.access.ConnectionDroppedException" is thrown while
checking validity of the source or destination of a command in an action,
it is no longer misinterpreted as a command syntax error and will force
reauthentication with the AS/400. Related incident #66820.
- Fixed problem where Tools>Certificate Manager would silently fail when
being used to generate a self-signed certificate and write access was
denied to any of the user certificate store files (data\*).
- For AS/400 network access, if an
"com.ibm.as400.access.ExtendedIOException: File in use" or
"java.net.SocketException: Connection reset" exception is thrown while
checking validity of the source or destination of a command in an action,
it is no longer misinterpreted as a command syntax error. And the
"java.net.SocketException" will now also force reauthentication with the
AS/400. Related incident #66557, 66820.
- Fixed issue where the service may not stop via command-line or using
File>Stop Service since the local listener was not stopping.
- Fixed problem where an ArrayIndexOutOfBoundsException was being logged
while viewing the Tools>Scheduler… dialog. Related incident #66686.
- VLTrader only: In XML transfer logging, fixed problem where the day
that the clock was set forward for daylight savings would not be
retrieved as part of transfer reports.
- Corrected problem with possible null pointer exception with concurrent
file transfers started or ended at the same time.
- Fixed problem where if a system-level Receivedbox was configured in
Configure>Options, Tools>Software was leaving a copy of the downloaded
software notes.txt file in the received box. Related incident #66350.
- VLTrader only: Fixed problem caused by previous fix for non-ASCII
segment terminators where routed EDI files were missing segment
terminators in the trailer segments. Related incident #66209.
- Corrected issue with importing host files into LexiCom was generating a
NoClassDefFoundError for SshFtpUserHost.
- VLTrader only: Outgoing database payload is now ensured of being sent
out on a first-in, first-out basis. Related incident #66063.
- VLTrader only: Added check to prevent exception when sending VLProxy
configuration and the SSH FTP server was not configured. Related
incident #66084.
- Corrected a problem where only one host was being displayed when
cloning and activating from the Cleo web site. Related incident #66122.
- VLTrader only: For EDI transfer logging, fixed problem where a nonASCII segment terminator was not expected. This was causing only the
first interchange record in the payload to be logged. Related incident
#66084.
- When running LexiCom on an AS/400, the AS/400 network access login (if
configured in LexiCom) is used for file I/O privileges rather than the
user running the LexiCom process. If the login was only partially
configured, the LexiCom AS/400 process was erroring out. Now the
configured login is only used by the LexiCom AS/400 process if both a
userID and password has been configured.
- VLTrader only: If using database payload option, fixed problem where
VLTrader was continuously trying to alter database tables with additional
columns that were already present. Related incident #65418.
- VLTrader only: Fixed SQL syntax problem when using the database
transfer log where a string value containing single quote characters that
was truncated to fit a table column size would potentially be left with
an unescaped quote character at the end.
- Fixed various issues related to synchronization:
F53- At least one synchronization item must now be selected.
- If synchronizing with more than one other VersaLex, initialization
with one of the VersaLexes was also causing re-initialization with the
other VersaLexes.
- A disabled synchronization setting was not being saved properly such
that a restart of LexiCom or VLTrader would clear the setting.
- If synchronizing system options and the database incoming/outgoing
payload option was changed, the synced VersaLex was not reacting to the
change and was not starting or stopping database payload appropriately.
- Fixed problem under Configure>Synchronization where duplicate serial
numbers were being inserted into the list when more than two VersaLexes
were being synced and an edit was made.
- VLTrader only: Fixed problem in transfer report dialog where the dialog
title was not being updated with a new from/to range when [Generate
Report...] was used to modify the filter.
Bug Fixes - FTP
--------------- Fixed problem where a NullPointerException was being thrown when
retrieving a file in active mode and the FTP server chose to not connect
to the provided port because there was no data to transfer. Related
incident #66383.
- VLTrader only: When using the default root\username for the home
directory, fixed problem where a renamed local FTP, HTTP, or SSH FTP user
was causing a synchronized VLTrader to create the new home directory
(correct) but not delete the old home directory (incorrect). Also fixed
related problems when removing a local user. Related incident #66104.
Bug Fixes - HTTP
---------------- VLTrader only: HTTP server username authentication is now case
sensitive.
- Fixed problem where a failed send or receive via the API (or the
VLTrader router or outgoing database payload features) wasn't always
logging the <Result> element.
Bug Fixes - AS2/AS3
------------------- Added more diagnostic logging when an unsupported MIC algorithm is
found since the exception is thrown before the raw received message can
be stored. Related incident #66760.
- When payloads are received with Content-Types of either text/xml or
text/html, now use a binary content handler instead of the default
content handler provided by Sun. Related incident #66760.
- AS3 only: Fixed problem where AS3 files were not being appended as
expected when receiving with the -APE option.
Related incident #67005.
- Fixed problem where message hash exceptions were being thrown while
processing and verifying an inbound signature. Related incident #65525.
- Fixed an additional problem with parsing MIC algorithms which was also
causing a "No supported micalg arguments were specified" error.
- Fixed problem where a message header specifying a MIC algorithm that
included the older "rsa-" prefix was generating a "No supported micalg
arguments were specified" error.
Bug Fixes - ebMS
---------------- Fixed problem where a sent synchronous acknowledgment was logging zero
bytes transferred.
- Fixed problem where an invalid received SOAP message was resulting in a
ClassCastException.
Bug Fixes - SSH FTP
------------------- Eliminated unused channel which was caused a failure when opening the
SFTP subsystem if the server allowed only one active channel. Related
incident #66512.
- VLTrader only: Corrected issue where concurrent sessions could not have
the same directory open since the handle was not unique for each session
(i.e. same username listing the same directory).
- VLTrader only: Fixed problem with setting file attributes on an open
file (SSH_FXP_FSETSTAT) which would cause the session to timeout.
Related incident #63691.
- VLTrader only: Added support for silently ignoring the first
SSH_MSG_KEXDH_INIT message when the first_kex_packet_follows field is
true in the proceeding SSH_MSG_KEXINIT message and the preferred
(guessed) client public key algorithm was optimistically sent and doesn't
match the algorithm agreed upon. Related incident #63691.
Bug Fixes - OFTP
---------------- ISDN debug now shows the correct directional indicator for inbound (<)
and outbound (>) messages.
- Configured connection timeout is now properly applied for unsolicited
connections.
- An unexpected ISDN disconnect from the trading partner is now logged
appropriately. Previously, VersaLex would just log a message queue read
timeout error. Related incident #65569.
Bug Fixes - SMTP
---------------- VLTrader only: Fixed problem where the same message ID could be used
when concurrently sending multiple outbound SMTP messages. Also,
eliminated possibility of not detecting inbound duplicates when the
duplicate messages were received at virtually the same time. Related
incident #67306.
- VLTrader only: A received SMTP DSN status of failed is now considered a
final status. Previously, VLTrader would attempt a retry when a failure
was reported.
- VLTrader only: VLTrader SMTP server will no longer report an exception
if the connected SMTP client immediately disconnects after sending the
QUIT command rather than waiting for the server response. Related
incident #65607.
****************************
* RELEASE 3.5 - 2008/01/07 *
****************************
Major Enhancements - Framework
------------------------------ VersaLex now provides the ability to clone and activate preconfigured
hosts directly from the Cleo web site. To use this feature, right click
on the "Hosts" folder in the Preconfigured tab and choose the "Clone and
Activate from Web site..." option. When the dialog appears, click the
"Download List" button to display a list of all the available
preconfigured hosts from the Cleo web site. Right-click on the desired
preconfigured host and choose the "Clone and Activate" option to activate
the host in the Active pane.
- VersaLex can now be configured through the "Tools>Software Update"
dialog to automatically send an email alert to the registered email
address when a software update is available.
Major Enhancements - FTP
------------------------ VLTrader only: Added OpenPGP encryption/decryption to FTP server for
outgoing/incoming files.
Major Enhancements - HTTP
------------------------- VLTrader only: Added an HTTP server/service with methods for
connecting, listing, sending, and receiving payload. See Local Listener
HTTP service and Local HTTP Users preconfigured host. Trading partners
can use a web browser to manually trade with VLTrader or an application
(such as Cleo LexiCom) to automate trades with VLTrader. The Generic
Cleo VLTrader HTTPs preconfigured host captures the HTTP methods and
parameters acceptable to the VLTrader HTTP server. The server supports
either password-based WWW authentication or public key-based SSL client
authentication.
Major Enhancements - AS2/AS3
---------------------------- VersaLex now supports S/MIME 3 and extends the ability to encrypt and
decrypt with the AES and RC/4 algorithms.
The supported encryption algorithms under S/MIME 3 include all the
previously supported S/MIME 2 algorithms (i.e., RC2/40, RC2/64, RC2/128,
DES and TripleDES) as well as AES/128, AES/192, AES/256, RC4/40, RC4/64
and RC4/128. (RC4 is also known as ARCFOUR.) Additionally, more secure
SHA MIC algorithms (SHA-256, SHA-384 and SHA-512) are now available.
SPECIAL NOTE: Check with your trading partner before attempting to use
the new S/MIME 3 encryption and/or SHA MIC algorithms since some AS2/AS3
products may not yet support these algorithms!
Enhancements - Framework
------------------------ For all protocols, added new "Fixed Record Incoming Insert EOL"
Advanced property which works in conjunction with existing "Fixed Record
Length" and "Fixed Record EOL Characters" to allow fixed length records
to be created while writing inbound payload. The existing "Fixed Record
Incoming Delete EOL" property is mutually exclusive with this new
property.
- VersaLex now performs daily checks of the support contract renewal date
when it is about to expire and if it has been updated, a new license is
automatically applied as long as no other license settings have also been
updated.
- VLTrader only: Local FTP, HTTP, and SSH FTP Users can now be configured
to have a sentbox directory, which is populated with a copy of files
retrieved by the user from the configured outbox directory. Also added
Local Listener "Number of Days Before Auto Delete Files In Local User
Sent/Receivedbox" advanced property, which defaults to 7 days. If this
property is set to 0, local user sent/received box files are not
automatically deleted.
- Previously when synchronization between two VLTraders or LexiComs was
disabled, updates would accumulate in a queue and if synchronization was
disabled for an extended period, this would cause considerable overhead.
Now when temporarily disabling synchronization, the user has a choice of
whether updates should accumulate or would prefer to re-initialize
synchronization after it is re-enabled.
- In addition to %file% and %status% macros, now support %mailbox% and
%host% macros for passing mailbox and host aliases to Execute On
Fail/Successful Send/Receive scripts.
- When using the commandline -i option to install a patch file,
LexiCom/VLTrader will now recognize that it is a patch file and create a
backup of the updated files.
- Added command line option (-s threaddump) and checkbox on the
Help>Support>Bundle panel for generating a thread dump to include in a
support bundle.
- Added highlighting (bold text) to show differences in the release notes
between an installed patch and the patch selected through Tools>Software
Update panel.
- VLTrader only: Local FTP, HTTP, and SSH FTP Users can now be configured
to have a receivedbox directory, which is populated with a copy of files
stored in the user's configured inbox directory either directly or, in
the case of FTP or SSH FTP, via a rename.
- Partner/ CA certificates that have expired or are about to expire are
now included in the daily email notification that previously only
included Local User certificates. The original 'Email Local Certificate
Expiration Notices' property (defined in the Local Listener>Advanced
panel) has been changed to 'Email Local And Partner Certificate
Expiration Notices'. Additionally, the new property ('Email Local And
Partner Certificate Expiration Warning Days') has been added to the Local
Listener>Advanced panel to configure the number of days before the
certificate will expire and will be used to trigger the email
notification. The default is 30 days.
- When sending certificates via CEM or email, or accepting a certificate
received through CEM, now check the certificate expiration and generate a
warning.
- Temporary actions, which are automatically created as part of the
database payload and routing features and SMTP protocol and which can be
created via the API, are no longer displayed in the Active host tree.
These temporary actions usually come and go rather quickly, and their
logged messages are viewable from the main messages pane so no
information is lost by not displaying them in the tree. Removing them
keeps the tree from excessive redraws, which was making it difficult to
select a specific node near the temporary action (especially in the web
gui).
- Added integrity check when applying patch files using Software Update.
- If any configuration or host XML file has been corrupted (e.g. by an
abrupt shutdown), the synchronization feature will now attempt to restore
the corrupt file at startup by retrieving it from the synchronized
VersaLex.
- VLTrader only: Custom reference numbers in EDI database logging can now
be set to be extracted only if another element within the EDI segment has
a specific value.
- Added archiving for host sentbox and received box. Archiving parameters
in Configure>Options>Other panel.
- Added support for generating a DSA key pair when generating a selfsigned certificate.
- The archived log zip file name now includes the license serial number.
This allows two LexiComs or VLTraders to share an archive log directory.
- Added capability for sending support bundle directly via email.
- VLTrader only: For the database payload feature, added "Maximum Number
of Concurrent Sends Per Mailbox" property (default 5) which controls how
many concurrent sends can be active at any given time for any given
mailbox.
- Three web GUI session timeout properties are now configurable in the
Local Listener Web Browser service panel. The properties include
"Initial startup" (default 120 seconds), "Waiting for response" (default
120 seconds), and "Abnormal exit detection" (default 60 seconds).
- All service panels now have scrolling support for better resizing.
- VLTrader only: For the database payload feature, added "Maximum Number
of Concurrent Sends" property which controls how many concurrent sends
can be active at any given time. Also now immediately check for more
outgoing payload when a database send completes rather than waiting the
full "Polling interval".
- On Unix, added cut, copy and paste key mappings to text fields for
copying text between actions, etc.
- Added support for new %inbox% and %outbox% macros in the source or
destination paths for LCOPY, LREPLACE, and LDELETE commands. These
macros can be used as shortcuts to the configured inbox or outbox paths
(they can only be used at the start of the path).
- VLTrader only: When database payload is being used, any incoming FTP or
SSH FTP server transfers that aren't going directly to the user's
configured inbox are now marked with an "Interim Success" status in the
transfer log.
- VLTrader only: When sending via database outgoing payload and the send
fails, the VLSend table now contains a LastFailedAttemptResultText column
that is populated with the reason why the send attempt failed.
- VLTrader only: Local FTP and SSH FTP users inbox and outbox directories
are now configurable. The default values of 'inbox/' and
'outbox/payload/' can be modified at any time and VLTrader will
create/rename/remove directories as necessary for each mailbox; however,
non-empty directories will never be removed. Other directories besides
the inbox and outbox directories can also be configured for VLTrader to
create for each mailbox. If the database payload feature is in use,
incoming payload will only be inserted into the database if the client is
placing the file in the configured inbox directory or is renaming the
file into the inbox directory.
- Added a new feature to send test emails via a new 'Test' button in the
"SMTP Mail Server" field on the Configure>Options>Other panel. Note: Test
emails may be sent whether the SMTP Mail Server has been defined or not.
- Added the MIC algorithm (for signed MDN requests) and the encryption
method (when encryption is enabled) to the Email Profile for AS2 and AS3.
- VLTrader only: Enhanced EDI logging custom reference number extraction
feature such that extraction rules can now have a) multiple transaction
types listed together separated by commas or semicolons, b) either
inbound only or outbound only or both identified, and c) a "matching"
segment element which must match the specified value for extraction to
occur.
Enhancements - FTP
------------------ VLTrader only: Added Local FTP User mailbox advanced property "Active
Mode Source Data Port" which can be used to specify the FTP server source
data port for Active Mode when set to a value > 0. Default value is 0
where the data port is unspecified. Related incident #63224.
- Added AES-128, AES-192, AES-256, DES, and Twofish OpenPGP encryption
algorithm options. Removed support for IDEA encryption algorithm.
- VLTrader only: Added Local FTP Users mailbox Advanced panel property
"Automatically Delete Retrieved Outbox Files". When this option is
selected, a retrieved file will be deleted when the next appropriate FTP
command is received from the client and the response will be a multi-line
response which includes confirmation of the deleted file.
- For OpenPGP, added checkbox to override the Local Listener Signing
Certificate for OpenPGP encryption. Defaults to unchecked so the Local
Listener certificate is used by default.
Enhancements - HTTP
------------------- Added support for the %filename keyword in PUT command header values.
At runtime, the keyword is replaced with the actual filename being sent.
- Added new "Successful Put Response Phrase" advanced property. Even if
the server response code is a 200 level response, if the configured
phrase is not found anywhere in the content of the server response, the
PUT is not considered successful.
Enhancements - AS2/AS3
---------------------- When trading with a partner using a server that is non-compliant with
the AS2 Filename Preservation rules, improved the processing rules for
naming the destination file to use the AS2 transport header's ContentDisposition filename value if it exists and it's not either 'smime.p7m'
or 'smime.p7z'.
- GXS MDEP AS2 Production and Test preconfigured hosts are now configured
with the latest GXS ICS X509 certificate.
- Added new "Force MDN Signature" Inbound Message Security property to
the mailbox.
- Added System-wide and Host-specific support for detecting duplicate
file names for Filename Preservation and returning the appropriate MDN
responses.
- When "Force Signature" inbound message security is enabled, it is now
applied to inbound MDNs as well as inbound payload.
- AS2 only: When a synchronous MDN is received, now log a 'File' element
instead of the previous 'Detail' element.
- Now trap and manually parse the Content-Disposition header string when
a ParseException is thrown which occurs if a trading partner had included
a special character (i.e., '(' ')' '<' '>' '[' ']' '/' '?' '=' '@' ','
';' ':' '\' '"' a tab or a space) within the filename but did not enclose
that filename in quotes.
Enhancements - ebMS
------------------- Added support for generating an ebMS signature from a DSA
certificate/private key.
- Added a configurable number of days to the service panel for retaining
the message ID history for duplicate checking.
Enhancements - OFTP
------------------- Added a configurable number of days to the service panel for retaining
the message ID history for duplicate checking.
Enhancements - SMTP
------------------- VLTrader only: SMTP server can now be configured to ignore case when
looking for a configured SMTP trading partner's username.
- Added a configurable number of days to the service panel for retaining
the message ID history for duplicate checking.
Bug Fixes - Framework
--------------------- VLTrader only: For MS SQL Server, "java.sql.SQLException:
[Microsoft][SQLServer 2000 Driver for JDBC]Connection reset by peer:
socket write error" that were being thrown when logging EDI information
are now handled by re-acquiring a connection to the database and
retrying.
- For networked AS/400 directories, fixed problem where VersaLex was
marking an autosend action as invalid if it got a SocketException or
InterruptedIOException when connecting to the AS/400 to verify a
command's source or destination path. When this occurs, VersaLex will
now just re-authenticate with the AS/400 and retry the scheduled action.
- Fixed intermittent problem where NumberFormatExceptions originating
from the LoggerThread with descriptions like "multiple points" or "For
input String: """ were being thrown.
- Fixed problem where if "Fixed Record Incoming Insert EOL" Advanced
property is being used and appending to an existing file, existing file's
last record length was not being taken into account.
- Fixed problem when a Host Receivedbox was configured for an AS/400 path
where the received files were not being copied to the Receievedbox.
- When an unexpected host, mailbox, or action "not found" error is
logged, error now includes stack trace information to better determine
cause for error.
- Added logged synchronization error if sync request from other VLTrader
is malformed.
- Added support for importing a User Certificate and Private Key which
uses the DSA algorithm.
- Checks that configured inbox and outbox directories exist are now made
solely by the running service/daemon rather than a connected GUI because
of possibility that a different user account (with different permissions)
may be running the service/daemon.
- Added check for checking for existence of schedule lock file which
could prevent a command-line from executing if another command-line
process was about to end. Related incident 64543.
- Fixed problem when email related timeouts (connection timeout) were set
to zero, the timeout would occur immediately instead of never timing out.
- Fixed problem when manually applying a patch via the web GUI where the
uploaded patch file would be deleted from the webserver\temp directory
before it could be applied.
- VLTrader only: Fixed problem where TradeLink web service was
incorrectly treating receipt files as payload files.
- Fixed problem where 'Email On Successful Receive' was incorrectly
sending email notifications when an asynchronous MDN was received.
- VLTrader only: Fixed problem where the Local FTP, HTTP, or SSH FTP
users' configured subdirectories were being incorrectly reset to absolute
paths in the installed directory.
- Corrected issue with exporting a user certificate as an OpenPGP key
where the self-signature on the exported key was not recognized by GnuPG.
Removed critical tag on identity in signature sub packet for
compatibility with GnuPG.
- When updating software, method used in highlighting differences in
patch notes was causing a java.lang.NoSuchMethodError under JRE 1.3.
Problem will occur after updating to patches 3.4.57 to 3.4.63.
- Added check so Local (FTP, HTTP SSH FTP) User sent/received boxes are
not archived.
- For long running actions, only the last 100 logged messages are not
retained in the host in order to avoid overly large host files.
- Fixed problem where temporarily disabling synchronization could
potentially cause a synchronization collision of the conf\Sync.xml file
when synchronization was re-enabled.
- Corrected issue with exporting a user certificate as an OpenPGP key to
which had unrelated info included in the identity.
- Corrected issue where generating a Trusted CA certificate from OpenPGP
public key with a OpenPGP secret key as the input was failing without
showing an error message due to a null pointer exception.
- Fixed problem where the same temporary action was being used for two
different sends at the same time, resulting in NoSuchElementExceptions or
StringIndexOutOfBoundsExceptions. Temporary actions are employed by the
VLTrader database payload and router features and can also be created
using the API's MailboxController.
- Fixed problem where NumberFormatExceptions were being logged when
copying a sent file to the sentbox and system property "Starting Unique
File Affix" was set to an alphanumeric.
- Fixed problem in web GUI where some of the Certificate Manager tree
node menu items were not activating a dialog when selected.
- Fixed problem where a property change made to a Local Listener service
via a synchronized VersaLex was not affecting the running Local Listener.
- Fixed problem where one or more NumberFormatExceptions were being
logged right after an action's schedule was updated via the GUI. This
problem could then also result in continuous NullPointerExceptions being
thrown by the scheduler, keeping it from scheduling actions correctly.
- Corrected a ClassCastException problem which was occurring while saving
a host file.
- VLTrader only: If using outgoing database payload, corrected problem
where two synchronized VLTraders could potentially send the same payload.
- Corrected issues with sentbox and receivedbox archive filename when the
directory name ended in a digit which could cause a new archive to be
created on startup instead of adding to an existing archive.
- Automatic log file archiving is no longer disabled by the software
should archiving fail because of an I/O or other exception. If archiving
because the log file has reached the maximum size, now archiving will be
reattempted after a 10 minute delay.
- VLTrader only: Fixed problem with exception that was thrown when
removing a local user mailbox if the user's home directory was blank.
- VLTrader only: Fixed problem where an exception being thrown when the
apply button was clicked on a Local FTP, HTTP, or SSH FTP user's mailbox
if the User Home Directory was blank when running as a service.
- For Execute on Failure/Success, fixed issue where the system command
would fail to execute if both the command and last parameter were quoted.
- When using AS/400 network access on Windows, fixed problem where
current drive letter was always being prepended to the configured system
or host level inbox/outbox directories, which was causing a local folder
rather than the networked AS/400 folder to be accessed.
- Added additional checks to Maximum Memory setting on Configure>Launcher
dialog to prevent startup problems caused entries without M (megabytes)
or G (gigabytes) specified.
- If a host file becomes corrupt before queued up changes could be
synchronized with another VersaLex, VersaLex no longer mistakenly deletes
the host from the synchronized system.
- Added logic for setting sentbox and receivedbox files as read-only when
archiving for sent/received boxes is not enabled. If archiving is
enabled, the files will not be marked as read-only so the files can be
archived automatically.
- An abrupt system shutdown can cause "garbage" characters to be appended
to the active system log file. Now at startup, any invalid characters
found at the end of the system log file are deleted before new log
entries are added.
- Enhanced the View->File feature for faster loading of the file which
corrects a problem in the Web GUI for large files where the display was
continuously being refreshed. Additionally, the file offset is now
always displayed where it had previously only been displayed in the
"Dump" mode.
- If the scheduler tries to run an action whose parent host is being
currently updated by a synchronized VersaLex, the scheduler no longer
needs to be restarted to recover. Now the action will simply be run at
the next scheduled interval.
- VLTrader only: Fixed problem where scheduler could potentially cause a
system slowdown when actions were not allowed to run concurrently.
- View>Log... now detects when the log file is corrupt and indicates the
last date/time mark before the corruption was found.
- In web GUI sessions, fixed problems related to selecting a node or node
page in the active tree that no longer exists.
- VLTrader only: Improved efficiency with which temporary actions for
outgoing database payload and router features are created, executed, and
removed.
- In Certificate Manager - Fixed problem where chained Intermediate CA
could not be deleted and would cause high CPU usage.
- View>Log... now shows a progress dialog while reading the log files in
case of an extensive retrieval. This progress dialog allows cancellation
if desired. If using the web GUI, the progress dialog also keeps the web
GUI session from timing out.
- VLTrader only: For the database payload feature, fixed problem where if
host was set to not "Allow Actions to Run Concurrently", no longer
repeatedly create then remove temporary actions over and over again when
there is more than one pending outgoing payload for one of the host's
mailboxes.
- VLTrader only: Fixed problem where a response from FTP and SSH FTP
server if the file was already being accessed could include path
information outside of the user's virtual home directory.
- VLTrader only: Fixed problem where an exception being thrown when the
apply button was clicked on a Local FTP, HTTP, or SSH FTP user's mailbox
if the User Home Directory was blank.
- VLTrader only: Fixed the browse button (...) on the Local HTTP user's
mailbox for the User Home Directory which was not working.
- Fixed problem where a timed out web GUI session was not unregistering,
causing delayed disconnects and/or thread death.
- Corrected issue where running multiple command line actions may not
complete or log the results.
- Fixed problem where a forward slash ('/') in an alias would cause
synchronization of a host to fail.
- VLTrader only: Fixed problem where router was not checking that delete
of completed route file was successful.
- Fixed problem where the embedded key information for an imported nonarmored (binary) OpenPGP secret key would not display properly.
- Fixed problem where Local Listener message count was being reset back
to a previous value if the service was restarted or if the Local Listener
was updated from a synchronized system.
- Fixed problem where an already running action could be started again
via commandline.
- When retrying email messages using an explicit email server, now only
make retry attempts to the failed email addresses.
- Fixed problem where a newly registered/licensed LexiCom or VLTrader was
incorrectly stating that it was a backup-only system and would not allow
the schedule (or router, in the case of VLTrader) to be started.
- VLTrader only: After starting a scheduled action for a host whose
"Allow Actions To Run Concurrently" advanced property was set to false,
fixed problem where the scheduler would possibly not start any actions
for any other hosts until this action completed.
- VLTrader only: Added SSH FTP Server and SMTP info to TCP/IP port usage.
- On Unix, added support for searching user's path for a browser
including FireFox, Epiphany, Mozilla, Netscape, and Opera browsers.
- VLTrader only: SQL Server 2005 is now supported.
- Fixed problem where a certificate (without an embedded OpenPGP key)
exported as an OpenPGP key had the wrong valid seconds value which could
cause it to be expired.
- VLTrader only: Fixed problem where if database payload option was just
enabled, payload would not start streaming into the database until
VLTrader was restarted.
- If a commandline action cannot be run for some condition (e.g. local
listener not running), an error is now logged rather than a warning and
the exit status returned by the application is now -1 rather than 0.
- VLTrader only: On startup, added better error reporting when the FTP or
SSH FTP default root path or any user paths use an AS/400 IFS directory
and a connection cannot be made to the AS/400.
- Fixed problem where a synchronized modification to one of the Local
Listener services was not being displayed on the synchronized system
until the GUI was reopened.
- The file names of the files written to the AS/400 IFS are no longer
forced to upper case. This is only being done for file names on the
AS/400 NFS.
- VLTrader only: Fixed problem with database payload feature where
streamed FTP server sends or receives was causing a "java.io.IOException:
Invalid argument" exception to be logged.
- VLTrader only: Fileindex is now part of the primary key of the
VLOutgoingProperties table so that multiple attachments can now have
different values for the same property (e.g. Content-Disposition).
- Fixed problem importing a host from a zip file whose alias contains a \
or /. Also fixed problem importing hosts when LexiCom is running as an
AS/400 process.
- Fixed problem where a NullPointerException was being thrown when saving
a host file (during calculation of stored check sums).
- VLTrader only: When EDI logging is enabled, fixed problem where
shutting down the VLTrader service/daemon could potentially hang if there
were pending EDI logs.
- Fixed problem where VersaLex web GUI sessions would timeout on the HPUX Firefox web browser.
Bug Fixes - FTP
--------------- Added mailbox level option for "No Password Required". Related incident
62609 going to a Tumbleweed FTP server (SecureTransport 4.6.1) in
explicit mode (AUTH SSL). Server required an SSL client certificate and
username for login but would respond with a "530 Already logged in."
error if the PASS command was sent.
- Corrected problem with client authentication when the server returns a
large list of trusted CAs.
- VLTrader only: : Fixed problem where FTP server was responding with the
full path rather than the relative user path when the remote path
specified was outside of the user's root directory.
- VLTrader only: If a Local FTP OpenPGP User stores a zero-length file a
warning is generated instead of an exception. Corrected a timing related
issue where receiving small (<100 byte) files could result in an
exception if the OpenPGP decryption had not started.
- VLTrader only: Local FTP Users mailbox Advanced panel property
"Automatically Delete Retrieved Files" is now limited to the configured
Outbox. Files retrieved from other directories will not be automatically
deleted.
Added check for "226-EDI processing started" before attempting to parse
GXS EDI sub-codes in server response to a STOR command. This corrects
issue with "Unknown EDI processing summary field" errors when sending
non-EDI files.
- Corrected issue with sending using OpenPGP where transfer would never
complete successfully. This problem was introduced by the updated Bouncy
Castle jars in 3.4.43.
- Corrected issue where zero-length files were not being deleted for
failed transfers.
- Corrected PGP Hash Algorithm on FTP Host and Local FTP User Mailbox
advanced panels from SHA-348 to SHA-384.
- Updated Bouncy Castle jars to correct issue with whitespace in armored
input files in the header ending line. Related incident 61481.
- VLTrader only: Corrected issue where multiple FTP sessions could not
concurrently retrieve the same file. Initial problem in patch 29.
- VLTrader only: Fixed problem when an exception occurred while creating
a connection where server would stop listening on the port caused by
cancelling a connection on a FTP (clear) client and where port on server
was FTPs Implicit. Related incident 60138.
- VLTrader only: Corrected FTP server problem where transfer (STOR) may
not complete when OpenPGP user sent data which was not OpenPGP formatted.
- Added support for checking PGP 6.5.8 style signature when message is
encrypted to an RSA key.
- VLTrader only: Corrected issue where local user accounts were not
disabled if the mailbox was not configured (not Ready).
- Corrected PGP issue where receiving signed messages would cause a
stream closed exception and signed-only messages null pointer exception.
Added support for verifying a PGP 6.5.8 inline signature where a one-pass
signature is expected.
- Corrected PGP issue where encrypted, signed files were not being
recognized as valid (incoming file not compressed or armored).
- Fixed problem forward proxying through HTTP proxy where the initial FTP
server greeting was being lost and a connection timeout was occurring.
- Added support for PGP encrypted data followed immediately by data
(instead of a literal data packet). Added additional troubleshooting
information on decryption exceptions.
- Added missing catch and log of any Java error thrown during client-toserver connection.
- VLTrader only - Corrected issues with an incomplete configuration for a
FTP server OpenPGP user. Failed transfers will now indicate the reason
the mailbox configuration is incomplete.
- VLTrader only - Corrected problems with FTP server using OpenPGP and an
invalid certificate or password was specified. Transfer will now fail
giving the appropriate reason.
- VLTrader only - Corrected FTP server issue with OpenPGP user specified
where transfer may not complete due to OpenPGP decryption of an incoming
file.
- Added PGP Integrity Check for operation with PGP 6.5.8 (incident
59626).
- VLTrader only - Corrected issue where FTP server advanced PGP
properties were always the defaults.
- FTP client no longer attempts DNS lookup if a forward HTTP proxy (e.g.
VLProxy) is being used.
- VLTrader only: Fixed problem where FTP server was responding with the
full path rather than the relative user path when the current directory
was requested or when file/directory access errors were reported.
- VLTrader only: If the connected FTP client issues both PASV and PORT
commands in succession, VLTrader FTP server will now use which ever
command was issued last for the data port connection method when a
STOR/STOU/RETR/APPE is then issued.
- VLTrader only: When multiple FTP sessions are active, sessions can now
concurrently retrieve the same file.
- VLTrader only: When an FTP server connection is closed by client prior
to a QUIT command, VLTrader will still log the exception but will no
longer log an exception result (which was causing email/execute-on-fail
settings to kick in).
Bug Fixes - HTTP
---------------- For DaimlerChrysler EBMX HTTPs when requesting a directory listing,
"404 No documents found." response no longer also logged with repetitive
"No documents found" HTML content.
- Fixed problem where Authorization headers were not always being
generated.
- Fixed problem where specified PUT Content-type of application/x-wwwform-urlencoded was not always being honored.
- Fixed problem where EOFException was not being caught and treated
simply as end-of-file.
- HTTP server error response and reason line now included in HTTP client
logged result.
- When using DaimlerChrysler HTTPs, added logic to handle case when using
GET command's filenameformat=p option, but the returned filename does not
contain a document type prefix.
- Fixed problem where %file parameter value wasn't always being replaced
with the actual filepath.
Bug Fixes - AS2/AS3
------------------- Corrected problem where the omission of the MDN disposition header was
being interpreted as a successful response.
- Corrected potential problems where temporary files could not be deleted
because they were already open for input.
- AS2 only: Fixed problem When sending through VLProxy where Connection
exceptions (i.e., Connection timeouts or Connection refused exceptions)
in VLProxy were being thrown as IllegalAccessErrors in VersaLex.
- Added more protection against NullPointerExceptions when a trading
partner is repeating sending "empty" messages.
- AS2 only: When returning an asynchronous MDN, now always close any
buffers, even when an exception occurs and the MDN cannot be sent, to
protect against OutOfMemoryErrors.
- AS3 only: Corrected issue where zero-length files were not being
deleted for failed transfers.
- Corrected a problem where the pending MDN was not always being
correctly updated in real-time in the MDN table view after the response
had been received.
- VLTrader only: When the database is being used for incoming payload and
the database is not available, in AS2 now return a "500 Internal Server
Error" response instead of a 200 level response; and in AS3 now store the
incoming payload in the rejectbox since the FTP server has already
returned a 226 response before the payload content is processed.
- AS3 only: Corrected problem where when deleting the temporary files
used during processing, IOExceptions were being logged stating that a
file was open for input.
- Fixed problem where a NullPointerException could potentially be thrown
while attempting to read and parse the header stream.
- Corrected problem where multiple hosts with the same ASx-From name (but
different ASx-To names) were triggering duplicate relationship errors.
Also when this error occurs, now log a list of all hosts/mailboxes with
the duplicate relationship.
- Fixed problem where the origMessageID result element was not being
logged for incoming messages for LexiCom. Previously it was only being
logged for VLTrader
- Fixed problem where when large duplicate incoming messages were
received, a zero-length file was being written to the file system.
- Fixed problem where a NullPointerException was being thrown after a
timeout occurred while reading the data stream.
- Fixed problem where a NullPointerException could potentially be thrown
when manually parsing the Content-Disposition header
- AS2 Only (CEM): Corrected problem where when running natively on the
AS/400, CEM responses could not be sent.
- AS2 Only (CEM): When sending CEM messages, now use the service's time
in the log messages instead of the GUI's time
which could be significantly different.
- AS2 Only (CEM): Corrected problem where the status of the record was
not being set to "In Process" immediately
after the CEM send was being invoked.
- AS2 Only (CEM): Corrected problem where a "No Such Method" exception
was being logged when running under JRE 1.3 and
attempting to receive an asynchronous response after sending a CEM
message.
- AS2 Only (CEM): Now set a subject in the CEM message headers, either
"CEM Request Message" or "CEM Response Message".
Bug Fixes - ebMS
---------------- Fixed problem where importing a valid CPA file when activating the
Generic ebXML host was throwing "org.xml.sax.SAXParseException: cvcelt.1: Cannot find the declaration of element
'tp:CollaborationProtocolAgreement'".
- Fixed problem where generated Ping and Message Status requests were not
using the overridden host From Party Id and override mailbox From Role
when these were set.
- Reduced boundary value in Content-type header so that can now
successfully send payload to the new GM NA Exchange ebMS server.
- When importing a CPA during host activation, now handle when encoded
X509 certificate lines are separated by spaces rather than linefeed
characters.
- Receive-only mailboxes are now supported.
- Two or more mailboxes can now have the same From Role value as long as
the Service value differs.
- Corrected issue which handles an extra CR-LF at the start of the
message.
Bug Fixes - SSH FTP
------------------- VLTrader only: Added handler for SSH_FXP_EXTENDED message which replies
with STATUS_FX_OP_UNSUPPORTED for compatibility with VanDyke sftp
clients.
- VLTrader only: Corrected issue where multiple SSH FTP sessions could
not concurrently retrieve the same file. Initial problem in patch 29.
- VLTrader only: Corrected issue where local user accounts were not
disabled if the mailbox was not configured (not Ready). Corrected problem
where a disabled user could still login.
- Corrected null pointer issue if connection ended abnormally during a
file transfer. Added additional info for this case to include the
transport disconnect reason (i.e. server may have shutdown).
- Corrected issue where unable to connect to a proxy using basic
authentication for forward proxying. Added additional debug logging when
connecting via proxy. Now returns just the authentication method if a
realm is not specified.
- VLTrader only: Changed file log message for incoming database payload
to indicate *stream* instead of a file path. Corrected issue where a
zero-length file was created when receiving using database payload.
- VLTrader only: When multiple SSH FTP sessions are active, sessions can
now concurrently retrieve the same file.
- VLTrader only: Corrected issue where paths containing '..' could
resolve outside of the user directory.
- Corrected client issues which prevented an action from completing if
the file transfer ended with an error.
- Corrected issue which prevented the configured Connection Timeout from
occurring after a file transfer had started.
- VLTrader only: Corrected issue where transfer status of files left open
after the sftp subsystem stopped was not finalized.
- VLTrader only: Corrected server problem where a file could not be
accessed if a previous session ended without closing the file.
Bug Fixes - OFTP
---------------- Added advanced property "Wait For Disconnect After Sending End Of
Session", which when set, indicates that if VersaLex is the one that
initiates end-of-session, that it should wait for a disconnect request
from the connected trading partner rather than immediately disconnecting.
- Like an unexpected SFID request, VersaLex will now no longer error out
when an unexpected EERP or NERP request is made by the speaker rather
than an expected CD request.
Bug Fixes - SMTP
---------------- VLTrader only: Fixed problem where -DEL option on a PUT was not being
honored if the PUT command included the optional Inline message setting.
- VLTrader only: To ensure not receiving a false EOF while base64
decoding, added a second read when EOF first encountered.
- VLTrader only: Fixed problem where the hour value in the first hour of
the day was 24 rather than 00 in the Date header of an outgoing SMTP
message.
- VLTrader only: Fixed problem where under heavy load it was possible
that a resend/retry timeout would result in accidentally kicking off
multiple resend/retry threads rather than a single thread. This would
potentially cause a FileNotFoundException.
- VLTrader only: Fixed problem where the temporary action used to send a
DSN was missing the beginning <Thread> and ending <End> log events.
Without these events, it was difficult when viewing the log file to
correlate the other logged events coming from this action.
- VLTrader only: For synchronizing VLTraders, fixed problems where SMTP
sent and received DSNs were not always syncing correctly.
- VLTrader only: No longer perform MX record lookup when connecting to an
IP address.
- VLTrader only: Corrected issue where local user accounts were not
disabled if the mailbox was not configured (not Ready).
- VLTrader only: Fixed problem where connecting to a SMTP server on other
than port 25 would not succeed.
****************************
* RELEASE 3.4 - 2007/04/30 *
****************************
Major Enhancements - Framework
------------------------------ VLTrader only: Added server-side support for secure shell FTP (SSH FTP)
(aka SFTP). See Local SSH FTP Users preconfigured host and Local
Listener SSH FTP tab.
Enhancements - Framework
------------------------ VLTrader only: The database payload feature will now check the protocol
and send out grouped files one-by-one when the protocol does not support
multipart messages. AS2, ebMS, and SMTP support multipart messages,
while AS3, FTP, HTTP, MQ, OFTP, and SSH FTP do not.
- The Listener Wizard now prompts when Listener certs have been changed
to either update them immediately in the Listener panel or first exchange
them with trading partners. Exchanging the certificates is the default
and if this option is selected, the “Exchange Certificate” dialog is now
displayed when the wizard dialog closes.
- Scheduled action recurrence can now be in seconds.
- Added a receivedbox option which can be used to copy incoming files to
a saved location. Either a system-wide receivedbox or host-specific
receivedboxes can be configured.
- VLTrader only: When using MySQL with the database payload feature, now
ask whether the BLOB, MEDIUMBLOB, or LONGBLOB datatype should be used for
the streamed payload.
- VLTrader only: For the database payload feature, increased the
VLOutgoingProperties and VLIncomingProperties table "Value" column from
100 to 300 characters.
- In Configure>Options>Other, added the "Force Apply/Reset when Changing
Content Panes" property. This property controls, when switching content
panes, whether VersaLex requires that pending changes be either applied
or reset. This option is on by default.
- VLTrader only: For the optional database payload feature, added a
maximum outgoing send attempts configuration parameter which dictates how
many total times a transfer will be attempted before retries are halted.
This can be set in the Configure>Options>Transfers>Configure database
payload dialog and defaults to 0 (which indicates infinite retries).
Refer to the VLOutgoingProperties table in the VLTrader Administrator's
Getting Started Guide for more information.
- VLTrader only: EDI logging no longer ties up system logging.
Additionally added option to still log received EDI when error sending
asynchronous AS2 MDN or ebMS acknowledgment back to trading partner.
Enhancements - FTP
------------------ Added an "Issue Command After Opening Data Connection" advanced
property which indicates to issue the RETR, APPE, STOR, STOU, LIST, or
NLST command after opening the dataport connection rather than before.
- VLTrader only: When using the database payload feature to release
outgoing payload to FTP users' outbox, now insert an entry into the
VLTransfers table if there is a file system I/O exception while copying
the file into the outbox.
- VLTrader only: For FTP server, added ability to disable MKD/RMD
commands and added a filter on incoming file extensions.
- Added parsing of EDI subcodes for GXS (formerly IBM) IE host to
determine the transfer status.
Enhancements - HTTP
------------------- Now add filename (; name=) to Content-Type header when possible
- For DaimlerChrysler, now check that received file length matches the
length specified for the tracking ID in the control file.
Enhancements - AS2/AS3
---------------------- Now check for duplicate mailboxes with the same AS2 or AS3 names when
sending (as is already done when receiving).
- Adjusted the rules for naming files for trading partners who do not
subscribe to the standards for naming files via the Content-Disposition
header within the payload.
- Modified the MDN detail panel size so that it is relative to the size
of application.
- VLTrader AS3 only: Added support for outbound folded / unfolded headers
in the AS3 server. By default headers for outbound messages will always
be folded for both the AS3 client and the AS3 server.
- AS3 only: Added support for storing the contents of the received
message in the rejectbox when the message is received without a header.
Enhancements - ebMS
------------------- Now check when sending if the configured CPA Id/From Role are also
defined in other mailboxes.
Enhancements - SSH FTP
---------------------- Added option to create a CA certificate from an imported a SSH FTP
public key.
Enhancements - OFTP
------------------- Now check when sending if the configured trading partner user ID is
also defined in other mailboxes.
Enhancements - MQ
----------------- When an ExtendedIOException occurs when there is a file naming error
writing to the AS/400 NFS, a hint is now logged.
Enhancements - SMTP
------------------- VLTrader only: Added a "Store raw sent" setting in host's SMTP panel,
which indicates to save the raw MIME payload messages sent to trading
partners in the SMTP/sent/ directory. And similarly, the Local
Listener's "Store Raw Received Message" advanced property, if set,
indicates to save the raw MIME payload messages received from trading
partners in the SMTP/received/ directory.
- VLTrader only: A Return-Path header for outgoing messages can now be
explicitly configured in the SMTP service panel. If left empty, the
Return-Path header defaults to the SMTP service <User Name@Domain>.
Additionally, the From: and Return-Path: headers can now be overridden at
the mailbox or command level.
- VLTrader only: Added a new "Always Send Multipart Messages" host
advanced property which indicates to always send a multipart SMTP message
to this trading partner, even when there is only one attachment in the
message.
- VLTrader only: For outgoing database payload, Content-Transfer-Encoding
can now be specified for individual outgoing files in the
VLOutgoingProperties table. However, only values of 'quoted-printable',
'base64', and 'uuencode' are applicable at this level.
- VLTrader only: When using transfer logging feature, discarded incoming
multipart/alternative parts are now marked with a status of "Discarded"
in the transfer table.
- VLTrader only: For incoming database payload, full Content-Type value
(including charset) for payload is now inserted into the
VLIncomingProperties table.
- VLTrader only: Now check when sending if any of the email recipients
are also defined in other mailboxes.
- VLTrader only: Added support for an "open-ended" SMTP host where the
host is not tied down to just one SMTP server. For an "open-ended" SMTP
host, the host address is specified as "*" and (unlike the normal SMTP
host) the To and Cc parameters must include the @domain portion of the
email address. "Open-ended" SMTP hosts cannot request DSNs, and if not
using an SMTP submission (i.e. proxy) server, the To and Cc email
addresses must all be the same @domain. "Open-ended" SMTP hosts cannot
receive incoming emails.
- VLTrader only: When sending email, added ability to specify an "inline"
(non-attachment) portion to the message. This can be specified by either
entering the inline text or specifying a file which contains the inline
text. And similarly, when using the outgoing database payload feature
for SMTP, added the ability to specify a Content-Disposition of "inline"
for an outbound file. Refer to the VLOutgoingProperties table in the
VLTrader Administrator's Getting Started Guide for more information.
Bug Fixes - Framework
--------------------- Corrected issue where selected certificate was not being displayed in
the CertManager when the Issuer Alt Name was used for something other
than an embedded PGP key.
- Corrected sluggish updates when new Listener certs are applied and now
display an hourglass while non-overridden mailboxes are updated with the
new listener certs. Now also update overridden mailboxes that have the
same certs to remove the override and log a warning.
- VLTrader only: Fixed problem where NullPointerException would be logged
if using router feature and router placed outbound file into local FTP
user outbox.
- VLTrader only: Fixed problem where NullPointerExceptions were being
logged when the Local Listener Web Service was in use, which would cause
service/daemon to hang.
- VLTrader only: Fixed problem with outgoing database payload where if
fileindex of attachments in VLOutgoing table did not increment starting
from 0, the table was not getting updated with the resulting TransferID.
- VLTrader only: Fixed problem where concurrent incoming messages to the
AS3 server were sometimes interfering with each other.
- Corrected problem where the mailboxes weren't being updated when the
Listener certificate(s) had been changed and the certificate(s) in the
mailbox weren't being overridden.
- Corrected problem where the success emails generated after a failure
when the "Email On Repetitive Action Failures" option is not enabled were
being incorrectly generated when the last action verb (i.e., PUT, GET,
etc) that caused the failure did not match the current successful action
verb.
- VLTrader only: For streamed incoming database payload, the transfer's
filesize property should not be set. Fixed problem where some protocols
were setting the transfer filesize to 0 or the number of bytes
transferred.
- VLTrader only: For database payload option, when outgoing payload is
for a local FTP user, fixed problem where VLOutgoing.TransferID was not
being updated when the FTP user retrieved the file.
- Fixed web GUI problem where the Certificate Manager's help reference
could not be displayed.
- VLTrader only: Fixed problem where changing an FTP or SMTP listener
port from clear-text to secure or vice versa without stopping the
listener in-between was causing port bind exceptions. Also fixed problem
where a listener port would not be started if it previously had a port
bind exception.
- VLTrader only: Fixed problem where sending multiple files via database
payload would cause database exceptions if no file sizes were specified.
- VLTrader only: Fixed problem where database payload outgoing properties
would only take affect if the property already had a configured value in
the mailbox.
- VLTrader only: Fixed problem where extended use of the database payload
feature on an Oracle database would eventually result in "ORA-01000
maximum open cursors exceeded" exceptions.
- Fixed problem where if there is a licensing issue for a host being run
from commandline (w/o a service or daemon running), a "null" warning was
being logged rather than the licensing error. Also fixed a timing issue
in this licensing case with the -m option where logged messages were not
always being printed to the console.
- VLTrader only: Fixed problem where database connection errors were not
being emailed, even though Email On Fail was set at the system level.
- Fixed problem where warning messages were being interpreted as errors
when email/execute suppression was enabled.
- In the "Certificate Exchange Confirmation" dialog, the "Cancel" button
now correctly cancels the send operation instead of returning to the send
dialog.
- Fixed problem in the certificate viewer where the installed encryption
certificate was being displayed as the "Encryption Certificate" and the
"Active Encryption Certificate".
Bug Fixes - FTP
--------------- VLTrader only: Fixed problem with FTP server filter for incoming file
extensions if a directory name contained a period.
- Corrected issue when receiving OpenPGP encrypted data where the
original input stream was not being closed possibly causing a transfer to
fail.
- VLTrader only: When reverse proxying through VLProxy, removed inherent
one second delay in processing each incoming FTP command.
Bug Fixes - HTTP
---------------- Fixed problem where Proxy and WWW digest authentication was always
failing.
Bug Fixes - AS2/AS3
------------------- Corrected problem where received MDNs were not always being stored
properly in the AS2\mdn\received folder.
- AS2 only: When an asynchronous MDN response has timed out, the original
Message-ID is now included in the result element for LexiCom. Previously
it was only included for VLTrader. Also corrected problems with
resending messages when Async Resends are enabled.
- AS3 only: Fixed problem where the -APE command line option was not
being used when specified and the specified target file name
(e.g., recvfile.edi) was being ignored and instead the remote file name
was used to name the received file.
- Fixed problem where MDNs were not always being updated in the MDN table
view in real-time when running under the service.
- Fixed problem where sending Tradacoms formatted data files were failing
with a javax.activation.UnsupportedDataTypeException.
- Corrected problem where when asynchronous MDNs were not being properly
moved to the mdn\received directory after they had expired.
- Previously when setting the outbound file name in the message headers,
any ( ) @ , ; : \ / ? " < > TAB SPACE [ ] = characters were being
replaced with an underscore (_) character.
This list has been modified
to only replace the \ / : * ? " < > | characters with an underscore for
outbound file names.
- AS2-only: Added support for client authentication (which had been
previously omitted) when sending an asynchronous MDN response or CEM
response via SSL.
- AS2-only: Fixed problem where when receiving synchronous MDNs the CEMcapability was not being detected and the "Partner Is CEM-Capable" field
was not being properly set.
- AS2-only: Fixed problem where an update to the "Partner Is CEM-Capable"
field by the Listener was leaving the "Apply" button enabled on the Host>AS2 panel.
- AS2-only: Fixed problem where when a host was manually deleted but
there were still existing CEM records that had expired, email
notifications would continue every 5 minutes indefinitely. Now if a host
is not found for any outstanding CEM records, they are removed and a
warning is logged.
- AS2-only: Pending partner certificates (received through CEM) are now
displayed in the "Certificates" panel and the field is set to read-only
until the new certificate is accepted.
- AS3 only: Fixed problem where inbound unsigned/unencrypted messages
were not being properly named with the file name provided in the ContentDisposition header.
Bug Fixes - SSH FTP
------------------- Added stack trace information for errors to the debug log when it is
available.
- Added advanced property to configure the transfer block size. The
default block size of 65535 is not supported by all servers.
- Added command to ask for available authentication methods before
attempting authentication.
Bug Fixes - OFTP
---------------- Now instead of erroring out, if the speaker does not honor the CD
request within the EFPA response, VersaLex will simply log a warning and
continue.
Bug Fixes - SMTP
---------------- VLTrader only: Fixed problem decoding base64-encoded UTF without BOM.
- VLTrader only: For incoming database payload, cleaned up cases where
file size was being reported as 0 in VLTransfers table when it should not
have been reported at all. The file size should only be reported in the
VLIncoming table when using incoming database payload.
- VLTrader only: Fixed problem where the incoming From: (MAIL command)
and To: (RCPT command) parameter names were not case insensitive.
- VLTrader only: Fixed issue when using incoming database payload where
multiple attachments were not being indexed properly in the VLIncoming
table.
- VLTrader only: Fixed issue where the "lostandfound" directory was not
being automatically created.
- VLTrader only: Fixed problem where SMTP server was always returning a
successful DSN if the RCPT TO: NOTIFY parameter existed, even if only
just NOTIFY=FAILURE or even NOTIFY=NEVER was specified.
- VLTrader only: Fixed problems when using database payload for outgoing
messages where exceptions were thrown if no payload was being sent.
- VLTrader only: Fixed a number of problems relative to the inline
document option:
- Inline file value was not always being displayed in the GUI and
therefore could not be edited.
- Inline document provided via database payload was not overriding the
configured inline file or text.
- Configured inline file was being deleted if PUT -DEL option was being
used.
- Content-Disposition: inline database payload outgoing property was
not being picked up globally as it should when Fileindex was set to -1.
- VLTrader only: Fixed problem where a default filename was not being
properly generated when an outgoing database payload filename was not
provided.
- VLTrader only: Fixed problem where a single quote in the subject of an
incoming message was causing problems inserting into payload the
database. Single quotes and backslashes are now properly escaped.
- VLTrader only: Fixed problem where a received Message-ID was not being
inserted into the transfer log.
- VLTrader only: Fixed problem where disabling the SMTP service was not
causing connections to the service to be closed with a "421 Service not
available, closing transmission channel".
- VLTrader only: Fixed problem where a NullPointerException would be
thrown if an inbound command requiring parameters had no parameters at
all.
- VLTrader only: Fixed problem where a NullPointerException would be
thrown if an inbound MIME message was missing a Message-ID.
- VLTrader only: Fixed problem where an inbound Delivery Status
Notification would be rejected if it was missing an Original-Envelope-ID.
****************************
* RELEASE 3.3 - 2007/01/29 *
****************************
- Upgraded each platform JRE (Java Runtime Environment) to a version
which supports new 2007 US and Canada Daylight Savings Times. Please
note that if you are currently using JRE 1.3 and choose during the
installation to continue using JRE 1.3 rather than upgrading to JRE 1.4,
you will NOT be using a JRE with the new DST changes. To obtain a JRE
1.3 with the new DST changes, use the following link to download the JRE
1.3 installer:
http://www.cleo.com/Download/LexiComDL.asp?SN=XXXXXXXXXXXX&OS=Windows|Linux|AIX|HPUX|Solaris&PROD=LexiCom|VLTrader&JRE=1.3
Major Enhancements - Framework
------------------------------ Added new a Certificate Exchange feature available in the AS2, AS3,
FTPs, ebXML and the Ftp Server User mailboxes (VLTrader only) for sending
local certificates to trading partners via email. Additionally support
has been added for AS2 to send and receive certificates (via Certificate
Exchange Messaging over EDIINT) if the trading partner has a CEM-capable
product. Refer to "Exchanging Certificates With Your Trading Partner" in
the Certificate Manager section of the User's Guide for further
information.
- VLTrader only: Added both client-side and server-side implementations
of the Simple Mail Transfer Protocol (SMTP). See Generic SMTP and SMTPs
preconfigured host, and Local Listener SMTP tab and SMTP service.
Enhancements - Framework
------------------------ On Unix, now update product daemon script with chosen home directory
during installation.
- VLTrader only: Enhanced the database payload feature to allow for more
outgoing/incoming transfer parameters/headers to be specified/received
via the VLOutgoingProperties/VLIncomingProperties tables. For outgoing
payload, also added the ability to specify an external, custom transfer
ID which will be correlated to VLTrader's transfer ID. Refer to the
VLTrader Administrator's Getting Started Guide for more information.
Enhancements - AS2/AS3
---------------------- AS2 only: Added new "Send '200 OK' For Empty AS2 Responses" Advanced
Property to the Local Listener to return a "200 OK" response instead of
the default "204 No Content" response when there is no content to return
(e.g., for messages not requesting an MDN or for asynchronous MDNs) for
compatibility with servers that are unable to process a "204 No Content"
response.
- Added support for enabling/disabling "Folded Headers" in AS3 Hosts
Bug Fixes - Framework
--------------------- Removed selections for translator integrations Gentran Server, Trusted
Link Enterprise, and Trusted Link/400(LexiCom only).
- Fixed problem where forced synchronization was throwing the exception
"org.xml.sax.SAXParseException: Premature end of file".
- Fixed problem where the backup reverse proxy external address was still
being used for AS2 MDNs after the primary proxy went down and then came
back up.
- Fixed problems where the web GUI was not displaying correctly (e.g.
message pane messages were not colored, View>Log window would not
display, etc.).
- Fixed problem where the contents of an emailed AS2 profile was
incorrectly stating that the trading partner's AS2 name was not
configured.
- Fixed problem where embedded PGP key info from a creation of a PGP CA
cert was being stored in a new user cert.
- Imported PGP public keys that are not initially armored are now reencoded before they are embedded in the CA cert.
- Fixed problem with VLProxy initialization caused by
InterruptedIOException where reverse proxy or other information was not
being configured consistently in VLProxy.
- Fixed problem when using either the AS/400 native or integrated file
system for the inbox and/or outbox the path was being misinterpreted as a
subdirectory of the installed path.
Bug Fixes - FTP
--------------- Fixed problem where if host advanced property "Delete Zero Length
Files" is on and using GET -APE, could inadvertently delete previously
received payload.
- Fixed problem where PGP encryption/decryption, etc. options were set to
the wrong value when concurrent actions were run.
Bug Fixes - HTTP
---------------- Now accept HttpOnly parameter in Set-Cookie header.
Bug Fixes - AS2/AS3
-------------------
- Fixed problem in AS3 messages where the CRLF was omitted after the
Content-Type header causing the header and the body of the message to run
together.
- Fixed problem where unsigned / unencrypted files residing on the AS/400
native file system were not able to be sent due to message length
calculation errors.
****************************
* RELEASE 3.2 - 2006/12/05 *
****************************
- WARNING: This version of LexiCom/VLTrader is only compatible with
VLProxy version [1.7] or better.
Enhancements - Framework
------------------------ VLTrader only: In Configure>Options>Transfers, under the database
payload option, added a configurable database connection poolsize, which
defaults to 20.
- Added Configure->Launcher dialog which is used to modify and test
changes to lax file settings.
- Added memory usage monitor which will log a warning when total memory
reaches maximum memory.
- Modified the panels for all applicable protocols to allow the fields to
use the available space as the panels are enlarged.
- For all protocols, added four new Fixed Record... Advanced properties
which can be used to insert and/or delete fixed length record end-of-line
characters for outgoing and/or incoming files, respectively. One
additional property "Outgoing Insert EOL Between Interchanges" can be
used to insert EOL characters in-between EDI interchanges as well as at
fixed record lengths.
- Local Listener Configuration Wizard - steps are now specific to AS2 or
ebMS protocols. Added selection to allow use of a new SSL certificate
(not yet generated) for both signing and encryption.
- VLTrader only: EDI logging feature now includes optional functional
acknowledgment tracking and optional custom reference number extraction.
Go to Configure>Options>Transfers>Configure EDI logging to enable. Refer
to the VLTrader Administrator's Guide for database information. If
necessary, transactions with pending functional acknowledgments can be
manually acknowledged by right-clicking one or more transactions in the
Tools>Transfer Report... transaction table.
- VLTrader only: In Configure>Options>Transfers, if logging transfers to
a database, added option to automatically purge logged transfers older
than a configurable number of days (default 90).
- By default only the logged message time is shown when scrolling
messages in the messages pane or with the commandline -m option. In
Configure>Options>Other, added new property "Always Show The Logged
Message Date" which indicates to display both the message date and time
when scrolling messages.
- Initial splash screen now includes a progress bar and cancel button.
- VLTrader only: In Tools>Transfer Report..., report filter values are
retained on re-entry. If any filter values are entered in the EDI tab,
on re-entry to the filter dialog, the EDI tab is now automatically
selected so that the retained EDI filter values are visible.
- In addition to the AS2, AS3, and ebMS protocols, now all protocols
support command retries on error or exception with an optional retry
delay. Go to host Advanced tab Command Retries and Retry Delay
properties to set.
- Enhanced View>Log... capabilities:
- Filter now automatically spans into archived log files depending on
the selected date/time range. Individual log files can also still be
selected.
- Expanded message type selections to include notes, warnings, errors,
and exceptions as well as different result types.
- Log filters can now be saved and recalled.
- LexiCom only: In Tools>Software Update..., the "Still download even if
already at current release/patch level" AS/400 option is now
automatically turned on if the latest release has just been
downloaded/installed (and no patch exists) and is now automatically
turned off after the subsequent AS/400 download is complete.
- Added ability to use the "Email Profile..." utility for the local
listener services. This allows URLs and certificates to be emailed when
necessary before a specific trading partner relationship has been
established.
- Added support for redundant reverse proxy enabled VLProxies. You may
configure multiple Cleo VLProxies to use the reverse proxy feature by
selecting the "Backup" checkbox (in the HTTP-Application Level Proxy
panel). The "Backup" checkbox must be unselected for the Cleo VLProxy you
intend to use as your Primary reverse proxy. VersaLex will enable reverse
proxying on both Backup and Primary proxies it can communicate with. A
Backup proxy will not be available for selection as the default forward
proxy at either the system or host level. If VersaLex is unable to use a
specified default forward VLProxy, it will attempt to use an available
Backup VLProxy.
- Added a new "Print" feature to the Log Viewer.
- Added support for suppression of repetitive "Email On Fail" and
"Execute On Fail" invocations at the Action, Listener and System levels
through the use of additional Advanced properties.
The Action and
Listener properties may be set at the System Level (via the Options ->
Advanced panel) and overridden at the hosts. Additionally the "Email On
Fail" and "Execute on Fail" will be invoked on resolution of the error.
For "Execute On Fail", users must account for this in the failure script
to be executed by using the %status% macro as a parameter.
- The service no longer needs to be stopped and restarted when a new
license is installed.
- The email that is generated when a temporary license key is about to
expire now also includes the host name and address of the computer where
the temporary license is installed as well as the directory where the
VersaLex product is installed. Additionally, an event is now logged when
a license expiration reminder email is being sent.
Enhancements - FTP
------------------ Added hint for common exception when using OpenPGP encryption with a
DSA key and PGP Hash Algorithm set to SHA-256.
Enhancements - HTTP
------------------- A transfer element is now always logged if any data had been
transferred, even if the transfer didn't complete successfully.
Enhancements - ebMS
------------------- Fixed issue where schema validation was not being done entirely local
to the computer. "http://www.w3.org/2001/XMLSchema.dtd" was still being
requested over the internet.
- While activating the Generic ebXML preconfigured host, a Collaboration
Protocol Agreement (CPA) or Collaboration Protocol Profile (CPP) can now
be imported into VersaLex. The contents of the CPA/CPP are used to set
host, mailbox, and ebXML service properties.
Enhancements - SSH FTP
---------------------- Added hint for common exception when using Public Key Authentication
with an incorrect password.
Bug Fixes - Framework
--------------------- On the AS/400 platform, fixed problem where an invalid license would
cause the AS/400 process to get a NullPointerException when attempting to
a log system message and would cause the Windows GUI to have difficulty
attaching.
- In web GUI, fixed problem where importing of files would always be
immediately cancelled.
- Fixed problem when manually archiving AS2/AS3 MDNs, ebMS Acks, or OFTP
EERPs where NullPointerException would be thrown.
- When using the API, fixed problem where a general log listener was not
receiving system log events.
- For hosts which do not allow concurrent actions (always on LexiCom and
optionally on VLTrader), rather than erroring out if another action is
already running, commandline requests to run an action will now queue up
and wait for the active action to end.
- Fixed problem in the Email Profile utility where the encryption
certificate was not being included in the zip file, even though the text
of the email stated it was included. Also fixed a problem where
signing/encryption certificates were not being displayed and sent for the
AS3 client.
- Fixed problem where active file input/output locking was not taking
into consideration symbolic links and ../ relative pathing.
- Fixed a problem when streaming incoming payload through the API where
reserved filenames would unnecessarily accumulate and cause throughput to
slowly deteriorate.
- Corrected a problem where when no SMTP mail server is defined and
emails are sent to multiple recipients at the same mail domain, the
action would hang indefinitely.
- Corrected a problem where the Advanced Panel would freeze up if a value
that is set at the system level was cleared out at the host level.
- The Local Listener can be modified while it is running. If the applied
modification leaves the Local Listener in an incomplete state, the Local
Listener remains running, but now the user is warned that the Local
Listener will not start the next time it is stopped and restarted.
- VLTrader only: Fixed problem in the web GUI where router entries and
EDI route entries could be deleted while in "View Only" mode.
- Fixed problem in the web GUI where paging within a host or mailbox
would fail if the host or mailbox alias started with a digit.
- If a scheduled autosend action fails to send a file after 2 consecutive
retries, the action is set to restart after 30 minutes, by default. If
the action is run interactively during this delay, the restart delay is
now automatically reset. This matches how temporarily disabled scheduled
actions are re-enabled after being interactively run.
- Fixed problem where Tools>Certificate Manager... was not displaying the
hexadecimal value of a negative serial number correctly.
- VLTrader only: Now detect and log a warning when an invalid EDI
document is being routed or parsed for EDI logging. Previously an
ArrayIndexOutOfBoundsException was being thrown.
- VLTrader only: In database payload feature, now limit the maximum BLOB
size to 2,147,483,647 bytes. This is the maximum supported by the JDBC
interface.
- VLTrader only: Added active route information to synchronization so
that backup system can pickup routing where the production system left
off if/when the production system goes down.
Bug Fixes - FTP
--------------- Fixed problem with PASV command response where server reply included an
extra parenthesis at the end.
- Fixed problem with PASV command when using VLProxy with the external
address configured as fully-qualified domain name instead of an external
IP address.
Bug Fixes - HTTP
---------------- Fixed problem where HTTP request events (which include the HTTP method,
resource path, and any request parameters) were not being logged.
- Fixed problem where if no HTTP headers were specified and the ContentType was defaulting to multipart/form-data, a NullPointerException was
being thrown.
- In addition to AS2, now include host error response in error result log
element content for all HTTP protocols.
Bug Fixes - AS2/AS3
------------------- Fixed a problem when streaming incoming payload through the API where
if the subject header was missing from the message a NullPointerException
would occur.
- AS2-only: In a send action, the transfer element is now updated with
the final transfer bytes after the transfer has completed and is waiting
for the response. (Previously the final displayed bytes in the panel did
not match the actual transfer bytes.) Also, if there is a timeout error,
the final transfer element is now logged.
- AS3 only: Corrected a problem where if an error response from the
server occurs midway through a series of receives, the action would hang
indefinitely.
- AS2 only: If no data is being sent back in a response, a "204 No
Content" response is now sent instead of the previous "200 OK" response.
- Corrected issue where large compressed that were also base64-encoded
could not be decompressed.
- Corrected issue where private keys were being set to null when the
private key password contained a ";" character. (This was causing a
DecryptionFailureException when receiving inbound messages.)
- Corrected issue where plain (unsigned / unencrypted) messages were not
correctly setting the content-disposition header when running through the
API.
- Corrected issue where inbound encrypted messages (with no signature)
were always using the Message-ID to name the target file even if a
"Content-Disposition" header had been supplied.
- Corrected issue where multiple emails were being generated when an
action is interrupted.
Bug Fixes - ebMS
---------------- If I/O exception occurs while processing incoming payload, now attempt
to generate a SOAP fault response rather than not responding at all.
- Fixed problem that generated Content-Disposition filename parameter
value was not a quoted-string, which allows for embedded spaces or other
special characters in filenames.
Bug Fixes - SSH FTP
------------------- LS and GET * commands would return no files in the listing if the file
type in the permissions was not specified. If the file type is FILE or
not a DIRECTORY or LINK it is assumed to be a file since the server is
likely not setting the type in the permissions correctly.
Bug Fixes - MQ
-------------- Corrected issue where an MQRC_OPTION_NOT_VALID_FOR_TYPE (2045) error
was being generated when attempting to put messages on a remote queue.
- Corrected issue where multiple emails were being generated when an
action is interrupted.
****************************
* RELEASE 3.1 - 2006/08/08 *
****************************
Major Enhancements - Framework
------------------------------ User configuration on two or more LexiComs or VLTraders can now be
synchronized. Synchronization can involve a production system and one or
more redundant backup systems or can involve distributed non-redundant
production systems. Configure>Synchronization may be setup to include
the entire set of user configuration data or a subset and does not
require use of VLProxy.
- Added the ability to use an expanded set of supported macros for naming
the inbound file for all protocols and for naming the destination file
for the LCOPY command. Refer to the protocol-specific host section in the
VersaLex User's Guide for details.
- Removed the "Email On Fail", "Execute On Fail", "Email On Successful
Receive" and "Execute On Successful Receive" Advanced properties from the
Listener. SPECIAL NOTE: IF THERE ARE VALUES SET FOR ANY OF THESE
PROPERTIES IN THE LISTENER, THEY WILL AUTOMATICALLY BE MOVED TO THE
SYSTEM LEVEL (under Options->Advanced) DURING THE SOFTWARE UPGRADE. IF
THE SYSTEM LEVEL ALREADY CONTAINS DIFFERENT VALUES THAN THE LISTENER
LEVEL VALUES, A CONFLICT MESSAGE WILL BE LOGGED AND AN EMAIL ALERT WILL
BE SENT TO ALL EMAIL RECIPIENTS (IF THE PROPERTY IN CONFLICT IS AN
'EMAIL' PROPERTY). IF IT IS AN 'EXECUTE' PROPERTY IN CONFLICT, THE EMAIL
ALERT WILL BE SENT TO THE SYSTEM-LEVEL "Email On Fail" RECIPIENT (IF AN
EMAIL ADDRESS HAS BEEN SPECIFIED) OR TO THE EMAIL ADDRESS THAT WAS
SPECIFIED DURING THE REGISTRATION OF THE PRODUCT. THE USER MUST RESOLVE
THIS CONFLICT BY MANUALLY UPDATING THE SYSTEM LEVEL ADVANCED
PROPERTY(IES) IN CONFLICT WITH THE DESIRED VALUES.
Enhancements - Framework
------------------------ Added support for importing OpenPGP and SSH keys when creating selfsigned user certificates. User certificates may also be exported to
OpenPGP or SSH formats. Trusted CA certificates can now be created from
imported OpenPGP public keys.
- Added support for the addition of an optional port number (in the form,
host:port) when specifying an SMTP server in the options panel.
- VLTrader only: Added ability to filter the transfer report with EDI
interchange, functional group, and/or transaction set values.
- VLTrader only: Added [Find Route] button in Tools>Router dialog.
- VLTrader only: For the router, when a route file contains undefined or
doubly-defined routes, now reject just the segments in error and route
the rest rather than rejecting the entire route file.
- VLTrader only: For the router, added new Advanced property "Maximum
Number of Concurrent Router Actions" which can be used to throttle the
router. The default value for this property is 10.
- VLTrader only: For EDI transfer logging, added an exclusions list that
can be used to identify hosts, mailboxes, or actions that should not log
EDI data when transferring.
- VLTrader only: Added support for the new "Compression-Signing Order"
and "Retain Temporary Inbound Message Files" Advanced properties for AS3
server users.
- Added ability to archive the system log file daily or weekly. Go to
Configure>Options>Messages to enable. Also, archive filenames now
include the date and time range of the archived log.
- Added ability to generate a TCP/IP port usage report for a single host
or subset of hosts. Right-click the desired host or hosts in the Active
tree and select "TCP/IP Port Usage...".
- Added new "DestinationFilenameDate" and "DestinationFilenameTime"
Advanced properties at the System-level.
- When the System-level Advanced settings are being used by default, they
will now be displayed in each host's Advanced panel. Previously, these
values were left blank at the host level.
- Added a new mailing feature that does not require that a mail server be
defined.
- Added new feature to send daily email notifications beginning a week
before a temporary license will expire. Daily emails will continue even
after the temporary license has expired.
- Added a "Print" button to the debug log viewer (for non-web GUIs only).
- VLTrader only: Now support the Progress OpenEdge RDBMS for the transfer
and EDI logging and database payload features.
- Under View>VLProxy..., added ability to actively view a connected
VLProxy's messages or display the current or archived VLProxy log file.
Also, under Help>Support>Bundle..., added ability to include the current
VLProxy log file in a support bundle. VLProxy version 1.6 or higher is
required.
- Added host level integration for use with GXS Application Integrator.
Changed sort order for action names on other integrations to match host
tree order. Unix script files generated will now have the execute file
permissions set.
- VLTrader only: In addition to the standard transfer log viewer, added
an EDI transfer log viewer which lists interchanges matching the filter
criteria. If one of the listed interchanges is then selected, its
functional groups and/or transaction sets are displayed. The standard
transfer information (protocol, trading partner, bytes, etc.) for an
interchange can be displayed in detail windows.
- VLTrader only: EDI logging and routing now recognizes and supports the
Tradacoms file format.
- Added "Open New" and "Find" buttons to the file viewer (under File>View) to allow for opening of new files and searching (forward and
backward) within the document, in the same fashion as is done in MS Word
and Internet Explorer.
- VersaLex now supports importing private keys generated by WS_FTP Pro
server (SSLeay private keys).
- VLTrader only: Generated detailed transfer report now can include
extracted EDI headers.
Enhancements - FTP
------------------
- Added integrated OpenPGP (Pretty Good Privacy). Outbound files may be
encrypted and signed to allow your trading partners to verify the files
have not been tampered with in transit. Inbound files from trading
partners are decrypted and verified providing you the same protection.
- Added support to the Post-Put command for the file naming macros as
used in the PUT, GET and LCOPY commands.
Additionally support for this command now also includes the %destfile%,
%destfilebase% and %destfileext% macros.
- Added "Ignore Exception After Quit" advanced property which indicates
to ignore any I/O errors that occur when attempting to read the FTP
server response after issuing a QUIT command.
Enhancements - HTTP
------------------- Based on the setting of Advanced property "Command Retries", GET CONFIRM and -DELETE option requests will now be retried if/when an error
or exception is incurred.
- Added "Post Parameters On Request Line" advanced property which
indicates to include any request parameters on the HTTP request line
rather than using multipart/form-data or application/x-www-formurlencoded content-types.
- When an HTTP server sends back an error response, any HTML content in
the response will now be logged.
- Added support for %file parameter in application/x-www-form-urlencoded
Content-Type.
Enhancements - AS2/AS3
---------------------- AS3 only: When sending large messages, now send NOOP commands every 60
seconds to keep the connection open.
- When manually archiving MDNs, now check for any "Pending" MDNs in the
selection list and automatically deselect them and display an
informational message. Pending MDNs should never be archived.
- Added new "Compression-Signing Order" Advanced property in the host to
allow outbound messages to be either signed then compressed or compressed
then signed. (By default messages are signed then compressed.) This
support is for both AS2 and AS3 clients.
- Now log a hint when the installed JRE (1.4) is missing the correct
policy jars which manifests itself as an "Unsupported key size or
algorithm parameters" error (on send) or a decryption failure on receive.
- When logging an incoming result, now include the hints in the
incomingResult so that the sequence of messages for an exception matches
what is displayed on outgoing results (i.e., Detail, optional Hint,
Result).
Previously, for an incoming result, the hints were being
logged after the result element.
Enhancements - ebMS
------------------- No longer reject incoming payload when content-type is incorrectly
specified as application\xml.
Enhancements - SSH FTP
---------------------- Now supports both Public Key Authentication (PKA) and password login
authentications. PKA supported from user certificate or a file. Under
JRE1.3, user certificates created from an imported RSA SSH private key
will not be usable with certain security providers. Instead, you must use
the mailbox Private Key file parameter to use the RSA SSH private key
file directly.
Enhancements - MQ
----------------- Added support for usage of the source file naming macros if a file name
was provided in the Application Identity Data field on the queue.
- For the PUT command, the file name is now in the Application Identity
Data field. The GET command now uses the Application Identity Data field
(when supplied) for naming the file. Also the MessageID obtained the MQ
queue (for a GET command) is now logged.
- Modified the GET command to only convert the data if it is ASCII (when
the MQMD's "Format" field has a value of "MQFMT_STRING", i.e.,'MQSTR')
- When running under JRE 1.3 and SSL Security has been enabled, no longer
set the mailbox to "not ready". Instead, an exception is thrown at runtime.
Bug Fixes - Framework
--------------------- On Unix platforms, added options for configuring web GUI font settings.
In the Fonts tab of the Web Browser service under the Local Listener,
default font settings can be modified when there are font path
problems/exceptions.
- Corrected issue where when an attempt to send an email was failing, a
delay was not always being done in between retry attempts. (The product
now always makes three attempts to send an email with a five second delay
in between retry attempts. Detail of the error and the retry attempt is
now also logged in the debug log.)
- Corrected issue where changes to the "DestinationFilenameDate" and
"DestinationFilenameTime" Advanced properties at the host level could not
be saved and always reverted back to the system-level's value.
- Corrected issue where the file naming macros weren't being correctly
interpreted for LCOPY when wildcards were used.
- Fixed problem where the Destination Filename Date & Time Format
advanced properties were omitted at the system level.
- Fixed problem where System level advanced properties were being
incorrectly displayed at the listener level.
- Fixed problem where "Destination Filename Date/Time Format" advanced
properties were being displayed in the FTP User Mailbox's advanced panel.
(These properties are not used there.)
- Fixed problem where the incorrect System level property was being used
when running as a service.
- Fixed problem where a NullPointerException was being silently thrown
when attempting to "Apply" the Listener's Advanced properties, causing
those changes to never be applied.
- Corrected problem where the host level "Email On Successful Receive"
and "Execute On Successful Receive" properties were not being used for
AS2, ebXML, OFTP and AS3/FTP server users.
- Corrected problem where loading large files in the File Viewer consumed
considerable amounts of CPU.
- When trying to import a host file and a license limitation was reached,
fixed problem where instead of entirely blocking the import the host file
would remain in the hosts\ directory and would display in the active tree
on the next software restart.
- VLTrader only: Fixed problem where a large route definition was causing
the Tools>Router dialog to hang. Also fixed problem where the Status
column in this dialog was not being updated automatically.
- When attempting to email a success or failure while an action was
running and that action was interrupted, previously the email would also
be interrupted. Now, the interrupt for emailing is ignored and the email
is allowed to proceed until it completes.
- VLTrader only: Fixed problem where FTP server was logging
NullPointerExceptions when attempting to send a response string that was
null.
- Instead of erroring out when importing a PKC12 with an invalid
certificate chain, VersaLex will now import the user certificate and
private key and just ignore the rest of the certificates.
- VLTrader only - Corrected problem using VLTraderd script by storing as
a binary UNIX format.
- VLTrader only: Fixed timing problem when transfer and EDI logging where
database SQL statement could become corrupted.
- Fixed problem where the CPU would go to 100% for long periods of time
while sending emails where no email server has been specified. Also
added better handling and reporting of unexpected exceptions which
previously caused the action to hang indefinitely.
- VLTrader only: If a client disconnects abruptly from the FTP server
(without first issuing a QUIT command), now properly disconnect that
session and set that user as inactive. Previously that connection would
hang and cause 100% CPU usage indefinitely.
- Fixed a problem where a NullPointerException could be thrown when the
SMTP mail server had been specified and there was a connection problem to
that server.
- Corrected problem where emails would hang indefinitely when more than
two NIC cards are installed. Also improved the performance of the
connection to the remote SMTP server when sending emails where the local
SMTP server is not configured.
- VLTrader only: Fixed problem where EDI logging would error out if the
time value in an interchange or functional group included milliseconds.
- VLTrader only: Fixed problem where transfer logging would error out
with a received message ID of larger than 100 characters. The message ID
is now truncated.
- Fixed problem in the Email Profile Utility where NullPointerExceptions
would be thrown for FTPs clients if the conf/registration.properties file
was missing.
- VLTrader only: Immediate route retries will no longer be attempted if
the router has just been manually stopped. But the router will now log a
message indicating when the route will be reattempted if the router is
restarted.
- VLTrader only: Changes to defined routes (additions, modifications, and
removals) are now effective immediately. Previously, the main router
dialog also had to be OKed before route changes would be applied.
- When using system level sentbox, fixed problem where setting the
advanced host property "Add Mailbox Alias to Sentbox" had no effect.
- VLTrader only: Fixed problem when routing a file with multiple
interchanges to different mailboxes where unnecessary functional group
and interchange trailers would precede all but the first interchange.
- Fixed problem where sessions would expire after about one minute using
the web GUI on Windows Netscape version 8.
- VLTrader only: If a host's "Allow Actions to Run Concurrently" advanced
property was set off, fixed problems where the router and database
payload features would error out if multiple sends were queued up. These
features will now sequentially process each send for the host one-by-one.
- VLTrader only: Fixed problem where router action would hang if routing
to an FTP mailbox and a connection exception occurred. Also fixed
similar problem where router action would hang if the proxy originally
configured for the host no longer exists.
- For web GUI users, fixed problem where a "Browser state re-synchronized
with the application" message would appear with each auto-refresh.
- VersaLex service/daemon no longer needs to be restarted after the
computer name or IP has changed. Previously new VersaLex GUI,
commandline, or API applications would fail to attach to the
service/daemon until it was restarted.
- For web GUI users, fixed scrolling and subdirectory navigation problems
in file chooser dialog under JRE 1.4.
- Corrected a problem in the file viewer when running under the Web GUI
where large files didn't appear to load unless a manual refresh was done.
Now, the Web GUI will automatically refresh until the file is fully
loaded on the page.
- VLTrader only: When EDI transfer logging enabled, fixed problem where
sending/receiving a Tradacoms document would cause pipe closed transfer
failures.
- VLTrader only: Fixed problem where if WS_FTP Pro client was uploading a
file on an encrypted data port, VLTrader would error out at the end of
the transfer with a "553 data transfer failed. java.io.EOFException:
Connection closed by remote host." response.
- AS400 only: Added function check monitoring (for the JVA0122 msgid) so
that an escape message is not logged and a jog log created if the
ENDLEXSVR command is invoked when the LexiCom service is not running.
- Added additional validity checking to the "To:" field in the "Email
Profile..." utility to protect against invalid entries and tool-tip text
to specify that this field requires an email address.
Bug Fixes - FTP
--------------- Fixed problem where reported transfer bytes were potentially inaccurate
by as much as 1KB.
- When a GET error changes to a warning based on the setting of the
"Ignore Retrieve Error Code" advanced property, fixed problem where a
zero-length file was not being deleted even though the "Delete Zero
Length Files" advanced property was set.
- VLTrader only: Fixed problem in FTP server where if error occurs during
incoming file transfer, transfer log entry was being left with a status
of "In Progress".
- VLTrader only: Fixed problem in FTP server where the initial server
welcome response message was taking longer on clear text ports.
Bug Fixes - HTTP
----------------
- HTTP multipart boundary no longer includes the "+" character as this
was causing a problem in a particular server's Perl scripts.
- For DaimlerChrysler EBMX HTTPs when requesting a directory listing,
fixed problem where HTML content now returned with a "404 No documents
found" response was being incorrectly treated as downloadable file
directory entries.
- Fixed problem where changes to the Certificate Alias in the Mailbox
Security panel for an HTTPs host was not causing the [Apply] button to be
enabled.
Bug Fixes - AS2/AS3
------------------- Corrected a problem where allocated memory was not being released when
sending any compressed messages smaller than 2.3 megabytes which was
causing OutOfMemoryErrors.
- Corrected problem where diagnostics for a message encrypted with an
incorrect encryption were not being logged.
- If a header is received that is missing the CRLF separator before the
body, an IOException describing that the header format is incorrect is
now logged. Previously an ArrayIndexOutOfBounds exception was being
logged instead.
- Corrected problem where sending large multipayload documents through
the API was causing a "Bad File Descriptor" IOException to be thrown.
- When an exception occurs, all Result elements now include the class
name as part of the exception text. Removed stack traces that were
incorrectly included as part of the content of the Result elements.
- AS2 only: Corrected an issue where the Result element was missing the
server response code and text and only contained the "Transfer failed"
text when the server response was in 500 range. Also Result elements for
responses in the 300 - 499 range now contain the response code.
Previously they only contained the response text.
- Made logging of all exception text more consistent.
- VLTrader/AS3 only: Addressed issue where the AS3 server was getting
OutOfMemoryErrors when receiving very large files.
- VLTrader only: Corrected problem where EDI logging was not being done
for files larger than 2.3 megabytes.
- AS3 only: Added better exception checking for sending very large files
so that connection timeouts are reported properly.
- AS2 only: Fixed problem where StringArrayIndexOutOfBounds exceptions
were being logged by the MDN Response checker.
- AS3 only: Added better exception handling when sending a message to an
FTP server where the socket has closed prematurely.
- Added checking for an EOF while reading the header portion of the
message. This corrects an issue where a warning was being logged that
there were no headers in the message.
- Corrected a problem where the exception "An HTTP (or HTTPs) proxy port
must be enabled for specifying an HTTP (or HTTPs) asynchronous response"
would be thrown when VLProxy was not running even though a synchronous
response had been requested.
- For streamed messages, now set the content-type to the mailbox's
default content-type if the content-type of the inbound stream is null.
If the content-type of the mailbox is not set, then it is set to
application/octet-stream (for a binary stream). Previously, it was
always being set for a binary stream.
- Fixed problem where the same message ID was being assigned to multiple
concurrent send actions.
- Fixed problem where a trailing "/" character was not being included in
the POST command of the async MDN.
- AS3 only: Fixed problem where MDNs could not be forwarded to an email
recipient.
- Fixed problem where the Action-level "mailbox.Encryption Method"
property values were not being properly displayed as a drop-down list.
- Added logic to be able to support a "non-standard" MDN error
disposition field.
- AS2 only: If forward proxying requests and the proxy cannot connect to
the host, corrected problem where VersaLex was reporting a "Stream not
associated with a request" exception rather than reporting the "400
Connection failed" response from the proxy.
- AS2 only: When an http response in the 300-499 range is returned from
the remote host or the proxy, now display the actual response text in the
result element. Previously the text "An unrecoverable error occurred at
the remote host!" was being logged as the result.
Bug Fixes - ebMS
---------------- If forward proxying requests and the proxy cannot connect to the host,
corrected problem where VersaLex was reporting a "Stream not associated
with a request" exception rather than reporting the "400 Connection
failed" response from the proxy.
Bug Fixes - SSH FTP
------------------- Fixed problem with a PUT command to a server which did not allow chmod.
Will now catch the IOException on the chmod at the end of the transfer.
The server was configured to allow r/w permissions for all users but no
execute was allowed.
Bug Fixes - OFTP
---------------- Fixed problem where if the specified virtual filename had to be
truncated because it was longer than 26 characters, the returned end-toend response was not recognized and VersaLex would eventually try to send
the file again.
- Fixed a problem where a NumberFormatException was being thrown when
attempting a message retry.
- Fixed problem where if a timeout occurred waiting for the next command
or response, the ISDN connection was not being properly closed and
NullPointerExceptions would possibly result.
- Fixed problem where optional local OFTP ISDN addresses, when entered,
were not being saved correctly.
****************************
* RELEASE 3.0 - 2006/01/31 *
****************************
Major Enhancements - Framework
------------------------------ Added support for IBM MQSeries message queues (both local and remote).
See Generic MQ preconfigured host.
- Added client-side support for secure shell FTP (SSH FTP) (aka SFTP).
See Generic SSH FTP preconfigured host.
- Added full implementation of Odette FTP (OFTP) over both ISDN and
TCP/IP. See Generic OFTP preconfigured host.
- VLTrader only: Database rather than file system can now be used for
both incoming and outgoing payload repository. Database connection must
be through direct JDBC and database must support binary large object
(BLOB) data type. MySQL, Oracle, and Microsoft SQL Server tested and
supported. Refer to VLTrader Administrator's Getting Started Guide for
more information.
- VLTrader only: Optionally, when logging transfers to a database, EDI
files can be detected and supplementary header information logged along
with the transfer. Values are extracted from the interchange, functional
group, and transaction set headers. Both EDI-X12 and EDIFACT formats are
supported.
- VLTrader only: Added Tools>Router... feature which allows outgoing EDI
documents to be routed to the appropriate trading partner based on
filename, sender ID, receiver ID, and/or document type. Feature splits
interchanges when necessary and supports carbon copying to any number of
trading partners.
- Added new View>File... menu option that allows viewing and dumping of
files.
- For VersaLex API users, added ability to stream incoming and outgoing
payload rather than requiring usage of the local file system. Also added
a mailbox controller (for sending and receiving payload via any type of
VersaLex host/mailbox) and an action controller (for sequentially
executing VersaLex commands).
- Added new Email Profile feature for the following protocols:
(client & server), ebXML, FTP/s client and FTP server.
AS2, AS3
Major Enhancements - FTP
------------------------ VLTrader only: Added support in VLProxy/VLTrader for reverse proxying
FTP client connections. See VLProxy documentation for details.
- Added support in VLProxy for forward proxying active mode FTP.
Enhancements - Framework
------------------------ Added user certificate expiration checking for client certificates for
AS2, AS3, HTTPs, FTPs, DC ebmx, ebXML and MQ.
- Now interactively prompt for and set the SMTP mail server if it is not
already defined before launching the Email Profile utility. (Previously
an error was displayed and it was required to manually set the server
name before the Email Profile utility would run.)
- Added local listener "Do Not Create Inbox Subdirectories For Multipart
Payload Files" advanced property, which indicates, when a multipart
payload message is received, whether the payload files should be placed
in a date/time stamped subdirectory under the inbox.
- Now when either the "Add Mailbox Alias to Directory To Inbox" or "...
To Outbox" or "... To Sentbox" advanced host property is enabled,
VersaLex will immediately create the mailbox alias subdirectories.
- In Tools>Certificate Manager..., added support for clientAuth (for TLS
client) and serverAuth (for TLS server) extended key usage object
identifiers when generating a user certificate.
- VLTrader only: In Tools>Transfer Report..., added [Save As...] and
[Open...] buttons for saving and later recalling report filter settings.
- Added the ability to email local certificate expiration notices (once
daily) to a set of email recipients. (Previously these notices were only
being written to the log file.) All signing and encryption certificates
(defined at the local listener level and those overridden at the mailbox
level) for AS2, AS3 client, AS3 server and ebXML are checked.
Additionally, SSL certificates for HTTPs and FTPs (defined at the local
listener level) are checked. To enable this feature, add one or more
email addresses to the new "Email Local Certificate Expiration Notices"
Advanced property defined at the local listener level.
- When using the 'Email Profile...' option and an error occurs while
attempting to email the profile message to the trading partner, now allow
the option to save the generated certificate(s) so that they may be sent
manually.
- In Configure>Integration..., added preserve option when generating
translator files which will not overwrite previously generated files.
- Added View>Clock option, which can be used to remove the running
date/time display in the status bar. This improves performance when
connecting over remote terminal services by eliminating unwanted screen
updates.
- Files placed in the sent box are now marked as read-only files.
- VLTrader only: Improved the View>Search utility such that if a node
containing the search string has children (e.g. host or mailbox), the
children are now also included in the tree.
- Added the option to zip the certificates that are sent to the trading
partner in the Email Profile feature. This option is useful when trading
partners' email clients (e.g., MS Outlook) block files with a '.cer'
extension.
- For web GUI users, improved the handling of paging within the
certificate trees. Now instead of Top/Previous and Next/Bottom
enveloping the paging area, a single Page node below the paging
be used to page to up to 7 specific page numbers, page previous
(by selecting arrows), as well as invoke the Go To dialog.
host and
nodes
area can
and next
- Added a "Print" button (for non-web GUIs only) for the Release Notes
that are distributed during a Software Update.
- VLTrader only: Added a "Print" button to the Transfer Report detail
dialog (for non-web GUIs only).
- Added a "Print" button to the "About" box (for non-web GUIs only).
Changed the "OK" button in the "About" box to "Close".
- Added a Connection Timeout advanced property in the Local Listener
which defaults to 150 seconds. This allows a read timeout I/O exception
to be thrown when incomplete message content is received.
- For the Listener Wizard, now use the registration properties to default
the certificate values (when creating a new certificate) and the AS2
admin email address (when one is not already defined in the AS2 Service
Panel).
- Added ability to pad inbound AS/400 files having variable length
records with blanks.
- For the protocols that support sending multiple files as part of one
payload (AS2 and ebXML), now support detecting and grouping files in
subdirectories of the inbox as one message.
- When running the Listener Wizard and any changes have been made, now
automatically apply those changes to the appropriate panels. Previously,
the user was instructed to manually apply those changes after closing the
Listener Wizard.
- When using web GUI, modified Go To... dialog to show but not default to
the current page number. This allows searching on alias across all node
pages without having to clear out the current page number.
- VLTrader only: Reduced memory usage of the VLTrader service when using
the XML file for Transfer Logging.
- Added sorting option to the initial log viewer filter dialog. Sorting
by either date, source, or message type was previously only a right-click
option after the log was displayed.
Enhancements - FTP
------------------ VLTrader only: The usage of the Content-Type header in the Ftp User
Mailbox is now optional. If the header is left blank when sending an AS3
message, the Content-Type to be used in the message header will be
derived from the type of message being sent.
- VLTrader only: Added new "Use AS3 Content Type For File Extension" Ftp
User Mailbox advanced property. When this property is "true" and an
incoming message does not contain a header defining the name of the file,
the file name will be derived using the Message-ID with an appropriate
extension that reflects the type of file being received (e.g., ".edi").
When this property is "false" and the file name needs to be derived, it
is named in the form "'Message-ID'.file". By default all new
preconfigured Ftp User hosts have this property set to "true" for the Ftp
User Mailbox, but all pre-existing hosts will have this property set to
"false".
- Added FTP advanced properties Password Automatic Update (days) and
Password Update Format, which if supported by the FTP server, allow the
FTP client to automatically change passwords after a certain number of
days. The password generated by the software does not include the
current month/year in either numeric or character format.
Enhancements - HTTP
------------------- Added Delete Zero Length Files and Do Not Send Zero Length Files
advanced properties to HTTP (which already existed in FTP) that can be
used to avoid receiving and sending zero-length files.
- Added support for the %file.extension keyword in PUT command header
values. At runtime, the keyword is replaced with the actual extension of
the file being sent. This may be particularly useful for the Daimler
Chrysler HTTPs host's FileType header in minimizing the number of send
actions when many different filetypes are being sent.
Enhancements - AS2/AS3
---------------------- Changed the MDN text to make it more generic when describing the
content since not all received content is always EDI.
- Added new host Advanced property (Retain Temporary Inbound Message
Files) to allow retention of the temporary files (stored in the product's
"temp" subfolder) that are created when an inbound message is received by
the Listener. This is particularly useful for diagnosing messaging
problems. Some of these files may be unencrypted so this option should
only be used for troubleshooting problems and once they are resolved it
should be disabled. Unless the temporary files are manually deleted,
they will be retained until the product is restarted.
- AS2 only: When an asynchronous MDN cannot be sent back to the trading
partner, now include the URL that had been provided in the "ReceiptDelivery-Option" header to possibly help diagnose the reason for the
failure.
- When the signature of an incoming message cannot be verified (and the
certificates were not included in the signature), now include the issuer
and the serial number of the certificate that had been used by the
trading partner to sign the message as part of the exception text.
Previously all that was reported was "Signature could not be verified."
- Now log the number of bytes received and the number of bytes expected
when an EOF exception occurs.
- Now include the Content-Disposition header in the outer MIME header
even when the message is encrypted or compressed. This is only done when
the message is NOT streamed, i.e., created through the API, since there
may not be a file name.
- A Content-Disposition header is now included in each part of a multiple
payload message for file naming (again only for non-streamed messages).
Also, improved the naming of incoming payload files for multiple payload
messages.
- Changed the disposition type of the Content-Disposition MIME header
from "inline" to "attachment" so it conforms with the new standard
introduced by the IETF working group for preservation of file names.
- Changed the number of days that a MessageID is kept (for determining
duplicate messages) from two to five days. This is in accordance with a
new proposed standard for "AS2 Reliability".
- When a DecryptionException is thrown, now include the encryption
algorithm that was used to encrypt the message in the exception text.
Now also display a hint showing the potential reason for the error, i.e.,
either an unsupported encryption algorithm was used or the incorrect
encryption certificate for that trading relationship was used.
Similarly, now display a hint when a SignatureException is thrown and the
incorrect signing certificate was used.
- Added an option to the mailbox wizard to allow the ability to email the
mailbox's profile to the trading partner after the wizard has completed.
- Added a "Close" button to the MDN display dialog for users with
XWindows environments that strip the windows title bar.
- When logging an inbound message (except for AS3 client GET actions),
now log the host and mailbox alias as part of the result element.
- When a decryption error occurs because the decryption key was not found
(i.e., the message was encrypted with the wrong certificate), now include
information in the exception text specifying the issuer and serial number
of the expected certificate and the actual received certificate(s).
Likewise, when the certificate is signed with an untrusted certificate
(i.e., it is not in the certificate store), instead of always logging the
signing certificate information in the debug log, the received signing
certificate issuer and serial number is now logged as part of the
exception text.
- AS3 Only: Added support for trading AS3 messages with non-standard AS3
partners (e.g., Linens & Things). This feature is enabled using the "Use
SMIME Over FTP Headers" Host Advanced property.
- The usage of the Content-Type header is now optional. If the header is
left blank when sending an AS2 or AS3 message, the Content-Type to be
used in the message header is now derived from the type of message being
sent.
- Added new "Use Content Type For File Extension" advanced property.
When this property is "true" and an incoming message does not contain a
header defining the name of the file, the file name will be derived using
the Message-ID with an appropriate extension that reflects the type of
file being received (e.g., ".edi"). When this property is "false" and
the file name needs to be derived, it is named in the form "'MessageID'.file". By default all new preconfigured AS2/AS3 hosts have this
property set to "true" but all pre-existing hosts will have this property
set to "false".
- When running the Host Wizard to make changes and any changes have been
made, now automatically apply those changes to the appropriate panels.
Previously, the user was instructed to manually apply those changes after
closing the Host Wizard.
- When an asynchronous response is returned, a FILE element is no longer
created in the log file. Instead, only a DETAIL element is logged with
the message "Asynchronous acknowledgement successfully sent to 'trading
partner name'".
- AS2 Only: Added support for sending and receiving of multiple payloads
within the same AS2 message. For inbound messages, content-type file
extension naming is always enabled for these types of messages.
Bug Fixes - Framework
--------------------- Corrected problem in File Viewer where the file chooser dialog was
incorrectly being displayed a second time after the file view had already
been closed.
- Fixed problem in the Email Profile panel where some of the components
would not be displayed if any of the certificate alias names were longer
than 30 characters.
- Fixed problem where RemoteLexiComOutgoing class in API was truncating
binary data.
- VLTrader only: Fixed problem where outgoing database payload could not
be sent if default database date format was not yyyy-mm-dd.
- Fixed problem where web GUI on AIX would not start up.
- VLTrader only: A previous fix made on 6/10/05 to allow a user to access
a home directory on a local drive other than the one where the server was
running was only working for AS3 users. This problem was corrected so
that now both AS3 and FTP users may have a home directory on another
local drive. NOTE: When VLTrader is running as a service and the home
directory is specified on a drive other than where the service is
running, a networked path MUST be used (as opposed to a drive letter).
- Corrected a problem where the Email profile was signaling that the FTP
or FTP/s ports were not configured properly when they actually were
correctly configured.
- Fixed problem where Tools>TCP/IP Port Usage was incorrectly reporting
some HTTP/s sites as HTTP.
- VLTrader only: Fixed problem where established EDI routing rules were
being unexpectedly cleared when VLTrader was restarted.
- Fixed problem where copies of outgoing files written to a sentbox
folder on the AS/400 native file system were not being streamed properly.
- Fixed problem in the "Email Profile" utility where the composed email
message does not contain the correct certificate usages for the specified
file names. Also corrected potential panel sizing problems for long
labels by wrapping them across two lines.
- Fixed problem where if manually copy a host file into the hosts/
directory, a duplicate copy of the host file would be created when
Refresh was selected in the active hosts tree.
- Fixed inefficiency problem introduced in version 2.3.3 causing transfer
times to increase.
- On the AS/400, if cannot set the timezone from the QUTCOFFSET, now log
an exception and continue running rather than aborting the process.
- Fixed problem where the File Chooser for the File>View function was not
getting the correct path when the product's install directory is a mapped
drive (e.g., AS/400 installations).
- Fixed problem using Configure>Integration... where if permanently
licensed to a platform, selection of a specific translator from the list
would cause the interface to be suspended.
- VLTrader only: Corrected problem in AS3 server when doing a LIST or
NLST from the AS3 User Root Directory, a "/" was being returned instead
of an empty list.
- VLTrader only: Fixed problem when running FTP server where the user was
unable to access its home directory when it was on a local drive other
than the one where the server was running. Also corrected similar
problems where when the user's home directory was networked path name.
NOTE: When VLTrader is running as a service and the home directory is
specified on a drive other than where the service is running, a networked
path MUST be used (as opposed to a drive letter).
- Fixed a problem where a NumberFormatException would be logged when
attempting to use the Email Profile feature when there were multiple
comma separated HTTP or FTP ports specified in the Listener.
- Fixed problem where if a scheduled action failed to run because the
networked outbox directory was inaccessible, the action would be disabled
by the scheduler until user intervention. Now, when this failure occurs,
the action is automatically restarted by the scheduler after the
configured "Autosend Restart" minutes.
- VLTrader only: In database transfer logging, fixed problem where
occasionally completed transfers would be left with a status of in
progress.
- Fixed problem using Tools>Software Update... to apply a patch via the
web GUI.
- VLTrader only: Fixed problem when using transfer log database where not
recognizing that a table column already exists.
- GUI will now reflect host changes via the API.
- Made the Email Profile Utility dialog scrollable so it can be resized
without losing any of its components.
- When running from commandline, fixed problem where if -l argument was
not followed by a log filepath, VersaLex would fail silently even if the
-m argument was specified.
- When running VersaLex as a service/daemon, fixed problem in the
VersaLex GUI when replacing a self-signed certificate with a CA-signed
certificate. VersaLex was incorrectly clearing the private key attached
to the certificate.
- Fixed problem with translator integration where logged result events
from an LCOPY command were too long for parsing.
- Fixed problem when running as a Windows service and the Web browser
service is licensed and enabled. If DOS-style path names cannot be
determined, extra javaw processes were being repetitively launched.
- In addition to fatal exceptions, fatal errors (e.g.
java.lang.IllegalAccessError) are now logged.
- On AIX web GUI, fixed problem where various file browse buttons, when
clicked, would cause a ClassCastException.
- LexiCom/AS400 only: Corrected a jt400 compatibility issue when
attempting to either run the service natively or to run CL commands while
a jt400.jar existed in the /LexiCom/lib directory. Additionally, if the
jt400.jar is in the /LexiCom/lib directory and an update is applied, the
jt400.jar is no longer removed.
- VLTrader only: Fixed problem where VLTrader's web browser service
resource path was defaulting to /LexiCom.
- VLTrader only: Fixed problem in transfer logging feature that would not
change the status from Receipt Pending when the asynchronous receipt
timeout period expired.
- If using the API in SERVER mode, fixed problem where action log events
were missing the thread and command identifiers.
- VLTrader only: Fixed problem in transfer logging feature where sent
files waiting for a receipt were prematurely marked as completed.
- Fixed problem where if VersaLex is licensed mailboxes per host, cloning
an active host with more than half the mailboxes per host limit would
fail.
- LexiCom only: Fixed problem where email/execute on successful
send/receive was not being performed.
- Corrected the Sterling AS2 preconfigured host to properly encode
entries in the password field. Previously the entries were being shown
in clear text.
Bug Fixes - FTP
--------------- VLTrader only: If an FTP/s explicit (AUTH SSL) server port is enabled,
FTP clients connecting into this port are no longer allowed to stay in
clear-text without explicitly disabling protection using the CCC (Clear
command channel) or PROT C (Clear data channel) commands.
- Fixed problem where Password Automatic Update would throw a
StringIndexOutOfBoundsException if the generated password was less than
10 characters.
- Fixed problem where a relative destination direction in an FTP GET was
not being recognized as a directory and GETs would fail with a
java.io.FileNotFoundException (Access is Denied).
- Fixed problem where if FTP PUT failed because of a timeout exception
reading the server response, the exception was not being logged.
- VLTrader only: Fixed problem where newly enabled implicit or explicit
FTP server SSL ports would not be activated until the Local Listener was
stopped and restarted.
- VLTrader only: Fixed VLTrader CPU runaway condition which would occur
when VLTrader lost connection to VLProxy while VLProxy was reverse
proxying FTP to VLTrader.
- Fixed problem introduced in version 2.3.3 where multiple binary
receives would not append to the same file.
- VLTrader only: When processing a PUT command, FTP control
connection/login errors/exceptions are now captured in the file transfer
log.
- When both "Ignore Retrieve Error Code" and "Email/Execute On Successful
Receive" advanced properties have been set, no longer mistakenly treat an
ignored retrieve error code as a successful receive.
- VLTrader only: Fixed an IndexOutOfBoundsException that occurred when
the client attempted to use a wildcard (*) in either the LIST or NLST
command.
- VLTrader only: Corrected email profile validity checking when VLProxy
reverse proxy is enabled to ignore the enablement of the listener ports
since the external ports that will be used for the url will come from
VLProxy.
- When using an FTP proxy, fixed problem where :port was being included
in the proxy command specifying the FTP host address.
- VLTrader only: Fixed problem where the FTP server was timing out if SSL
negotiations took longer than 10 seconds.
- Fixed problem where if a data socket exception (e.g. connection
refused) occurred on binary retrieve, the destination output file stream
was being left open and immediate retries would fail.
- VLTrader only: When an NLST command is received for an AS3 connection,
now only allow output from the outbox/payload and outbox/mdn directories.
Also added support to display the contents of the inbox when a LIST
command is received.
- VLTrader only: In the Ftp User Mailboxes, added the capability to
disable (gray-out) the AS3 and Certificate tabs when the user is not an
"AS3 User" since these tabs are not needed for generic FTP users.
Bug Fixes - HTTP
---------------- Fixed problem where a NullPointerException was being thrown when the
source file was being copied to a null reference.
- Fixed problem where decoding a chunked response was throwing premature
EOF and read timeout exceptions.
Bug Fixes - AS2/AS3
------------------- If the Listener's "Save Sent MDN" option is selected, now update the
MDN result log element with the readable MDN record. Previously, the
path to the raw sent MDN (that includes headers and signatures) was
logged instead. This now matches what is logged in the mdn result
element when an MDN is received.
- Now trust a message that has been signed with a user certificate that
is not self-signed and the CA certificate is not trusted. Previously the
full certificate chain needed to be present in order for the message to
be trusted. (Note that there is still a requirement that the user
certificate be trusted.)
- AS2 only: Corrected problem when sending multiple payload messages via
the API where an inner header containing the names of the source files
was being omitted causing the destination application to get strangely
named files.
- AS2 only: When reverse proxying is enabled and an asynchronous response
is desired, now check if the appropriate proxy port has been enabled and
throw an exception when the action is run. Previously when this
condition occurred, the address in the "Receipt-Delivery-Option" MIME
header of the sent message was being set to a null value.
- AS3 only: Corrected a problem where when updating the host properties
through the Wizard, the AS3 login password was not being saved when
running under the Service.
- AS3 only: Corrected a ClassCastException problem caused by attempting
to cast an HTTP-specific class (for AS2) to an FTP-specific object (for
AS3).
- AS2 only: The Content-ID header used when creating multiple-payload
messages now conforms to the standard (e.g., as described in RFC 2045)
that states that a Content-ID is "syntactically identical to the
'Message-ID' header field". Previously this header's content contained
the name of the file with that body part.
- Now correctly log when the data was stored and when it was not stored
as well as correctly stating it in the MDN text area.
- When an inbound message fails (e.g., I/O errors, EOF errors, etc.) and
the payload is not stored, now remove the messageID entry from duplicate
checker database so that retransmissions of the same message do not cause
a duplicate-document error.
- When an unknown trading relationship occurs and there is an EOF error,
the EOF error now takes precedence. Previously, the EOF error was not
being reported.
- Corrected problem where the Message Integrity Check calculation was
being calculated incorrectly for messages from files with names greater
than 34 characters.
This was due to an internal "folding" of the
Content-Disposition header that needed to be done for Signed and
Signed/Encrypted messages.
- Corrected problem where the MDN folder was being written to the
subfolder of the API application that was calling it instead of the
absolute VersaLex home path. This is only an issue if running VersaLex
through the API.
- Corrected problem where sending an unsigned/unencrypted message to an
incorrect address or port would cause it to hang for an amount of time
before logging a "Connection Refused" error when it should return
immediately.
- AS2-only: Fixed problem where the content-type was not being set
correctly in the S/MIME header when sending unsigned/unencrypted files
using the -MUL option through the streamable API.
- AS2-only: When the message contains a multiple-document payload, the
MDN will state that it is a multiple document payload and not display the
file name. (Previously only the last file name was being displayed.)
Additionally, when running through the streamable API, the file name was
not being properly reported internally within the MDN so the file name
was not being reported through the MDN viewer.
- Fixed problems were not correctly auto-detecting Content-Type for
outgoing messages.
- AS2 only: Fixed problem where sending unsigned/unencrypted files using
the -MUL option was causing a FileNotFoundException.
- Now validate the existence of the "Disposition-Notification-To" S/MIME
header when either the "Disposition-Notification-Options" or "ReceiptDelivery-Option" header is present and generate an error. This protects
against a null MIC value being sent back to trading partners with nonconforming EDIINT applications.
- Corrected a problem where when a duplicate document had been received,
the server was not correctly generating a "Received-Content-MIC" header
in the returned MDN.
- AS2 only: Fixed problems where the message retransmission wasn't
working properly when an asynchronous MDN had timed out and the number of
"Async Resends" (set in the Listener) was greater than zero. Also
enhanced the logging of the retransmission to include a response, a
transfer rate and a result.
- Corrected logic so the content-type extension for naming the file is
never used when the file name is known even when the "Use Content Type
For File Extension" advanced property is set.
- Adjusted the content-type determination logic to use the file name's
extension to guess the content-type of the file when all other means have
been exhausted.
- Added support for sending mpeg files. Previously, these types of files
were erroring with a "No Data Content Handler" Exception when a send was
attempted.
- Corrected problem where large inbound files (such as zip files) were
being named with the wrong extension (e.g., .'edi').
Also removed the
restriction for application/XXX content-types having to match one of the
specified content-types within the product. This restriction was causing
a ParseException when the content-type was left blank at the mailbox
level and a large file such as a zip file (with an application/zip
content type) was being processed.
- Corrected problem in the signature canonicalizer which could cause a
SignatureException that includes the text "SignerInfo does not exist.
Wrong Index;".
- AS2 only: When sending a message that requests an asynchronous MDN, now
throw an exception if VLProxy is not running when reverse proxy is
enabled. This keeps a null address from being put in the Sender-Address
and Receipt-Delivery-Option headers.
- AS3 only: Fixed problem where AS3 MDNs could not be viewed from the
AS3 Service panel.
- Corrected a problem where the sent and received MDNs would sometimes
get archived into the same zip file.
- Corrected some NullPointerException problems. Specific cases were
reported in AS2 when attempting to send certificates using the "Send
Certificates" button.
- AS2 only: Fixed problem where Content-Type set at mailbox level was
being cleared on upgrades.
- AS2 only: Added handling of "Read timed out" errors in the Listener.
- AS2 only: Corrected a problem where the Listener would appear to just
hang on a message when the AS2 trading relationship was unknown and an
async MDN had been requested.
- AS2 only: Corrected a DataContentHandler error that occurred when
sending signed or signed/encrypted multiple payload messages that did not
request a signed MDN.
- AS2 only: Corrected email profile error checking that incorrectly
blocked the dialog from appearing if both HTTP and HTTPs listening ports
were not enabled. Also, when VLProxy reverse proxy is enabled, there is
now no validity checking for the listener ports since the external ports
that will be used for the url will come from VLProxy.
- Fixed problem where if the AS2 Content-Type HTTP header has been set to
a specific value at the host level, the software was accidentally
clearing out the entire PUT syntax (method, resource, parameters, and
headers).
- Corrected signature integrity errors that manifested themselves as
signature verification and message hash errors.
- Now set the MDN file name in the result element for asynchronous MDNs.
Previously this element was omitted.
- Corrected bug where retries were not always being handled by the AS2
subsystem. The only retries that can be technically done are when there
is a "Connection refused", "Connection time out" or a server response
with an error greater than or equal to 500. In all other cases, retries
will not be attempted and a detail message will be logged stating that it
is an unrecoverable error.
- Fixed problems where a "java.security.SignatureException: SignerInfo
does not exist. Wrong index." error was being logged intermittently while
processing the signature of a signed message.
- AS2 only: Fixed problem where if using VLProxy for reverse proxying and
the proxy was down, AS2 sends requesting asynchronous MDNs were being
blocked. For autosends, this would cause the scheduler to halt the send
action until interactively rerun. Instead, now let the send fail trying
to forward proxy thru VLProxy. By default, autosend will retry 2 times
and then restart over again in 30 minutes without user intervention.
- AS3 only: Corrected problem where the AS3 client would hang
indefinitely when sending a PASV command to a non PASV-enabled AS3
server.
- Corrected a problem where a NullPointer exception was being thrown when
receiving an unsigned/unencrypted message where the local file name has
not been specified.
- When the AS2-From or the AS3-From name is null, (i.e., not defined in
the header) and an exception occurs while sending a response, no longer
include it as part of the logged exception message.
Bug Fixes - ebMS
---------------- Corrected email profile error checking that incorrectly blocked the
dialog from appearing if both HTTP and HTTPs listening ports were not
enabled. Also, when VLProxy reverse proxy is enabled, there is now no
validity checking for the listener ports since the external ports that
will be used for the url will come from VLProxy.
****************************
* RELEASE 2.3 - 2005/03/01 *
****************************
Major Enhancements - Framework
------------------------------ VLTrader only: Added the capability to generate a report from the
VLStatc command-line using a filter XML file. Filter file can be created
from the Transfer Report Filter dialog. The report can be saved to an
HTML file or forwarded to e-mail recipients.
- Added new printing functionality to all "Notes" tabs.
Major Enhancements - FTP
------------------------ Added capability to use an HTTP proxy for FTP forward proxying.
HTTP proxy must support tunneling via the CONNECT method.
The
Major Enhancements - AS2/AS3
---------------------------- Added full-featured, Drummond certified AS3 client.
- VLTrader only: Added full-featured, Drummond certified AS3 server.
Major Enhancements - ebMS
------------------------- Added full-featured, Drummond certified ebXML Message Service handler.
Enhancements - Framework
------------------------ VLTrader only: When removing an Ftp User (via the right-click
"Remove..." menu item), the associated user directory (if empty) is also
removed. If it is not empty, a prompt is displayed giving the option to
retain or delete the user directory.
- VLTrader only: When renaming an Ftp User mailbox alias, the associated
user directory is now renamed as well.
- For AIX, upgraded from JRE 1.3.0 to JRE 1.3.1.
- Added ability to specify a range of values for the RMI secondary ports.
In addition to the main RMI port (defaults to 1099), one additional RMI
port is used by the service/daemon and each VersaLex client (GUI or
commandline). If left unset, the secondary port range is dynamically
allocated and unpredictable which is potentially a problem for
installations accessed over a WAN and/or through a firewall.
- The resource path for the Local Listener's web browser service is now
allowed to be modified from its default value.
- VLTrader only: Added serial number column to the Transfer Database.
Multiple VLTraders can now write to the same database. NOTE: The VLSerial
column must be added to any existing database tables.
- VLTrader only: Added code to set "In Progress" transfers to
"Interrupted" when VLTrader starts.
- In View>Log..., added ability to refilter entries after log has been
displayed. Just right-click anywhere in the display and select Filter...
from the menu.
- In the active host tree, added support for multiple tree selections.
Only like tree items can be selected together. Multiple selections can
be enabled/disabled, removed, scheduled, or (VLTrader only) moved as a
group. In the web GUI, multiple selection mode can be enabled by
selecting the Active tab and selecting Multiple in the pulldown menu.
- In Configure>AS/400..., when enabling AS/400 network access, added
[Validate Login] button for verifying address, user ID, and password
entries.
- If an I/O exception should occur during AS/400 network access, will now
revalidate/recreate login before next attempted network access.
- VLTrader only: Renamed transfer log columns "AS2MessageID" and "IsMDN"
to more generic "MessageID" and "IsReceipt" names in order to also
support AS3 and ebXML protocols. IMPORTANT: On upgrades, if database
transfer logging was enabled prior to the upgrade, these columns in the
VLTransfers table will need to renamed by the database administrator.
This is because SQL does not provide a standard syntax for renaming table
columns.
- If a user deletes the VersaLex log file while VersaLex is running,
VersaLex will now recover by building generic starting XML tags and
continuing to log. Before, VersaLex logging would hang, eventually
causing memory size problems.
Enhancements - FTP
------------------ Added advanced property "Use External IP Address in PORT Request" which
indicates for active (aka port) mode that the external rather than the
local IP address should be included in data port requests to the FTP
server.
- VLTrader only: Added advanced property "Use External IP Address in PASV
Response" for each FTP user which indicates for passive (aka pasv) mode
that the external rather than the local IP address should be included in
data port response to the FTP client.
- Added advanced SSL Cipher property for setting specific cipher to be
used for SSL key exchange, encryption, and hashing.
- Added support for clearing the command channel after authentication.
This is accomplished by using the CCC command within the QUOTE command.
- Added the ability to use the %srcfile% (or alternately %sourcefile%)
keyword in the PostPut command, e.g., RNFR %destfile%; RNTO %srcfile%.
This useful when an FTP server requires the file to be given a temporary
name until it is fully transferred.
- Added ability to override the SecurityMode at the action level using
the new "SET host.SecurityMode" command. (This is for secure FTP
connections only.)
- Added processing of new destination file naming tags for the PUT
action, i.e., %sourcefile% or %srcfile%; %date%; %time% and %index%.
- Added new advanced properties "Destination Filename Date Format"
(defaults to "yyyyMMdd") and "Destination Filename Time Format" (defaults
to "HHmmssSSS"). These properties may be used in conjunction with the
%date% and %time% destination file naming tags and may be modified to
change the format of the destination file as desired.
- Added advanced FTP/s property "Explicit SSL Command" to control the
command sent in "SSL AUTH" mode. The values are: AUTH SSL, AUTH TLS, AUTH
TLS-C, and AUTH TLS-P. These control the default mode of the data
channels created.
- Added support of sending data in the data channel in either clear text
mode (PROT C) or in encrypted mode (PROT P). This is accomplished by
issuing the PROT command within the QUOTE command.
- Added "IgnoreRetrieveErrorCode" advanced property which, when set,
indicates an FTP server response code (after an FTP RETR request) that
should not be treated as an error condition. Multiple error codes to be
ignored can be separated by commas. This property is useful when the
absence of a file on the server is not considered an error. CAUTION: If
the server uses the same error code for multiple reasons, this property
can potentially mask unknown error conditions.
- Implemented usage of the %destfile% keyword for the PostPut command.
- Added "OnlyRetrieveLastAvailableFile" advanced property which, when set
to True, indicates a GET * should only retrieve the last available file
from the server.
- Added "DoNotSendZeroLengthFiles" advanced property which, when set to
True, indicates a PUT should ignore zero-length files. If PUT command
includes the -DEL option, the ignored zero-length file is also deleted.
- VLTrader only: Modified FTP Server to show user's path as an absolute
path with the root displayed as the user's home directory.
Enhancements - HTTP
------------------- Added advanced SSL Cipher property for setting specific cipher to be
used for SSL key exchange, encryption, and hashing.
- For generic HTTP servers, added "Log Full Html Put Response" advanced
property.
Enhancements - AS2
------------------ Added support for "EDI Consent" (i.e., application/edi-consent)
content-type.
- When displaying MDNs in the view, a new menu item is now available via
a right-click mouse button for printing the selected MDN. This feature
is only available when one row is selected and it is a non-Web GUI
display.
- Added new printing functionality to the MDN display panel for non-Web
GUI displays.
- Added support for using an alternate port number as part of the host
address, i.e., address:port. This allows routing of asynchronous MDNs
to an alternate port not used by the AS2 listener.
- VLTrader only: Improved the speed of compressing a message.
- Added support for sending and receiving base64-encoded content.
- Made significant improvements in the processing of large signed files
containing embedded line terminators (i.e., carriage returns, line feeds
or a combination of the two).
- Errored inf files are now moved to the MDN folder instead of being left
in the unsent folder. At startup, the unsent folder is now cleared of
any lingering inf files, i.e., all errored inf's are moved to the MDN
folder and undetermined ones are deleted. Inf files for unexpired MDNs
are left intact.
- Added support for processing of large signedData messages. Previously,
only multipart/signed messages (with a detached signature) were
supported.
Bug Fixes - Framework
--------------------- VLTrader only: Fixed problem where a web GUI user viewing the Local
Listener configuration would be prompted when another user made updates,
but would still retain the old Local Listener configuration.
- Fixed problem where if using VersaLex API in server mode, the web
browser service would fail.
- In Tools>Certificate Manager..., fixed problem where after generating a
new user certificate, the new certificate was not being selected in the
tree.
- Fixed problem where web browser GUI on Netscape was displaying double
vertical scrollbars in the messages pane.
- Fixed problem where web browser GUI sessions were timing out after 1
hour of inactivity.
- In addition to archiving after action completion, system log file
automatic archiving can now also occur after an unsolicited request
message (AS2, ebXML, etc.) has been processed.
- When an NLST was done for generic (non-AS3) FTP users, previously both
directories and files were being returned to the receiver which could
cause the receiver to attempt a retrieve on a directory, which returns an
error. Now, only files are returned to the receiver for the NLST command
and directories are ignored.
- Corrected a problem in Tools>Software Update... where if AS/400
download options had been enabled under a temporary key, but the
subsequent permanent key did not include AS/400 licensing, the AS/400
download options could not be turned off. Now the AS/400 download
options are ignored if AS/400 is not licensed.
- Corrected problem where the unique file name was not being properly
determined (causing file overwrites) when an AS400 connection had been
lost.
- Fixed problem where web browser GUI on Linux Netscape browser would
timeout after only a few minutes of no usage.
- Fixed problem when scheduling an action using the web browser interface
where the first selected time was always duplicated. Also corrected
problem where an update to a time was not retained if the time updated
was not the currently selected row.
- When using Tools>License>Move License, now warn the user to ensure that
the new install location is not currently running (including the
service/daemon). If the new location is left running while the license
and data files are copied, the new information at best will not be
recognized until the application is restarted and at worst could be
overwritten with old values.
- For the web GUI feature, added
downloaded through the browser.
Listener Web browser service and
always present a "File Download"
a file type (like .cer or .p12).
option to always zip files being
This can be turned on in the Local
may be needed to force the browser to
dialog rather than attempting to display
- VLTrader only: Corrected a problem where the result element was
sometimes not being logged.
- Corrected problem where a CA certificate which was imported via a
PKCS12 user certificate and private key was not considered trusted during
SSL negotiations.
- Fixed problem where a newly created proxy entry was not being added to
the Forward Proxy pulldown list in the host |General| tab.
- VLProxy only: Fixed problem where VLProxy was reporting a premature EOF
when receiving the CA certificate key store (CKS) from VersaLex.
- VLTrader only: Fixed problem where Tools>TCP/IP Port Usage... report
was not listing the Local Listener FTP ports.
- Fixed three problems in File>Import... First problem occurred if a
host file was being replaced. VersaLex was incorrectly stating that two
users just added the imported host and the import would fail. Second
problem occurred when importing a local host file with a different alias.
VersaLex was not enforcing the rule that only one local host can exist.
And third problem is VLTrader only specific. If importing a Local FTP
Users host file, FTP user home directories were not automatically being
created.
- Fixed problem where View>Log was not displaying Response element
content and was not colorizing Detail, Request, and Response elements.
- VLTrader only: Fixed problem where the XML transfer log could become
corrupted if a long result text string was logged which included special
XML characters (<, >, &, and "). These characters are escaped with
longer strings (<, >, ', and ") in XML, which caused file
offsets to be unpredictable. These special XML characters are now
replaced with similar characters ({, }, +, and ') prior to transfer
logging so that string expansion does not occur.
2004/10/8
- Fixed problem where emailOnFail and executeOnFail would throw
NullPointerExceptions when executed from a "Local Ftp User" action.
- Fixed problem where could not use wildcards to run multiple actions
sequentially from commandline when VersaLex was running as a service.
- Fixed problem where Certificate Manager was not always correctly
chaining CA certificates. Also fixed problem where attempting to replace
a user certificate would result in an "UNEXPECTED EXCEPTION:
com.sun.rsajca.JSA_RCAPrivateKey".
- Fixed problem where the AS2 mailboxes were not being updated when the
certificates at the local host level had been modified.
- Occasionally VersaLex cannot connect to the SMTP host when trying to
send an email alert. If and when this occurs, now will reattempt to send
email two more times.
- Corrected problem in the Listener wizard where updated existing
certificate aliases would not be retained when moving backward and then
forward through the wizard panels.
Bug Fixes - FTP
--------------- VLTrader only: Added support for emailOnStatus and executeOnStatus to
generic Ftp Users.
- VLTrader only: The default "inbox" and "outbox/payload" directories are
now created for generic Ftp Users.
- VLTrader only: Fixed problem where the FTP Command Idle Timeout setting
was not being enforced correctly.
- VLTrader only: Corrected problem in the Ftp User Mailbox where when the
user defines a root path different from the default, the value was not
being displayed on restart of the product.
- Corrected NBT mailbox in GXS ICS FTPs host to proxy to
@ftp1.am.gxsics.com rather than @nbt.gegxs.com
- VLTrader only: When the FTP server receives a secure transmission over
TLS, the "PROT" and "PBSZ" commands may now be sent before the USER/PASS
commands by an FTP client.
- VLTrader only: Corrected problem where enabling/disabling a local FTP
user via the tree pulldown menu was not affecting the status of the FTP
user.
- VLTrader only: Fixed the PROT command on the AUTH SSL ports. Previously
the FTP Server would not accept the PROT C command.
- Corrected address field in EDI*Express FTP preconfigured host.
Bug Fixes - HTTP
---------------- Fixed problem where old (potentially expired) cookies were being
retained from previous connections.
Bug Fixes - AS2
--------------- In the signature canonicalizer, reworked the terminator and boundary
search mechanisms from String searches to byte array searches to resolve
signature verification errors found in the newer Linux versions (e.g.,
RedHat 9, SuSe 9.1, etc).
- When retransmitting a message because of an error (e.g., timeout or
connection refused), now reset the transfer counters so that each
transfer rate is independent of all others and is more accurate.
Previously, the transfer times and bytes counts were incrementing each
time a retransmit was done.
- Corrected problem with the MDN auto-archiving not always archiving
MDNs.
- Corrected problem in the AS2 Action where when there is more than one
PUT command, it always uses the file name from the first PUT command.
- Corrected problem where the errored transaction's .inf file was moved
to the MDN directory instead of the MDN\received directory.
- Corrected problem where if there were a number of MDNs (or .inf files)
in the MDN folder, the Listener wouldn't start until all these files were
moved to the received subfolder.
- Corrected a problem where the Http/Https security setting was not being
interpreted correctly when the "host.Secure" property was not being
overridden at the action level. This problem only caused the incorrect
setting of the "Recipient-Address" value in the AS2 header. It did not
affect the successful sending of the message over SSL.
- The generic error "Transfer Failed" now also contains a reason for the
transfer failure.
- VLTrader only: when an unknown trading partner relationship is found,
now set the host and mailbox aliases to "Unknown" for the transfer
report. Previously, these fields were being left blank and the status
was being left "In Process".
- Modified the text of the MDN to be more specific about the processing
that was done to the received message, i.e., decrypted, signature
verified, etc. Previously this text was the same for all successfully
returned messages.
- Corrected MDN display paging issues related to the web GUI.
- Corrected potential issue on Unix platforms where the MDN files may not
be sorted by the last modified date causing the wrong MDNs to be
archived.
- The MDN auto-archiving checking interval has been changed from one to
five minutes.
- When an IOException occurs, no attempt is made to return a synchronous
MDN because there is no longer a connection back to the sender.
- When a partial MDN is received and the entire signature is not
received, now report this error. Previously an
ArrayIndexOutOfBoundsException was being thrown.
- If an exception was processed when an incoming message was received,
the "Folded Headers" and "Store Sent Message" indicators were not being
stored properly.
- Added a fix to immediately send back the "200 OK" response for small
signed messages that request an asynchronous response. Previously the
HTTP connection was being held open until the MDN was returned.
- Improved the method of canonicalizing large signed files which
corrected a problem where sometimes the end MIME boundary could not be
found. This change also improved the overall processing speed by about
50%.
- Changed the method used for canonicalizing small signed messages to now
use the improved canonicalizing method for large signed messages.
Previously small signed messages were canonicalized a byte at a time.
****************************
* RELEASE 2.2 - 2004/08/16 *
****************************
Major Enhancements - Framework
------------------------------ For VLTrader, added full-featured FTP server. FTP usernames/passwords
and directories can be configured. In addition to clear-text, both
explicit and implicit SSL supported.
- Added support for Red Hat Linux 9 running Java 1.4.
- If licensed, added web browser user interface feature on Windows and
Unix operating systems, which allows Microsoft Internet Explorer or
Netscape Navigator to be used as the VersaLex user interface rather than
the native GUI.
Enhancements - Framework
------------------------ Changed the order of the panels that are displayed in the Listener
Wizard to correspond to the order of panels in new Listener architecture
and AS2 Service.
- For API users, eliminated need for certain libraries in classpath
depending on use. If using CLIENT_ONLY model, then HTTP client jar is
not needed. If not using ILexiCom.show() method, then help jar is not
needed. If using CLIENT_ONLY model and not using
ILexiCom.getCertManager() method, then IAIK jars are not needed.
- Modified the classpath for generation of AS/400 translator integration
CL files.
- Now display the product version in the email message generated by
'EmailOnFail' and 'EmailOnSuccess'.
- Added full set of 2-hour increments to View>Log... From and To time
pulldowns. Also added support for 24:00, which indicates midnight.
- Local host properties can now be changed without having to stop and
restart the listener. All modifications take effect immediately except
for the advanced "Incoming Connection Backlog Size" property, which takes
effect the next time the listener is restarted.
- Now automatically activate a local listener at initial startup.
- Added commandline -p option for modifying host/service/mailbox/action
properties.
- Added a progress bar to the Reading Report Data dialog of the Transfer
Report when reading from the XML log.
- Added warning for Translator Integration file generation if either
VersaLex or the translator is not on a local drive. Translator
integration may or may not function correctly when running in this mode.
- Transfer Report enhancements: Sped up switching between days in GUI
when results for multiple days are displayed. Sped up updating of
transfers started the previous day (for transfers around midnight). Sped
up delay in first transfer. Added 24:00 to the Transfer Report filter
dialog so that transfers through midnight could be checked. Default
"Include details" to OFF.
Enhancements - FTP
------------------ Updated EDS ELIT FTPS host for the new data port range (was 2098020999; now 20900-20999).
Enhancements - AS2
------------------ Now log the IP address, port and headers of an incoming message to the
debug log.
- The wizard dialog now displays on top of the VersaLex product instead
of being skewed to the top left corner of the window.
- When validating an inbound message, added debug logging of the signing
certificate's Subject, Issuer and Serial Number. Additionally,
information about certificates in the certificate store is logged so that
a quick comparison can be made to determine if the cert is missing from
the certificate store.
- When validating an inbound message, added debug logging for the signing
certificate's Subject, Issuer and Serial Number. Additionally
information about certificates in the certificate store is logged so that
a quick comparison can be made to determine if the cert is missing and
the correct cert has been received.
- All AS2 panels (including the wizard panels) are now scrollable so that
the entire panel contents is always viewable on all platforms.
- Now load the MDN table as background thread (non-HTML only) so other
GUI functions may be done at the same time. Previously, while the MDN
table was initially loaded, other GUI functions were not usable and an
hourglass would be displayed until the table load completed. On some
platforms, particularly AS/400, this appeared as if the GUI was frozen.
- Added paging support to the MDN table.
MDN panel is done.
Changed the way sizing of the
- Now better handle incoming non-AS2 messages. The IP address of the
sender is now reported and no MDN is returned and the message is handled
based on the security settings define in the Local Listener. If the
security setting is "SAVE", a "400 Bad Request" response is returned but
nothing is saved. If "IGNORE", the sender gets a "200 OK" response. If
"REJECT", no response is returned and the connection is closed.
In all
cases, the message is flagged as a warning so that if "Email on Fail" is
enabled the user's mailbox isn't inadvertently flooded by a hacker.
Bug Fixes - Framework
--------------------- Fixed problem where newly unlicensed AS2-To/From relationships were
still being accepted and passed thru by VLProxy reverse proxying.
- Fixed problem where under heavy load, extra empty archive log files
were being created.
- Fixed problem where VLTrader transfer report was sometimes excluding
the first day chosen in the filter.
- Fixed problem where RMI GUI was not always showing the server's correct
time if the server was in a different timezone.
- Fixed problem in RMI GUI where renaming a host or mailbox with
scheduled actions would cause the VersaLex service/daemon to disconnect
the RMI GUI.
- Fixed problem where if one user moves a host into a different folder,
if another user had the host selected, he/she would be informed that the
host was modified, but the host selection in the tree would be lost.
- Fixed with transfer log report using a database where if not all
records were selected, the "Reading report data..." never finished.
- Fixed problem where if one GUI user stopped or started the schedule,
the File>Stop/Start Schedule pulldown menu item was not being dynamically
changed for other users.
- Modified the Transfer Log to only log database connection errors once
per database update. Modified transfer report display to display
exceptions in a dialog to the user.
- No longer double prompt with the same error when attempting to apply
changes to a text value in the Advanced tab while the host or local host
is running.
- Fixed problem where clicking [Defaults] to reset to default host values
when either registering or unregistering, requesting a permanent license,
performing software update, or sending a support bundle would cause a
warning to be logged indicating a "property does not exist". Also fixed
problem where if a hint message was logged in any these functions, it was
being repeated.
- Fixed problem where "Next Scheduled" column in scheduler dialog did not
clear when another user stopped the scheduler.
- Fixed dates in Transfer Report which contained extra 00s.
- Modified Transfer Report archiving to be threaded so as to not stop the
VersaLex logging while archiving is active.
- Fixed problem in RMI GUI where never able to kick off an install
downloaded using Tools>Software Update on a relatively slow computer.
- Fixed problem in RMI GUI where transfer report filter was only showing
hosts (and their mailboxes) that had been previously selected in the
tree.
Bug Fixes - FTP
--------------- Fixed problem where if using active mode and the active mode port range
was changed after already connecting to FTP server, the new port range
would not take effect until VersaLex was restarted.
- For Covisint FTP server, now allow CWD return code to be either 200 or
250.
- Fixed problem in ASCII mode when sending non-US ASCII characters.
Characters in the decimal range 128 to 255 were being improperly encoded
with extra characters.
Bug Fixes - HTTP
---------------- Fixed problem where if authentication to the local proxy and
authentication to the remote host were both needed, one or the other
would fail to properly authenticate.
Bug Fixes - AS2
--------------- Modified to not send AS2 relationships to VLProxy for unlicensed hosts
or disabled hosts/mailboxes.
- Corrected problems with the size of the MIC Algorithm drop-down list
(on the AS2/Mailbox panel) and Country Code and Key Size drop-down lists
on the Certificate Creation panel of the AS2 Listener wizard so that they
are always fully viewable on all platforms. Previously, these fields
were being cut off on some Unix platforms.
- Now correctly handle NullPointerException when there are no MDNs to be
loaded (viewable from the MDN tab in the Listener).
- When reading an incoming message, added logic to read an EOF character
twice and now throw an EOFException. Also, if there is nothing in the
input stream, now wait in between reads for better CPU usage.
- Corrected problem in the summary panel of the Host/Mailbox Wizard where
the user name and password labels weren't being displayed on the same
lines as their associated values.
- Corrected problem where the recipient's signing and encryption
certificates were not viewable on the Preconfigured tab.
- If the listener parses the incoming message and determines that the
method is not valid (i.e., it is not GET, PUT, POST, HEAD, TRACE, DELETE
or OPTIONS), it now sets the method to "UNKNOWN". If garbage characters
or an incomplete header are sent, the AS2 service will not receive the
corrupted message from the Local Listener.
******************************
* RELEASE 2.1.7 - 2004/04/12 *
******************************
Major Enhancements - Framework
------------------------------ If licensed, added support for interfacing to Cleo's VLProxy product,
which can be used to proxy inbound and/or outbound messages through a
firewall. The HTTP Proxy panel includes a "Using VLProxy" flag and a
"Enable Reverse Proxy" flag. VersaLex will dynamically pass
configuration data to VLProxy and use VLProxy's external address for
asynchronous AS2 MDNs.
- For VLTrader only, added support for multiple, concurrent GUI users (up
to a default maximum of 5).
Major Enhancements - AS2
------------------------ Added enhanced feature to be able to process and recognize multiple
duplicate incoming messages (with the same messsage ID). Previously only
the last message ID processed per host was used to determine duplicate
messages. Also added the ability to disable this feature at the host
level (on the Advanced panel) in the event that processing of a duplicate
message is necessary.
Enhancements - Framework
------------------------ On Windows, when a new release installer is downloaded using
Tools>Software Update..., now check if user is running VersaLex off a
remote drive. If so, user is warned that if VersaLex is to run as a
service, it is highly recommended that it be installed at the local
drive.
- Added additional notes for forward and reverse proxies in the TCP/IP
Port Usage Report. Added Reverse Proxy URLs to the listener if the
VLProxy reverse proxy is enabled.
- Log the VLProxy version number and reverse proxy URLs when received
from VLProxy.
- When VersaLex is running as a service/daemon, multiple concurrent
commandline processes can now be run against the service/daemon.
Previously, concurrent commandline processes would queue up and run oneby-one.
- Added File>Start Schedule and File>Stop Schedule menu items.
- If EmailOnFail and/or ExecuteOnFail are set at the system level
(Configure>Options |Advanced|), now in addition to Action and Local Host
errors/exceptions, these properties apply to framework errors/exceptions
(like scheduling errors).
- When an action fails to run via the scheduler (because it is invalid,
incomplete, etc.) and has been deactivated in the schedule, now running
the action manually will cause the action to be automatically
reactivated. Previously, the scheduler had to be stopped and restarted
for the action to be reactivated.
- The VersaLex service/daemon will now run before VersaLex is licensed,
but as with the VersaLex GUI, any active hosts are disabled. This is to
allow for the VersaLex service/daemon to be set up and started prior to
initial registration. Similarly, the VersaLex service/daemon will still
run if the license has expired.
- Improved randomness of public/private key pair during generation of
user certificate.
- For File>Export..., added ability to specify a wildcard when exporting
additional files.
- For File>Import..., [Yes to All] and [No to All] buttons now apply just
to the current file category (hosts, configuration, CA certificates, or
additional files) rather than for the entire import.
- Now allow an expired CA certificate explicitly specified in the
certificate chain to be trusted if the certificate is still a trusted CA
certificate in Tools>Certificate Manager... (for GXS ICS FTPs).
- Now just ignore a repeated server certificate in the certificate chain
(for DaimlerChrysler HTTPs).
- Added latest VeriSign "server certificate chaining" SSL certificate to
the trusted store (certs/verserv.cer).
- Tools>Certificate Manager... now colors certificates in the tree orange
that will expire in 15 days or less.
Enhancements - FTP
------------------ Added "OnlyRetrieveFirstAvailableFile" advanced property which, when
set to True, indicates a GET * should only retrieve the first available
file from the server.
Enhancements - AS2
------------------ Now report unknown-trading-relationship in the MDN disposition as an
error. Previously it was being sent it back as a warning. (This allows
email on fail to properly flag that the message was not processed as
expected.)
- Added more logging detail describing the action that is taken when an
the unknown trading relationship occurs.
- Added validation checking on the port values that are entered on the
Local AS2 Listener's HTTP tab. Ports must be within the range 1-65535.
- Updated the tool tips on the HTTP and HTTP fields with a better
description.
- When the connection is closed before an MDN is received (previously
logged as a "Premature EOF Error"), now log the error "Error: Connection
was closed before expected MDN could be received!". Also, now log this
hint message: "This may occur if AS2 names or certificates at the remote
host are configured incorrectly." which is usually the cause of this
error, particularly for Wal-Mart suppliers.
- When the Listener is stopped (via the GUI) and there are incoming
messages currently being processed, a new pop-up dialog is displayed
asking the user if he is sure that he wants to discard the incoming
message data. A warning message is also logged.
- Added more performance improvements when sending messages.
- Now include headers in the received MDN which specify if the MDN was
signed and if so, who signed it and the serial number of the certificate.
- Determine operating system port backlog and write to the debug file.
This information can be used for host-to-local connection issues.
- In the certificate generation portion of the AS2 Listener Wizard, added
a pull-down list of ISO countries to the "Country" field.
- Added error logging (with the reason) when an SMTP message could not be
sent successfully.
- Now log a warning message when an unsolicited / unexpected asynchronous
MDN is received.
- Added several improvements to aid in enhanced performance of processing
messages.
- Added a new diagnostic message to signify we've completed sending the
message and are waiting for the response.
Bug Fixes - Framework
--------------------- When using AS/400 remote access, fixed problem in the GUI where opening
the first host panel was slow if the default inbox, outbox, sentbox, or
rejectbox was an AS/400 directory.
- When using Tools>Software Update..., VersaLex no longer incorrectly
tries to pre-validate AS/400 source and destination command paths on
Windows.
- Now check that a file can be written to prior to importing.
avoid corrupting the file's readonly flag.
This is to
- Fixed problem where repeated use of the active tree host/mailbox/action
rename option would eventually cause the tree to become malformed.
- Fixed problem where logged exception tracepath was not printing out
correctly when running from the commandline.
- When running commandline against a running VersaLex service/daemon,
made change to ensure that the exit status from commandline is set to -1
if any error/exception was reported.
- On Unix, clarified file chooser dialog prompts when selecting a folder.
- Fixed API problem where saved hosts were not being marked as complete.
- Fixed problem where VersaLex running over a Novell network could not
update the locking file with OS information.
- Added ability to execute-on-success or execute-on-fail on the AS/400.
- No longer email/execute-on-fail when "No files found at remote source."
- On Windows, corrected problem where LCOPY -DEL could potentially cause
a null pointer exception.
- On Unix, VersaLex will now shut down correctly when a new VersaLex
install.bin is downloaded and started up through Tools>Software Update...
- Fixed problem in action panel where the "Running:" information was not
being cleared when the action stopped.
- On Windows, now automatically fill in a '\' filename when a new drive
is chosen. This is so that the root directory can be chosen without
having to type '\'.
- Fixed problem with the file overwrite prompt in File>Import... where
the [No] and [No to All] selections were being treated as [Cancel]. Also
added prompt to now either [Retry], [Continue], or [Cancel] if an
exception occurs when trying to import one of the files.
- Fixed problem where if VersaLex is running as a service/daemon and a
permanent license is requested and applied, the order of the log messages
was confusing.
- Fixed problem where if the VersaLex GUI has been displayed through the
API, a support bundle could not be created if one or more of the
configuration files was chosen to be included.
- Fixed problem where only directories would be selected when using the
file chooser for additional files in File>Export...
- Fixed problem on AIX where VersaLex believed the license was invalid
when it was really valid.
Bug Fixes - FTP
--------------- Fixed problem where ASCII mode on Unix was potentially truncating
ending carriage returns.
Bug Fixes - AS2
--------------- Added a check for a decryption failure when an unknown trading
relationship has occurred (which is caused by not being able to get the
correct certificates when they have been overridden at the mailbox
level). Previously this was failing silently and nothing was being
stored in the LostAndFound directory.
- Added NoClassDefFoundError error handling for the case where AS/400
network access is being used but the jt400.jar file does not exist.
- Changed the Listener Wizard to restrict HTTP ports to the range 165535. Previously it allowed port 0 which is invalid.
- When processing a synchronous MDN, added error handling when a timeout
occurs.
- When VersaLex server running on AS/400, now if remote GUI on Windows is
used to interactively start an action, VersaLex no longer tries to prevalidate AS/400 source and destination command paths on Windows if AS/400
remote access has not been enabled.
- Corrected a problem where the signature could not be verified if the
"Use signing certificate" checkbox was selected and the signer's
certificate chained to a CA certificate.
- Fixed problem where after sending AS2 message, it should timeout
waiting for a response, instead of erroring out at that point, two more
attempts were being made to get the response.
- If the incoming input stream is ended abruptly, an IndexOutOfBounds
exception was being thrown. Now catch this exception and report the
error as "Incoming message ended prematurely".
- Increased the size of the Wizard panel so that all the contents of each
pane is displayed completely on every platform.
- Corrected problem in the AS2 Listener and Host Wizards where the
"Browse" button wasn't being displayed properly on Unix platforms.
- When receiving a certificate and the Use Default File Name is selected,
now manually set that to false so that VersaLex properly names the
certificate instead of using the default file name. Also, now manually
set the option overwriting of duplicate file names to false do that
multiple certificates for the same trading partner may be received.
- When creating a new message ID, now use a 24-hour clock which makes the
timestamp unique. (Previously message ID duplicates could occur because
an AM/PM timestamp was incorrectly being used to create the message ID.)
Also, additional checking and versioning of the message ID is now being
done to guarantee against duplicate message IDs.
- When an asynchronous timeout occurs and the cached file is moved to the
mdnPath, now verify that the path exists before trying to move it and if
it doesn't exist, create it first.
- Modified the layout of the text fields in the AS2 Listener Wizard so
they would look right on the Linux platform
- Corrected problem where an encryption cert was being sent using the
"Send Certificates" button because the process was always looking at the
listener's "Use Signing Cert" checkbox even when the certs were being
overridden at the mailbox level.
- Corrected problem where the temp folder wasn't be created as it was
needed.
******************************
* RELEASE 2.1.6 - 2003/12/19 *
******************************
Enhancements - Framework
------------------------ Instead of requiring the schedule to be manually restarted, now if an
autosend action fails to send three times in a row, the action is set to
start trying again automatically after 30 minutes. The actual number of
retry attempts and the minutes before restarting can be modified in the
Other tab of Configure>Options...
- To avoid resending the same file, now if an autosend action
successfully sends but fails to delete the sent file, the scheduler will
not retry the action.
- For AS/400 data file source and destinations, added checking of the
absolute paths to catch syntax errors. This is to avoid cryptic "Request
is not supported" exceptions being thrown.
- Now default scheduling of automatic send actions back to round robin
approach, which if a large number of actions are scheduled for autosend,
eliminates CPU spiking.
- Organized hosts by category and function in the preconfigured tree.
- Since we are now forcing usage of Java version 1.3 on AS/400 platforms,
added verification that the user has this version of Java installed
before attempting to start or end VersaLex (using the STRLEXSVR and
ENDLEXSVR CL commands) and for the VersaLex-generated CL-files.
- If an exception occurs, the stack trace is now displayed before the
result element.
- Added new Transfer Log licensed feature.
- In File>Export..., when exporting additional files, added ability to
export entire directories.
- Modified the AS/400 CL file creation to replace the CLASSPATH and to
force the use of a version 1.3 JVM.
- Added new Advanced options: Email On Successful Send; Email On
Successful Receive; Execute On Successful Send and Execute On Successful
Receive. These options may be specified at the system level, host level
or local host level.
- In the Other tab of Configure>Options..., added "Save Messages In Host
Files" option, which defaults to on. Turning this off will eliminate
action and local host messages from being saved in the host file each
time the action/local host stops, which may help to eliminate cases where
host files are being corrupted.
- In Tools>Certificate Manager... View>Usage..., now color certificates
orange that will expire in less than 15 days
- Added configuration file selection table to Help>Support>Bundle...
(selection defaults to on).
- If re-installing VersaLex over a previous version, then do not
overwrite the Logon information for the service.
- If installed on an AS/400, when VersaLex is started on a PC through the
shared IFS drive, now post a warning if the AS/400 VersaLex process is
not currently running.
- Added automated licensing capability to API. This includes
registration, permanent licensing, and unregister. Also included is a
method for checking the validity of and activating a license key file.
- Added ability to view the User's Guide/Help without going through
VersaLex.
- Added All and None push buttons in the Export and Import User Files
dialogs for individually controlling host file, configuration file, CA
certificate file, and additional file selection.
- Changed Configure>Translator to Configure>Integration. Allow this menu
item for AS/400 even without integration so CL files can be generated to
run the actions from the AS/400 command prompt.
Enhancements - FTP
------------------ Added support for saving DIR and LS command results to a file.
Enhancements - AS2
------------------
- Added logic to intercept errors that occur when writing to the MDN
file. If the file already exists (denoted by an "Access is Denied"
message), now write a hint that the MDN may already exist due to a
duplicate message and is read-only.
- When using AS/400 remote access from the PC, the listener now recovers
the AS/400 connection if it was lost.
- Added new "Email Recipient When Unable To Send Async MDN" Advanced
option to the AS2 Local Listener. When this setting is selected, the
trading partner to whom the failed asynchronous MDN was intended will
receive an email notification stating that the MDN could not be sent.
The email address of the intended recipient is taken from the "From:"
HTTP header of the original message, if it exists. If no email address
is included in the header of the message, no email notification will be
sent.
- Warnings are now displayed for 15 days prior to the date when a
certificate will be expiring.
- In the Generic AS2 host, made the "Authenticate" tab on the at the
Mailbox level visible. Previously, it was hidden.
For pre-configured
hosts, this tab is still hidden but users may make it visible by
selecting the "Show Hidden Panels" option in the Configure->Options menu
under the "Other" tab.
- Disabled/unlicensed hosts/mailboxes are now ignored when processing
incoming messages. If a AS2 name relationship match cannot be found for
a licensed/enabled host/mailbox but the relationship is in the unlicensed
or disabled host/mailbox, a hint message is now displayed after the "AS2
name relationship could not be found" message is displayed.
- Added the '\','/',':','"','<','>' and '|' characters to the list of
excluded characters when creating a default AS2 file name for incoming
messages. Previously only the '*' and '?' characters were excluded.
- Included MDN processing (with the appropriate disposition) for
duplicate messages so that the sender is informed of the duplicate.
Previously only the receiver got a warning that the message was a
duplicate and that it was not stored.
- Changed the message "AS2 Listener Starting on ports…" to "AS2 Listener
Started on ports…" since the message isn't logged until after the
listener is started.
- Enhanced the error messages that are generated when an asynchronous MDN
cannot be sent to include the trading partner's AS2 (particularly for
"email on fail" messages).
- Added an option to the Mailbox/Certificate panel to use an optional
Signing Certificate to validate incoming messages. By default, all
certificates in VersaLex's certificate store are used to validate that
the signature of the message is from a trusted source. This option would
be used to limit validation to only the trading partner's certificate.
Bug Fixes - Framework
--------------------- Fixed problem where even if a general or host sentbox directory had not
been selected, but the Advanced property "Add Mailbox Alias Directory to
Sentbox" was on, VersaLex was creating a sentbox directory named with
just the mailbox alias off of the VersaLex home directory and copying
sent files to it. Now, if a sentbox directory has not been established,
regardless of the Advanced property setting, VersaLex will not create/use
a sentbox.
- Now catch and disallow an LCOPY -DEL where the source is the VersaLex
home directory in the MSDOS-shortened format.
- Fixed problem where Tools>Certificate Manager... View>Usage... was not
always accurately showing host\mailbox CA certificate usage. Also fixed
problem where CA certificate filenames were always lowercase.
- If server SSL certificate is expired, but still trusted in
Tools>Certificate Manager..., now allow SSL to succeed.
- In Tools>Certificate Manager... View>Usage..., corrected certificate
warning calculation to be 15 days.
- Corrected problem where current, total mailbox count was being
miscalculated when cloning a mailbox.
- When cloning a host, fixed problem where license mailbox limit overflow
was not caught until after VersaLex was subsequently stopped and
restarted.
- To avoid sending the same file twice, if a PUT -DEL command fails
because the delete of the source file failed, the command will now not
retry if 'Command Retries' is set. Also, if any file after the first
file of a PUT command (no -DEL) fails, the command will also not retry.
- Fixed problem where intermittent log file entries were missing thread
numbers. Also, in case existing log file has missing thread numbers,
fixed problem where View>Log... was erroring out with "Invalid Input" or
"Error reading log file".
- In File>Import..., when importing additional files, VersaLex will now
create any missing directories.
- Rather than just ignoring the extra variables, action commands with
surplus parameters are now considered invalid.
- No longer report '?' for host file name when unknown property found.
- Removed determination of host name from an IP address in the TCP/IP
Port Usage Report because VersaLex would occasionally crash with a JVM
HotSpot error.
- Fixed problem where VersaLex was miscalculating total number of active
mailboxes when enforcing permanent license limits.
- Fixed problem where hitting [Cancel] button while Tools>Scheduler...
dialog was being generated would leave an empty dialog in the upper-left
of the screen.
- For AS/400 V4R5 remote access, no longer attempt to listen for AS/400
disconnect. Now just recover when determine that AS/400 has been
disconnected.
- Fixed problem where commandline exit status was not -1 if a framework
exception or error occurred
- Fixed problem where an action ending in a space could not be run via
commandline. Also fixed problems running an action ending in a space via
the RMI GUI.
- Added "Finished reviewing licensing" message
- Fixed problem where licensed mailbox limit check was temporarily
allowing one additional mailbox
- When using AS/400 remote access from a PC, now recover if connection
from PC to AS/400 is lost.
- Fixed problem importing a duplicate host while running as a service.
- Fixed intermittent problem opening the Tools>Register... dialog. The
workaround is to delete the hosts/support/License.xml file and restart
VersaLex.
- Fixed problem where VersaLex would not run because of an XML parse
exception. The workaround is to delete the conf/top.xml file and restart
VersaLex.
- Now check that schedule and AS2 listener do not get restarted if -s
service is rerequested.
- Changed the AS/400 INSTLEX and UPDTLEX CL commands to ignore the case
where QSH does not exist. Also, if the wrong version of the savf file
has been installed, now signal an error and abort the installation
instead of issuing a warning and continuing on with the installation
anyway. (The error that is displayed is: "Error: VersaLex.savf version
does not match the VersaLex installed version).
- When running on the AS/400, fixed a problem where null pointer
exception was being periodically thrown when trying to perform local I/O.
- Fixed problem where if no other AS/400 I/O has yet occurred, trying to
write an AS/400 inbound file would result in a null pointer exception.
- Fixed problem when upgrading from an older version of VersaLex where
the SMTP mail server settings was not being seamlessly moved over from
the AS2 listener configuration to the overall system options
configuration.
- Fixed problem where a recursive logging condition could occur if the
VersaLex client API has connection problems with the VersaLex RMI server.
- In Tools>Software Update..., fixed problem where software update was
inadvertently downloading the native VersaLex AS/400 software file (if
selected to always be downloaded by user) when a new release was being
downloaded. This would cause software update to error out after the
download was completed.
- Fixed aesthetic problem where screen was not being promptly repainted
after a host was deleted.
- Fixed problem where AS400 remote access was constantly signing on and
off of the AS400 if any actions were scheduled for automatic send.
- Fixed problem where archived log file name reported did not match
actual name used.
- Now that all actions scheduled for automatic send are not treated as a
round robin, in "Next Scheduled" column of Tools>Scheduler..., no longer
indicate that actions scheduled for automatic send are processed
sequentially. Automatic send actions are treated as a group.
- When the VersaLex service/daemon is trying to send log events to the
RMI GUI, now on exception, retry three times rather than just once, and
wait .25 seconds between tries.
- When importing a user certificate and private key file separately in
Tools>Certificate Manager..., now recognize when the private key file
format is not a supported format rather than assuming the entered private
key password was incorrect.
- Fixed problem where the larger the current log file, the longer
VersaLex would take to start up.
- Modified VersaLex help so that jumping to a topic within a help page
works correctly and the Forward and Back buttons work better. Default
context-sensitive help to a larger window when displaying for the first
time. Updated to OHJ version 4.2.5.
- In the GUI, fixed a problem where a carriage return character could be
inadvertently added into the middle of an action command. This would
cause the command to look like one line, but be treated during execution
as two lines.
- In the action commands, do not consider blank lines containing spaces a
syntax error.
Bug Fixes - FTP
---------------
- Fixed problem where the current mode was not being retained after a
Type Binary or Type Ascii command
- Fixed problem when receiving a file where intermittent buffer empty
conditions were being treated as EOF conditions.
- Now ignore blank lines at the beginning of an FTP server response.
- Now log an appropriate exception when an FTP server response is
incomplete (i.e. missing blank or dash after 3-digit response code).
Bug Fixes - AS2
--------------- Corrected problem where the number of retries actually performed would
be one more than the actual number that was desired.
- Corrected a typo in AS2 Listener Wizard. In the "Configure Port
Settings" description, HTTP/s was incorrectly misspelled as HHTP/s.
- Modified the logging when sending the asynchronous MDNs so that the
response is logged before attempting to send the MDN.
This makes it
clearer what the problem is if the MDN cannot be sent.
- When using the "Set Address" button on the Listener panel or through
the AS2 Listener Wizard, now check if the host address cannot be
determined (e.g., if there is no internet connection) and pop up an error
message. Previously, the error was not being caught and the cursor
remained as an hour glass forever.
- Corrected a problem where the 'temp' folder was not being properly
created before processing a compressed message.
- Now correctly verify the signatures of MDNs using only the recipient's
signing certificate (if this feature has been enabled).
- Added support for proxy firewalls and authentication when sending
asynchronous MDNs.
- Fixed problem where if possible values are specified for the AS2-From
header at the host level, but the AS2-From value specified at the mailbox
level does not match one of these values, the AS2 relationship could not
be found when a message was received.
- When processing an incoming message where the recipient's signer
certificate has been specified in the mailbox, now use an absolute path
to this file name. This corrects a problem on AS/400 platforms where a
"File Not Found" error was being reported.
- Changed the mouse-over text for the "Set Address" button on the
Listener panel and the "Get" button on the first page of the AS2 Listener
Wizard to include the statement that the System Admin should verify the
address that is returned when this button is pressed. This address
inadvertently could be the address of the desktop machine for non-Windows
platforms that use Windows for the GUI.
- When searching for the matching host for an
first check that the matching host is enabled
checking for multiple mailboxes with the same
combination, now disregard disabled mailboxes
incoming messages, now
and licensed. Also, while
AS2-To / AS2-From
for that host.
- Added logic to not print the "Success" message and properly release the
session (which previously would hang indefinitely) if the asynchronous
response could not be sent.
- Fixed a problem where the AS2 Listener Wizard would report the error:
"The following error occurred: null". This problem occurs when the
Listener has been newly cloned.
- Now disallow entering of either the * or the ? character in the Default
File Name field on the Host/AS2 tab. These characters are interpreted as
wildcards and cannot be used when receiving a single file.
********************************
* RELEASE 2.1.5.2 - 2003/09/12 *
********************************
Enhancements - Framework
------------------------ Added 'Only VersaLex Service Auto-Starts Tasks' option, which when set
allows the VersaLex GUI to be displayed standalone without kicking off
the schedule/local hosts set to automatically startup.
- Changed active and preconfigured tress to have individual scroll panes.
- Added certificate usage report (go to Tools>Certificate Manager... and
then View>Usage...). This report details the user and CA certificates,
expirations, and usage by each active host.
- Added support for delete key in Tools>Certificate Manager... when a
user or CA certificate is currently selected in the tree.
Enhancements - AS2
------------------ Added new functionality to resend
that fails to make it to the remote
failures were ignored.) This logic
(on the Listener's Advanced tab) is
an asynchronous acknowledgment (MDN)
trading partner. (Previously send
requires that "Async Resends" value
set to a non-zero value.
Bug Fixes - Framework
--------------------- Fixed problem with API where if close VersaLex instance could not call
startService() method again.
- When using the RMI GUI, fixed problem importing a host file.
- When using the RMI GUI, fixed problem where if cloned and activated a
host and then immediately closed the GUI, the next time the GUI was
opened, the host was missing. A work-around to this problem is to
restart the VersaLex service/daemon.
- Fixed problem where if permanent license email request was used in a
previous version of the software and a translator had not be specified in
the request, VersaLex would fail at startup with a null pointer
exception. A work-around to this problem is to manually delete the
conf/ReqPermKey.txt file.
- Added synchronization of active input/output file lists to eliminate
possibility of ArrayIndexOutOfBounds exceptions during actions.
- Eliminated logging exception being printed at the beginning of VersaLex
commandline on Unix.
- With VersaLex commandline -m option, eliminated use of backspace
character to update the active transfer message.
Bug Fixes - FTP
--------------- Added advanced property to be able to "Include Filename in Store Unique
Command", as some FTP servers require a beginning filename with the STOU
command.
- Fixed problem where an inadvertent space in the either the
PrePutCommand or PostPutCommand advanced option would cause the FTP
session to send the space to the host and timeout waiting for a response
from the host.
Bug Fixes - AS2
--------------- Now catch and report errors that are generated when asynchronous MDNs
cannot be sent.
******************************
* RELEASE 2.1.5 - 2003/09/03 *
******************************
Major Enhancements - Framework
------------------------------ Added ability within product to register and license.
- Added context-sensitive help to many panels. Added Help -> Navigator to
show the User's Guide Table of Contents.
Major Enhancements - AS2
------------------------- Added the ability to force signing and/or encryption for all inbound
messages.
- Added wizard for AS2-type hosts. This sets only the AS2-To/From, the
Recipient's Encryption Certificate, and Username/Password for certain
hosts.
- Added new AS2 Wizard for configuring the AS2 Listener
Enhancements - Framework
------------------------ Upgraded to Version 1.3.1_09 I18N of the Windows Java Virtual Machine.
- For DaimlerChrysler EBMX HTTPs, added support for zipping and/or
sending zipped files.
- When a file within a directory specified in Configure>AS/400.. is being
sent/received, now log at end of file path whether file is configured for
Integrated File System or Native File System.
- When an unknown host exception is logged, added 2nd hint which directs
user to www.cleo.com/iplookup to determine the IP address.
- When a connection exception is logged, added 2nd hint which points user
to troubleshooting section of user's guide.
- Added notes to the TCP/IP Port Usage Report mentioning the use of Cleo
URLs for Registration/Licensing, Software Updates, and Technical Support
Bundles.
- In Tools>Certificate Manager..., the serial number for a certificate is
now displayed in hexadecimal rather than decimal.
- In Tools>Certificate Manager..., when generating a user certificate, a
pulldown list of valid country codes is now offered.
- When exporting user files and a secure host is selected, now warn user
that corresponding user certificate must be exported/imported using
Tools>Certificate Manager.
- Now queue up updates from the VersaLex GUI to the running
service/daemon so that the user is free to perform other updates while
the service/daemon is applying the change.
- Modified Trusted Link for Windows (TLW) logon scripts to not create
sendfile.edi if there are no interchanges to send. This should prevent 0byte files being sent to the trading partner during a send+receive
action.
- Added context sensitive help the Certificate Manager.
- When using File>Export... now prompt user for overwrite if chosen
export zip file already exists.
- Added the following pre-configured AS2 hosts: ICC.NET; ASDA; Lowes
(test & prod); Target (test & prod); Winn-Dixie (test and prod). Updated
the DeCa host with HTTP header values.
- Updated the GXS certificate with a new one since the old one was
expired. It has the same name as the original one so the changes will be
seamless.
- Allow colon (:) as a delimiter between E-mail addresses for 'E-mail on
Fail'.
- Default certificate manager screen to a 40/60 split.
- Added ability to select the certificate signing algorithm (MD5 or SHA1) when generating user certificate through the API.
- Now disable rather than ignore hosts which are not licensed. Also, now
allow partial use of VersaLex while it is unlicensed, mainly to allow
access to the Help menu.
- Added computer name/IP waiting for to initial wait messages, if any.
Also added RMI exception to initial waiting message, if any.
- No longer allow "VersaLexc -s service" to run if there are any problems
registering as the RMI server.
- Like Windows event messages and AS/400 system operator messages, now
log to Unix system log when running as a daemon and an unrecoverable
error is encountered.
- Now log AS/400 system operator message when VersaLex successfully
starts as a service.
- Updated GXS Dialer DLL (J_IBC_COM.DLL) to be compatible with future
VersaLex features. Customers currently using the GXS dialer MUST upgrade
this DLL in order for the dialer to work with this and future software
updates.
- When selecting the translator location, if a known sub-directory of the
translator is selected, allow and correct the selection.
- Display additional information when an invalid translator location is
selected.
- Improved the optimization of the ENDLEXSVR command (for the AS/400) so
that it reflects the same level of optimization as the STRLEXSVR command.
- Added error checking to the INSTLEX command (AS/400 Install CL) so that
it continues the installation process if it cannot pre-delete jars in the
IFS.
- Interactive dialog for choosing for inbox/outbox/sentbox/rejectbox and
other directories now refers to selection as "Directory name:" rather
than "File name:".
- Now support running SYSTEM commands on the AS/400 platform.
- If right-click in the empty space of the active or preconfigured host
tree, a new Refresh option can be used to reread the hosts/ or
hosts/preconfigured/ directories for new host files.
- Added support for the RMI property "java.rmi.server.hostname", which
can be used to override the use of the default name or IP address of the
computer for RMI registration.
- Added ability to export/import host/certs/conf/data files. This
includes File>Export and File>Import GUI dialogs as well as commandline
import options. Also added commandline import option for import PKCS12
user certificate and private key file. This option prompts for a user
alias and private key password.
- When using the API, string-format of message and date of messsage now
returned with XML message
- When VersaLex is running continuously as a Windows service or Unix
daemon or AS/400 process, when the VersaLex GUI is subsequently
displayed, it is now a second VersaLex process. This has a number of
benefits, including:
On Windows, the VersaLex GUI will now work thru Windows Terminal
Services, the VersaLex service can now run under a different account than
the default local system account.
On Unix, the VersaLex GUI can now be displayed through xterm windows
without having to hardcode the xterm IP address, the VersaLex daemon will
no longer be killed when the XWindows server is closed.
On AS/400, the VersaLex GUI on the mapped Windows PC is now the full
GUI rather than just a message viewer.
Having the GUI run as a second process is the default option except on
Windows 98, where Windows services are not supported. To revert back to
the VersaLex GUI not creating a second process, go to the Other tab in
Configure>Options... and turn on "Enable VersaLex Server as GUI".
- When running as a Windows service or AS/400 process, now log critical
startup events to the Windows Event Log. Likewise, when running as an
AS/400 process, now log critical startup events to the system log.
- Added ability to override the default number of contiguous retries of
failed scheduler autosend of a file. This can be overridden in the Other
tab of Configure>Options... The default number of autosend retries is 2.
- Allow move license feature on Windows to move between computers if the
remote system is a mapped drive.
- Store the VersaLex version along with date/time in the TLW merge file.
- When downloading the AS/400 network access software file 'jt400.jar'
during Tools>Software Update..., will now show the corresponding AS/400
supported versions for confirmation.
- Added LREPLACE to list of available commands. LREPLACE replaces byte
strings in local files.
- Modified Translator Integration for TLW so that VersaLex no longer
needs to be installed into the TLW work folder.
Enhancements - FTP
------------------ Added warning when sending zero-length file.
- Removed RSA encryption libraries from FTP/s. VersaLex now only uses
IAIK libraries. With this change, the "Use IAIK" and "Disable TLS"
Advanced options are no longer needed.
- Modified the Sterling Commerce FTP pre-configured host to use the new
PostPutCommand option for moving file to the commit directory.
- Like PrePutCommand, added PostPutCommand property which can specify FTP
commands to be executed after a successful PUT command.
Enhancements - AS2
------------------ Allow the ability to remove all references to an internal host address
(or domain name) from the messageID header through a new "Advanced"
feature on the Local AS2 Listener panel.
- Removed all references to domain names from header and text fields
within the MDN. This isn't necessary.
- Added tool-tip (mouseover) text to all the fields on the AS2 panel at
the mailbox level.
- Added graceful handling of errors occurring while attempting to email
on fail. We also now include a stack trace with a reason for the error.
- Added support to determine if the incoming message from the remote
trading partner is a duplicate of the last message that was received. If
so, the incoming message is not stored and a warning is logged but a
successful MDN is returned.
(Also, raw received data and headers are
not stored.)
This only works if the current messageID matches the last
messageID that has been received and no other messageID's have been
received in between.
- Added a new counter to the AS2 and HTTP tabs of the Listener which
displays the number of incoming AS2 messages (next to the Stop button).
This display is only visible if there are incoming messages.
- Added detailed logging (based on the AS2 Listener's "Log Received
Message Details" property) as to whether the received MDN was signed or
unsigned.
- Added a unique thread number to incoming AS2 Listener messages so that
it is now possible to distinguish between simultaneous messages coming in
from different trading partners.
- For the pre-configured AS2 hosts, the overridden certificate
information is no longer displayed.
- Whenever any of the certificate parameters (i.e., signing and
encryption aliases or passwords) are changed in the listener, the
overridden certificate parameters are now also updated.
- For the "Add Content-Type Directory to Inbox" feature, included a popup warning message to alert the user that translator integration will not
work unless the EDIFACT and X12 directories are left blank.
- Added the ability for the user to be able to obtain his external IP
address through a new "Set Address" button on the listener panel
- Added validation checking for the overridden certificate alias and
password fields being left blank (but selected). Now a
DecryptionFailureException is thrown and a better indication of the error
is given to the user. Previously, an IOException was being thrown and
there was little way of knowing the reason for the error.
- Added logic to return a "Welcome to Cleo AS2." message when a trading
partner attempts to hit the listener through a browser. The listener now
logs a warning.
- Improved the speed of compressing a file
- Added the # character to the list of characters that should be stripped
out of the messageID string before it is used for file name creation.
- Added graceful handling of duplicate MDN archive entries (which will
only occur if the user manually copies previously archived MDNs back into
the mdn\sent or mdn\received directory). Now, duplicate entry errors are
ignored and the duplicate file is deleted from the directory.
- Added the ability to route incoming messages to a specified subfolder
based on the content type of the message.
- Enhanced the "Forward MDN to Email Recipient" feature so that the
signature is never forwarded as part of the message to the email
recipient. The signature is first verified and then stripped off. Since
the signature could be binary and email systems require base64 encoding,
email systems (e.g., MS Outlook) reported "Digital ID Unknown" errors
with messages containing binary signatures.
- When an error has been received in the synchronous response stream and
an MDN has not really been received, the "MDN" is no longer forwarded to
an email recipient if that feature has been selected.
- Added trimming of the mdn field (in the Local AS2 Listener panel)
before creating the directory. This guards against the creation of
directories with embedded spaces which causes multiple directories to be
created on Unix platforms.
- Modified the labels for the MDN directory chooser to refer to directory
names rather than file names.
- VersaLex no longer forces the user to enter a value in the Subject
field (in the Mailbox/HTTP tab) before running an Action. Some servers
(such as Cyclone) use the "Subject" field for routing messages and
sometimes need this field to be blank.
- Added setting of the received Message-ID (messageID=) parameter and the
sent (raw) MDN file name parameter (mdn=) log's result element.
- Changed the wording of the error message when "multiply" defined AS2-To
and AS2-From names are specified to so that multiply is removed and the
actual number of definitions is shown.
- Added informational logging of the listener port(s) that are started
- Added support for quoted-printable content-transfer-encoding when
parsing large signed and/or encrypted messages.
Bug Fixes - Framework
--------------------- Added text to the error dialog if an error occurs reading the log file
when trying to display the log.
- When VersaLex running as a service/daemon, fixed problem where AS2
listener could not successfully lookup AS2 relationships at startup.
- If a .exe or .zip file exists in the certs/ directory, VersaLex will
now ignore the file rather thn try to determine if it is a valid
certificate file. (Previously, when a large .exe or .zip file was placed
in the certs/ directory, VersaLex could potentially fail to startup.)
- The scheduler will no longer inherently create an increasing startup
delay as more actions are scheduled to run whenever they have a file to
send.
- Import user files will no longer try to automatically clone an AS2
listener when an AS2 host is imported.
- Fixed problem where service/daemon was reporting that AS2 listener
needed to be active when it already was.
- Now catch invalid AS/400 remote access (invalid host, user ID, or
password) and no longer automatically store to the local drive instead.
- [Defaults] button now works in software update dialog.
- Corrected parsing commands in the Actions that contain spaces with
double quotes("). Previously, multiple spaces within quoted commands were
reduced to one space.
- For AS/400, when generating a unique filename on the native file system
(NFS), now make sure filename is valid (10.3 format with .MBR extension).
- For the API, now throw an exception rather than log an exception when
an action cannot be started.
- In RMI GUI, fixed problem where if rename a VersaLex host which has
actions scheduled, the GUI would report host element not found errors.
- Fixed problem where if VersaLex running as a service/daemon, the
VersaLex GUI could not be displayed if the LAN was disconnected.
- When XML log file archived, fixed problem where active actions and
listener thread names were not being carried over to the new log file.
- Removed action pending changes check by scheduler. This check was
sometimes causing a hung dialog condition and is no longer applicable
with the separate service and GUI processes.
- Fixed problem when Enter is pressed in the Log viewer "Find" dialog.
- Now strip out any non-printable ASCII characters from action commands
prior to running.
- Now check AS/400 access with each file access. If AS/400 has been
previously disconnected, will now automatically reconnect.
- Host renamed through GUI attached to VersaLex service/daemon no longer
leaves old host in memory.
- Active transfer messages printed during VersaLex command line now use
%= rather than percentage= header to avoid wrapping past 80 characters.
- File matching for action PUT commands is no longer case sensitive on
Windows and AS/400 operating systems.
- Fixed problem where Tools>TCP/IP Port Usage report was not replacing -1
with default port numbers for AS2 and FTP hosts. Also fixed problem
where the saved HTML TCP/IP Port Usage report did not properly handle
special HTML characters (>, <, and &) in the content.
- Fixed problem where VersaLex command line errored out logging a message
at the end of processing.
- For an action which is scheduled to run automatically when there is a
file to copy (LCOPY -DEL -APE * recvfile.edi), the destination of the
copy (recvfile.edi) will no longer cause the action to kick off when a
file of that name exists.
- Removed small window of opportunity for two VersaLex GUIs to be
accidentally displayed at the same time.
- For PUT -DEL commands where, after a successful send, the delete of the
source file fails, now verify that in fact the delete failed and
reattempt to delete source file many times.
- Now consume standard output and standard error from SYSTEM and
ExecuteOnFail commands so that output buffers do not fill up and cause
the command to hang.
- When generating a user certificate, now verify that country specified
is a valid 2-character IS0 3166 country code.
- When exiting the VersaLex GUI, now make sure the Active host tab is
selected if any unapplied changes are found.
- In addition to null characters, now remove newline characters causing
XML format errors.
- Fixed problem where if the QUTCOFFSET was changed by something other
than one hour, the AS/400 had to be IPLed before VersaLex could be
restarted.
- Added unique filename reservations so that two files of the same name
could not be chosen concurrently.
- Fixed problem where if QUTCOFFSET (timezone offset) is changed on the
AS/400 by more than one hour, VersaLex would complain that the license
had been copied. VersaLex should be stopped on the AS/400 before the
QUTCOFFSET is changed. After the QUTCOFFSET is changed, VersaLex must be
restarted on the AS/400 before it can be run on Windows over the IFS.
- Fixed EDI*Express host to remove extra space in the Server Address
field.
- Override user selections for Add Mailbox Alias To Inbox/Outbox to work
with Trusted Link for Windows integration.
- Fixed DaimlerChrysler host loopback action to get the test.edi file
from the correct directory.
- VersaLexc -s service,stop command line option now only runs cleanly
when VersaLexc -s service is already running. Otherwise, it throws an
exception that the VersaLex service/daemon is not running.
- Fixed problem where could not Clone and Activate a host and then copy
the unmodified host back to the preconfigured directory.
- Fixed problem where VersaLex was allowing more than one AS2 listener to
be active.
- Fixed problem where running an action after changing the action and
renaming a host or mailbox without first applying the changes would cause
lookup problems.
- Fixed problem where host file could be corrupted if host response
includes a null (x0) character.
- For the special deals, fixed problem where an AS2 listener host could
not be cloned and activated.
- On the AS/400, fixed problem where the AS2 listener host was being lost
when VersaLex shutdown.
- For deletion of a sent file (PUT -DEL), if delete should fail, now
automatically retry delete multiple times after a slight delay before
marking delete as failed.
- Fixed problem where VersaLex GUI process would report a null pointer
exception when trying to determine if the VersaLex scheduler is running
before it had actually been created by the VersaLex service.
- Fixed problem where VersaLex GUI process could not clone and activate a
host if the GUI process was running of a different drive than the
VersaLex service.
- In the VersaLex scheduler, now only recalculate the action start time
if necessary.
- Changed sequence of shutdown events to avoid interrupted I/O exception
while updating host files.
- To improve user flow, In Tools>Software Update..., changed the
[Extra...] button to [Update Options...] and moved button before [Check
for Update].
- Fixed problem where the GXS IBC dialer username being logged was
outdated.
- During Tools>Software Update..., now hang up modem immediately when I/O
complete, rather than sometimes waiting for user response.
- When using the API, removed all remaining use of interactive dialogs
for different licensing scenarios.
- While VersaLex is running as a "service", first Clone and Activate of
an AS2 host will now also clone and activate an AS2 listener local host.
- Fixed problem where host aliases < 3 characters were not supported.
- No longer assume that deletion of a sent file (PUT -DEL) is succeeding.
Now check that deletion is successful and log error result if not.
- Fixed a problem with Emanio Translator integration for older Windows
versions. Uses %1 instead of %* in the batch files.
- Now log error message at startup if AS/400 configuration information
exists, but the AS/400 is not licensed. In this situation, also now
allow user to go into Configured>AS/400 to clear config.
- Added [Help] button to initial "Waiting for existing VersaLex
process(es) to complete" dialog. The help text describes the different
scenarios when this wait is necessary.
- Now log an exception in addition to the note that "Registered remote
log listener no longer accessible; disconnected." when it is a general
connect exception.
- Corrected GXS ICS AS2 Server Address.
- Added receive and send+receive actions to GXS ICS AS2.
- Modified EDS ELIT host to transfer files in ASCII mode for the EDI
mailbox.
- Modified GM via EDS ELIT host to transfer files in ASCII mode.
- When using the API on AS/400, now by default, VersaLex does not apply
the QUTCOFFSET system value to the default timezone.
Bug Fixes - FTP
--------------- Allow for double quotes(") to be after the CD command so that
directories containing spaces will work correctly.
- Fixed a problem where a GET with a directory name in the source using a
backslash(\) and no destination specified would cause an error saving the
file on the local computer.
- Clarified exception text when initial connection times out.
- Fixed problem where explicit ssl in active mode would get a read timed
out when trying to open a data port if the advanced property "Use IAIK"
were set on.
- Fixed small memory leak
- Modified ASCII mode transfers to no longer chunk by lines. Large one
line files were being read entirely into memory. Now 8K chunks are read
and written.
Bug Fixes - HTTP
---------------- Fixed problem in HTTP mailbox authenticate panel where if Basic
authentication is selected, the realm, username, and password were not
being enabled.
Bug Fixes - AS2
--------------- Added logic to always convert certificate aliases that override the
listener certs on the Mailbox/Certificates panel to upper case when they
are typed in manually, i.e., not browsed.
- Added logic to always convert certificate aliases (on the AS2 Listener
panel) to upper case when they are typed in manually, i.e., not browsed.
- Added sanity checking (and appropriate reporting) when processing a
trading partner's synchronous response to handle unexpected responses,
particularly where an MDN is expected and one is not returned.
- Corrected a problem where the encryption certificate field was not
being checked for KeyUsage when the same certificate was being used for
both signing and encryption. In that case, it was possible to set an
encryption certificate that was not intended to be used for encryption.
- Added check for existence of the ExtendedIOException class (which is in
jt400.jar) before checking that an exception is of that type. This
corrects problems where NoClassDefFoundError exceptions are thrown when
the jt400.jar file is not in the classpath.
- Corrected a problem where mixed case content types were improperly
interpreted when parsing the message.
- Corrected a problem where the SSL server certificate's password was
being incorrectly populated on the Listener's HTTP panel.
- Corrected an issue where populating the MDN table while the Listener
was selected caused a lag in the display.
- Corrected problem where temporary work files for large encrypted
messages would remain in the temp folder if a signature or decryption
error occurred. Now these files are always properly removed.
- Now gracefully handle instances where either the AS2-To or the AS2-From
header exists but the contents of the header is empty, i.e., not null.
- Corrected problem where MDNs could no longer be sorted on the MDN panel
after an auto-archive of the MDN folder had been done.
- Corrected problem where large signed messages with a signature
verification error remained in the temp folder after the error occurred
and was never deleted.
- Added a "Decryption Key Not Found" check.
- Added a check for the scenario where there are no trusted certs in the
cert store. Previously in this case, certificates are trusted when they
shouldn't be.
- Added checking of a null header value when processing inbound messages
in order to circumvent possible null pointer exceptions.
******************************
* RELEASE 2.1.4 - 2003/04/18 *
******************************
Enhancements - Framework
------------------------ Updated GXS host URLs to match changes made at GXS.
- Added new preconfigured hosts: BMW Manufacturing, ECXpress, IBM IE FTP
(via AT&T dial-up).
- Added rename commands to comments in the Sterling FTP host since they
are needed often.
- Modified the VersaLexd daemon script to include a umask line to set
default permissions. This is currently commented out and can be
uncommented/modified by those who need it.
- Added prompts during Configure Translator to warn about generating
files for hosts not ready or enabled.
- Added prompts during Configure Translator to warn about files being
deleted if un-checking an action for which files have already been
generated.
- Added CHASE mailbox to DaimlerChrysler pre-configured host.
- Added Tie Commerce Edge integration.
- In addition to PUT -DEL commands, LCOPY -DEL commands are now supported
by the VersaLex scheduler autosend feature. If both commands are found
in the same action, the first type found will control autosend.
- Added ability to save the displayed release/patch notes to a file
during Tools>Software Update...
- Added hint for when an EOFException, which occurs when the host does
not send a complete response.
- Added ability to copy configuration files (hosts/, certs/, conf/, and
data/) when moving a license.
Enhancements - HTTP
------------------- Added ability to have variable HTTP parameters with no name
- Added ability to automatically repeat an HTTP header value in the URL
resource.
Enhancements - AS2
------------------ Received MDNs which were previously stored in the MDN "root" directory
will automatically be copied to the "received" subdirectory the first
time VersaLex starts up.
- The default MDN "root" directory is now AS2\mdn (under the VersaLex
home directory). Previously the default was mdn. This change will only
affect new installations. Existing users who update to this version will
not be affected.
- Removed the "Delete" option from the MDN Viewer which is found on the
MDN tab of the Local AS2 Listener.
- Added a new property "Archive Automatically After Maximum MDNs" to the
Listener's Advanced panel so that MDNs (in the sent or received
subdirectories) are automatically archived (in an archive subdirectory)
after a specified number of MDNs are stored. The default value is 500.
- Added a new property "Archive File Maximum Size" to the Listener's
Advanced panel. A new mdn.zip file will be created after the size of the
current file is reached. The default value is 0.25 mbytes.
- Added "Save Sent MDNs" to the Advanced panel of the Local AS2 Listener.
If this option is selected, sent MDNs will be stored in a "sent"
subdirectory under the specified MDN directory.
- Moved all received MDNs to a "received" subdirectory under the
specified MDN directory. Added the option for the user to be able to
save a copy of all sent MDNs. This option is selectable under the
"Advanced" tab on the Listener panel.
Bug Fixes - Framework
--------------------- Change the slash used between the host, mailbox, and action to a /
instead of a \ for UNIX system during translator file generation.
- Now automatically create host inbox and outbox directories during
"Clone and Activate".
- Fixed problem where repeated use of API in CLIENT_ONLY mode would cause
duplicate log messages.
- WAIT commands can now be interrupted by user.
- For TLW, change the name of the Network ID to LX### and also the
internal script name (LX###.SCR). Save the number used for the Network ID
number so the same number can be used the next time the script is
generated.
- Changed TLW script generation to put a ? before a / as opposed to
removing the character.
- Fixed problem with certificate manager where inability to complete a
certificate chain would keep a secure FTP/S or HTTP/S action from
running.
- Fixed problem with API where using CLIENT_ONLY option only works once.
- Fixed problem where XML <Results> log element is missing command
information for non-AS2 transfers.
- Similar to LCOPY -DEL and PUT -DEL, fixed problem where wild carded
LDELETE could be used to blindly delete files from the VersaLex home
directory.
- Modified the VersaLex XML logging so that TLW recognizes when an AS2
send is successful.
- Modified the DaimlerChrysler pre-configured host to have two CHASE
actions instead of a CHASE mailbox. This is because TLW can only
associate one trading partner per TLW script.
- Modified the TLW logon script file extension to be mrg instead of scr
so Windows won't think it is a screen saver.
- Modified the TLW login script to use LEXTLW.LOG instead of LEXFTP.LOG
to avoid confusion for non-FTP hosts.
- Fixed problem where a ? was not put before the + character in the
send+receive action for a TLW script.
- Fixed problem where wild carded LCOPY -DEL or PUT -DEL could still be
used to blindly delete files from the VersaLex home directory if the
inbox or outbox was set to ".\".
- Shortened TLW Logon ID to 5 characters in the TLW script generation.
Longer Logon IDs would cause the TLW scheduler not to work correctly.
- Fixed problem where wild carded LCOPY -DEL or PUT -DEL could be used to
blindly delete files from the VersaLex home directory.
- After downloading the AS400.zip file through Tools>Software Update,
VersaLex will now unzip the file to the local hard drive before copying
the file to the mapped IFS drive. This reduces the amount of time by
about 1/2.
- Fixed problem with having / in certain places in the TLW logon scripts.
It would cause TLW to give the error "Unable to create document in
document database".
- If VersaLex is initially started without a license_key.txt file, the
licensing popup no longer offers the option for requesting a permanent
key.
- Fixed a problem with AS2 receive actions where the file would not be
pulled into TLW. The TLW SCR file for AS2 hosts now parse for LCOPY as
opposed to GET.
- TLW does not allow `-characters except as end-of-line markers. VersaLex
now checks to make sure that character is not in the host, mailbox, or
action name when generating translator files for TLW.
- Fixed problem where an invalid host inbox/outbox/sentbox was causing
problems when cloning or modifying a host/mailbox/action.
- If using dial-up connection for Tools>Software Update..., modem is now
disconnected right after download is complete rather than after user
selects the next step.
- Fixed problem where undeleted "schedule.lck" file was causing a null
pointer exception.
- Fixed problem where default System Debug File setting of APPEND was not
creating the debug file.
- When selecting a directory in the software update and move license
features, now labeled as "Directory name" rather than "File name"
- Fixed problem where could not configure VersaLex RMI port to be
anything other than 1099, the default.
- Fixed problem with replace1.exe which would not replace characters with
ordinal value > 127.
Bug Fixes - FTP
--------------- Fixed display problem where FTP active mode high port field would not
be visible when the panel size was decreased.
- Fixed problem where repeated execution of FTP/s actions was causing a
memory leak
- Fixed problem where could not retrieve files from ge1.ecxpress.com.au.
Bug Fixes - AS2
---------------- Added better interrupt handling so that each AS2 Listener thread ends
quicker when VersaLex is shut down. This corrects a problem where
listener threads stayed running after VersaLex was stopped.
- Fixed problem where the Listener would appear to be running (status
would be set to Green) even though an error actually occurred which
blocked it from starting.
- Added stripping of the file name from a file name string received
through an internal "Content-Disposition" header. This string could
potentially contain a pathname that is not legal is the user's operating
environment.
******************************
* RELEASE 2.1.3 - 2003/03/11 *
******************************
Enhancements - Framework
------------------------ Added ability to set AS/400 coded character set ID (CCSID) when writing
IFS files.
- Added ability to retrieve VersaLex license information through the API.
- Added a confirmation prompt to translator file generation to verify the
overwriting of translator files.
- Create a "Do not edit" message in the translator script files
generated.
- Modified the pre-configured hosts to default a inbox/outbox based on
the host name.
- If the translator script output directory does not exist, create this
directory.
Bug Fixes - Framework
--------------------- If request permanent key email gets exception, now always put up
message box
- If license problem encountered when running on AS/400, fixed problem
where was trying to show message box.
- Changed LCOPY command to issue warning rather than success when no
file(s) were found to copy
- Delete TLW.CFG before creating it for Trusted Link for Windows
integration. This keeps Trusted Link from running the wrong configuration
if the file could not be created.
- Added index number to Trusted Link for Windows internal script name
(VersaLex#.scr) to make them unique. This fixes a problem where an action
from a different host (from the last merged script) could be run.
Bug Fixes - FTP
--------------- No longer issue QUIT command at end of FTP session if encountered
exception or user interrupt
Bug Fixes - AS2
---------------- Corrected a problem where Message Integrity Check mismatches would
occur when file names longer than 38 characters were used to transport
AS2 messages. This was mainly an issue with Wal-Mart customers who would
loop-back the same message as they received while testing with them.
(The file names of messages received from Wal-Mart can be excessively
long.)
- Corrected a problem where the MDN could never be forwarded to email
because it always appeared that the email server was undefined.
******************************
* RELEASE 2.1.2 - 2003/02/28 *
******************************
Enhancements - Framework
------------------------ New pre-configured hosts for Sterling AS2, Sterling FTP, and GXS AS2.
- Added VersaLexd script, which can be used to run VersaLex as a Unix
daemon.
Enhancements - HTTP
------------------- For both WWW-Authentication and Proxy-Authentication, now send
Authorization or Proxy-Authorization header with the first request rather
than waiting for a challenge, even if not sending a file. This is to
avoid cases where the challenge is not understood.
Bug Fixes - Framework
--------------------- Certificate manager will no longer allow leading or trailing spaces in
a user certificate alias.
- No longer allow -s "service" and -r command line options together.
- Fixed problem where single-user locking mechanism was not working on
Solaris.
- Fixed problem where multiple -r command line arguments would not be
accepted.
- Modified the replace1.exe program to allow for a string of characters
to be deleted.
Bug Fixes - FTP
--------------- Fixed problem in active mode where a data port connection would fail
with a NullPointerException.
Bug Fixes - HTTP
---------------- Fixed problem with SET host.* properties not taking effect.
Bug Fixes - AS2
--------------- Fixed problem where AS2 listener would throw a NullPointerException
when a message was received and an action with no commands was found.
******************************
* RELEASE 2.1.1 - 2003/02/19 *
******************************
Major Enhancements - Framework
------------------------------ Added 'Email On Fail' to the Advanced tab of the hosts. If an action
fails, an E-mail will be sent to the e-mail recipient(s) listed.
- Added Configure>Translator... feature, which allows a user to create
script files for integration with an EDI translator.
- Added Tools>Software Update... feature, which allows a user to download
and install new releases and patches of the VersaLex product.
- Added Configure>AS/400... feature, which allows support for integrated
or native AS/400 file I/O. Also added VersaLex AS/400 message viewer.
Major Enhancements - AS2
------------------------ AS2-1Q03 Drummond Group certified!
Enhancements - Framework
------------------------
- VersaLex now defaults "Enable GUI as VersaLex Server" option as on,
which enables the GUI to act as a server for VersaLex command line
processes.
- Added ability to request a permanent license. This generates an email
to either salesIL@cleo.com or supportIL@cleo.com.
- The VersaLex API methods are now thread-safe.
- When running an action interactively, if an untrusted CA certificate is
received, the user is now prompted as to whether the certificate should
be trusted - either for the session only or permanently. If the user
selects permanently, the certificate or certificate chain is imported
into certificate manager.
- Changed default expiration when generating user certificates from 6
months to 2 years.
- Added ability to have mailbox directory added to host's inbox, outbox,
and/or sentbox paths. This allows incoming/outgoing files to/from
different mailboxes to be kept separate.
- VersaLex debug file now defaults to APPEND and system log file level
defaults to HIGH.
- VersaLex logging and debug can now be turned on through technical
support bundle, when necessary.
- Create logs/exception.txt if VersaLex should throw an exception before
system logging starts.
- Limit size of system debug file (limit defaults to .25mb).
- Added ability to select either SHA-1 or MD5 algorithm for signing when
generating a user certificate.
- Added LCOPY and LDELETE action commands for copying and deleting local
files.
Enhancements - HTTP
------------------- Removed the DaimlerChryslerTest host. This test host is not necessary
for DCX suppliers, and was only causing confusion.
- When first reading HTTP server response, added a 2nd read if EOF
detected. This was for a specific HTTP SSL server that was somehow
causing an EOF condition prior to actual response data. If EOF is still
detected on 2nd read, proceeds with exception handling as before.
Enhancements - FTP
------------------ Advanced panel is now used for additional properties, consistent with
HTTP.
Enhancements - AS2
------------------ No longer set the source and destination to "NAME UNKNOWN" when we
can't get the name of the incoming file from the Content-Disposition
header.
- Added functionality to allow the HTTP "From:" header to be set with a
'from=' value on the HTTP tab, if present. Otherwise it uses an email
address. This is needed for interoperability with older versions of
Cyclone servers.
- Removed the SMTP Mail Server field from the local host panel. It is now
on the Options (Other) panel.
- The recipient's certificate and the "Send Certificates" button have
been moved to the "Certificates" tab at the mailbox level. The local
signing and encryption certificate can also now be overridden from the
"Certificates" tab.
- Added support for overriding of an incoming file name with a default
file name (specified on the host panel).
- Added a new checkbox on the AS2 Host tab to allow the ability to store
raw sent messages: HTTP responses, synchronous MDNs, and all asynchronous
MDNs, if indicated by the user. This can be helpful for general debugging
purposes.
- Raw received files are now stored in the AS2\received folder and raw
sent files are stored in AS2\sent folder. Previously only raw received
files could be stored and were stored in the "received" folder under the
VersaLex home directory. Moved the unsent folder under the AS2 subfolder.
- Removed the AS2-To, AS2-From and AS2-Version headers for an
asynchronous SMTP MDN. As per Drummond Group, these MDNs need to
represent an AS1 message format so the AS2 headers must be omitted.
- Changed the message ID to include milliseconds to guarantee file naming
uniqueness.
- Changed the method for creating incoming file versioning from the form
file_n to filen (no longer include an underscore).
Bug Fixes - Framework
--------------------- Fixed problem where incomplete host, mailbox, or action was not being
colored orange right after cloning and activating.
- If the local disk is full, a partial or empty host file is no longer
left in the hosts/ directory.
- If VersaLex is installed on networked drive, fixed problem where
differences in clocks on two computers would cause problems determining
whether VersaLex was already running.
- Fixed problem where installing and running a 2nd copy of VersaLex on
the same computer would potentially cause VersaLex running as a service
to no longer accept connections.
- Fixed problem where an action is scheduled to run periodically, but
only when there is a file to send. The action was only being run every
other scheduled time.
- Fixed problem with autorun and -f files where embedded quotes (") were
not being handled. Now, if a quote is right before or after whitespace
needs to be included in an argument, put two quotes ("").
- No longer allow @ sign in common name when generating user
certificates. This is considered an invalid character.
- Fixed problem in host advanced tab where using pulldown list would
corrupt property values.
- Fixed problem where license dialog wouldn't appear when VersaLex was
running as a service.
- Fixed problem with outbound data ports not showing up in the TCP/IP
Port Usage Report. Also corrected some pre-configured hosts passive port
numbers.
- Fixed intermittent shutdown problem when closing the GUI where the
VersaLex process would hang. This would lock the user out from starting
VersaLex again until he either killed the process or logged off/logged
in.
- Fixed problem parsing command line -f option file where whitespace
characters (space, tab, newline) were being incorrectly weeded out of
values within double quotes.
- Added an API fix such that a user included XML parser does not affect
the host file checksum calculation.
- Added a fix to allow dial-up share between sequential autosend actions
(within 15 seconds of each other).
- Added an option to wait for dial-up disconnect at the end of command
line. This is for stacked dial-up VersaLex command line processes.
- If VersaLex is installed as a Windows service, the JRE now included in
the install will no longer stop the service if the user displays the
VersaLex GUI and then logs off.
- When license becomes permanent, no longer check license serial number
stored in host file against current license serial number. This is in
case serial number is changed as part of issuing permanent key.
Bug Fixes - HTTP
----------------
- Fixed problem when a GET command was missing a destination, an
IndexOutOfBoundsException would be thrown.
Bug Fixes - FTP
--------------- FTP commands will no longer continue after user interruption or when
TerminateOnFail is set to true and an error is encountered.
- FTP host will now be considered incomplete if address/port is missing.
FTP mailbox will now be considered incomplete if username/password is not
supplied.
- All FTP exceptions are now captured in the system log file.
- Result log element is now logged for all commands, not just PUT and
GET.
- Commands are now validated prior to running.
- The [Reset] button now will work in all FTP panels.
- Moving the cursor in the commands text area no longer enables the
[Apply] button.
- Default directories now are applied correctly and are used in the file
chooser dialogs.
- A SYSTEM command no longer must be enclosed in quotes if it contains
embedded spaces.
- If specified, an Account value will now be applied at the end of the
login.
- Fixed problem where scheduling an action for "auto send" would not work
if the action didn't end in a PUT command.
Bug Fixes - AS2
--------------- Now handle text/plain body parts as input streams. Previously these
were not being properly written to the MDN file.
- Added better loop handling so we never hog the CPU during very long
loops.
- Added handling of the case where the response object was never created
when processing an error. Previously, when an exception occurred before
the response object was created, a null pointer exception was being
thrown when trying to send back a response to the user.
- Modified the logic used when parsing headers to determine if a header
is wrapped to the next line. Originally, we were checking for a line
ending in either a semi-colon or a comma. Lines that were ending in a
comma (i.e., the comma was part of the "value" field) were previously
incorrectly getting concatenated together. The comma is now only used as
a terminator for the Disposition-Notification-Options header.
- Reworked the mailbox logic so that an unknown trading partner
relationship is always correctly determined. This includes proper
traversal of all mailboxes to determine unique AS2-To/AS2-From
relationships.
- Corrected a problem where special characters in a file received by WalMart was causing a ParseExceptionError to be thrown when the same file is
sent back to Wal-Mart. Now, the file name is stripped of all special
characters and replaced with underscores before it is sent to the
recipient. An alternative is for the user to override the name of the
incoming file with a default file name (in the new "Default file name"
field) on the Host AS2 panel.
- Corrected logic in the MIME header parse method which previously was
unable to "unfold" headers that spanned across more than two lines.
- Added logic to not display the recipient port in the HTTP headers if it
is the default (-1).
*********************************
* RELEASE 2.0.11.2 - 2002/12/06 *
*********************************
Enhancements - Framework
------------------------ Added ability to specify RMI port number when using VersaLex as a
service/server. This is in case the default RMI port number is already in
use by another process.
- Can add any additional files to technical support bundle.
- Added logging of "Hint" messages (in magenta) for self-diagnostic
information. These generally follow logged exceptions and errors.
- Added -s "service,stop" option.
Enhancements - FTP
------------------ Fixed problem where reacting to intermediary responses rather than
final server response. This was causing, in some cases, VersaLex to think
that a file was successfully sent.
- SYSTEM and ExecuteOnFail commands now always wait for completion of the
created process before continuing. (However, the -WFC parameter is still
syntactically supported.)
- Removed deletion of local file when GET command fails. This is to
protect against deleting a local file which is being appended to and
already contains successfully received data.
- Changed default control and data channel timeouts to 2.5 minutes rather
than 15 minutes and fixed bug where modified values would always revert
back to defaults.
Bug Fixes - Framework
--------------------- Improved performance of tree when a large number of mailboxes/actions
exist for a host.
*********************************
* RELEASE 2.0.11.1 - 2002/12/02 *
*********************************
Bug Fixes - AS2
--------------- Fixed problem where if PUT failed, were still deleting source file
and/or copying source file to sentbox directory.
- Added sanity check when the "unsent" directory does not exist. In some
instances, were getting null pointer exceptions when the response checker
attempted to search the unsent directory but it didn't yet exist.
*******************************
* RELEASE 2.0.11 - 2002/11/08 *
*******************************
Enhancements - Framework
------------------------ Added Help>Links to be able to bring up www.cleo.com or
www.cleo.com/VersaLex/documentation or www.cleo.com/VersaLex/firewall
with the default desktop browser.
- Added [Browse...] button in Update License dialog so that the
"license_key.txt" file can be selected rather than cutting and pasting
contents.
- Added TCP/IP port usage report which shows, for direct connections, the
inbound and outbound ports. This report is intended for the firewall
administrator - it includes specific notes about each protocol and can be
saved as an HTML file.
Enhancements - FTP
------------------ Removed debug tab for enabling ftp/host specific log file, moved all
debug logging to one overall system debug log file.
Enhancements - HTTP
------------------- For DaimlerChrysler, added support for filenameformat parameter on
download. When this parameter is set to p, the files received are
prefixed with the EBMX document type.
Enhancements - AS2
------------------
- Added extra detail information when a "501 - Not Implemented" error is
logged in response to a GET request. This will let the user know that the
sender possibly tried to incorrectly access the server using a web
browser.
- Added the ability to have multiple ports defined (separated by commas)
for both HTTP and HTTP/s listeners. Port values in the XML file are now
stored internally as a string instead of an integer value and are parsed
when each instance of a listener is stopped and started.
- Added functionality to the listener to be able to process messages from
generic (non-AS2) HTTP hosts. The trigger is a "host=" parameter on HTTP
POST request line.
- Added an extra detail element line when a ConnectionTimeout occurs as a
"hint" to the user to try increasing the ConnectionTimeout value.
- Added "hint" text when the user gets an "Unknown Trading Relationship"
warning.
Bug Fixes - Framework
--------------------- Fixed problem where the license host ID was changing with daylight
savings if running on a Windows FAT file system.
- Updated the TCP/IP Port Usage report to have the correct link to the
Cleo website.
- Modified <Transfer> XML log element save transfer size in bytes rather
than kbytes. The GUI still displays size in kbytes and transfer rate in
kb/sec.
Bug Fixes - HTTP
---------------- For DaimlerChrysler, fixed problem where EBMX response text was not
being logged because the HTTP Content-Length header is missing.
Bug Fixes - AS2
--------------- Corrected a problem that would occur when the user would sort the MDN
display by a column. When sorted rows were deleted (based on the unsorted
row) but the unsorted index was already gone (usually one of the last
indexes), an IndexArrayOutOfBounds exception would be thrown (usually
silently). The user would not see this unless he was running in VersaLexc
mode. All he would see is that VersaLex was frozen and the selected rows
were not deleted or archived as expected and restart of VersaLex would be
necessary to get it to respond again.
*******************************
* RELEASE 2.0.10 - 2002/10/18 *
*******************************
Enhancements - Framework
------------------------
- Added the ability to [Send] the technical support zip file directory to
Cleo technical support via a Cleo web server.
- Added Help>Support>Bundle... for creating a technical support zip file
with needed debugging information.
- Added [Move License] option under Help>License... which allows a
temporary or permanent key to be moved to a different VersaLex install
location.
- Added check at startup that current user has minimum required
read/write permissions.
- Added API methods for certificate management.
Enhancements - HTTP
------------------- For WWW-Authentication, when sending a file, now send Authorization
header with first request rather than waiting for challenge. This is so
that if file is large, do not waste network traffic by sending file
twice.
- Added support for POST commands which are not Content-type:
multipart/form-data.
Enhancements - AS2
------------------ Removed the exception trace information as part of the result element
and made it a detail element which is displayed after the result element.
Trace messages contain the actual exceptions that were thrown and are no
longer wrapped layers deep in MessagingExceptions.
- Addition of the messageID to the XML log. This is useful for API users
who need to correlate messages to the messageID.
- Added password validity checking for the SSL certificate.
Bug Fixes - Framework
--------------------- Fixed problem where cloning an active FTP host was not retaining the
active FTP mode setting.
- Fixed problem where not able to set start time when adding an action to
the VersaLex scheduler. Work around is to click the <New> list item and
then click back to the start time being added.
- Fixed [...] browse button size on AIX, HP-UX, and SunOS.
- Fixed problems relative to using the VersaLex API under Jakarta Tomcat
4.
Bug Fixes - FTP
---------------
- Removed unwanted, repetitive log messages when action is scheduled to
run only if it has a file to send.
- Fixed timing problem where if LIST or NLST command returned back empty
quick enough, an endless loop condition resulted and the action would
never complete.
- Fixed problem when using IAIK SSL libraries (<Useiaik>True</Useiaik>),
where if mailbox is empty, NLST command would hang. Also removed bogus
setClientCredentials() exception.
- Like STOR and RETR commands, added setting of Data Socket Accept
Timeout for LIST and NLST commands.
- Fixed problem with modifications for EDS ELIT special request GET
*,S=???.
- If the "Delete Zero Length Files" option is on and such a file is
received, a warning result is now logged rather than a success result.
- If DNS lookup failure occurs, now logs UnknownHostException message.
- If the unique file names option is being created on a GET command, the
resulting unique file name is now logged rather than the original command
file name.
- SSL debug no longer prints to the console if a debug file is not being
generated
- Relative local filenames/paths now work on GET and PUT commands.
- Local file chooser in the FTP command wizard dialog now defaults to the
default inbox for GETs and the default outbox for PUTs. Also a relative
filename/path is generated, if possible, as a result of choosing a file
or directory.
- Removed use of AWT (GUI) event class for command line FTP, which was
causing runtime exceptions on SunOS 5.8 JRE 1.3.0.
Bug Fixes - HTTP
---------------- Fixed NullPointerException when PUT command has no HTTP headers.
Bug Fixes - AS2
--------------- Modified the logic for mdn browse button on the listener panel to be
platform independent. Previously this button looked good on Windows
platforms but was unusually small on Unix platforms.
- Added a check for a null pointer when the trust verification is done
within the SMimeSecurity constructor.
- Added a check to the Log class' localMessage parameter in the
incomingResult method. This check corrects a potential null pointer
exception problem.
- By default the "Store Raw Received Data" checkbox on the Advanced tab
of the Listener panel is no longer checked. Since this is an advanced
feature and could consume lots of disk space, users must intentionally
turn this feature on.
- Changed the method used to base64 encode the MIC value since the
original method was adding some extraneous characters to the beginning
and ending of the string which needed to be stripped out before it is
valid. The number characters added varied by platform. Now the base64 MIC
value should be consistent across all platforms.
- Corrected the logic so that if an exception is thrown while the
listener is starting up, all threads are stopped. This corrects a problem
where if the HTTPs listener throws an exception and the HTTP listener is
already started, when a second attempt is made to run the listeners after
corrections are made, a "socket bind error" for the HTTP listener is
logged.
- Added certificate expiration checking for all applicable certificates
when the listener is started. Currently just a warning message is logged
and the user is allowed to continue. Also, our listener does not
currently do any validity checking for expired or revoked certificates
while decrypting or validating signatures.
******************************
* RELEASE 2.0.9 - 2002/08/09 *
******************************
Enhancements - Framework
------------------------ Added ability to schedule an action to run whenever it has a file to
send.
- Added system support for FTP and HTTP proxy server firewalls.
- In Certificate Manager, when generating a self-signed certificate,
added ability to change # of months certificate is valid.
- Added ability to run VersaLex command line from a remote computer.
- Added -e and -d command line options to enable/disable actions. As a
result, the existing -e options to show errors was changed to -x.
- Now allow repeated -i, -e, -d, and -r options within one command line.
- A GEGXS IBC dial-up connection (to the same username) can now be shared
across parallel or sequentially run actions.
- Added Pending CA certificate support within Certificate Manager. This
allows for CA certificates to be either Trusted or Pending (untrusted).
- Added control keys in Log View window for Find (<Ctrl>F), Find Next
(F3), Copy (<Ctrl>C), and Select All (<Ctrl>A).
- Added ability to set X509 certificate key usage for signing and
encryption in Certificate Manager. Also now display any key usage
settings in view pane.
- Added right-click of Schedule status bar item to allow start and stop
of scheduler from main window.
- In addition to '\', now support '/' separator for path specified
following -r command line option.
Enhancements - FTP
------------------ Added threaded connect method.
- Added modifications for EDS ELIT special request GET *,S=???.
Enhancements - HTTP
------------------- For DaimlerChrysler, problems receiving a file that are specific to DCX
(file already purged, zip file invalid) are now treated as errors rather
than exceptions. This means that SET TerminateOnFail=True will now allow
an action to continue processing when these types of errors are
encountered.
- Added „Check server name‟ option for HTTP/S that verifies that the
server name in the received SSL server certificate matches the server
actually connected to.
- Changed DaimlerChryslerTest host back from HTTP to HTTPs.
- Increased the maximum allowed transportable file size from 2**31 to
2**63.
- Added Advanced tab at host level which allows default values for the
SET properties to be changed.
- Added Authenticate tab at mailbox level which allows either a basic or
digest username/password to be specified for WWW authentication.
- Improved initial HTTPs connection speed.
- Changed DaimlerChryslerTest host from HTTPs to HTTP.
- Now logs warning if sending 0-length file.
Enhancements - AS2
------------------ Added the AsyncResends parameter to the Listener Panel's Advanced tab.
- Added the ability to retain the raw data file and the header file when
an asynchronous transaction is initiated so that the transaction may be
resent in the event that it times out.
- Included the ability to resend transactions (via the listener) that
have timed out asynchronously.
- Changed the initial wait period (when the listener starts) from 60
seconds to 30 seconds so that checking of expired files occurs a bit more
quickly. Also, if an asynchronous .inf file does not have a matching .hdr
and .raw file, it is automatically marked as expired and is moved into
the mdn directory.
- Modified the sending process to place all MDN transactions in the
"PENDING" status after the transfer has completed. When the response is
received from the remote host, the record is then updated with the
correct completion status.
- Added formatting (i.e., quoting for ", spaces and \) of OriginalRecipient and Final-Recipient fields in the MDN which contain the AS2-To
field.
- Added the MIC algorithm to the "Sent MIC" string that is stored in the
.inf file and eventually appended to the end of the MDN.
- Added ability to remove all files from the temp directory when VersaLex
starts up.
- Added the ability to have separate signing and encryption certificates
and passwords (which are configured on the local listener panel).
Previously, only a "generic" certificate and password which was always
used for both signing and encryption was available.
- Added error checking to the signing certificate to check for its
existence and to validate that the certificate's password is correct.
- When sending messages, added logic so that the signing certificate
existence and validity is not checked when a signed message is not
requested. Likewise, when an encrypted message is not requested, the
recipient's encryption certificate is not checked for existence or
validity.
- When sending certificates via the automated "Send Certificates"
feature, if the local signing certificate is different than the local
encryption certificate, both signing and encryption certificates will now
be sent to the remote host.
- Added logging of the MDN file name as part of the result element for
synchronous MDNs so that applications that use the API can access the MDN
file name in the log.
- Added the ability to send messages with a size greater that 2 ^ 31
bytes.
- Addition of real-time updates of MDNs on the listener panel.
- Added support for compressed base64-encoded messages.
- Addition of the archive and delete operation on the MDN list panel.
- Modified the "From:" header field returned when an MDN is sent via
SMTP. Previously, the "From:" field was contrived as VersaLex'machine_name'@domain_name but there was a vendor in the Drummond Test
that could not handle fake email addresses. To work around this problem,
changed the "From" header to be the AdminEmailAddress (which is
configurable on the Listener Panel) and set the personal name of the
address to be "VersaLex at 'machine_name'". Also changed the subject
which was previously "Your requested MDN" to "MDN for message
'message_ID'".
- Added the ability to differentiate signature authentication errors from
signature message hash errors and so they can be reported with different
error dispositions in the MDN.
- Corrected an issue where populating the MDN table while selecting the
Listener panel caused a lag in the display. This was because the MDN
panel was being populated at that time. Instead, the MDN tab is only
populated when the "MDNs" tab is selected.
- Added better result logging.
- Modified the Listener panel to not display the MDNs tab when it's on
the preconfigured side.
- Addition of the Advanced Property tab at the host and the localhost
levels.
- Added the ability of the system to differentiate between expired and
SMTP MDNs.
- Added "Compressed Request" to the list of parameters tracked in the
.inf file and eventually transferred to the MDN.
- Added more detailed log information about the incoming message
including whether it is signed, encrypted and compressed. (This may be
turned on/off via the Advanced Tab.)
- Added a new MDN tab on the listener panel. Currently the contents of
any MDN may be displayed via this panel by either right-clicking or
double-clicking an MDN element. Eventually, the ability to archive and
delete MDNs through this panel will also be available.
- Added and/or improved timeout checking for both synchronous and
asynchronous responses. For asynchronous responses, a separate thread
periodically checks the unsent directory for all expired files that have
not yet received an asynchronous response. It logs an error and moves the
file to the MDN directory. Currently the expiration time is hard-coded
for 30 minutes, i.e., files older than 30 minutes will trigger an
"expiration" log error.
- Improved the logging of sent and received messages.
- The MDN file is now set to read-only after it is saved. This keeps
users from accidentally deleting files in the mdn folder. Eventually the
ability to delete MDNs will be available through the MDN panel on the
Listener.
- Improved error reporting logic for MDNs that return an error
disposition.
- Added key usage validation for the recipient encryption certs after
they are selected.
- Added original message tracking information to the end of the MDN. This
information is used on the MDN List panel.
- Created a new tracking information file ('messageID'.inf) for all
messages in the unsent directory. MIC information is now included in this
file (if it was computed) and the .mic file has been replaced with this
new file.
- Compression of files is now available for "public consumption".
Although compression hasn‟t been fully interoperability tested, it has
been informally tested with several vendors participating in the tests.
- Added the ability to parse and store signed certs-only messages.
- Modified asynchronous response messages to add a distinction for
processing warning messages vs. processing error messages from the remote
host.
Bug Fixes - Framework
--------------------- Fixed bug in 2.0.08 engineering release where indexed properties were
not being properly reset when using the VersaLexc -t command line option.
This only affected use of the DaimlerChrysler host.
- Fixed problem displaying Help>License dialog when VersaLex running as a
service or thru PCAnywhere.
- Fixed problem running on standalone (non-networked) computer.
- Improved startup speed.
- Command line -r option no longer case sensitive.
- Fixed problem automatically archiving log file on Windows 95/98.
- Reduced RAM usage.
- Fixed autorun timing problem when trying to parse an XML host file.
- Fixed licensing problem where VersaLex installed on shared drive, and
both Windows 95/98 and Windows NT/2K/XP computers access the share.
- Only pull in .xml files now from the hosts\ and hosts\preconfigured\
directories.
Bug Fixes - FTP
--------------- Added code to light up Apply button when wizard is used.
- Added XML message for case where no files to PUT or GET.
- Fixed bug where PUT -DEL filespec was deleting from "outbox" before
moving to "sent" folder.
Bug Fixes - HTTP
---------------- -t "<Mailbox><Parameter>command name=value" and -t
"<Mailbox><Header>command name=value" no longer reset all other
parameters and headers values, but now just affect the matching command
and name value.
- Fixed problem with Bank of America host where requested ASCII download
on Windows was not formatted correctly.
- Improved initial HTTPs connection speed.
- Fixed problem parsing HTTP directory for available files when not all
lines in listing specify a file.
- If an HTTP proxy firewall is specified, no longer incorrectly require a
proxy firewall account (username and password).
- Now strip off surrounding quotes, if present, in SYSTEM command before
trying to create process.
Bug Fixes - AS2
--------------- Changed the timeout error to a Result element when an async timeout is
logged via the listener.
- Added handling for conditions where the MDN is received after the MDN
has already timed out (and has been moved from the unsent directory to
the mdn directory).
- Added the ability to parse the Sent MIC string by stripping out the
sent MIC which is now followed by ", " and the MIC algorithm. Older MDNs
which may contain the sent MIC value without the algorithm are also
correctly parsed.
- Added checking of the "Last-Status" tag in unsent messages so that the
status of errored transactions are correctly updated in the MDN List
panel.
- Corrected logic so AS2-To and AS2-From names that contain special
characters, backslashes, spaces, etc., are always correctly escaped when
sent and properly parsed when received.
- Corrected problem where we weren't able to properly open certificates
from a specific vendor because of encoding issues.
- Corrected a problem where files received without an extension were
causing an exception in the getFileVersions() method. (We now properly
handle files with or without extensions.)
- Modified the building of the name of the recipient certificate file to
have an absolute path when an action is run. (This is necessary for
proper operation via the API.)
- Added cleanup (i.e., removal) of lingering files in the unsent
directory upon startup.
- Added better handling of compression failures and the proper setting of
the "decompression-failure" disposition in the MDN.
- Corrected some problems with parsing messageIDs which contain special
characters.
- Corrected a problem where the certificate was not being set on the host
panel after it was selected because the keyUsage field was null. When the
keyUsage field does not exist, we now assume that the certificate can be
used for both signing and encryption.
- After an asynchronous SMTP message is ack'ed by the server, the cached
file is now moved from the unsent folder to the mdn folder.
- Removed most of the stack traces that are stored in the MDN and
replaced them with short, user-friendly messages. In most cases, this is
enough information and the stack trace exposes our module names, which
could potentially be insecure.
- Improved performance of the asynchronous message handling for all types
of messages. The "200 OK" is always sent back immediately after the
message is fully received and the MDN is then returned once the message
is fully processed.
- Improved the processing of compressed messages to always use the temp
directory for intermediate processing so memory errors do not occur once
the message is fully inflated.
- When sending an asynchronous SMTP MDN, the "From:" field in the HTTP
header is now in the form: VersaLex-'machine-name'@domain-name.
Previously the "from" header was being defined as VersaLex@machine-name
but some mail servers bounce emails that don't come from a valid domainname. The domain-name is taken from the "Admin Email Address" on the
listener panel.
- Changed the message that is reported when an error is included as part
of an MDN disposition. The message no longer says that a MIC was not
computed because sometimes other vendors compute one anyway.
- Added the stack trace information to the log message (displayed to the
user) when there is an MDN archival error. Previously the user just
received the message "MDN Archival Error!" with no explanation of why the
error occurred.
- Corrected a problem when a certificate that does not yet exist in the
listener was added to the list of trusted certificates. Non-existent
certs were causing a NullPointerException.
- Added case-insensitivity for processing content types when parsing
large files. This was an error discovered during interop testing where a
particular vendor was setting content types to uppercase and we were only
checking for lower case.
- Corrected errors in the messageID parsing; angle brackets could be
embedded in the message and need to be removed throughout the Message-ID.
- Corrected parsing of the Disposition-Notification-Options string to
always get the correct micalg value. (A micalg value of rsa-sha1 was not
properly being interpreted as sha1 and instead md5 was being used.)
- Removed the Message-ID header from the synchronous HTTP response. It is
unnecessary since the connection is still open.
- There was a problem where closing an SSL output stream would throw an
exception. Somewhere in the ssl classes the stream is closed so it
doesn't need to be done again. However the http output stream (which uses
the same base code) does need to be closed. To correct this, added a
try/catch block around the close method and ignore any exceptions that
are thrown.
- Corrected a problem where MDN disposition was being reported as
failed/failed instead of just "failed". Also, the MIC value should not be
reported on error.
******************************
* RELEASE 2.0.6 - 2002/05/20 *
******************************
Enhancements - Framework
------------------------ Added support for GEGXS IBC dialer.
- When node is reported as incomplete (host, mailbox, or action), added
information about what is missing.
- Added autorun feature which allows commandline parameters in a file to
be dropped into the autorun/ directory.
- Added customizable control of messaging and logging levels.
- In the log file (but not the log messages), repeated command and file
attributes in the result element to allow easier parsing of the results
in the log file.
- Added detailed licensing info to GUI and command line (-s version).
- Added -f "option file path" option for command line VersaLex.
allows (lengthy) options to be specified in a separate file.
This
- Added automatic system log file archiving - default options will
archive the log file to 'logs\archive\' once it reaches 5 mbytes. User
can also manually archive. Even though the archived log files are stored
in zip file format, the VersaLex log viewer can still be used to view the
archived log events.
- In order to make a filename unique, added support for affixing any
starting numeric string (that gets incremented automatically) either
before or after the dot.
- In the Hosts folder in the preconfigured tree, added display of the
'last modified' date for each preconfigured host. In the Hosts folder in
the active tree, the original preconfigured host's 'last modified' date
is displayed as the 'preconfigured' date.
- When running VersaLex as a service ('-s Service' option), VersaLex now
automatically supports server/client model.
- Expanded VersaLex scheduling capabilities to allow multiple times
ranges per day.
- Added <End> log element when action stops running.
- Added support for server/client model.
- Added VersaLex API.
- Added support for multiple dial-up phonebook entries.
- Added ability to select multiple lines in the messages pane and
messages tab and copy to the system clipboard.
- On program exit, now allow all pending configuration changes to be
applied or reset.
Enhancements - FTP
------------------ Added WizSet class Wizard panel for the SET command.
- Added FileListParseMethod for parsing files returned by Tradanet
server.
- Implemented copy of files to Sentbox.
- Added GET -UNI * uniquefile functionality. All wildcard GET operations
with a destination file name that use the Store As Unique file (-UNI)
option will retrieve all files that match the wildcard and assign unique
local names based on the destination file name.
- Added functionality for Sent Folder. All files that are successfully
sent will be copied to the Sent Folder.
- Added PrePutCommand property. This property is empty by default.
- Added TerminateOnFail property. This property is set to TRUE by
default.
- Added ExecuteOnFail property. This property executes a System Command
when there is a failure in the execution of the action. Example "SET
ExecuteOnFail=notify.bat".
- Added ls command to do NLST followed by a list of parameters.
- Added hidden Host Level property to force the use of LIST for wildcard
GET operations (<Usenlst>False</Usenlst>). If this property is not
present in the host XML file NLST will be used by default. If the
property is present and set to False, LIST will be used.
- Added hidden property to disable TLS for IBM Information Exchange Hosts
(<Disabletlsv1>False</Disabletlsv1>).
- Added Site command to wizard.
Enhancements - HTTP
------------------- Enhanced HTTP "cookie" management such that if multiple, each CONNECT
command within an action discards cookies so that less likely to have a
cookie timeout.
- Only one result element is now logged per command or file. This should
allow easier parsing of the results in the log file.
- Added local/remote port log when first connecting.
- Added HTTP request and response log elements.
- Added append option (-APE) to HTTP GET action commands.
- Added a SET action command for changing the following properties and
defaults:
TerminateOnFail=True
ExecuteOnFail=
ConnectionTimeout=60 (seconds)
CommandRetries=0
- CONNECT command will now not execute if host commands that follow are
going to be skipped.
Enhancements - AS2
------------------ Added a "Send Certificates" button to the host panel which will allow
the ability to send user (i.e., signing/encryption) and/or the SSL
certificate to the remote host. At the remote host (VersaLex
installations only) the transferred certificate is stored in the
certs\pending folder. (Eventually hooks will be added to the Certificate
Manager to allow the user to accept pending certificates and make them
active.)
- Added the ability to accept or deny incoming certificates. Currently
this ability is hard-coded for "accept". Eventually this option will be
modifiable via a "Properties" panel for the "Local Listener".
- Added processing for unrecoverable errors received from the remote
host. Currently, response codes received from the remote host between 300
- 499 are defined as unrecoverable errors (and will require user
intervention). Messages with response codes greater than or equal to 500
will be eligible for retransmission, if desired.
- Added the ability to send a copy of the HTTP or HTTPs received MDN to
the desired recipient when the "Forward MDN to Email" box is checked.
- Added the new "Admin Email Address" field to the Listener panel.
- Split the AS2 Listener panel data into two tabs: AS2 and HTTP. Added
new fields to specify the SSL Sever certificate alias and password. If
the HTTPs port is enabled, these fields must be filled in. Also added new
checkbox to the HTTP tab to allow for client-side authentication.
- Added retry delays for sending messages. This will be used when there
is a "Connection refused" error when sending the message to the remote
host or an HTTP response code > 500.
- Added an "AS2-Version" constant for HTTP headers as per new Drummond
Group specification that this header be included for backward
compatibility.
- For out-going messages, added quoting to the AS2-To and AS2-From field
that contains embedded spaces, backslashes or double quotes.
- Added the ability to receive and process "certs-only" messages so
trading partners may send their certificates over the HTTP connection.
- Reverted back to case-sensitivity for processing of AS2-To and AS-From
fields as per decision by Drummond Group participants.
- Added better stack trace logging and added the ability to include the
stack trace in the MDN upon failure.
- Added better logging of incoming messages to include the remote IP
address, the local/remote port values and the AS2-To/AS2-From header
values. Also added logging of sending back synchronous and asynchronous
acknowledgments.
- Added processing for unknown AS2-To/AS2-From partner relationships.
Currently option #1 (below) is the default value and is hard-coded as the
default value. Eventually, the user will be able to select from any of
the following options:
UNKNOWN_SAVE - store the message in the LostAndFound folder, return an
*unsigned* MDN with an explanation of the error if the sender requested
an MDN.
UNKNOWN_IGNORE - return "200 OK" with no explanation of the error even if
the sender requested an MDN. The input stream is flushed and ignored.
UNKNOWN_REJECT - disconnect from the sender before completing reception
of the incoming message.
- Added the filename and host to the human-readable portion of the MDN.
- When returning an MDN, if the sender did not set the "Date:" HTTP
header, the AS2 Listener will generate a date and return it in the MDN.
- Included better logging of incoming messages and the status of received
MDNs.
- Included better handling/parsing of HTTP message headers.
- Included better handling of HTTP channel closure.
- Addition/usage of ConnectionTimeout and CommandRetries which can be set
from the properties (SET) command on the Action Panel.
- Added processing for signatures that do not contain embedded
certificates.
- Added the ability to receive and parse large (> 2.3mb) files.
- Significantly improved the performance of sending and receiving most
large files.
- Added ability for transferred files to retain their original file name.
The 'Overwrite duplicate filenames' checkbox on the host panel allows the
user to decide whether file versioning is to be used.
Bug Fixes - Framework
--------------------- Fixed host alias problem when cloning and activating multiple hosts in
one session.
- Fixed problem skipping days when multiple day ranges for an action in
the schedule.
- Fixed problem where renaming host file when making update via command
line.
- Fixed licensing problem in Windows 95/98 caused by daylight savings
time changes.
- Fixed problem where running as a service was dependent on the schedule
being set to run automatically at startup.
- Added fix for allowing two trusted CA certificates to have the same
subject DNS.
- Fixed problem selecting a server certificate (for AS2) where the
certificates filename was always being cast to all lowercase letters.
- Fixed problem in the API where importing a host already in the hosts\
directory was deleting the host.
- Applied fix for intermittent problem where active host XML files were
being set to zero-length.
- Fixed problem where command line VersaLex was trying to create GUI
components.
- Fixed a bug where command syntax errors just entered were dialoged
twice when [Run] was clicked.
- Fixed problem where a HOST ID error from a "permkey.dat" file was
causing a loop condition.
- Now check validity of action when [Apply] in addition to [Run].
- Fixed problem selecting a phonebook entry when running off a network
drive.
- For command line, now check that property name specified in '-t' option
exists.
- For command line, modifying properties using '-t' option now updates
the host's 'modified' and 'by' attributes.
- For HTTP commands, now validate the parameter/header referenced in
action command exists.
- Fixed problem creating new mailboxes/actions/trading partners in empty
folders.
- In certificate manager, added more definitive error dialog message when
importing a PKCS12 certificate/private key and private key password
entered is incorrect.
- Fixed problem where alias name with ending spaces was causing tree
errors.
- Fixed problems on Sun platform where command line logging was
generating interrupted IO exceptions and where certificate manager was
not always logging to the correct path.
- Cut program startup time by half.
Bug Fixes - FTP
--------------- Added fix for actions that contain lines that start with one or more
spaces.
- Fixed getByName/disableAddressResolution property mismatch.
- Fixed problem where PrePutCommand was being executed when set to
"none".
- Fixed null event pointer bug in DIR function.
- Fixed wizard problem with inserting commands at end of script instead
of at current cursor location.
- Blocked display of password in log.
- Fixed delete for delete after GET option ("GET -DEL filename").
- Added code to send "Bytes Transferred" message at one second intervals
instead of every 8092 bytes. This seems to have substantially improved
file transfer rates.
- Wizard now automatically adds quotes around paths that contain spaces.
- Wizard no longer strips quotes from commands after editing.
- Client certificate password are now encoded before being stored in host
XML file. Changed wizard coffee cup icon to turquoise people icon.
- Fixed Retry counts/timeouts.
Bug Fixes - HTTP
---------------- Fixed problem with DaimlerChrysler EBMX where getting files was
returning an error when no documents were found.
- Fixed problem where HTTP session was not retaining the active "cookie"
if the client computer‟s time/date or time zone was off - this was
causing a problem for hosts which require a login first before gets and
puts
- Fixed problem where editing whole parameters or headers and clicking
[Apply] before hitting [Enter] was causing parameter/header names to be
inappropriately updated in addition to values.
- Fixed problem checking where validation of action commands were failing
incorrectly when an optional parameter/header was placed in the command.
- Fixed bug where a specified HTTP proxy firewall was not being used.
- GET command now allows a single filename when using the -DIR option IF
the -UNI option is also set.
- Fixed problem where if action contained all SYSTEM commands, action
would never be allowed to run.
- If a dial-up host, now wait to dial up until a host command needs to be
executed.
Bug Fixes - AS2
--------------- Corrected a problem where the signature verification of some messages
would fail the first time (when VersaLex is first started) but then is OK
after that.
- Added logic when sending encrypted messages to always encrypt with the
leaf certificate and not with the root certificate. Also removed the
sender as a recipient of encrypted messages. (These issues were uncovered
during Drummond Group Interop testing.)
- Added processing for the case where an MDN is not returned when it is
expected.
- Since our client / server implementation is currently designed to only
handle one message per request, persistent connections are not supported.
To comply with the HTTP 1.1 protocol, added the HTTP header "Connection:
close" to all responses.
- Added additional checking to the messageID string so that all
backslashes, double quotes and spaces are replaced with underscores for
correct file naming.
- Added modifications to better handle large signed binary messages where
the binary content does not contain embedded line breaks.
- Added modifications to better handle erroneous incoming messages.
- Added case insensitivity to the AS2-To/AS2-From header tags which are
used to determine the appropriate recipient inbox.
- Added a new check to force the user to have a remote encryption
certificate only if the user is requesting an encrypted message,
otherwise the "Recipient's Encryption Certificate" field on the AS2 host
panel may be left blank.
- Removed the local certificate alias and password as necessary variables
for MDN processing. They are not needed and when not filled in on the
Listener Panel caused a null pointer exception.
- Added error checking for the condition where a certificate has not been
specified on the listener panel. This is a valid case when the user is
sending an unsigned message via HTTP and requesting a synchronous reply
(or no reply at all).
- Removed the requirement for client-side authentication during SSL
negotiation when receiving messages via HTTPS.
- Corrected a problem where the cache directory (which is used to store a
copy of the headers, raw content and message integrity check value until
the file is successfully sent) was not created by the AS2 application if
it did not exist.
- Corrected problems where signed binary and signed XML files received by
non-VersaLex clients (e.g., the Cyclone Interchange Server) were not
being properly canonicalized and so signature verification would fail.
Download