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
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
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
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 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)
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
Version 7.30 Build 7485
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.
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
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.
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
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
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.