Date: 06-16-2021 Subject: RELEASE 10.3B Runtime Files These RELEASE notes pertain to the following programs or files: PLBWEBSRV 10.3B 16 Jun 2021 10.3.2.500 (Processed Server) PLBWEBSRVT 10.3B 16 Jun 2021 10.3.2.500 (Threaded Server) *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference manual, change the Note (7.) in the GETFILE (XFILE) section to include the following XMLFORMAT bit mask value description: XMLOUTFMTWRTISO8859 0x200 - Use ISO8859 when outputting XML data for the XFILE. - In the PL/B Language Reference manual, add the following method to the 'RUNTIME Methods' section and method descriptions: *------------------------------------------------------------------ VerifyUtf Method (RUNTIME) The VerifyUtf method is used to verify that a PL/B character data is a valid UTF-8 string.This method uses the following format: [label] {object}.VerifyUtf [GIVING {return}]: USING [*STRING=]{string}[: [*FLAGS=]{flags}][: [*LENGTH=]{length}] Where: label Optional. A Program Execution Label. object Required. A RUNTIME object that has been previously declared. return Optional. A Numeric Variable that returns the result for this method. string Required. A Character String Variable or literal that contains data to be verified. flags Optional. A Numeric Variable or decimal number that specifies a a value that identifies the result type to be returned. length Optional. A Numeric Variable or decimal number that specifies the number of characters in the string data to be verified. When the length parameter is not used, the method determines the number of characters in the string to be tested. Flags Affected: EOS, OVER, ZERO Note the following: 1. The ZERO flag is set TRUE when the result of zero is returned. 2. The OVER flags is set TRUE if the return variable is too small to receive the result value. 3. The EOS flag is always cleared. 4. The {flags} bit mask values are described as follows: Value Description 0 This is the default value if the flags parameter is not specified for the method. When the flags value is zero, this method verifies that the data character string is a valid UTF-8 string. In this case, the return value of zero indicates that the character string is a valid UTF-8. A return of a non-zero value indicates an invalid UTF-8 string is found. 1 When this bit value is specified, this method evaluates the logical length of the string data. In the case, the return value is the evaluated logical length of the string data. 2 When this bit value is specified, this method evaluates the physical length of the string data. In this case, the return value is evaluated physical length of the string data. The physical length is calculated as the number of UTF-8 characters times 4. Examples: R RUNTIME nRes FORM 5 nOpt1 INTEGER 1,"1" //Get Logical Length nOpt2 INTEGER 1,"2" //Get Physical Length Test1 INIT "abc" //Valid UTF-8 Test2 INIT "abc",0xE9 //Invalid UTF-8 Test3 INIT "abc",0xC3,0xA9 //Valid UTF-8 . . Test1 ( Valid UTF-8 ) . R.VerifyUTF GIVING nRes USING Test1 //nRes returns 0 R.VerifyUTF GIVING nRes USING Test1: //nRes returns 3 nOpt1 //Logical Length R.VerifyUTF GIVING nRes USING Test1: //nRes returns 12 nOpt2 //Physical Length . . Test2 ( Invalid UTF-8 ) . R.VerifyUTF GIVING nRes USING Test2 //nRes returns 1 R.VerifyUTF GIVING nRes USING Test2: //nRes returns 4 nOpt1 //Logical Length R.VerifyUTF GIVING nRes USING Test2: //nRes returns 16 nOpt2 //Physical Length . . Test3 ( Valid UTF-8 ) . R.VerifyUTF GIVING nRes USING Test3 //nRes returns 0 R.VerifyUTF GIVING nRes USING Test3: //nRes returns 4 nOpt1 //Logical Length R.VerifyUTF GIVING nRes USING Test3: //nRes returns 16 nOpt2 //Physical Length - In the PL/B Language Reference manual, change the HTTP Note (3.) to include the following bit mask descriptions for the *FLAGS bit mask values: $HTTP_FLAG_TLSV1 0x400 Use the SSL TLSv1.0 protocol which is an upgraded version of SSLv3. $HTTP_FLAG_TLSV11 0x0800 Use the SSL TLSv1.1 protocol. $HTTP_FLAG_TLSV12 0x1000 Use the SSL TLSv1.2 protocol. $HTTP_FLAG_USESSLDEFS 0x2000 Use SSL defaults as determined from the OPENSSL command. - In the PL/B Language Reference manual under the 'SetColumnOrder Method (LISTVIEW)' section, change the method description to read as follows: "The SetColumnOrder' method is used to change the order for displaying the LISTVIEW object columns." - In the PL/B Language Reference manual under the 'PASSWORDCHAR Property', add a Note (4.) decribed as follows: 4. Normal/expected behavior using the PASSWORDCHAR property for the Windows EDITTEXT and RICHEDITTEXT objects requires that the password character value should be a 7-bit value ( 0 to 127 ). If the password character value is set to an 8-bit value ( 128 to 255 ), unexpected behavior(s) may occur for the Windows EDITTEXT and RICHEDITTEXT objects. - In the PL/B Language Reference manual under the 'Expressions' section, add a note that reads as follows: "When using string expressions, the characters of '_', '%' and '\' are treated as normal characters for all string operators except as described for the Operand2 of the LIKE operator." - In the PL/B Language Reference manual under the 'HTTP' instruction, change the Note (3.) {options} descriptions as follows: *FLAGS={dnumnvar} 0x1 - $HTTP_FLAG_RAWCOMMAND Add the following description: - The $HTTP_FLAG_RAWCOMMAND mode is ignored/not used in a HTTP instruction the includes either one of the following: 1) The *POSTMESSAGE keyword is used. 2) The $HTTP_FLAG_JUSTHEADER flags option is being specified/used. 0x4 - $HTTP_FLAG_JUSTHEADER Add the following description: - If HTTP *FLAGS options include both the $HTTP_FLAG_RAWCOMMAND and $HTTP_FLAG_JUSTHEADER, the $HTTP_FLAG_JUSTHEADER takes precedence and the $HTTP_FLAG_RAWCOMMAND bit mask option is ignored and not used. *POSTMESSAGE={svarlit} Add the following description to the current *POASTMESSAGE description: - If the *POSTMESSAGE is used in a HTTP instruction with the $HTTP_FLAG_JUSTHEADER and/or $HTTP_FLAG_RAWCOMMAND bit mask {options} set, the *POSTMESSAGE operation takes precedence and these bit mask values are ignored/not used. - In the PL/B Language Reference manual under the 'SQLIO Example Configurations' section, remove extra 'and' from the Example configuration #1 Procedure (5.). *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 10.2A changes. plbwebbasic.css 10.1B 190424 plbwebbasic.js 10.2B 200707 plbwebboot.html 10.2A 191210 plbwebctls.js 10.1A 190103 plbwebmob.js 10.0A 180402 Support jQuery Mobile plbwebtvcssinfo.html 9.9 161028 plbmobstart.html 10.0A 180402 Support jQuery Mobile plbwebstart.html 10.0A 180402 plbwebstart99a.html 9.9A 170428 ------------------------------------------------------------------------------- PLBWEBSRV - Corrected a problem where a 'SETPROP FORM, ENABLED=1' or a 'SETPROP PANEL, ENABLED=1' could prematurely stop processing child PWS objects on the FORM/PANEL. This could cause some objects on the FORM/PANEL to remain disabled unexpectedly. - The PWS LISTVIEW 'SetColumnOrder' is implemented to change the order to be used when displaying the listview columns. This change corrects a problem where this PWS method was not working as expected. For this method change, the PWS LISTVIEW works the same as the Windows Plbwin runtime. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLBWEBSRV (Windows) - Modified SETFILE to support a XMLFORMAT bit mask value that allows XFILE output to use the ISO8859 mode when writing XML data. The XMLFORMAT bit mask value is described as follows: XMLOUTFMTWRTISO8859 0x200 - Use ISO8859 when outputting to XML data. - Modified the HTTP instruction to support TLSv1, TLSv11, and TLSv12 SSL protocols. Also, a change was made to allow OPENSSL command defaults to be supported. These changes are invoked by setting bit mask values in the *FLAGS keyword for the HTTP instruction. TLS stands for 'Transport Layer Security'. $HTTP_FLAG_TLSV1 0x400 Use the SSL TLSv1.0 protocol which is an upgraded version of SSLv3. $HTTP_FLAG_TLSV11 0x0800 Use the SSL TLSv1.1 protocol. $HTTP_FLAG_TLSV12 0x1000 Use the SSL TLSv1.2 protocol. $HTTP_FLAG_USESSLDEFS 0x2000 Use SSL defaults as determined from the OPENSSL command. -------------------------------------------------------------------------------