Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Introduction

SOS provides patches in a situation of severe bugs or Vulnerabilities.

...

Patches

...

  • For vulnerabilities in 3rd-party components the Change Management System indicates where to download the patch and how to apply the patch.
  • For severe bugs in JS7 components SOS provides patches that are available for download from the issue description.

...

for

...

Change Management System

The public Change Management System keeps track of any changes including patches and bug-fixes:

  • For example, consider a 3rd-party vulnerability such as  
    Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJOC-1229
    • The issue description provides immediate instructions how to replace 3rd-party libraries.
    • Users download patched libraries from the 3rd-party vendor's site.
    • The issue is reported for release 2.2.1 that can be patched from the instructions. Subsequent releases 2.2.2 and later include the updated libraries to fix the issue.
  • For example, consider a bug such as 
    Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJOC-1235
    • The issue is reported to affect release 2.2.2 and us fixed with release 2.2.3.
    • For immediate resolution a patch file is offered for download. This patch can be applied to the indicated release 2.2.2, it cannot be applied to earlier releases.

...

JOC Cockpit can be applied 


Display children header

On Premises

JOC Cockpit expects Java .jar libraries for patching in the following location:

  • Unix
    • /var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/WEB-INF/classes
  • Windows
    • C:\ProgramData\sos-berlin.com\js7\joc\jetty_base\webapps\joc\WEB-INF\classes

The JETTY_BASE part of the above path is specified during installation and can point to a different location. The remaining part webapps/joc/WEB-INF/classes is the same for any installation.

Apply Patch

Apply the following steps to a JOC Cockpit instance. If a JOC Cockpit cluster is operated the steps are performed for any JOC Cockpit instance.

Code Block
languagebash
titleExample how to apply a patch to JOC Cockpit for Unix
linenumberstrue
# navigate to the target directory for patches
cd /var/sos-berlin.com/js7/joc/jetty_base/webapps/joc/WEB-INF/classes

# verify the directory by checking if this file is available
ls api-schema-version.json

# download the patch archive
curl https://download.sos-berlin.com/patches/patch-20220309-JOC-1256-2.2.2_2.2.3.jar -O

# unzip the patch archive
jar -xf patch-20220309-JOC-1256-2.2.2_2.2.3.jar
# remove the patch archive
rm patch-20220309-JOC-1256-2.2.2_2.2.3.jar
Code Block
languagebash
titleExample how to apply a patch to JOC Cockpit for Windows
linenumberstrue
# navigate to the target directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\jetty_base\webapps\joc\WEB-INF\classes

# verify the directory by checking if this file is available
dir api-schema-version.json

# download from URL https://download.sos-berlin.com/patches/patch-20220309-JOC-1256-2.2.2_2.2.3.jar
# copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\patch-20220309-JOC-1256-2.2.2_2.2.3.jar .

# unzip the patch archive
jar -xf patch-20220309-JOC-1256-2.2.2_2.2.3.jar
# remove the patch archive
del patch-20220309-JOC-1256-2.2.2_2.2.3.jar

The resulting directory hierarchy should look like this (with the com sub-directory being created from the extracted patch):

  • webapps/joc/WEB-INF/classes
    • com
      • sos
        • ...

Note: A restart of JOC Cockpit is required to apply the patch.

Note: As an alternative for Windows you can download the .jar patch file to the target directory and use tools such as 7-Zip to extract the archive. Do not create a sub-folder from the archive name but extract directly to the directory hierarchy as indicated above.

Remove Patch

Patches are automatically removed when a JOC Cockpit release is installed.

Patches can be manually removed by dropping the com sub-directory that holds the extracted patch.

Note: A restart of JOC Cockpit is required to apply removal of patches.

Docker® Containers

Apply Patch

Remove Patch

Apply Patch for Controller

On Premises

The Controller expects Java .jar libraries for patching in the following location:

  • Unix
    • /opt/sos-berlin.com/js7/controller/lib/patches
  • Windows
    • C:\Program Files\sos-berlin.com\js7\controller\<controller-id>\lib\patches

The <controller-id> part of the above path is specified during installation and defaults to controller, this can point to a different location. The remaining part lib/patches is the same for any installation.

Apply Patch

Apply the following steps to a Controller instance. If a Controller cluster is operated the steps are performed for any Controller instance.

Code Block
languagebash
titleExample how to apply a patch to a Controller for Unix
linenumberstrue
# navigate to the target directory for patches
cd /opt/sos-berlin.com/js7/controller/lib/patches

# download the patch archive
curl https://download.sos-berlin.com/patches/patch-20220309-JOC-1256-2.2.2_2.2.3.jar -O
Code Block
languagebash
titleExample how to apply a patch to a Controller for Windows
linenumberstrue
# navigate to the target directory for patches
cd %ProgramFiles%\sos-berlin.com\js7\controller\<controller-id>\lib\patches

# download from URL https://download.sos-berlin.com/patches/patch-20220309-JOC-1256-2.2.2_2.2.3.jar
# copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\patch-20220309-JOC-1256-2.2.2_2.2.3.jar .

Note: A restart of the Controller instance is required to apply the patch.

Remove Patch

Patches are automatically removed when a Controller release is installed using the JS7 - Controller - Installation Using the Windows Graphical Installer.

Patches can be manually removed by dropping the files in the patches sub-directory that holds the extracted patch. 

Note: A restart of the Controller is required to apply removal of patches.