FLAM® Issue Tracker

FL5 - Change Log

FL5 - 5.1.25 (Released 2021-06-14) View Issues ]
==================================


5.1.25-30880

 * Fix block change issue in name space support in TABXML
 ** In certain cases the URI was lost after a block border
 ** Then the match of XML tags failed and an unexpected format error occurs
 * Prevent memory gap for XML element list if namespace support used
 * Improve error messages in table support (more data at error position)
 * Print statistics about literal cache usage to log (to adjust size (see below) for table support)
 * Add new environment variable (FL_LITERAL_CACHE_SIZE) to define size of hash table for literal cache
 ** In table support using XML we recommend to increase the size from default 12 to 16
 ** e.g. FL_LITERAL_CACHE_SIZE=16
 * Correct QUIET and SILENT for built-in functions of FLCL
 * Add anti virus scanning check (EICAR) to system information (flcl info get.system)

5.1.25-30818

 * Add namespace handling for XML <-> table transformations
 ** defaults(...xmlns(prefix='ns0' uri='http://www.w3.org/1999/xhtml')...)
 ** Propagate and reset header values over row borders (this was a general bug)
 ** Correct reset logic for optional values inside of a transaction
 *** If different row definitions used, which starts with the same path, the header values must set and reset for each of the tables
 * Include level 0 for flat XML files when initializing a table
 ** Supports more than one XML format in one file
 ** Improve documentation for XML <-> tables conversions
 * Add new CLIST 'FLSYS' to easily determine system information for the use of FLAM on ISPF
 * Fixed hardware crypto support (AES) on zLinux
 * Fixed BUS_ERROR on SPARC when converting from single byte character sets to UTF-16/32
 * When writing via fio.blk/rec/txt(), the modification time can be copied from the original file by setting modtime=ORIGINAL
 * SHA-3 hash calculation now uses CPACF instructions on z/OS / USS if available
 * Use new libxz and liblzma

5.1.25-30684

 * New internal crypto/hash library with reduced overhead and more flexibility
 ** SHA-3 support added (via OpenSSL, hardware support is work-in-progress)
 ** Optimized CRC-32 and CRC-32C software implementations, faster by factor 5 or more (depending on CPU)
 ** CRC-32C makes use of SSE4.2 hardware acceleration where available (x86 CPUs)
 *** Faster by up to factor 30 (>10GiB/s) compared to old software implementation
 ** Fixed CRC-64-JONES implementation (little endian platforms produced incorrect results)
 ** Fixed CRC-40-GSM (produced incorrect results)
 ** Log now shows whether hardware, OpenSSL or custom software implementation of cipher or hash algorithm is used
 ** Random number generator (RNG) can fail if the operating system offers no source of entropy
 *** Some PGP operations may fail as a result if no entropy is available
 *** Environment variable FL_ALLOW_LOW_ENTROPY can be set to allow a low entropy source which leads to weak encryption
 * OpenSSL updated to 1.1.1j
 ** OpenSSL is no longer linked statically, resulting in a significant reduction of the binary size
 * libexpat updated to 2.4.1
 ** Adds protection against billion laughs attacks (CVE-2013-0340/CWE-776) and other fixes
 * LZMA implementation updated to version 19.00 from the LZMA SDK
 * Improved tracing capabilities of FLAMSTC, FLAM subtask and FLUC subsystem
 * Use application-specific runtime option defaults on z/OS to prevent stack overflows and heap storage problems
 ** See hlq.FLAM.SRCLIB(CEEUOPTx) for the used options, DD:CEEOPTS can still be used for redefinition
 * Improved handling of SSH public key authentication with custom key files
 ** In previous versions, both a public and private key had to be specified for public key authentication with a custom key
 ** Now only the private key is mandatory
 ** The public key is computed from the private key if only a private key is specified via net.ssh() and the file <privatekeypath>.pub does not exist
 ** Security implication: The private key must be decrypted even if the server rejects the public key
 ** Documentation for net.ssh() regarding public key authentication was updated
 * Significant performance increase of character conversion when converting from single byte character set or from UTF-8
 ** If MODE=SUB/IDT/XLT used and all possible 256 single byte always converted to one, two or four bytes
 ** and if the report file not used, then special mapping functions are used to reduce CPU by factor 4
 ** To ignore non convertible character or to stop at a wrong character (default behavior) or to report manipulations a special handling per byte is still done
 ** but in all other cases if the output length constant the special faster functions to write always 1, 2 or 4 bytes are used
 ** The change includes also support for UCS1 like UTF8 but with invalid codepoints greater 65535
 *** Till 5.1.25 UCS1 was implemented as UTF8 because the ICU package (used to generate our code) does the same
 ** To use the optimisation also for UTF16/32 the BOM character are now the limit for conversion table pre-caculation
 *** For codepoints greater BOM the expansion of the mapping table to 2 mega of entries is done
 *** and the ignore of BOM and the character for nothing will result in the old handling per character in this case
 * Increased performance when binary formatting is used (FMT.BIN()) if no attribute handling is required
 * Improved I/O performance
 ** Don't use minimal block size at static allocation if no block size was specified
 ** Reduced CPU consumption of record I/O code (including FIO.DAT())
 * Improved determination of default space on z/OS if fixed record format used to allocate space for padding bytes
 ** And multiply the expansion if a record length used which is greater than the original record length
 * Statistics output now provides minimum and maximum length of processed records in record I/O
 * Extended string notation (e.g. a'xyz' for ASCII string, x'F1A5' for hex values) is now supported for any string by CLP
 ** The local character to ASCII/EBCDIC and hex to binary conversion can also be used for zero terminated strings
 ** If the string not mark as binary a binary zero inside the strings is not allowed
 * Support for record formats TXT-ASA/MCC and DLM-ASA/MCC added
 ** Required to copy list datasets written to USS pathnames (e.g. compile and link) from USS to MVS datasets
 ** Few tools used on USS writes ASA/MCC print control character to text files,
 ** to handle these text files correctly the ASA/MCC bytes must be read as attribute from the delimited record
 * Improve install.txt for z/OS (FLAMSTC + recommendation for LLA caching)
 ** STEPLIB I/O (3500 EXCPs) for the FL5CORE dynamic link library can be eliminated by LLA cashing
 * If no record format is specified and length format is defined in record I/O, then default record format will be VAR
 * Check for hardware implementation when using PGP with compression (better logging if ZEDC used)
 * Support flat XML formats with only one root level in table support
 ** Prevent error "No initial root tag was defined (column definition without a root)"
 ** Don't print additional root elements ('table' and/or 'row') if root was given
 * Support input output name mapping for file name in hash files
 ** Control over the file names of GNU and BSD formats
 ** Use the target file name at write as default
 * Reduce usage of raw run (without pre-calculation) for character conversion to increase performance
 * New FLAMSTC (FLZSTC) with ENQ protection of all resources and framework to run authorized functions (IFAUSAGE, SML-Logging, IDCAMS(GDG-Base), ...)
 ** At startup the FLAMSTC locks now all resources to prevent usage before anything is established
 ** All the users take care of these locks and are in wait state till anything is established
 ** No wait required anymore before the FLAMSTC can be used
 * Reduce memory consumption in table support (compress and reorg structures on column level)

 * Bugfixes
 ** Prevent segmentation fault (0C4) of subtask (FLZSRV) in FLUC subsystem if vdFcrPut failed (if open of file not possible) in vdFcrFlu
 *** This issue will be recovered by FLAMSTC but the SYSLOG messages are not nice
 ** Prevent wrong instruction (0C1) in PCR routine of zIIP support based on missing resources if connect to WLM failed
 *** Use ASCBJBNS/NI as WLM Subsystem Name
 *** This issue is also recovered by the FLAMSTC it self
 ** Libssh was accidentally linked statically in version 5.1.24-29911 on z/OS
 ** Correct close of CLP in FLZSVR (vdClpChk() function) on z/OS (used for FLUC subsystem)
 *** Depending of LE configuration the dynamic allocated memory could initialized
 *** and in this case the offsets for the read/write and format strings are zero
 *** this could result in an interface error at open of the FLUC record interface
 ** Ensure that FCRGTN/fcbgtn returns the table name defined by FCRSTN/fcbstn
 *** The wrong table name was given after a FCRSTN followed by FCRGTN
 ** Improve handling of trailer data in ZIP archives
 *** Support compressed data shorter then trailer length
 *** Prevent error which request bigger block size
 ** Windows only: When opening a file via SSH without specifying a path (i.e. ssh://user@host/filename) the filename
    was incorrectly converted to .\filename which would lead to a file not found error from the server
 ** Fix character to ASCII/EBCDIC conversion for non-Latin characters
 ** Don't remove whitespace after suppress padding in record I/O
 *** Only use uiPadLen at read if uiPadLen is defined as parameter
 *** Ensure as default suppression of space or binary zero
 ** Use known record length if text method REC is used at text formatting
 ** Suppress padding before writing the delimiter in record I/O
 ** Correct mapping of record format 'var_4b' of FLAM command for FLUC
 *** Use length format 'HOST' instead of 'INTEGER'
 ** Take over known character set at record oriented write
 ** Correct handling of headlines (CSV) in table support
 *** Don't read second line as head line if values identical with the headline
 ** Fix wrong handling of '-' for optional when reading in XML table support
 ** Fix handling of surrogates in UTF-16 encodings


- 0001015: [4. Element, Byte, Record or other API] Names space support for XML format in table support (Falk Reichbott) - resolved.
- 0000999: [1.1 FLCL] Support SHA3 over CPACF and add support for RipeMD 256 and 320 in CryCore (Falk Reichbott) - resolved.
- 0001021: [1.1 FLCL] Support open formats with ASA and MCC print control character to copy list and lmaps from USS to MVS (Falk Reichbott) - resolved.
- 0001020: [1.1 FLCL] allocated space for FB files too small (Falk Reichbott) - resolved.

[4 issues]


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker