Fixes in NetPhantom since version 7.00 Build 7180

These are fixes done since version 7.00 Build 7180 in chronological order.

Version 7.40 Build 8045

  • Debug logging in Client

    A few debug log messages were present when opening/closing panel sessions.

Version 7.40 Build 8033

  • Alignment problem in right/centered cells in listboxes

    On HDPI screens with scaling over 100%, the listbox cells that are right aligned or centered could be drawn one pixel to the right, effectively cutting off the rightmost pixel for right aligned cells.

  • Submenu items in context menus of panels use wrong font

    On HDPI screens with scaling over 100%, the submenu items in context menus (right-click mouse to display), use the default font rather than the menu font.

  • Minimized panels in Client errors

    When panels in the Client are minimized when using a multiple document interface such as in ServerAdmin or Phantom Session Booster apps, several errors could occur:

    • Restoring the window could cause the Client to place the window in the wrong Z-ordering, causing the panel(s) in the session to be placed behind panel session(s). It could also affect the lock state so that you could not e.g. close the panel in front correctly.
    • Maximize would perform the maximize function, but the Restore window size and position is overwritten, thus only causing a very small change in window size that then could be resized (only applies to main panels or sizable pop-up panels). This error also causes the same symptoms as the above error for Restoring the window, i.e. the panel could become locked and perhaps placed behind other panel sessions in the Z-order.

  • Close button in Terminal window does not work

    Nothing happens when pressing the Close button on the Terminal window frame. The menu item File - Exit worked, however. This applied to both the Editor as well as to the Client.

  • Server Java VM Target version always set to 8 in Editor

    The option in the Editor to specify the Server Java VM target version (8 to 17) was not saved properly or was reverted to version 8.

  • Configure project Java version error

    The version number of the Configure project dialog - Enable Java version was set to 8 or two versions less than the selected version, thus selecting version 17 gave the project version 15. Combined with the error above that the Target Server VM version always was 8 caused a warning message that the enabled application Java version was higher than the Server's.

  • REXX function LineIn(file, line, count) reads the line "line + 1"

    The REXX-migrated function LineIn, valid for both NetRexx migrated REXX code as well as Java extending from the REXXMigration class, always read the second line in the file when both optional parameters line,count was set to "1,1". When the line parameter was larger than 1, the line after was read. When the line parameter was unspecified or left out, this error does not occur.

  • All REXX file functions were OS sensitive

    All REXX (and Java classes extending REXXMigration) file functions such as LineIn, LineOut, Stream, were all OS dependent. The file name path is now made canonical, thus allowing e.g. a directory separator in the file name path to be specified with either slash '/' (non-Windows) or backslash '\\' (Windows). A problem with some file functions could be that they would use the relative directory of the application (the default), and e.g. LineOut(fileName) would not work in comparison to Stream(fileName,'C','CLOSE') to close a file. This problem existed since NetPhantom version 6 (inclusive), but for some reason only has been reported on version 7.x. This bug was sometimes more frequently seen in the Editor than on Server, probably due to "single user" usage compared to the Server connected to multiple Clients.

  • Compile REXX converted NetRexx fails to retrieve error information

    If a REXX code contains errors that causes the NetRexx compiler to fail producing a Java source file, NetPhantom does not always pick up the reason for the error and properly display this error in Eclipse or in the corresponding source.rexxerr file. This worked fine in NetPhantom 6, or 7 up to build 7527. The error would occur for the first REXX source being processed in the compile process, which could often be the case if just one REXX source was changed and then saved, thus compiling a single source.

  • Potential StackOverflowException in Editor

    Using Java 17 in NetPhantom Editor, the File dialog (such as File Open or File Save as), could cause the Java StackOverflowException. This bug is not seen when the Editor is using Java 8 or 11, only seen since Java 16. The bug has been reported to the Java team, but a workaround is implemented in the Editor to use a larger stack size (1 MB) for its first thread, the other threads are getting their stack sizes from the -Xss1m parameter, set in various places in NetPhantom. This StackOverflowException would cause the NetPhantom Editor to crash without message, but a Java crash log file named "hs_err..." would be created in the current directory of the Editor.

  • Potential StackOverflowException when running Java

    The problem above "Potential StackOverflowException in Editor" was only addressed when configuring the Java Environment using the Editor dialog box. If the "-Xss1m" option was not set in PHANTOM.INI in the JVM options or JVM debug options, the Java process would launch as configured resulting in a potential StackOverflowException when using Java 16 or better. The Java version is now checked for Java 16 or better and if required, the option "-Xss1m" is added, even if not configured in PHANTOM.INI.

Version 7.40 Build 7991

  • Server ignores client operations for Warning timeout

    The NetPhantom Server and NetPhantom Editor ignores client operations for Warning, Disconnect and/or Forced timeouts.

  • Server has debug logging for client connections and transactions

    Debugging output is now removed from Server.

Version 7.40 Build 7963

  • Certificate Wizard errors

    Both NetPhantom Server and NetPhantom Editor are corrected as listed below. The SSL functionality was not affected, just certificate files created in the Certificate Wizard.

    • Dependencies to internal Java code is removed, exceptions could be thrown in Java 17.
    • Failed to generate certificate request.
    • Certificate X.509 subject and issuer names were not properly decoded when containing special or non-ASCII characters (NLS).
    • Many message boxes show a question mark instead of a warning or an error icon.

Version 7.40 Build 7958

  • Client reconnect

    NetPhantom Client reconnect did not always work: sometimes queued updates from server was triggered first when something was done on the client side (then all updates from server comes as a rail-fall), and worse, client sessions could be left unterminated in the server, impossible to close or kill using ServerAdmin.

  • Windows Service installation script "is.bat"

    Correction for the Windows NT Service installation script "is.bat" that incorrectly handled quotes for parameters.

  • Regression: server setting for client inactivity does not work

    The inactivity monitor of the server does not work: Disconnect timeout, Warning timeout and Forced timeout are all non-functional.

  • Client always shows the reconnect window before session exit message

    When using the server setting Reconnect timeout, the reconnect window is always created centered on screen with the exit message.

  • NetPhantom Starter does not scale its UI

    When using other JVM's than Oracle version 1.8, the UI is not scaled with the system display scaling. This means that any Java 11 or all OpenJDK's did not scale the UI. This only applies to the NetPhantom Starter UI, not the NetPhantom Client.

  • Comboboxes frames are only drawn when focused on Windows 11

    Using Windows Look-and-Feel, the comboboxes dark gray frame is not drawn, only the blue on when focused or mouse is hovering.

  • Editor progress panel could lock up UI with progress bar

    The Editor progress panel could lock up the UI with the progress bar in undetermined mode (i.e. small progress circling around) when performing operations displaying the progress panel. The operation was however completed, but so fast that the dialog box was not removed, thus got stuck in undetermined progress bar mode. This could be seen quite often in NetPhantom 7.4 with Java 17, probably because it ran faster.

  • Client shows Client Certificate password dialog for SSL connections with OpenWebStart

    When using OpenWebStart instead of Java Web Start, the NetPhantom Client displays a message box to ask for the password of the User Java key store, then immediately the session is closed with a communication failure, without waiting for user input. On top of this, the default password of the keystore was incorrect (the one used to try to load the key store without asking the user for a password).

Version 7.30 Build 7557

  • Regression: Java Web Start parameters not processed correctly

    Starting the NetPhantom Client using Java Web Start did not process the parameters properly. The Java VM options for Java Web Start were also never applied to the JNLP file.

Version 7.30 Build 7541

  • Regression: error generating Let's Encrypt SSL certificate

    The Let's Encrypt SSL certificate failed renewal after update of ACME and Bouncy Castle Jar files with the exception below. An additional Bouncy Castle Jar file bcutil.jar is needed in addition to the two Jars bcprov.jar and bcpkix.jar.
     
    This is due to Let's Encrypt updated algoritms for e.g. kepair, signatures and certificate revocation lists along with the new versions of ACME and Bouncy Castle Jars.
     
      Failed renewing Let's Encrypt certificate for domain "domain.name":
      java.lang.NoClassDefFoundError: Could not initialize class org.bouncycastle.operator.jcajce.OperatorHelper
        at org.bouncycastle.operator.jcajce.JcaContentSignerBuilder.(Unknown Source)
        at org.shredzone.acme4j.util.CSRBuilder.sign(CSRBuilder.java:263)
        at com.netphantom.server.acme.LetsEncrypt.fetchCertificate(Unknown Source)
        at com.netphantom.server.acme.LetsEncrypt.createCertificate_HTTPChallenge(Unknown Source)
        at com.netphantom.server.acme.b.a(Unknown Source)
        at com.netphantom.server.acme.b.a(Unknown Source)
        at java.base/java.lang.Thread.run(Thread.java:832)

Version 7.30 Build 7527

  • Windows Service installation script "is.bat" in error with one parameter

    Removed a bug in the Windows NT Service installation script "is.bat" that incorrectly handled quotes for parameters.

  • Updated all project files

    The project file NetPhantom.project is updated for every application and sample shipped with NetPhantom.

  • Updated all JNLP files

    The JNLP files shipped with NetPhantom did not include Java 15 for the client side in the version tag.

  • Updated all start*.bat files

    The start*.bat files shipped with NetPhantom corrected for Java 16 where appropriate.

  • Change of REPORT sample

    The Print REPORT sample modified to use auto-client.jar instead of a custom clientImages.jar file.

Version 7.30 Build 7485

  • Right-click to display pop-up menu does not work everywhere

    The right-click to display a potential pop-up menu from the application or a marked area does not work in all areas of the panel.

Version 7.30 Build 7480

  • Listbox Shift-selection does not always work

    When using the Shift-key and performing a selection of a cell, cells or header in a listbox, the marking operation did not always start, had to be repeated often twice in order to work.

  • NetPhantom Starter startup message

    NetPhantom Starter displays a message at startup "NetPhantom(R) StarterNetPhantom? Starter with SSL, Version 7.21, Version 7.21". The message is nested and the version number wrong.

  • NetPhantom Starter failed locating Java

    The minimum Java version tested was 1.8 but not maximum version of 15. The AdoptOpenJDK Java was not found, and it did not work to browse to the Java installation directory.

Version 7.30 Build 7470

  • Checkboxes in "third state" not drawn correctly

    A third state checkbox is neither matching the unselected not the selected state. In almost all look-and-feels and in every scaling, the "gray" rectangle was not drawn in the center of the checkbox, nor did it have the correct size.

  • Editor: changing Panel Editor look-and-feel could show wrong scaling

    In EXCEEDINGLY rare situations, when setting the Display resolution (scaling) and changing look-and-feel at the same time, the Editor could switch its own look-and-feel with the designed panels. To succeed to reproduce this failure you must first have to run a client in parallel from the editor while opening the dialog box to change Display resolution and be very quick to complete your selection.

  • Checkboxes and radio buttons drawn too large in certain screen resolutions (scaling)

    This applies to panels being edited in the Panel Editor: the checkbox and radio button icon would typically be 25% too large or more.

  • Swing sample failed changing Look-and-Feel

    It gets a NullPointerException due to invalid parameters to the method call Phantom.setLAF(...).

Version 7.30 Build 7462

  • Client exception drawing group box without string

    An exception is thrown if the group box has an empty string, but client still functions normally.
      Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Zero length string passed to TextLayout constructor.
        at java.desktop/java.awt.font.TextLayout.(TextLayout.java:382)
        at java.desktop/java.awt.Font.getStringBounds(Font.java:2616)
        at java.desktop/java.awt.Font.getStringBounds(Font.java:2521)
        at java.desktop/java.awt.FontMetrics.getStringBounds(FontMetrics.java:532)
        at se.entra.phantom.client.PJGroupBox.paint(PJGroupBox.java:98)

  • Editor: pack200.exe not found

    The utilitity "pack200.exe" is not found in JDK 15 because it simply does not exist anymore. But NetPhantom Editor looks for it in "jre11-64/bin" where it is present and found. The error message is returned however.

  • QuickStart installation: Windows 10 cannot open .HLP file

    The 3 shortcuts installed in the NetPhantom QuickStart folder for the various documentation parts referred to .HLP files instead of .CHM files. The .HLP files were installed along with the .CHM files, but .HLP is a format that is replaced with .CHM.

  • Multiple fixes

    Several fixes centered around UI:

    • Panel Editor did not show the correct display scaling of panels when the system (OS) also had a scaling. There could also be other discrepancies in the panel sizes compared to ones shown by NetPhantom Client.
    • Combobox in Nimbus did not show the entry field when editable, there was no frame, just white background.
    • Colors in combobox did not show up in the Panel Editor.
    • Comboboxes showed entry part too small when scaling up font sizes in almost all look-and-feels.
    • Thorough fixing of scaling errors for all look-and-feels. The Windows (also Classic) look-and-feel start to show visible blurriness, typically on radio buttons, checkboxes and the arrows in submenus.
    • Consistent Metal Look-and-Feel when scaled over 100%.
    • Corrected clipping with the size of radio buttons and checkboxes without text.

  • Fonts not properly handled in NetPhantom 7.x

    Several desktop rendering settings that can be applied to a Graphics2D object were not properly initiated, sometimes overwritten with a default antialias text rendering effectively replacing the system setting. This resulted in fuzzy fonts or incorrect character spacing, sometimes it even looked like the wrong font was used.

  • Login panel now displays Server/Client versions

    If there is a version difference between the NetPhantom Client and Server, the Login panel will now show both versions instead of the text "NetPhantom(R) Version A.BC (Build NNNNN)".

  • SNI support added when multiple identities are specified for SSL

    SNI support added to select the appropriate server certificate depending on the client's requested domain when multiple identities are used in an SSL section. When the SSL port in question is started, the information about the certification and its matching domain name(s) and potential wildcard domain(s) is logged in the server.

    Support for certificate Common Names (CN) without domain qualifier such as "machine123", raw IP addresses such as "192.168.0.33" and loop-back addresses such as "localhost" are also handled. For loop-back addresses, the certificate CN should be defined as "localhost" and will match all loop-back addresses for IPv4 and IPv6.

  • Certificate Wizard dialog corrected

    The Certificate Wizard dialog for the NetPhantom Server and Editor were flawed and incorrectly placed the UI controls in terms of size/move attributes. The ordering of some controls were also not correct.

  • Windows Service installation script "is.bat" in error with one parameter

    Finally removed the bug in the Windows NT Service installation script "is.bat" that let to confusion and did not show the syntax of the command when only one parameter "INSTALL" was specified, resulting in the error ="==""=" was unexpected at this time.

Version 7.20 Build 7391

  • Renewal of Let's Encrypt certificate fails to be installed

    When a certificate is renewed using Let's Encrypt, the SSL port sometimes does not install the new certificate in a running NetPhantom Server instance in the SSLServerSocket.

  • NetPhantom Starter without SSL in 32-bit

    Regression error: the installer did not produce a correct installation MSI file.

Version 7.10 Build 7346

  • Reconnect client session fails with "Reconnect ID mismatch"

    When a client loses connection to the server, e.g. when removing the ethernet cable or undocking a laptop that switches over from cabled ethernet to WiFi, the error "Reconnect ID mismatch" is shown on the client when it manages to reconnect to the server within the reconnection timeout. This happens if the server has not detected that the client socket connection has been lost. The correct behavior is to check if the client socket is closed on the server side, and allow the new socket connection to replace to one that has been closed, of course validating that it is the same client that reconnects (using the internal Reconnect ID).

Version 7.10 Build 7331

  • NetPhantom Service Installer fails on some Windows OS

    The NetPhantom Service Installer "ntservice/is.bat" fails to complete the installation on some Windows OS, notably Windows Server 2019 after the last update of "is.bat", addressed in a fix to the problem in build 7264. Only some later Windows Server 2019 updates experienced the problem due to an installation error in that specific batch file "is.bat". The original Windows Server 2019 did not exhibit the same problem, nor did it present a problem in many versions of e.g. Windows 10. Installations with the NetPhantom Windows Service for the program in question(s), i.e. License Manager, Cluster Controller and Server that are already working or up-and-running are not affected of this fix. This fix of is.bat can also be applied to previous NetPhantom versions 6.x and 7.x by replacing the "ntservice/is.bat" with this new file.

Version 7.10 Build 7327

  • Reverted to Eclipse 4.16 (2020-06) 64-bit instead of Eclipse 4.17 (2020-09)

    NetPhantom Quick Start is now bundled with Eclipse 4.16 (2020-06) 64-bit for Java Developers. The original NetPhantom 7.1 builds (prior to this build) contained Eclipse 2020-09 version 4.17 for Java Developers (64-bit), but it has a bug that sometimes causes launching and debugging of Java Applications not to work. The launching of the Java Application failed in Run or Debug mode, regardless of Java version configured for a project. Installations suffering from this problem all shows the error message in the Eclipse Console view Failed configuring "Attach debug to NetPhantom Server" launch configuration: cannot locate the Socket Attach VM Connector.

Version 7.10 Build 7296

  • NetPhantom Editor could not find "pack200.exe"

    When compiling an application in NetPhantom Editor, "pack200.exe" is not found in Java release versions 13 or higher, resulting in the compilation process to be aborted. A work-around would be to uncheck the "Remove debug information from class files in the Jar files" in the application project settings.

Version 7.10 Build 7284

  • Added NetPhantom Server compatibility setting for SSL: "allowLegacySSL"

    The setting allowLegacySSL=1 in [base] section of server.ini will cause NetPhantom Server not to hardened the SSL (TLS) settings that are otherwise applied by default. The system settings that are set by default are:

    • jdk.tls.ephemeralDHKeySize = "2048"
    • jdk.tls.rejectClientInitiatedRenegotiation = "true"
    • jdk.tls.server.enableSessionTicketExtension = "false" (only for Java 13 or better)

     
    And for older JVM's:

    • sun.security.ssl.allowUnsafeRenegotiation = "false"
    • jdk.tls.useExtendedMasterSecret = "false"
    • jdk.tls.allowLegacyResumption = "false"
    • jdk.tls.allowLegacyMasterSecret = "false"

    The following warning message will be printed on the "standard error output" of the console:

    ***
    *** WARNING: "allowLegacySSL" flag is set in "server.ini", the SSL/TLS engine will not use hardened settings!
    ***

Version 7.10 Build 7276

  • License System fails initializing for NetPhantom License Manager

    A NullPointerException is thrown internally when the License System initializes for the NetPhantom License Manager causing it to stop immediately after start.

Version 7.10 Build 7272

  • Documentation updates

    Documentation updated for some HTML files such as DPI aware and the Trial version.

Version 7.10 Build 7264 RC1

  • Editor does not show Configure Web Server dialog box

    The Editor did nothing when the menu item in the terminal part "Server - Web Server..." is selected, no error or warning message displayed as message box or in the log. After this, no further dialog boxes would be displayed when selecting menu items. The WEBSRV panel in PHED.JAR application was set to Main panel type but should have been a Popup window. It is illegal to display Main panels with a modal call programmatically and an InternalError is now thrown if such call would be made.

  • Editor always removed middle "!/" and appends "!/" after Jar-in-Jar classpath specification

    The classpath for a Jar-in-Jar without additional directory specification should read "jar-file-1.jar!/jar-file-2.jar" and not "jar-file-1.jar!/jar-file-2.jar!/" (even if this results in the same classpath). The error was that the middle "!/" was removed, resulting in the string "jar-file-1.jarjar-file-2.jar!/". This error could be seen in e.g. the CGI definition in the Web Server where the classpath contained a Jar-in-Jar.

  • Jars loaded by NetPhantom did sometimes not support the stream API

    Jars loaded into memory in NetPhantom did not support the stream() API method returning a Stream<JarEntry>.

  • Windows NT Service Installer error

    The batch file "ntservice/is.bat" contained path errors in environment variables and failed e.g. to install the NetPhantom Server service.

Version 7.00 Build 7185

  • NetPhantom Client fails to match wildcard certificate host name

    A wildcard certificate host name such as "CN=*.some.domain" is not matching a server host name such as "server123.some.domain" or "abc.some.domain".

Version 7.00 Build 7181

  • Minor: failed configuration in GUI of SSL cached sessions

    A minor error in the ServerAdmin and Editor GUI caused the spin button maximum input length for the SSL cached sessions to be 4 instead of 6. The default value of 20480 could therefore not be specified.
    Workaround: edit server.ini and enter correct value.