Interactive COBOL Notes 4.89 15-Dec-2015 **** Revision 4.89 **** Bug Fixes in 4.89 ------------------ 1. The runtime system and icsort had a bug that could cause the program to "core dump" when performing sorts that required multiple merge passes. 2. The compiler was not correctly reporting cases where indivdual data records or the combined size of all data exceeded the system limit of 16 MB. This would result in an Internal Error in the compiler during the data allocation phase. 3. The iclog utility was not correctly decoding the compressed log records when applying them, leading to a corrupt data file (broke in 4.80) Changes and New features in 4.89 -------------------------------- 1. The size of the internal sort buffer in the runtime system was increased from 256 KB to 1 MB. **** Revision 4.88 **** Bug Fixes in 4.88 ------------------ 1. The runtime system had a bug when fetching the value of 8-byte COMP-5 data items, resulting in bad data. The bug affects version 4.80-4.87. Changes and New features in 4.88 -------------------------------- None **** Revision 4.87 **** Bug Fixes in 4.87 ----------------- 1. The Windows runtime system would sometimes fail to start and return: Error: Access to the file or device is denied (oserr=5): Signal Event **** Revision 4.86 **** Bug Fixes in 4.86 ------------------ 1. ISQL with EXECUTE USING could use the wrong data length when setting column values. 2. ICODBCDR could cause a memory fault or crash when setting data into columns, e.g., with an INSERT that used parameters. This bug was introduced in 4.80. 3. Under Windows, ICPERMIT would sometimes not authorize via a parallel port device. Would get Device not found, errnum=0. 4. Under Linux, ICRUNRS was not correctly cleaning up its device resources in the shared area, which could eventually lead to an inability to start new runtimes. **** Revision 4.85 **** Bug Fixes in 4.85 ------------------ 1. (SP2) Under Linux, when using icrunrs sp2 automatic downloads were not always working. (Broke in 4.80) 2. (ICODBC) Linux ICODBC.SO was not loading. (Broke in 4.80). 3. When using Printer Control, a job status could have been incorrectly set to zero. (4.85.01) 4. Under Windows, ICPERMIT sometimes could not properly communicate with a USB protection device. (Fixed as icpermit 4.85.01). (4.85.06) 5. The compiler was crashing when it detected a SET id statement with no UP, DOWN, TO syntax. (fixed as icobol 4.85.06). (4.85.07) 6. ICPERMIT was not correctly printing long connection times when using -O v -V t. (fixed as icpermit 4.85.02) (4.85.08) 7. Under Windows, icinfo was not correctly show disk space for drives > 1TB. **** Revision 4.84 **** Bug Fixes in 4.84 ----------------- 1. icbltn fix. Parameters were not being passed properly between mismatched icbltn's. (Broke in 4.80) (Update 01) 2. icbltn fix. Use of the get_error_message call could crash the runtime. **** Revision 4.83 **** Bug Fixes in 4.83 ----------------- 1. Compiler fix. Headers could be scrambled. (Broke in 4.80) **** Please recompile **** **** Revision 4.82 **** Bug Fixes in 4.82 ----------------- 1. When writing PDF files certain cases may cause an blank PDF page to be generated. (Broke in 4.81) 2. When using IC_SEND_MAIL and a username/password the parameters could be corrupted. (Broke in 4.80). **** Revision 4.81 **** Bug Fixes in 4.81 ----------------- 1. When generating PDF files certain background forms generated with Ghostscript could not be read. 2. When generating PDF files in certain cases a .PDF could be generated that was not readable by Adobe Reader. **** Revision 4.80 **** Bug Fixes in 4.80 ----------------- 1. When using ICRUNRC, if doing a screen refresh (Ctrl-U), the screen could not be properly aligned. (Broke in 4.70.) 2. When generating a PDF file using a background image that has embedded text, sometimes a font error could be introduced. Windows seems to handle this when printing but some Linux PDF print drivers give an error and do not print the data. (4.80.01) 3. ICPERMIT had a problem with enabling verbose (-O v). (Broke in 4.80) 4. ICSQLS had a problem with sign in. (Broke in 4.80) (4.80.02) 5. At times on a 1-byte COMP compare could be wrong. (Broke in 4.80) Changes and New features in 4.86 -------------------------------- 1. ICWEBMSG was updated to use TLS first if it is available, then use SSL as a fallback. Changes and New features in 4.85 -------------------------------- 1. The ICPERMIT executable file is now self-contained. The ICPERMIT execuatble is now staticly linked with icsys and it also has the help built in. This allows the latest ICPERMIT to be used instead of an older version of ICPERMIT for those users who rely on a specific, older version of Interactive COBOL. Changes and New features in 4.80 -------------------------------- 1. The shared area revision has been incremented. 4.80 executables require the shared area provided by an ICEXEC 4.80 or greater and will not run with earlier revision executables or with an earlier revision shared area. 2. The internal buffer hash table has been updated to allow for more buffer space and a faster lookup time. This has been shown under UNIX to provide for enhanced performance on i/o bound tasks. 3. ICCONFIG and ICEDCFW under System Parameters now allow upto 3072 MB (3GB) of buffer space to be allocated. Under UNIX, we recommend that you consider using more buffers as the new buffer hashing does perform much better as memory and cpu speeds increase. 4. More enhanced auditing options added to provide statistics for various operations: New enhanced options are: FILE, IND, REL, SEQ, PGM These provide tracing for the various operation on lower level file operations, Indexed, Relative, Sequential files and for Program operatons. For example for Indexed files a trace like: 2013-02-06 11:43:36.24: IND: Open IND (han=61) xxxxx002 2013-02-06 11:43:51.79: IND: Open IND (han=62) xxxxxind .... 2013-02-06 11:43:51.80: IND: Close IND (han=61): No error 2013-02-06 11:43:51.80: IND: Read Next: 39661, 1 2013-02-06 11:43:51.80: IND: Start: 1, 0 2013-02-06 11:43:51.80: IND: Close IND (han=62): No error 2013-02-06 11:43:51.80: IND: Read Keyed: 1113874, 4411 can be generated. On a Close, statistics for each type of I/O operation that were performed on the file will be given. This will include the count of those calls and the number of error returns. In the example above, for the Indexed file 62 there were 1113874 Read Keyed calls and 4411 returned an error. These new enhanced auditing options should be used for profiling a system but not for day to day operations as the log could grow rather large. 5. Complete Enhanced Auditing syntax. A change bar (|) in the left column below shows the new options. Enhanced auditing supports the following options: Syntax is: -a[:[aflag][:tflag][,tflag]...] Audit to .lg -A path[:[aflag][:tflag][,tflag]...] Audit to path, or path/.lg if path is a directory aflag is a|b|d|da|db|p|pa|pb|t|ta|tb|u|ua|ub a=append, b=backup, d=datestamp, p=process-id, t=timestamp, u=username tflag is ALL|ICNETD|IND|MPX|NET|PDF|PGM|REL|SEQ|SP2|SQL|SYSERRS|WEB ALL enables all sub-system enhanced tracing options. | FILE provides statistics and tracing for lower level file operations (this is very verbose and mostly only useful when requested by Support) ICNETD provides enhanced tracing for ICNETD | IND provides Indexed i/o statistics and open/close tracing MPX provides enhanced tracing when using network multiplex i/o from the runtime, iclogs, icrunrc, icodbcdr (any program that uses the network) NET provides for enhanced network tracing for any network traffic PDF provides enhanced tracing when using the PDF facility from the runtime | PGM provides CALL/EXIT/CANCEL tracing, (including builtins) | REL provides relative i/o statistics and open/close tracing | SEQ provides sequential i/o statistics and open/close tracing SP2 provides enhanced tracing when using SP2 or QPR from the runtime or icrunrc SQL provides enhanced tracing when using ISQL from the runtime SYSERRS provides enhanced tracing for System errors WEB provides enhanced tracing when using any internet type facility like email from the runtime These trace flags for enhanced auditing should be used when requested by support or to track down a real problem as the logs can be very verbose. 6. Under Windows, the Safenet Sentinel driver has been updated to 7.5.8. (For USB and Parallel port protection devices.) 7. Under Windows when using a GUI application or ICODBC from a GUI application, pop up error message boxes will be disabled if both auditing and quiet are enabled. 8. Under Windows, when the License Server (icpermit) is installed a .bat file that will install firewall rules for ICPERMIT is now included in the examples subdirectory as: addfirewallicpermit.bat. Works with Windows Vista and up. 9. Under Windows, when the Client-Server (icnetd) is installed a .bat file that will install firewall rules for ICNETD is now included in the examples subdirectory as: addfirewallicnetd.bat. Works with Windows Vista and up. 10. Under Windows, ICINFO now detects whether the Windows firewall is enabled for particular networks. Under -O r syntax. 11. The ACCEPT FROM ENVIRONMENT has additional systems codes: 01 ENV-STRUCTURE. 02 SYSTEM-CODE PIC 99. 88 IC-AOSVS VALUE IS 01. 88 IC-AOSVSII VALUE IS 04. 88 IC-MSDOS VALUE IS 30. 88 IC-386UNIX VALUE IS 31. 88 IC-DGUX-88K VALUE IS 34. 88 IC-AIX-RS VALUE IS 39. 88 IC-SUN-SPARC VALUE IS 40. 88 IC-HPUX-PA-RISC VALUE IS 41. 88 IC-MOTOROLA-88K VALUE IS 43. 88 IC-STRATUS-860 VALUE IS 44. 88 IC-LINUX-INTEL VALUE IS 45. 88 IC-DGUX-INTEL VALUE IS 47. 88 IC-SCO-UNIX-INTEL VALUE IS 48. 88 IC-UNIXWARE-INTEL VALUE IS 49. 88 IC-MACOSX VALUE IS 51. | 88 IC-LINUX-INTEL32 VALUE IS 52. | 88 IC-LINUX-INTEL64 VALUE IS 53. 88 IC-WINDOWS-9X VALUE IS 60. 88 IC-WINDOWS-NT-INTEL VALUE IS 61. | 88 IC-WINDOWS-32 VALUE IS 62. | 88 IC_WINDOWS-64 VALUE IS 63. ... These four new values will be available in ICOBOL 5 when both 32-bit and 64-bit versions of ICOBOL are available. 12. Logon has been upgraded to support the new ENVIRONMENT codes. **** Revision 4.72 **** Bug Fixes in 4.72 ----------------- 1. When using ICTERM=mac, sometimes the last character on the line was being overwritten by the first character of the next line. 2. Under Linux, ICINFO could generate a negative number for Memory statistics under the Page Size line. 3. Under Windows, ICPERMIT has been updated to detect MAC addresses that have been moved in Windows 8 from previous versions. In most cases using a MAC based license on Windows 8 or Windows Server 2012 will require this revision or greater for ICPERMIT. 4. At times a File Status 30, exception 1 could be received on an ISAM file when running multiuser. Changes and New features in 4.72 -------------------------------- 1. ICDUMP has a new option, -o, that will list a One line format for revision 5 .cx files with the simple filename, code rev, program-id, and oem rev listed. When specified, all other options are ignored. ICDUMP can also now accept templates and multiple arguments. 2. ICRUN has a new option, -b that implies batch mode. No screen image is present but standard in and out can be used. A blank console is sought from the Console table. Behaves similarly to a #O job. 3. A few more SYSERR enhanced logging messages. 4. Under Windows, ICINFO will now detect the edition of Windows 8 or Windows Server 2012 that is installed. **** Revision 4.71 **** Bug Fixes in 4.71 ----------------- 1. Under Windows, at times on startup the gui window would have scroll bars when it could fit fully. 2. For the IC_CLIENT_ builtins that use a client file, ensured that the client filename is passed unchanged to the client. This includes trimming leading and trailing spaces. These include: IC_CLIENT_DELETE_FILE, IC_CLIENT_GET_FILE, IC_CLIENT_PUT_FILE, IC_CLIENT_RESOLVE_FILE. 3. Certain builtins that read stdin were not handling an EOF and setting hangup. These included IC_GET_KEY, SD_MESSAGE, SD_MESSAGE_ONLY, SD_ERROR_MESSAGE, SD_SYS_ERROR_MESSAGE, SD_MENU_MGR, and SD_READ_CHAR. Changes and New features in 4.71 -------------------------------- 1. ICPERMIT has a new reporting option: -O v for verbose information. A new set of Verbose selections has also been provided. -V hlpPrtu Format the -O v selection. The order of the letters determines the order of the output columns and the sort order. h=host, l=license, p=program, P=pid, r=revision, t=time connected, u=username Default is '-V lhup' (license, host, user, program) These two options are available in 4.71 and up. This information is written to stdout and the audit log if available. This information provides the current licensing usage information for each license connection. **** Revision 4.70 **** Bug Fixes in 4.70 ----------------- 1. Under Windows, Builtin CLI call was not always working. 2. The IC_CENTER builtin was not working properly. 3. The compiler was not properly setting an FD to DATA-SENSTIVE when no RECORD DELIMITER clause was specified. VARYING BINARY was being generated. Please re-compile. 4. Under Windows with icrunw or icrunrc, sizing of the screen was not always working correctly. 5. Under Windows, icrevw was not able to open .xd files in the open dialog. Changes and New features in 4.70 -------------------------------- 1. Under Windows, the Sentinel driver has been updated to 7.5.7 2. Sample PDF information. A sample program that can print an alignment page for use with a background PDF, shows printing to a background Sample Invoice form, and provides a user specified set og fields to be printed. Released files are: pdfsample.sr, .cx COBOL Source and executable finalinvoice.pdf Results from running pdfsample using the sampleinvoice1.pdf background form. sampleinvoice1.pdf Sample background invoice PDF sampleinvoice1p.pdf Sample background invoice PDF with PAST DUE (in red) watermark sampleinvoice1pd.pdf Sample background invoice PDF with PAID watermark Assumptions for using the sampleinvoice1.pdf files are: Margins all at .5, Font: Courier, Size: 10, Spacing: 0. The above settings give 72 lines with a width of 90 characters. PDFSAMPLE can also be used to create a simple standard report that will reside in the printer control queue and that file can be used to build the PDF file from within the Printer Control Utility. ************ IMPORTANT ************ 3. A new environment variable, ICCONFIGDIR, can be specified to provide for customized system files that are outside of the standard installation directory structure. If specified, this directory will be searched first for any help, messages, print, or term file entries. If a file is NOT found using ICCONFIGDIR, then ICROOT will be used as in the past. It is recommended that you place any custom help, messages, print, or term files in the ICCONFIGDIR directory. An install or reinstall will NOT effect the ICCONFIGDIR directory as long as it is not configured to point to an installed directory. *********************************** 4. With the addition of ICCONFIGDIR, ICCONFIG and ICEDCFW have been updated to work in a directory like most editors. ICCONFIG will now default to starting with the main menu to allow you to select what needs to be edited. The system configuration menu now offers a Change Directory option and the current directory is shown. In general we now recommend that you CREATE a separate configuration directory that holds the system configuration file, and any terminal or printer files that have been customized. Default Terminal (.tdi) and Printer (.pti) files will no longer be provided by the installer as they are now loaded directly in the runtime and will be provided in the default case. 5. Under UNIX, the startic macro has been updated to support the new ICCONFIGDIR environment. In addition, under Linux, the macro will now use the /var/log/icobol directory as the default for all server logs. 6. The data encryption that is used by the client/server products has been greatly improved. It is a very strong stream cipher that uniquely encrypts the data payload of each packet within each connection over the course of more than one billion packets. 7. All sample printer translation files (.pti) have been moved to the examples directory. 8. The protocol used by icrunrc and icrunrs has been enhanced to combine and buffer more screen painting commands per network request. This should result in smoother and faster character-mode screen painting. 9. The icrunrc and icinfo programs are now built so as to not require the icsys shared library (.dll, .so, .dylib) or the Microsoft Visual C Runtime DLL (msvcr71.dll) in Windows. 10. The thinclient (icrunrc) has also been built with integrated help text and the default terminal definitions and system messages so that it no longer requires the help, term, and messages directories normally found via ICROOT. This has greatly simplified the thin client installers. End of Notes