* Fix charset issue when appending a new key to known_hosts on EBCDIC systems
** Key type was written in ASCII
* Correct read of key entries in known host after damaged or unsupported entries
* Reduce stack size for zEDC-Support from 128 to 64KiB on z/OS
* Fix error at delete of PGP keys for PKCS#11 devices
5.1.21-26329
* Print SAF control information in system info (flcl info get.system)
* Write records to stderr and stdout files in command processing if text
** Will also result in CRLF(0D0A) instead of LF(0A) as delimiter on Windows
* Write of blocks grater then 256KiB per SSH
** No "remote channel is closed" error anymore in such case
* Support complex PGP certificates at import
** Containing Notation Data, Embedded Signature and other non supported certificate content
** Use a blackbox to passthrough such content if a certificate store used
* Support mapping of codepoints to nothing through user table (*0D=)
* Add load module FCURSN to z/OS installation package
* Fix wrong handling of DD and pathnames at write of simple files on z/OS
* Add FLM4UP load module and FLM4UPLB DLL to z/OS package
** Remove wrong DLL FLAM4UP from load on z/OS
* Add main HTML page for whole documentation on Unix an Windows
* Correct and improve IO-ABEND handling on z/OS
** If VSAM record not found or EOF reached the VSAM I/O-ABEND is ignored also if fill bytes not 0x00
* Use relative path for SAF check if absolute path not available
5.1.21-26124
* Improved performance in main code paths (FIO, CNV and FMT components) due to a reduced call stack
* Byte interface function fcbnewmbr() is now avaible as method newMember() in Java Byte Interface
* A new example in the Java byte interface JAR file demonstrates how to call FLCL from Java
** Includes an example for launching the native z/OS variant of FLCL using the TSO command on USS
* Property files containing unknown property names are no longer rejected in FLM4UP/FLAM4 utility
* CX8/VR8 encryption support in FIO.FL4 component
* Default physical block size for non-blocked record formats is now the record length (block=record)
* Improved record handling automatism for FLAMFILEs
* Improved automatism in record handling if control character replacement is used
** Switch from binary to text processing
** Switch from FBA/M VBA/M to FB/VB record format
** Adjust all corresponding data attributes
** The correct padding character is used if the character set is known
* If a record-oriented file with print control characters is written
and a host record format without print control characters is defined (e.g. FB/VB)
and the print control is retained then the ASA or MCC bit is activated (e.g. FBA/VBA)
for the defined host record format
* Added support for CHRMODE and SKIPEQUAL parameters in read.char/text/record/flam4/auto()
** SKIPEQUAL switch prevents UTF-8 to UTF-8 conversions (i.e. invalid characters are not detected)
* SAF checking of URLs is done fully qualified
* Bugfixes:
** Insert handling for EXK10 user exit in FL5 components fixed (FIO.REC())
** Fixed uninitialized function code in old FLAMUP for EXK/D10 user exits
** Fixed wrong behavior if GDG(+1) used to create a new generation (don't create PO anymore)
*** Support for (+0) and (-0) as valid GDG (same as (0))
*** PO-GDGs are only supported if organization PDS or LIB is set
** Fixed OUTPATH usage (correct concatenation of output path and filename)
** Allocation error fixed that was introduced in previous build (Support FIOURL SAF request also for all help files (reports, command outputs, ...))
*** Help output data set names are allocated relative prefixed with an additional SYSUID
5.1.21-25699
* Improved local pre and post command execution
** Uses OS-specific implementations for improved performance and process control
** Execution time can be limited by setting a timeout (except for z/OS)
*** On timeout, the process and its children are killed (except for z/OS and SSH)
* Add FLM4UP documentation to z/OS package
* Use 'type=memory(hiperspace)' for temporary file on z/OS by default
* Support FIOURL SAF request also for all help files (reports, command outputs, ...)
* Correct handling of remaining rest of output in command processing
* Correct new line handling and support '\r' (old Mac) if command output written to log
* Put connection in front of remote commands for SAF resource
** Gives control about local and remote commands
** and where the remote command can be executed
* Support EBCDIC new line to line feed handling for internal string conversions
* Support identity mapping as error handling at character conversion in each case
* Add transliteration as error handling option (abbreviation for MODE=IGNORE SYSTAB=ICONV)
* Add character conversion mode parameter to command pre- and post-processing (CHRMODE)
** Gives control about error handling for damaged or non convertible characters
** Ensures character conversion (character conversion if CCSID are equal)
* Fix dynamic allocation if multiple member (a lot of files from USS) written to a less amount of PDS(E)'s (on ZOS)
** Correct handling of RENEW parameter in this case also (only delete the PO if it first time written)
* Print member count of a PDS(E) in info list and correct file organization (library for PDSE instead of PDS)
* Correct dump processing for memory and temporary files (add always a new line like it was done for streams)
* Fix memory leak in FLAM4 component FLMFNUC if MODE=NDC was used
* Support EXD10/K10/D20/K20 exists in FLAM command of FLCL
* Add FL4.CONTROL switch for EXD10/K10/D20/K20 and USERIO to SAF support
* Fix recovery loop if enclave token became invalid touring mass parallel zIIP SRB processing
* Correct and review documentation (mainly for command processing)
ATTENTION: With version 5.1.21 list of files are supported as input. To
be backwards-compatible with FLAM4, these files can be comma-separated
from each other. This requires support for arrays after a simple assignment.
(file=text.txt,binary.bin).
A bug was found, which allows the assignment of a keyword to a variable
with the same name (name=name). In this case the keyword name was
interpreted as string 'name'. However, name is a keyword for a undefined
variable in this case and a corresponding error is logged. To
prevent this error you must enclose the string in quotes (name='name').
Additionally, a separation of the begin of an explicit array definition
using '[' from an index used to reference a certain value from an array
was required. To provide an index in an expression, curly brackets '{}'
must now be used (newword=array[1] must be changed to newword=array{1}).
The index must be a number. Expressions are no longer supported.
5.1.21-25177
* Add support for pre- and post-processing of commands when reading read or writing files
** Can be used to prepare something in front of an read or write request
** Can also be used to cleanup or issue a receipt after successful write or read of files
* Support SAF protection for feature codes, other resources and several policies (see install.txt for z/OS)
** To control parameter strings (CLEP)
** To secure PGP key management
** To secure SSH connections
** To secure pre- and post-processing commands
** To secure all service provider interfaces (FAVE, FCPE, FKME)
** Control access to PGP user and key IDs
** Control access to complete URLs containing connection, path, filename and member information
* Add support for list of files at read (file='name.ext','dat*.txt' or file=>'DD:LIST')
** Support parameter files for simple arguments (keyword=>filename)
** Support arrays of simple values after assignment (keyword=hugo,berta detlef)
** Improve error handling of FLCL utility and FLUCUP
*** In the case that the amount of failed operations is identical with the+
amount of files processed the completion code is 8 and not 4 if more+
then one file processed
*** In simple words, if any file fails 8 will be returned
*** If one file succeeded and one of the other fails 4 will be returned
* Add zIIP support for MODE=ADC in FLAM4 components
** Only if zIIP not available zEDC-Support will be tried like in the past
* New FLCLBOOK with reduces memory consumption and better usability as DOCZIP
* Correct support for user header (comment) if CX7 used in FL5, FL4U and FL4W projects
* Support compression limit in FIO.FL4() and write.flam() objects
* Return an error if FKME or passphrase provided but the FLAMFILE is not encrypted
* Print FKM5 error message in each case (was not printed if key was not found)
* Support appending of FLAMFILEs on z/OS (OPENMODE=4, will fail in Windows an UNIX)
* Improve error handling in FIO.FL4() if DMS error occurred
* Add new ISPF lines command FLDEL to delete files
* Support logging and tracing if remote (SSH) access to FLAMFILEs are used
** Missing entries for example (remove of FLAMFILE) are now visible
* Reduce requirement to use && to escape mapping sequences for dia-critical characters
* Don't print obsolete license information in FLAM4 for Windows anymore
* Support writing to DUMMY for the output file in UTIL command
* Add usage log status to system information (flcl info get.system)
* Increase the size of internal error buffers and error trace by factor 2
* To avoid ABENDs be default we change the logic for system variable &FLREUCEE
** To activate reusing the language environment the system variable must be defined &FLREUCEE=ON
** In all other cases the performance feature is disabled
* Don't include files in directory walk on z/OS where the SVC27 (obtain) failed
** If the warning for such files needed then the flag OBTAIN in the DIR object must be defined
** If the VOLSER equals 'MIGRAT' or 'ARCIVE' and SVC27 failed then the file is marked as on tape
* Support lower case (a-f) in hex strings for FLAM4 components on z/OS
* Don't get and set file attributes for streams (reduce amount of warnings)
* Bugfixes
** Some corrections of old FLAM4 components
*** Correct error handling
*** Prevent ABENDS in error situations
*** Creation of RRDS and LDS VSAM datasets
*** Fixed segmentation fault if FKMEFILE if comment used
*** Correction for 0C4 in FLAM when started under ISPF
*** Fixed memory error in VSAM-RRDS and RECSIZE=0
** Fixed wrong statistics in FLAM4 archives summary
** Fixed destruction of stack if records extended in length if key disposition new used
** Fixed use after free in close function of FIO.FL4() if directory walk used
** Fixed segmentation fault after switch of the command in FLCC (re-initialization issue)
** Fixed memory exhausting issue in character conversion module
*** If the same conversion reused in directory walk for the next file, the maximal expansion was used 255
*** Now a warning is written to the log (completion code 1) in this case and the case should not happen anymore
** Fixed mistake in usage log structure introduce with 5.1.20-23920
*** Usage log was written, but processed amount of byte was written in the wrong place
*** The result of this error was that the usage log records written are not processed for usage log summary
** Fixed wrong file attributes used in FLAMUP if system header not created on z/OS
*** Could result in large file allocation or some other errors or wrong behavior
- 0000986: [1.2 FLCC] Add switch SKIPEQUAL to read text (Falk Reichbott) - resolved. - 0000981: [1.1 FLCL] Migrated files result in warning and completion code 4 on z/OS (Falk Reichbott) - resolved. - 0000958: [6. Access Control, Logging and Errorhandling] Error trace lost information if table output needs the whole space (Falk Reichbott) - resolved. - 0000977: [f. Documentation] Add cover, main and over missing pages to FLCC Help (Ulrich Schwab) - resolved. - 0000901: [2.2 Subprogram FLUC (CONV)] Add pre- and postprocessing script execution in SSH support (Tilo Eckert) - resolved. - 0000976: [1.1 FLCL] Support 3072 bit RSA keys as ModLen in PGP (Falk Reichbott) - resolved. - 0000879: [2.2 Subprogram FLUC (CONV)] Support SAF request in SW implementations for key access and other resources (Falk Reichbott) - resolved. - 0000880: [2.2 Subprogram FLUC (CONV)] Support encryption and key management policies (Falk Reichbott) - resolved. - 0000820: [z. Other] FL4U: Printout of license id cannot be disabled with show=none and wrong old license is logged (Ulrich Schwab) - resolved.