Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Mike King

#1
Language / PxPlus *browser patch level
June 03, 2024, 08:04:53 AM
There is a significant alert for chrome and all chromium based browsers that has been reported with many companies requiring their users to update or delete Chrome immediately.

Can you advise if these corrections are included in the current *browser and if there will be a fix for prior versions of PxPlus.

For details on this issue see https://www.forbes.com/sites/zakdoffman/2024/06/03/google-chrome-warning-72-hours-to-update-or-delete-your-browser/?sh=2953df0bdb05
#2
PVX Plus Technologies is pleased to announce the release of PxPlus 2023(v20). This major release consists of numerous new features, customer-suggested enhancements, and usability improvements, as well as a number of corrections and minor changes.

Key highlights of PxPlus 2023, include:


  • Improved overall application security by adding Two-Factor Authentication that can be used with either SMS or email in both Nomads and iNomads. This now matches the capabilities already available in Webster+.

  • New capabilities in Webster+ include support for Tree Views, List Box pagination, and Chart drill down. The ability to share common security files with Nomads and iNomads has also been added, allowing users access to both Webster+ and iNomads applications from a single logon.

  • Simplified database access for ODBC, MySql, Oracle, ADO and DB2 with the ability to directly create and maintain file prefixes and link files.

  • Integrate PxPlus with non-PxPlus databases using various new tools and utilities designed to import and maintain links to external databases. Many of these new tools will also work on native PxPlus data files, making Data Dictionary maintenance easier than ever before.

  • The IDE has been enhanced to better handle projects and associated control files. In addition, it is now easier to use the IDE over the Web, via any Internet browser or iNomads. Non-Windows development shops can now also use the IDE.

  • Wiki pages can now be created dynamically for both your Nomads and Webster+ pages from information stored in the PxPlus Data Dictionary. This new feature makes it easy to generate and provide consistent online documentation for applications with a minimum amount of effort.

  • The Remote Process server has had a major overhaul so that it can now be used to provide background access to workstation devices and resources. This is key in the development of Web-based applications where local access is needed.

Catch our PxPlus 2023 preview video at https://videos.pvxplus.com/2023/pxplus-intro.mp4 and check out the complete overview of all the new features at http://www.pvxplus.com/whatsnew.
#3
PxPlus 2022 Update 1 is now available.  This update includes a number of minor correction and provides the following language enhancements:

New/Enhanced Features

  • Added 'OnDoubleClick property to multi_line inputs
  • Webster+ Desktop interface presents Webster pages in Windows window
  • Added hdrclass=xxx option to define Webster grid header
  • Numerous improvements to the File Maintenance generator
  • Enhanced WEB IDE capabilities


Additional information can be found at https://manual.pvxplus.com/?/pxplus/vers1910.htm
Product downloads available at https://home.pvxplus.com/pgsrvr.pvp?pg=dl_pxp1910
#4
PxPlus 2022 is now available.  This release includes the following major enhancements and changes.

Major New Features

  • Added OpenSSL 3.0.2 support
  • Enhanced Webster+
  • Enhanced File Maintenance Generator to support new Webster+ enhancements
  • Updated the Chromium Browser Object to use the latest Chromium Embedded Framework (CEF) library
  • Ability to define File Access Web services to simplify the creation of REST-based URL-style read and write requests for accessing files
  • New PxPlus System Analysis utility to analyze and troubleshoot a PxPlus installation and setup
  • Improved PxPlus Wiki to maintain application documentation


Additional information can be found at https://manual.pvxplus.com/?/pxplus/vers1900.htm
Product downloads available at https://home.pvxplus.com/pgsrvr.pvp?pg=dl_pxp1900
#5
PxPlus 2021 Update 2 is an update release that includes the enhancements below and a number of small fixes that have been developed since the initial update of PxPlus 2021.

Enhancements

  • Added support to the *BROWSER object to enable a "Find" hot-key that will open a Find dialog to search text on the displayed Web page

    • Also added a new Find button to the Enhanced IDE for searching text on the displayed IDE Web page
  • Ability to access the PVX Plus Helpdesk Support system from the menu in the Windows-based and Web-based IDE
  • New parameter for the *TOOLS/MAKEQRCODE utility to indicate the quality of the QR code to be returned
  • New allowScripts property added to the TinyMCE® object to allow editing of HTML with JavaScript
  • Improved the performance of the *plus/web/request when host returns "chunked" data
  • Addressed numeric overflows in the "*winapi;getdiskfreespace" routine on large drives
  • Resolved issue with spinner control when application clears input queue
  • Corrected OPEN TIM= setting on TCP connections to properly adhere to timeout value specified

Downloads are now available at https://home.pvxplus.com/pgsrvr.pvp?pg=dl_pxp1820
#6
Some of you have asked about the latest system vulnerability going around -- Log4J sometimes referred to as Log4Shell.

Just to set everyone mind at ease, neither PxPlus nor any of its related utilities use Java.  The only exception are the Android applications that our app builder produces and these themselves don't use Log4. 

This means systems built using our tools will themselves not be subject to the Log4j vulnerability.

Of course, if you are using PxPlus on the same system as other products that use Log4j, that could leave PxPlus itself and the rest your system vulnerable, so it is important you check all other components on your system for this issue.
#7
General Announcements / PxPlus 2021 Update 1 now available
September 22, 2021, 02:31:36 PM
PxPlus 2021 Update 1 is an update release that includes the enhancements below and a number of small fixes that have been developed since the initial release of PxPlus 2021.

Enhancements


  • Webster+ Enhancements

    • New program and HTML editor through the Inspector interface
    • Added support for Drop style queries
    • New Run-time Report Writer filters
  • Enhanced Auto Advance folder option
  • New directory copy utility
  • Improved screen copy functionality to suppress trailing CR/LF

Downloads are now available at https://home.pvxplus.com/pgsrvr.pvp?pg=dl_pxp1810
#8
Release Candidate 1 for PxPlus 2021 is now available on our download site at: https://home.pvxplus.com/pgsrvr.pvp?pg=dl_pxp1800rc01

Due to the number of changes and enhancements with this release, we have decided to make a Release Candidate available prior the actual release in order to obtain feedback on the product.  The official release of PxPlus 2021 (v18) is planned for mid-June.

Some of the major enhancements included in this release include:


  • Webster+ for HTML page generation
  • Support for larger screens with more controls
  • Added named parameters to CALL, PERFORM and Methods
  • Enhanced Array management
  • New PxPlus Objects for working with Google Workspace® cloud-based applications Drive, Docs and Sheets
  • Improved File Maintenance Generator, including support for Webster+ HTML page generation
  • Improved support for ADA (USA)/WCAG (Canada) compliance
For more information, please check out our 'Sneak Peek' video below or refer to the release documentation at: https://manual.pvxplus.com/page/pxplus/vers1800.htm

#9
Off Topic / System Restore - March 31 2021
March 31, 2021, 04:55:42 PM
Unfortunately due to an issue at the hosting service we use for this forum it's database had to be restored to the backup from last night (March 31st at 2AM).

As a result of this, postings made between 2AM and 4PM March 31 have been lost.
#10
Video Library / PxPlus 2020 release videos
June 09, 2020, 10:36:15 AM
In case you missed the announcement, PxPlus 2020 is now available and includes a number of new features and capabilities. 

Unfortunately, due to COVID-19, we had to cancel our DireXions conference this year, however we did prepare a number of short Videos regarding the major aspects of this new release.


For full details on this release please see our Release Info page.
#11
Language / Which OS Builds do you still need
April 08, 2020, 04:10:02 PM
For PxPlus 2020 we are looking to eliminate some of the older Linux builds while we add new ones such as Redhat/Centos 8.

Please take a moment to indicate in this poll which of these legacy systems you still actively sell/install and that may require PxPlus 2020.
Indicate None of the above if you don't use any of these versions so we can get a idea of how many people actually voted.

Note that most of these are no longer supported by their respective manufacturer and on some there are limitations as to what we can both provide and support.

As always we strongly encourage clients to stay current both with PxPlus and your respective Operating Systems.
#12
We recently had a client who wanted to display the current time of day on the screen from within his application.  While there are a vast number of free standing utilities to do this, we thought we'd present a simple suggestion as to how to accomplish this.

Before we start, we would like to review one thing you want to keep in mind.  While Nomads provides Timer functionality that you could easily use to update your screen every second, this is something you probably DON'T want to do especially if you are running remotely.  Each update of the time would need to send a packet from the server to the workstation, and while if you only have one or two workstations a couple of packets each second would not likely be a problem, consider if you have 100 workstations.  Having the system send out 100 updates every second and receive the packet acknowledgement would put a significant load on the system and network -- just for the sake of displaying the time.

So what we would suggest is that you use a clock that gets updated locally.

Here is a simple suggestion:

Use a web based clock inside a *browser control on your screen.  There are numerous styles of web based clocks available for free at places such as https://www.timeanddate.com/clocks/free.html.  You simply need to create the *browser control on your panel and create a dummy web page to load the desired clock. 

Now if the workstations don't have Internet access, you can create a clock yourself using the code found at https://www.dyclassroom.com/web-project/html5-how-to-create-a-simple-clock-using-javascript for a simple textual time display or for a more graphical display try the logic found at https://www.w3schools.com/graphics/canvas_clock_start.asp.


#13
If you need one machine to run PxPlus with multiple licenses, it's actually quite easy to setup. 

Here's a typical scenario:

A company has purchased licenses for its two branch operation; a ten user license for the system in Montreal and a twenty user license for the system in Toronto.  Management now decides that instead of having two servers they want to consolidate the branch operation onto a single server in the cloud.

Technically you can simply install two copies of PxPlus in separate locations and run them on different ports and this is the preferred and most straightforward approach

This does however mean that when upgrading the software you would have to upgrade both instances.  If you wish to share a single install between multiple license, the following technique can be used to accomplish this.

This technique involves having multiple license files on the system and pointing different instances of PxPlus to the different license files by setting the PVXKEY environment variable prior to running PxPlus or any of its utility programs, such as product registration.


Unix/Linux Setup

Here is a small Linux shell script that can be used to make it simple to accomplish this:


  • #!/bin/bash
    lic=$PWD/lic_$1
    [ ! -d "lic_$1" ] && mkdir "$lic"
    export PVXKEY=$lic
    shift
    $@
Take the above script and place it in your PxPlus install directory in a file called 'usekey', then set execute permission on this file using the following command:

  • chmod a+x ./usekey
What this script does is allow you to specify the license to use when launching pxplus or the registration program pxpreg.  It creates a sub-directory "lic_XXXX" to hold the license if it doesn't already exist, then sets the PVXKEY environment variable to point to that directory.

So taking our example, to enter the activation key for Montreal we could enter the following:

  • ./usekey MTL ./pxpreg
This would create a sub-directory called lic_MTL and run ./pxpreg against it allowing you to enter the license keys.

For Toronto you could enter:

  • ./usekey TOR ./pxpreg
To run the online registration the commands would be:

  • ./usekey MTL ./pxplus "*plus/reg/net"
  • ./usekey TOR ./pxplus "*plus/reg/net"
Once you have the keys setup you can use the same script to run the Simple CS interface for each of the branches:

For Montreal to allow user to connect to port 4093:

  • ./usekey MTL ./pxplus "*plus/cs/host" -arg 4093
For Toronto to allow user to connect to port 10000:

  • ./usekey TOR ./pxplus "*plus/cs/host" -arg 10000
This approach can be extended to allow any number of different types of licenses to be run from the same install.


Windows Setup

You can setup a similar script on Windows as a .BAT file.  It would look something like this:


  • @ECHO OFF
    SETLOCAL
    SET lic=%CD%\lic_%1
    IF NOT EXIST "%lic%" MKDIR "%lic%"
    SET PVXKEY=%lic%
    %2 %3 %4 %5 %6 %7
Take the above script and place it in your PxPlus install directory in a file called 'usekey.bat'.

Now you can use this BAT file to register and launch PxPlus using different licenses on Windows.

To enter the installation key for Montreal (MTL) we could go to the Windows command line, change your directory to where you have your PxPlus installed and enter the following:

  • usekey.bat MTL .\pxpwactv
This will run the activation key entry program for PxPlus with the resultant activation key going to the directory lic_MTL in the install directory.

To enter the key for Toronto (TOR) the command would be:

  • usekey.bat TOR .\pxpwactv.exe
To run the online registration the commands would be:

  • usekey.bat MTL .\pxplus "*plus/reg/net"
  • usekey.bat TOR .\pxplus "*plus/reg/net"
In order to run PxPlus using the MTL key you could enter the command:

  • usekey.bat MTL .\pxplus.exe "*plus/cs/host" -arg 4093
For Windows you may want to create a desktop shortcut link for this.  Your shortcut would have the command with the starting directory being where PxPlus is installed.

Note: Should you not want the license files in the directory where PxPlus was installed or if you want to run your application in a different directory, you can provide a full pathname to the pxplus.exe and change the usrkey.bat file so that 'lic' points to where you want to save the license file(s).
#14
PxPlus 2019 Update 2 is an update release that includes the enhancements below and a number of small fixes that have been developed since the PxPlus 2019 Update 1 (version 16.10) release.

Enhancements


  • Included PxServer in the PxPlus installation with a new shortcut to Configure PxServer
  • New TCB(79) function returns the number of active WindX Plug-ins connected to the server
  • Added support to the DIM LOAD directive and DIM (LIST) function to allow null/empty arrays for JSON
  • Increased the maximum statement length from 24KB to 32KB
#15
FAQs / How to fix missing OpenSSL libraries on Linux
November 05, 2019, 02:45:20 PM
On Linux, if you are finding you are having trouble connecting to a secure server using TCP, it may be because the system is not able to find the OpenSSL system libraries.  This can manifest itself in having problems running the online registration process, getting updates, or any form of network/internet request using a secure connection.

The easiest way to test if the libraries can be found is to try and open a secure connection to the target system or to any Internet server,   To do this simply issue the following command from the PxPlus command line:

OPEN (1) "[tcp]www.pvxplus.com;443;secure"

If the libraries are not found you will get the following error:

Error #13: File access mode invalid
Last IO to [tcp]www.pvxplus.com;443;secure, channel 1
Unable to locate SSL library (ssleay or libssl) (err/ret=9/9)

This indicates the OpenSSL libraries cannot be found, however on most Linux system they do exist but the OS may not have created the proper linkage to the version of OpenSSL you are running.   The library files often are suffixed with the specific version of OpenSSL being used and for PxPlus to use them, it needs a link to the correct library.

Since we ship a 'generic' version of PxPlus for multiple versions of Linux, we use generic names (without the version number) in the SSL interface. Most Linux systems include these by default, but some don't so you have to define which OpenSSL library version to use. 

NOTE: Because OpenSSL changes regularly many Linux distros already have these generic links defined so they
can change when a new version comes out without having to re-compile all applications.

If the generic link does not exist, you can fix this by first finding the installed SSL libraries (libssl.so and libcrypto.so) on your Linux server.  Generally they will be in one of the following locations:


  • 32 bit systems: /lib -or- /usr/lib
  • 64 bit systems: /lib64 -or- /usr/lib64

To find which libraries are installed you can use the OS 'ls' command as in:

ls -l /usr/lib/libssl*

This will display something like:

-rwxr-xr-x 1 root root 470376 Aug 8 21:38 /usr/lib/libssl.so.1.0.2k

This indicates that you have version 1.0.2k of the OpenSSL libraries installed.

In order for PxPlus to find this library you need to create a symbolic link within the system library files to the .so file.  This can be done as follows:

ln -s /lib/libssl.so.1.0.2k /lib/libssl.so
ln -s /lib/libcrypto.so.1.0.2k /lib/libcrypto.so

To give you an idea of what this will look like, here is the 'ls' of a Centos 7 library directory:

[root@v1153828 ~]# ls -la /usr/lib64/libssl*
-rwxr-xr-x 1 root root 370584 Aug 12 11:55 /usr/lib64/libssl3.so
lrwxrwxrwx 1 root root     16 Sep 18 00:49 /usr/lib64/libssl.so -> libssl.so.1.0.2k
lrwxrwxrwx 1 root root     16 Sep 18 00:47 /usr/lib64/libssl.so.10 -> libssl.so.1.0.2k
-rwxr-xr-x 1 root root 470376 Aug  8 21:38 /usr/lib64/libssl.so.1.0.2k

You can see it is set to use OpenSSL version 1.0.2k

#16
Have you ever wanted a way to identify different users on the same Windows workstation without them having to enter who they are and their password? While there are many ways to do this, one simple technique is to use a USB to identify the user.  When the user walks up to the workstation all they need to do is plug in their USB and presto, your application knows who is on the system.

Obviously you could easily just put a file with the users identification on the USB and read it, but that's not very secure.  Ideally you want to encrypt the file and somehow tie it to the specific USB drive to prevent users from simply copying the file.

Well in the text file attached to this posting is a simple program you can use to encrypt and store a user name on a file on the USB and make sure it is tied to a specific USB so that most users can't just copy it.  The program has two entry points:

Create_user, which creates the file on the USB and takes 3 parameters:

  • CALL "dongle;Create_user", User_name$, Passkey$, Filename$

  • User_name$ which is used to identify the user
  • Passkey$ which is a string of data used to encrypt the user name
  • FileName$ which is the pathname to a file to create on the USB

CALL "dongle;Create_user", "John Smith", "Mary had a little goat", "D:\Passkey"

Get_user, which takes the same three parameters but returns the user name.  If the file is corrupted or been copied to another device this call will fail with an error 11 and return a blank user name.  An error 12 is generated if the file is not present.


So simply take a USB, format it and call the Create_user entry point giving it the user name to create the key then add logic in your system to issue a call to Get_user to confirm that a valid USB has been inserted and what the user name is.

This provides an easy way to identify who is using your system from a Windows workstation using a low cost USB device.

BTW: You can also put other stuff on the same USB if desired.

NOTE: There are tools out there that can physically replicate any USB so this technique is not 100% foolproof but will provide good security that most users won't easily be able to get around.
#17
Whenever a application failure occurs within PxPlus (GPF, Segmentation fault, etc) the system will attempt to record key system information on the system LOGFILE in the hopes it will provide insight as to what caused the failure.  Given this, if you are having problems you should assign a log file to your tasks in order to assist in problem resolution, however managing these LOGFILEs can be problematic.

One simple solution is to create individual log file for each process, place these in a separate directory and have the system delete them if the process normally terminates.  Here is an example of some logic you can use to accomplish this:

x$="log_directory/log."+dte(0:"MMDD-%Hz%mz")+"."+str(tcb(89))+".txt
serial x$
setdev (0) set "Logfile" to x$

open (gfn) x$
setdev (lfo) set "DeleteOnClose" to "Yes"


Basically the logic creates a unique log file name based on the date, time and process id and assigns as the application LOGFILE.  In order to have the system automatically delete the file when the session closes, we OPEN the file on a global channel and then set its "DeleteOnClose" property so that when the PxPlus shuts down normally, the file will be deleted. 

Should the PxPlus process terminate abnormally for any reason the DeleteOnClose will not occur leaving the failing LOGFILE on the system for subsequent analysis.

NOTE: If desired you can have your application also write information to this LOGFILE using the SETTRACE RECORD string$
#18
Tips and Techniques / Putting Bar charts in list boxes
November 02, 2018, 03:47:16 PM
One of the great features of PxPlus 2017 is its ability to include bar charts inside of formatted list boxes.  This functionality allows you to present a more visual representation of the data such as sales statistics, usage, and other numerical information.

For example:



Adding bar charts to formatted list boxes is done by using a 'FILL' mnemonic to define the column contents.  The 'FILL' mnemonic, when used in a list box, defines the percentage of the column that you want filled and the color. 

For example, a 'FILL'(50,"Yellow") will fill 50% of the column width with the color Yellow.  If you want multiple bars simply include multiple 'FILL' mnemonics. 

If desired you may also include standard text in the column contents with will be placed according to its position to the 'FILL' mnemonics. Should the total percentage filled plus text exceeds 100%., the contents will be truncated.  Should you want to make sure any text following the bar chart is displayed, keep the total filled less than 100%.

Below is a simple program that uses some hard coded data to show how you can create these type of bar charts.

  lv=10
  list_box lv,@(2,5,76,12),fmt="[Product]10C [Desc]15 [QOH]5C [Sold/Day]7C [Delivery]7c [Inventory Status]30",opt="r"
!
  loaddata$=""
!
  while 1
  read data productcode$,description$,qtyonhand,soldperday,delivery,end=*break
!
  delivery=14+rnd(30)
  status=50+rnd(800)/10
  soldperday=(status*qtyonhand)/(delivery*100)
!
! Compute likely state based on sales per day versus delivery time
!
! Status > 100 means Delivery time exceeds days supply
! We want
!
! status <= 80 to indicate good status (Green)
! status between 80->100 indicates marginal (Yellow)
! status over 100 indicates bad status (Red)
!
! We divide all these number by 1.3 to allow for worst case of status of 130
!
  dayssupply=qtyonhand/soldperday
  status=(delivery*100)/dayssupply
!
  thebar$='fill'(min(80,status)/1.3,"GREEN") ! Show % good status
  thebar$+='fill'(min(20,status-80)/1.3,"YELLOW") ! Show % marginal
  thebar$+='fill'(min(30,status-100)/1.3,"Red") ! Show % Bad
!
  loaddata$+=rec(iol=lv_iol)+$01$
  wend
!
  list_box load lv,loaddata$
  escape
!
lv_iol: \
  iolist productcode$,description$,qtyonhand,soldperday,delivery,thebar$
!
  data "BUS-3110-YLW","Bus - Yellow",684,12.89,32
  data "BUS-3111-CYN","Bus - Cyan",677,10.98,42
  data "BUS-3112-VIO","Bus - Violet",128,3.65,36
  data "BUS-3113-GRN","Bus - Green",173,4.21,41
  data "BUS-3114-RED","Bus - Red",122,3.92,37
  data "BUS-3115-BLU","Bus - Blue",65,3.24,18
  data "CAR-1320-GLD","Safari Jeep - Gold",585,18.75,37
  data "CAR-1321-CYN","Safari Jeep - Cyan",210,7.69,35
  data "CAR-1322-VIO","Safari Jeep - Violet",696,21.18,42
  data "CAR-1323-GRN","Safari Jeep - Green",235,5.72,25
  data "CAR-1324-RED","Safari Jeep - Red",665,27.43,29
  data "CAR-1325-BLU","Safari Jeep - Blue",543,14.39,34
  data "CAR-1410-SLV","Bug - Silver",487,15.03,30
  data "CAR-1411-ROS","Bug - Pale Rose",550,25.09,21
  data "CAR-1412-SEA","Bug - Seagreen",594,16.79,41
  data "CAR-1413-VIO","Bug - Violet",105,2.21,29
  data "CAR-1414-PRL","Bug - Pearl",376,11.56,32
  data "CAR-1415-WHT","Bug - White",151,2.64,39
  data "CAR-2220-PNK","Cabriolet - Fuschia",665,47.84,15
  data "CAR-2221-LME","Cabriolet - Lime",542,14.31,33


Colors:

If desired, you can specify two colors in the 'FILL' mnemonic.  When providing two colors, the first color will be the color used at the top of the bar blending down the second color.  If only one color is given, the system will attempt to shade it slightly with a lighter shade on the top and a darker shade on the bottom.

Grids:

Grids can also include horizontal bars in cells by setting the cell type to BarChart and setting the cells 'Text$ property to the percentage to fill and the colors desired.  Refer to our online documentation on the Grid directive under Horizontal Bar Charts in Grid Cells for more details.
#19
Wish List / ODBC Access to Passworded Files
August 14, 2018, 03:42:25 PM
PxPlus native files can have passwords assigned to them to prevent unauthorized access and provide data encryption.  The ODBC driver however does not support any mechanism to supply file passwords thus the ODBC driver was not able to grant access to these files.

For PxPlus 2019 we have enhanced the native file encryption to include the ability to use the industry standard AES encryption algorithm so that more sensitive information such as credit cards numbers and personal data can easily and safely be included in your native files.

This however brings up the question as to whether we should provide access via ODBC and how this can be done.

Before we start looking into methods to provide this capability we would like to know if anybody would use this feature so we may plan accordingly.
#20
When running PxPlus on Linux/AIX or similar systems, the system will load the SSL libraries when the first reference is made to any component within the libraries is required.  The fact that the SSL libraries are not directly linked into the EXE allows these libraries to be independently updated.  The same is true for Windows however there we actually ship current SSL libraries with the product as opposed to relying on the OS supplying them.

Not all applications will need the SSL libraries, but the following PxPlus functions do require them to be present:


  • Any access to SSL/TLS communications (TCP, HTTPS, etc connections)

  • Use of the HSH functions other than the basic hashing algorithm (hash type 0)
Over time the SSL libraries on your system may need to be updated to address problems and deficiencies that may be discovered and corrected by the makers of openssl.   On Linux and most Unix based systems, these updates can be obtained using the OS supplied software update utilities.  For PxPlus for Windows, these can be extracted from newer versions of PxPlus and applied as needed.

Because security is so important we kept these libraries external from PxPlus so they may be updated as needed without having to replace/updated the whole PxPlus installation.