Skip to content
Commits on Source (1439)
jss (4.4.4-1) unstable; urgency=medium
* New upstream release.
* watch: Updated to point to github.
* control: Update homepage.
* control: Update maintainer address.
* Bump debhelper to 11.
* links, install: Updated.
* rules: Use dh.
* rules: Add gentarball target.
* README.source: Deleted, obsolete.
* Bump policy to 4.1.4, no changes.
-- Timo Aaltonen <tjaalton@debian.org> Fri, 01 Jun 2018 10:16:36 +0300
jss (4.4.3-1) unstable; urgency=medium
* New upstream release.
- jss-*.patch: Dropped, upstream
* control: Update VCS urls.
-- Timo Aaltonen <tjaalton@debian.org> Tue, 17 Apr 2018 10:42:06 +0300
jss (4.4.2-6) unstable; urgency=medium
* rules: Fix JAVA_HOME.
-- Timo Aaltonen <tjaalton@debian.org> Mon, 09 Apr 2018 15:35:35 +0300
jss (4.4.2-5) unstable; urgency=medium
* control: Build with jdk8, dogtag-pki needs it.
-- Timo Aaltonen <tjaalton@debian.org> Mon, 09 Apr 2018 14:03:10 +0300
jss (4.4.2-4) unstable; urgency=medium
* fix-jdk9-ftbfs.diff: Fix build with openjdk-9. (Closes: #893217)
-- Timo Aaltonen <tjaalton@debian.org> Wed, 04 Apr 2018 00:59:27 +0300
jss (4.4.2-3) unstable; urgency=medium
* patches: Add three new patches from upstream for Dogtag.
-- Timo Aaltonen <tjaalton@debian.org> Mon, 05 Feb 2018 12:25:43 +0200
jss (4.4.2-2) unstable; urgency=medium
* patches: Add six patches from Fedora for Dogtag.
* control: Update git urls to point to pkg-freeipa.
-- Timo Aaltonen <tjaalton@debian.org> Wed, 20 Dec 2017 16:52:36 +0200
jss (4.4.2-1) unstable; urgency=medium
* New upstream release. (Closes: #875589)
* patches: Drop all patches, everything upstream.
* files, links, rules: Packaging changes for the new version.
* control: Update the maintainer address to.
-- Timo Aaltonen <tjaalton@debian.org> Mon, 18 Sep 2017 21:44:04 +0300
jss (4.3.1-7) unstable; urgency=medium
* Sync patches with fedora 4.2.6-42.
- merge symkey
* control: Bump policy to 3.9.8, no changes.
* control: Use https for vcs urls.
-- Timo Aaltonen <tjaalton@debian.org> Tue, 30 Aug 2016 14:05:48 +0300
jss (4.3.1-6) unstable; urgency=medium
* jss-PBE-PKCS5-V2-secure-P12.patch: Bump NUM_ALGS. (Closes: #688472)
-- Timo Aaltonen <tjaalton@debian.org> Wed, 26 Nov 2014 15:48:14 +0200
jss (4.3.1-5) unstable; urgency=medium
* control: Bump policy to 3.9.6.
* Use debhelper 9.
* jss-support-TLS1_1-TLS1_2.patch: Add support for TLSv1.1 and v1.2.
* jss-RC4-strengh-verify.patch: Verify RC4 strength.
* control: Update my email.
* control: Update VCS urls.
-- Timo Aaltonen <tjaalton@debian.org> Sat, 25 Oct 2014 13:14:31 +0300
jss (4.3.1-4) unstable; urgency=low
[ Timo Aaltonen ]
* Update pull_coreconf.patch and match Linux3.0* during clean.
* rules:
- Remove dist/ on clean.
- Use openjdk-6 instead of gcj.
* patches: Add a bunch of patches from Fedora.
* control: Change the VCS header to point to the git repository.
* compat: Bump to 8.
* control: Build-depend on default-jdk.
* control: Update the maintainer address.
* control: Drop jre dependency per current java policy.
* patches: More patches from Fedora.
* rules: Install the library in /usr/lib/jss.
* control: Bump standards to 3.9.3, no changes.
* control: Update the uploaders field.
* rules: Added build-arch and build-indep targets.
* rules: Replace dh_clean -k with dh_prep.
[ Ghe Rivero ]
* Fixed JAVA_HOME default path
-- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 27 Jun 2012 18:00:53 +0200
jss (4.3.1-3) unstable; urgency=low
* Update my email address
-- Michele Baldessari <michele@acksyn.org> Sun, 17 Oct 2010 23:41:15 +0200
jss (4.3.1-2) unstable; urgency=low
* Bump policy to 3.9.1
* Update to quilt 3.0 source package
-- Michele Baldessari <michele@pupazzo.org> Sat, 04 Sep 2010 20:48:04 +0200
jss (4.3.1-1) unstable; urgency=low
* New upstream
* Bump policy to 3.8.3
* Patch in coreconf build system for the time being
* Add ${misc:Depends} as we depend on debhelper
* Fix jar links to the right version
-- Michele Baldessari <michele@pupazzo.org> Sun, 24 Jan 2010 23:36:55 +0100
jss (4.2.5-2) unstable; urgency=low
* Bump to policy 3.8.0
* debian/control:
- Build-Depend on default-jdk-builddep instead of java-gcj-compat-dev
* Add VCS-* fields
* Fixed build-deps (added libnss3-dev and pkg-config)
* Changed section to "java"
-- Michele Baldessari <michele@pupazzo.org> Wed, 22 Apr 2009 21:31:06 +0200
jss (4.2.5-1) unstable; urgency=low
* Initial release (Closes: #474489)
-- Michele Baldessari <michele@pupazzo.org> Wed, 09 Apr 2008 16:09:59 +0200
Source: jss
Section: java
Maintainer: Debian FreeIPA Team <pkg-freeipa-devel@alioth-lists.debian.net>
Uploaders: Timo Aaltonen <tjaalton@debian.org>,
Priority: optional
Build-Depends: debhelper (>= 11),
openjdk-8-jdk,
libnss3-dev,
pkg-config,
quilt,
Standards-Version: 4.1.4
Vcs-Git: https://salsa.debian.org/freeipa-team/jss.git
Vcs-Browser: https://salsa.debian.org/freeipa-team/jss
Homepage: https://github.com/dogtagpki/jss
Package: libjss-java
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Network Security Services for Java
Network Security Services for Java (JSS) is a Java interface
to NSS. It supports most of the security standards and
encryption technologies supported by NSS. JSS also provides
a pure Java interface for ASN.1 types and BER/DER encoding.
This diff is collapsed.
usr/share/java/jss-*.jar
usr/lib/jss/libjss4.so
# Required by ldapjdk
usr/share/java/jss-4.4.4.jar usr/share/java/jss.jar
# Required by idm-console-framework
usr/share/java/jss-4.4.4.jar usr/share/java/jss4.jar
--- a/jss/org/mozilla/jss/pkcs11/PK11SymmetricKeyDeriver.java
+++ b/jss/org/mozilla/jss/pkcs11/PK11SymmetricKeyDeriver.java
@@ -38,7 +38,6 @@
import org.mozilla.jss.crypto.*;
import org.mozilla.jss.util.Assert;
-import sun.security.pkcs11.wrapper.*;
import java.security.InvalidKeyException;
--- a/jss/org/mozilla/jss/tests/SymKeyDeriving.java
+++ b/jss/org/mozilla/jss/tests/SymKeyDeriving.java
@@ -40,7 +40,6 @@
import org.mozilla.jss.CryptoManager;
import org.mozilla.jss.util.Assert;
import org.mozilla.jss.pkcs11.*;
-import sun.security.pkcs11.wrapper.PKCS11Constants;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Vector;
--- /dev/null
+++ b/jss/org/mozilla/jss/tests/PKCS11Constants.java
@@ -0,0 +1,14 @@
+package org.mozilla.jss.tests;
+
+interface PKCS11Constants {
+ long CKA_ENCRYPT = 260L;
+ long CKA_DERIVE = 268L;
+ long CKM_DES_ECB = 289L;
+ long CKM_DES_CBC = 290L;
+ long CKM_DES3_ECB = 306L;
+ long CKM_DES3_CBC = 307L;
+ long CKM_CONCATENATE_BASE_AND_KEY = 864L;
+ long CKM_EXTRACT_KEY_FROM_KEY = 869L;
+ long CKM_AES_ECB = 4225L;
+ long CKM_AES_CBC = 4226L;
+}
fix-jdk9-ftbfs.diff
#!/usr/bin/make -f
include /usr/share/quilt/quilt.make
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
UPSTREAM_VERSION := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\(.*\)-.*$$/\1/ p' | sed -e 's/~.*//')
MOD_MAJOR_VERSION := $(word 1, $(subst ., ,$(UPSTREAM_VERSION)))
MOD_MINOR_VERSION := $(word 2, $(subst ., ,$(UPSTREAM_VERSION)))
MOD_PATCH_VERSION := $(word 3, $(subst ., ,$(UPSTREAM_VERSION)))
export USE_64 := $(shell echo "int main(void) { int assert[(sizeof(long) == 8) ? 1 : -1]; return 0; }" | gcc -o /dev/null -x c - 2> /dev/null && echo "USE_64=1")
CFLAGS := -Wall -pipe -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2 -fno-strict-aliasing
endif
CFLAGS += $(USE_64)
# Enable compiler optimizations and disable debugging code
BUILD_OPT=1
export BUILD_OPT
export XCFLAGS="-g"
BASEDIR := $(CURDIR)/jss
export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
export NSPR_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nspr | sed 's/-I//'`
export NSPR_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nspr | sed 's/-L//'`
export NSS_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nss | sed 's/-I//'`
export NSS_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nss | sed 's/-L//'`
export USE_INSTALLED_NSPR=1
export USE_INSTALLED_NSS=1
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$(DEB_BUILD_ARCH)
# Generate symbolic info for debuggers
XCFLAGS="-g"
export XCFLAGS
export CFLAGS
override_dh_auto_build:
make -C $(BASEDIR)/coreconf $(USE_64)
make -C $(BASEDIR) $(USE_64)
override_dh_clean:
-[ -f $(BASEDIR)/Makefile ] || $(MAKE) -C $(BASEDIR) clean
-[ -f $(BASEDIR)/coreconf/Makefile ] || $(MAKE) -C $(BASEDIR)/coreconf clean
-find . -name "*.class" -type f -exec rm -f "{}" \;
-find . -name "*.so.*" -type f -exec rm -f "{}" \;
-find . -name ".so" -type f -exec rm -f "{}" \;
-find . -type d -name "Linux*_glibc_PTH_*DBG.OBJ" -exec rm -rf "{}" \;
-find . -type d -name "Linux*_glibc_PTH_*OPT.OBJ" -exec rm -rf "{}" \;
rm -f $(BASEDIR)/org/mozilla/jss/util/Debug.java
rm -rf $(CURDIR)/dist || true
dh_clean
override_dh_auto_install:
mkdir -p $(CURDIR)/debian/tmp/usr/lib/jss
mkdir -p $(CURDIR)/debian/tmp/usr/share/java
install -m 644 dist/xpclass.jar $(CURDIR)/debian/tmp/usr/share/java/jss-$(MOD_MAJOR_VERSION).$(MOD_MINOR_VERSION).$(MOD_PATCH_VERSION).jar
install -m 0755 dist/Linux*.OBJ/lib/libjss4.so $(CURDIR)/debian/tmp/usr/lib/jss
# For maintainer use only, generate a tarball:
gentarball:
git archive --format=tar upstream --prefix=jss-$(UPSTREAM_VERSION)/ | \
xz --best \
> ../jss_$(UPSTREAM_VERSION).orig.tar.xz
%:
dh $@ --with quilt
version=3
https://github.com/dogtagpki/jss/tags/ (?:.*?/)?v?(\d[\d.]*)\.tar\.gz
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="samples/" kind="src" path=""/>
<classpathentry kind="src" path="samples"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
syntax: glob
*~
*OPT.OBJ/*
*DBG.OBJ/*
*DBG.OBJD/*
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>jss</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
This diff is collapsed.
eclipse.preferences.version=1
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=_PKI Project Profile
formatter_settings_version=12
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=false
sp_cleanup.add_missing_deprecated_annotations=true
sp_cleanup.add_missing_methods=false
sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=false
sp_cleanup.always_use_this_for_non_static_field_access=false
sp_cleanup.always_use_this_for_non_static_method_access=false
sp_cleanup.convert_to_enhanced_for_loop=false
sp_cleanup.correct_indentation=false
sp_cleanup.format_source_code=false
sp_cleanup.format_source_code_changes_only=false
sp_cleanup.make_local_variable_final=false
sp_cleanup.make_parameters_final=false
sp_cleanup.make_private_fields_final=true
sp_cleanup.make_type_abstract_if_missing_method=false
sp_cleanup.make_variable_declarations_final=false
sp_cleanup.never_use_blocks=false
sp_cleanup.never_use_parentheses_in_expressions=true
sp_cleanup.on_save_use_additional_actions=true
sp_cleanup.organize_imports=true
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
sp_cleanup.remove_private_constructors=true
sp_cleanup.remove_trailing_whitespaces=true
sp_cleanup.remove_trailing_whitespaces_all=true
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=false
sp_cleanup.remove_unused_imports=true
sp_cleanup.remove_unused_local_variables=false
sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
sp_cleanup.sort_members=false
sp_cleanup.sort_members_all=false
sp_cleanup.use_blocks=false
sp_cleanup.use_blocks_only_for_return_and_throw=false
sp_cleanup.use_parentheses_in_expressions=false
sp_cleanup.use_this_for_non_static_field_access=false
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
sp_cleanup.use_this_for_non_static_method_access=false
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
This diff is collapsed.
#! gmake
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY). #
#######################################################################
include manifest.mn
#######################################################################
# (2) Include "global" configuration information. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/config.mk
#######################################################################
# (3) Include "component" configuration information. (OPTIONAL) #
#######################################################################
#######################################################################
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
#######################################################################
# (5) Execute "global" rules. (OPTIONAL) #
#######################################################################
# have to put this here, instead of in rules.mk, so that Java gets
# built first
all:: buildJava
test_jss: testJava
include $(CORE_DEPTH)/coreconf/rules.mk
#######################################################################
# (6) Execute "component" rules. (OPTIONAL) #
#######################################################################
#######################################################################
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
include rules.mk
package:
$(MAKE) -C pkg publish
============================================
|| Upstream JSS Build/Test Instructions ||
============================================
(1) Prepare a work area
(a) For upstream builds which checkout and utilize
the current NSPR and NSS source repositories:
# mkdir sandbox
# cd sandbox
# hg clone https://hg.mozilla.org/projects/nspr
# hg clone https://hg.mozilla.org/projects/nss
# git clone git@github.com:dogtagpki/jss.git
# cd ..
(There is no need to clone every time. For additional builds,
simply use:
cd nspr; hg pull -u -v; cd ..; cd nss; hg pull -u -v; cd ..;
cd jss; hg pull -u -v; cd ..
)
(b) Alternatively, for upstream builds which use
the NSPR and NSS installed on the system:
# mkdir sandbox
# cd sandbox
# export USE_INSTALLED_NSPR=1
# export USE_INSTALLED_NSS=1
# export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
# export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
# export NSPR_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nspr | sed 's/-I//'`
# export NSPR_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nspr | sed 's/-L//'`
# export NSS_INCLUDE_DIR=`/usr/bin/pkg-config --cflags-only-I nss | sed 's/-I//'`
# export NSS_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nss | sed 's/-L//'`
# export XCFLAGS="-g"
# hg clone https://hg.mozilla.org/projects/jss
# cd ..
(There is no need to clone every time. For additional builds,
simply use:
cd jss; hg pull -u -v; cd ..
)
(2) Prepare an interactive shell for building:
# export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0_openjdk
# export USE_64=1
NOTE: JSS will now attempt to verify whether or not these two
environment variables have been set (JAVA_HOME is mandatory;
USE_64 is mandatory on 64-bit platforms when building 64-bit).
The following steps are optional, and left to the discretion of the user:
Debug vs. Optimized jar files:
By default, JSS will be built as a debuggable jar
(xpclass_dbg.jar - generally recommended for test builds);
to create an optimized jar (xpclass.jar), set the following
environment variable:
# export BUILD_OPT=1
Beta vs. Non-Beta builds:
Finally, by default, JSS is not built as a "beta" release (as
specified in 'org/mozilla/jss/util/jssver.h'):
#define JSS_BETA PR_FALSE
If a "beta" version of JSS is desired, reset this #define (as
specified in 'org/mozilla/jss/util/jssver.h') to:
#define JSS_BETA PR_TRUE
(3) Build JSS
# cd sandbox/jss
# make clean all
# cd ../..
(or you can run "# script -c 'make clean all' typescript.build")
NOTE: When build method (1)(a) is being utilized, if nss has not been
built, it will now automatically be built before jss; if nss has
already been built, only jss will be built/re-built.
(4) Install JSS on the System (Optional)
If JSS already exists on the system, run something similar to the
following command(s):
# sudo mv /usr/lib/java/jss4.jar /usr/lib/java/jss4.jar.orig
If the platform is 32-bit Linux:
# sudo mv /usr/lib/jss/libjss4.so /usr/lib/jss/libjss4.so.orig
else if the platform is 64-bit Linux:
# sudo mv /usr/lib64/jss/libjss4.so /usr/lib64/jss/libjss4.so.orig
If BUILD_OPT is undefined (default Debuggable Jar):
# sudo cp sandbox/dist/xpclass_dbg.jar /usr/lib/java/jss4.jar
else if BUILD_OPT is defined (Optimized Jar):
# sudo cp sandbox/dist/xpclass.jar /usr/lib/java/jss4.jar
# sudo chown root:root /usr/lib/java/jss4.jar
# sudo chmod 644 /usr/lib/java/jss4.jar
# sudo cp sandbox/jss/lib/Linux*.OBJ/libjss4.so /usr/lib64/jss/libjss4.so
# sudo chown root:root /usr/lib64/jss/libjss4.so
# sudo chmod 755 /usr/lib64/jss/libjss4.so
(5) Run JSS Tests (Optional, but only if build method (1)(a) was utilized)
If build method (1)(a) is being utilized, it is possible to run the
built-in JSS tests:
# cd sandbox/jss
# make test_jss
# cd ../..
(or you can run "# script -c 'make test_jss' typescript.tests")
NOTE: This command is currently only available on Linux and Macintosh
platforms when method (1)(a) has been utilized to build JSS
since the tests are dependent upon the work area as setup in
this method; currenty JSS must be built via 'make clean all' before
execution of this command (e.g. - build is separate from test).
(6) Restoration of non-Test-Only Systems (Optional)
If step (4) above was run, and the system is being used for purposes
other than test, the user may wish to restore the original system JSS
by running the following commands:
# sudo mv /usr/lib/java/jss4.jar.orig /usr/lib/java/jss4.jar
If the platform is 32-bit Linux:
# sudo mv /usr/lib/jss/libjss4.so.orig /usr/lib/jss/libjss4.so
else if the platform is 64-bit Linux:
# sudo mv /usr/lib64/jss/libjss4.so.orig /usr/lib64/jss/libjss4.so
NOTE: For this procedure, no ownership or permission changes should
be necessary.
(7) Tagging the Source Code for a Release
During development, several releases may be made. Consequently, it is
good practice to create a "regular tag" to the source code at these
various points in time using the following format:
# hg tag -m "message" JSS_<major>_<minor>_YYYYMMDD
where: <major> = JSS Major Version Number
<minor> = JSS Minor Version Number
YYYY = 4-digit year (e. g. - 2017)
MM = 2-digit month (e. g. - 01, ..., 12)
DD = 2-digit day of the month (e. g. - 01, ..., 31)
For example:
# hg id
b3e864205ff0+ tip
# hg tag -m "Added tag JSS_4_4_20170328 for changeset b3e864205ff0" JSS_4_4_20170328
At the appropriate time, a new major.minor version may be created. At this
time, it is important to create a maintenance branch for any future changes
to the previous major.minor version:
For example:
# hg id
f00f00f00f00+ tip
# hg branch -m "Created branch JSS_4_4_BRANCH for changeset f00f00f00f00" JSS_4_4_BRANCH
(8) Known Issues
* Mozilla Bug #1346410 - Load JSS libraries appropriately
NOTE: This issue should not occur unless step (4) above was skipped.
Testing failures were found while working on Bug 1346410 when loading the
JSS libraries to meet requirements of certain operating systems. Our
investigation revealed that due to the nature of the changes made via this
patch and its interaction with the HMAC Tests (both non-FIPS and FIPS),
that a failure may be encountered on one or more of the HMAC algorithms
causing these two tests to fail. On 64-bit Linux, for example, the
workaround for this issue is to perform the following steps before
re-running the tests:
(a) Install the new JSS builds by executing step (4) above
(b) Execute the following commands:
# cd sandbox/jss; make test_jss
NOTE: If the system is being used for purposes other than test, the user
may wish to restore the original JSS by executing step (6) above.