From f394358f9e85083d7429fe9a1e5b723ffc13faae81fa764ba986b4db6f4c595a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 31 May 2024 14:41:44 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main java-21-openjdk revision 0ebb44cc06091965755c0ff72a285240 --- alternative-tzdb_dat.patch | 111 ------- disable-doclint-by-default.patch | 2 +- fips.patch | 96 +----- java-21-openjdk.changes | 498 +++++++++++++++++++++++++++++ java-21-openjdk.spec | 61 ++-- java-atk-wrapper-security.patch | 4 +- jdk-21.0.2+13.tar.gz | 3 - jdk-21.0.3+9.tar.gz | 3 + loadAssistiveTechnologies.patch | 2 +- memory-limits.patch | 2 +- multiple-pkcs11-library-init.patch | 14 +- reproducible-jlink.patch | 11 + system-pcsclite.patch | 8 +- zero-ranges.patch | 2 +- 14 files changed, 571 insertions(+), 246 deletions(-) delete mode 100644 alternative-tzdb_dat.patch delete mode 100644 jdk-21.0.2+13.tar.gz create mode 100644 jdk-21.0.3+9.tar.gz create mode 100644 reproducible-jlink.patch diff --git a/alternative-tzdb_dat.patch b/alternative-tzdb_dat.patch deleted file mode 100644 index 5542aaa..0000000 --- a/alternative-tzdb_dat.patch +++ /dev/null @@ -1,111 +0,0 @@ ---- a/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java -+++ b/src/java.base/share/classes/java/time/zone/TzdbZoneRulesProvider.java -@@ -74,6 +74,7 @@ import java.util.HashSet; - import java.util.List; - import java.util.Map; - import java.util.NavigableMap; -+import java.util.Properties; - import java.util.Set; - import java.util.TreeMap; - import java.util.concurrent.ConcurrentHashMap; -@@ -106,7 +107,14 @@ final class TzdbZoneRulesProvider extends ZoneRulesProvider { - */ - public TzdbZoneRulesProvider() { - try { -- String libDir = StaticProperty.javaHome() + File.separator + "lib"; -+ final String homeDir = StaticProperty.javaHome(); -+ if (homeDir == null) { -+ throw new Error("java.home is not set"); -+ } -+ String libDir = homeDir + File.separator + "lib"; -+ String otherDir = getZoneInfoDir(homeDir); -+ if (otherDir != null) -+ libDir = otherDir; - try (DataInputStream dis = new DataInputStream( - new BufferedInputStream(new FileInputStream( - new File(libDir, "tzdb.dat"))))) { -@@ -117,6 +125,28 @@ final class TzdbZoneRulesProvider extends ZoneRulesProvider { - } - } - -+ private static String getZoneInfoDir(final String homeDir) { -+ try { -+ File f = new File(homeDir + File.separator + "conf" + -+ File.separator + "tz.properties"); -+ if (!f.exists()) -+ return null; -+ BufferedInputStream bin = new BufferedInputStream(new FileInputStream(f)); -+ Properties props = new Properties(); -+ props.load(bin); -+ bin.close(); -+ String dir = props.getProperty("sun.zoneinfo.dir"); -+ if (dir == null) -+ return null; -+ File tzdbdat = new File(dir, "tzdb.dat"); -+ if (tzdbdat.exists()) -+ return dir; -+ return null; -+ } catch (Exception x) { -+ return null; -+ } -+ } -+ - @Override - protected Set provideZoneIds() { - return new HashSet<>(regionIds); ---- a/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java -+++ b/src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java -@@ -45,6 +45,7 @@ import java.util.HashMap; - import java.util.List; - import java.util.Locale; - import java.util.Map; -+import java.util.Properties; - import java.util.SimpleTimeZone; - import java.util.concurrent.ConcurrentHashMap; - import java.util.zip.CRC32; -@@ -256,7 +257,15 @@ public final class ZoneInfoFile { - AccessController.doPrivileged(new PrivilegedAction() { - public Void run() { - try { -- String libDir = StaticProperty.javaHome() + File.separator + "lib"; -+ final String homeDir = StaticProperty.javaHome(); -+ if (homeDir == null) { -+ throw new Error("java.home is not set"); -+ } -+ String libDir = homeDir + File.separator + "lib"; -+ String otherDir = getZoneInfoDir(homeDir); -+ if (otherDir != null) -+ libDir = otherDir; -+ - try (DataInputStream dis = new DataInputStream( - new BufferedInputStream(new FileInputStream( - new File(libDir, "tzdb.dat"))))) { -@@ -270,6 +279,28 @@ public final class ZoneInfoFile { - }); - } - -+ private static String getZoneInfoDir(final String homeDir) { -+ try { -+ File f = new File(homeDir + File.separator + "conf" + -+ File.separator + "tz.properties"); -+ if (!f.exists()) -+ return null; -+ BufferedInputStream bin = new BufferedInputStream(new FileInputStream(f)); -+ Properties props = new Properties(); -+ props.load(bin); -+ bin.close(); -+ String dir = props.getProperty("sun.zoneinfo.dir"); -+ if (dir == null) -+ return null; -+ File tzdbdat = new File(dir, "tzdb.dat"); -+ if (tzdbdat.exists()) -+ return dir; -+ return null; -+ } catch (Exception x) { -+ return null; -+ } -+ } -+ - private static void addOldMapping() { - for (String[] alias : oldMappings) { - aliases.put(alias[0], alias[1]); diff --git a/disable-doclint-by-default.patch b/disable-doclint-by-default.patch index 72c0d28..0a7b829 100644 --- a/disable-doclint-by-default.patch +++ b/disable-doclint-by-default.patch @@ -1,6 +1,6 @@ --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java -@@ -795,7 +795,7 @@ public abstract class BaseConfiguration { +@@ -785,7 +785,7 @@ public abstract class BaseConfiguration { } } else { // no -Xmsgs options of any kind, use default diff --git a/fips.patch b/fips.patch index 6ec46e3..8baf8d6 100644 --- a/fips.patch +++ b/fips.patch @@ -1,5 +1,3 @@ -diff --git a/make/autoconf/build-aux/pkg.m4 b/make/autoconf/build-aux/pkg.m4 -index 5f4b22bb27f..1ca9f5b8ffe 100644 --- a/make/autoconf/build-aux/pkg.m4 +++ b/make/autoconf/build-aux/pkg.m4 @@ -179,3 +179,19 @@ else @@ -22,9 +20,6 @@ index 5f4b22bb27f..1ca9f5b8ffe 100644 + +AS_VAR_IF([$1], [""], [$5], [$4])dnl +])dnl PKG_CHECK_VAR -diff --git a/make/autoconf/lib-sysconf.m4 b/make/autoconf/lib-sysconf.m4 -new file mode 100644 -index 00000000000..f48fc7f7e80 --- /dev/null +++ b/make/autoconf/lib-sysconf.m4 @@ -0,0 +1,87 @@ @@ -115,8 +110,6 @@ index 00000000000..f48fc7f7e80 + AC_SUBST(USE_SYSCONF_NSS) + AC_SUBST(NSS_LIBDIR) +]) -diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4 -index a1fc81564b1..ebad69d9dcf 100644 --- a/make/autoconf/libraries.m4 +++ b/make/autoconf/libraries.m4 @@ -35,6 +35,7 @@ m4_include([lib-std.m4]) @@ -127,7 +120,7 @@ index a1fc81564b1..ebad69d9dcf 100644 ################################################################################ # Determine which libraries are needed for this configuration -@@ -134,6 +135,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], +@@ -128,6 +129,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES], LIB_SETUP_X11 LIB_TESTS_SETUP_GTEST @@ -135,11 +128,9 @@ index a1fc81564b1..ebad69d9dcf 100644 BASIC_JDKLIB_LIBS="" BASIC_JDKLIB_LIBS_TARGET="" -diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in -index 0f85917814e..9419562b654 100644 --- a/make/autoconf/spec.gmk.in +++ b/make/autoconf/spec.gmk.in -@@ -867,6 +867,11 @@ INSTALL_SYSCONFDIR=@sysconfdir@ +@@ -874,6 +874,11 @@ INSTALL_SYSCONFDIR=@sysconfdir@ # Libraries # @@ -151,8 +142,6 @@ index 0f85917814e..9419562b654 100644 USE_EXTERNAL_LCMS:=@USE_EXTERNAL_LCMS@ LCMS_CFLAGS:=@LCMS_CFLAGS@ LCMS_LIBS:=@LCMS_LIBS@ -diff --git a/make/modules/java.base/Gendata.gmk b/make/modules/java.base/Gendata.gmk -index 9e5cfe2d0fc..434ade8e182 100644 --- a/make/modules/java.base/Gendata.gmk +++ b/make/modules/java.base/Gendata.gmk @@ -98,3 +98,17 @@ $(GENDATA_JAVA_SECURITY): $(BUILD_TOOLS_JDK) $(GENDATA_JAVA_SECURITY_SRC) $(REST @@ -173,8 +162,6 @@ index 9e5cfe2d0fc..434ade8e182 100644 +TARGETS += $(GENDATA_NSS_FIPS_CFG) + +################################################################################ -diff --git a/make/modules/java.base/Lib.gmk b/make/modules/java.base/Lib.gmk -index 1e0f66726d0..59fe923f2c5 100644 --- a/make/modules/java.base/Lib.gmk +++ b/make/modules/java.base/Lib.gmk @@ -163,6 +163,29 @@ ifeq ($(call isTargetOsType, unix), true) @@ -207,8 +194,6 @@ index 1e0f66726d0..59fe923f2c5 100644 ################################################################################ # Create the symbols file for static builds. -diff --git a/src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java b/src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java -index 10093137151..b023c63ae58 100644 --- a/src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java +++ b/src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java @@ -31,6 +31,7 @@ import java.security.SecureRandom; @@ -1130,8 +1115,6 @@ index 10093137151..b023c63ae58 100644 } // Return the instance of this class or create one if needed. -diff --git a/src/java.base/share/classes/java/security/Security.java b/src/java.base/share/classes/java/security/Security.java -index 671529f71a1..af632936921 100644 --- a/src/java.base/share/classes/java/security/Security.java +++ b/src/java.base/share/classes/java/security/Security.java @@ -34,6 +34,7 @@ import java.net.URL; @@ -1253,9 +1236,6 @@ index 671529f71a1..af632936921 100644 InputStream is = null; try { if (masterFile != null && masterFile.exists()) { -diff --git a/src/java.base/share/classes/java/security/SystemConfigurator.java b/src/java.base/share/classes/java/security/SystemConfigurator.java -new file mode 100644 -index 00000000000..9d26a54f5d4 --- /dev/null +++ b/src/java.base/share/classes/java/security/SystemConfigurator.java @@ -0,0 +1,232 @@ @@ -1491,9 +1471,6 @@ index 00000000000..9d26a54f5d4 + } + } +} -diff --git a/src/java.base/share/classes/jdk/internal/access/JavaSecuritySystemConfiguratorAccess.java b/src/java.base/share/classes/jdk/internal/access/JavaSecuritySystemConfiguratorAccess.java -new file mode 100644 -index 00000000000..3f3caac64dc --- /dev/null +++ b/src/java.base/share/classes/jdk/internal/access/JavaSecuritySystemConfiguratorAccess.java @@ -0,0 +1,31 @@ @@ -1528,8 +1505,6 @@ index 00000000000..3f3caac64dc + boolean isSystemFipsEnabled(); + boolean isPlainKeySupportEnabled(); +} -diff --git a/src/java.base/share/classes/jdk/internal/access/SharedSecrets.java b/src/java.base/share/classes/jdk/internal/access/SharedSecrets.java -index 919d758a6e3..b1e5fbaf84a 100644 --- a/src/java.base/share/classes/jdk/internal/access/SharedSecrets.java +++ b/src/java.base/share/classes/jdk/internal/access/SharedSecrets.java @@ -43,6 +43,7 @@ import java.io.PrintStream; @@ -1564,8 +1539,6 @@ index 919d758a6e3..b1e5fbaf84a 100644 + return javaSecuritySystemConfiguratorAccess; + } } -diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java -index 06b141dcf22..e8cbf7f15d7 100644 --- a/src/java.base/share/classes/module-info.java +++ b/src/java.base/share/classes/module-info.java @@ -158,6 +158,7 @@ module java.base { @@ -1576,8 +1549,6 @@ index 06b141dcf22..e8cbf7f15d7 100644 jdk.jartool, jdk.jlink, jdk.jfr, -diff --git a/src/java.base/share/classes/sun/security/provider/SunEntries.java b/src/java.base/share/classes/sun/security/provider/SunEntries.java -index f036a411f1d..1e9de933bd9 100644 --- a/src/java.base/share/classes/sun/security/provider/SunEntries.java +++ b/src/java.base/share/classes/sun/security/provider/SunEntries.java @@ -38,6 +38,7 @@ import java.util.HashMap; @@ -1872,8 +1843,6 @@ index f036a411f1d..1e9de933bd9 100644 /* * Certificates -diff --git a/src/java.base/share/classes/sun/security/rsa/SunRsaSignEntries.java b/src/java.base/share/classes/sun/security/rsa/SunRsaSignEntries.java -index 539ef1e8ee8..435f57e3ff2 100644 --- a/src/java.base/share/classes/sun/security/rsa/SunRsaSignEntries.java +++ b/src/java.base/share/classes/sun/security/rsa/SunRsaSignEntries.java @@ -27,6 +27,7 @@ package sun.security.rsa; @@ -1978,11 +1947,9 @@ index 539ef1e8ee8..435f57e3ff2 100644 addA(p, "AlgorithmParameters", "RSASSA-PSS", "sun.security.rsa.PSSParameters", null); } -diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security -index 5149edba0e5..8227d650a03 100644 --- a/src/java.base/share/conf/security/java.security +++ b/src/java.base/share/conf/security/java.security -@@ -86,6 +86,17 @@ security.provider.tbd=Apple +@@ -85,6 +85,17 @@ security.provider.tbd=Apple #endif security.provider.tbd=SunPKCS11 @@ -2048,7 +2015,7 @@ index 5149edba0e5..8227d650a03 100644 # # Controls compatibility mode for JKS and PKCS12 keystore types. # -@@ -332,6 +384,13 @@ package.definition=sun.misc.,\ +@@ -336,6 +388,13 @@ package.definition=sun.misc.,\ # security.overridePropertiesFile=true @@ -2062,9 +2029,6 @@ index 5149edba0e5..8227d650a03 100644 # # Determines the default key and trust manager factory algorithms for # the javax.net.ssl package. -diff --git a/src/java.base/share/conf/security/nss.fips.cfg.in b/src/java.base/share/conf/security/nss.fips.cfg.in -new file mode 100644 -index 00000000000..55bbba98b7a --- /dev/null +++ b/src/java.base/share/conf/security/nss.fips.cfg.in @@ -0,0 +1,8 @@ @@ -2076,8 +2040,6 @@ index 00000000000..55bbba98b7a + +attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true } + -diff --git a/src/java.base/share/lib/security/default.policy b/src/java.base/share/lib/security/default.policy -index 86d45147709..22fd8675503 100644 --- a/src/java.base/share/lib/security/default.policy +++ b/src/java.base/share/lib/security/default.policy @@ -130,6 +130,7 @@ grant codeBase "jrt:/jdk.charsets" { @@ -2097,9 +2059,6 @@ index 86d45147709..22fd8675503 100644 permission java.security.SecurityPermission "putProviderProperty.*"; permission java.security.SecurityPermission "clearProviderProperties.*"; permission java.security.SecurityPermission "removeProviderProperty.*"; -diff --git a/src/java.base/share/native/libsystemconf/systemconf.c b/src/java.base/share/native/libsystemconf/systemconf.c -new file mode 100644 -index 00000000000..ddf9befe5bc --- /dev/null +++ b/src/java.base/share/native/libsystemconf/systemconf.c @@ -0,0 +1,236 @@ @@ -2339,9 +2298,6 @@ index 00000000000..ddf9befe5bc +} + +#endif -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/FIPSKeyImporter.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/FIPSKeyImporter.java -new file mode 100644 -index 00000000000..48d6d656a28 --- /dev/null +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/FIPSKeyImporter.java @@ -0,0 +1,457 @@ @@ -2802,9 +2758,6 @@ index 00000000000..48d6d656a28 + } + } +} -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/FIPSTokenLoginHandler.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/FIPSTokenLoginHandler.java -new file mode 100644 -index 00000000000..f8d505ca815 --- /dev/null +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/FIPSTokenLoginHandler.java @@ -0,0 +1,149 @@ @@ -2958,8 +2911,6 @@ index 00000000000..f8d505ca815 + } +} \ No newline at end of file -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java -index 6b26297b1b4..7ee5e07756c 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java @@ -37,6 +37,8 @@ import javax.crypto.*; @@ -2981,20 +2932,20 @@ index 6b26297b1b4..7ee5e07756c 100644 private static final String PUBLIC = "public"; private static final String PRIVATE = "private"; private static final String SECRET = "secret"; -@@ -401,8 +406,10 @@ abstract class P11Key implements Key, Length { +@@ -401,9 +406,10 @@ abstract class P11Key implements Key, Length { new CK_ATTRIBUTE(CKA_EXTRACTABLE), }); -- boolean keySensitive = (attrs[0].getBoolean() || -- attrs[1].getBoolean() || !attrs[2].getBoolean()); +- boolean keySensitive = + boolean exportable = plainKeySupportEnabled && !algorithm.equals("DH"); + boolean keySensitive = (!exportable && -+ (attrs[0].getBoolean() || -+ attrs[1].getBoolean() || !attrs[2].getBoolean())); + (attrs[0].getBoolean() && P11Util.isNSS(session.token)) || +- attrs[1].getBoolean() || !attrs[2].getBoolean(); ++ attrs[1].getBoolean() || !attrs[2].getBoolean()); return switch (algorithm) { case "RSA" -> P11RSAPrivateKeyInternal.of(session, keyID, algorithm, -@@ -454,7 +461,8 @@ abstract class P11Key implements Key, Length { +@@ -455,7 +461,8 @@ abstract class P11Key implements Key, Length { public String getFormat() { token.ensureValid(); @@ -3004,13 +2955,11 @@ index 6b26297b1b4..7ee5e07756c 100644 return null; } else { return "RAW"; -@@ -1624,4 +1632,3 @@ final class SessionKeyRef extends PhantomReference { +@@ -1625,4 +1632,3 @@ final class SessionKeyRef extends PhantomReference { this.clear(); } } - -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java -index 5cd6828d293..bae49c4e8a9 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java @@ -26,6 +26,9 @@ @@ -3106,7 +3055,7 @@ index 5cd6828d293..bae49c4e8a9 100644 return new SunPKCS11(new Config(newConfigName)); } }); -@@ -325,9 +386,19 @@ public final class SunPKCS11 extends AuthProvider { +@@ -336,9 +397,19 @@ public final class SunPKCS11 extends AuthProvider { // request multithreaded access first initArgs.flags = CKF_OS_LOCKING_OK; PKCS11 tmpPKCS11; @@ -3128,7 +3077,7 @@ index 5cd6828d293..bae49c4e8a9 100644 } catch (PKCS11Exception e) { if (debug != null) { debug.println("Multi-threaded initialization failed: " + e); -@@ -342,8 +413,9 @@ public final class SunPKCS11 extends AuthProvider { +@@ -353,8 +424,9 @@ public final class SunPKCS11 extends AuthProvider { } else { initArgs.flags = 0; } @@ -3140,7 +3089,7 @@ index 5cd6828d293..bae49c4e8a9 100644 } p11 = tmpPKCS11; -@@ -1389,11 +1461,52 @@ public final class SunPKCS11 extends AuthProvider { +@@ -1400,11 +1472,52 @@ public final class SunPKCS11 extends AuthProvider { } @Override @@ -3193,7 +3142,7 @@ index 5cd6828d293..bae49c4e8a9 100644 try { return newInstance0(param); } catch (PKCS11Exception e) { -@@ -1750,6 +1863,9 @@ public final class SunPKCS11 extends AuthProvider { +@@ -1761,6 +1874,9 @@ public final class SunPKCS11 extends AuthProvider { try { session = token.getOpSession(); p11.C_Logout(session.id()); @@ -3203,8 +3152,6 @@ index 5cd6828d293..bae49c4e8a9 100644 if (debug != null) { debug.println("logout succeeded"); } -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java -index 3378409ca1c..7602a92a252 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java @@ -33,6 +33,7 @@ import java.lang.ref.*; @@ -3250,8 +3197,6 @@ index 3378409ca1c..7602a92a252 100644 } } -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java -index 4b06daaf264..55e14945469 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java @@ -49,6 +49,9 @@ package sun.security.pkcs11.wrapper; @@ -3506,8 +3451,6 @@ index 4b06daaf264..55e14945469 100644 + } +} } -diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java -index 920422376f8..6aa308fa5f8 100644 --- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java +++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java @@ -215,6 +215,14 @@ public class PKCS11Exception extends Exception { @@ -3525,8 +3468,6 @@ index 920422376f8..6aa308fa5f8 100644 /** * Constructor taking the error code (the CKR_* constants in PKCS#11) and * extra info for error message. -diff --git a/src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java b/src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java -index 7f8c4dba002..e65b11fc3ee 100644 --- a/src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java +++ b/src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java @@ -34,6 +34,7 @@ import java.security.ProviderException; @@ -3793,9 +3734,6 @@ index 7f8c4dba002..e65b11fc3ee 100644 } } -diff --git a/test/jdk/sun/security/pkcs11/fips/NssdbPin.java b/test/jdk/sun/security/pkcs11/fips/NssdbPin.java -new file mode 100644 -index 00000000000..ce01c655eb8 --- /dev/null +++ b/test/jdk/sun/security/pkcs11/fips/NssdbPin.java @@ -0,0 +1,349 @@ @@ -4148,9 +4086,6 @@ index 00000000000..ce01c655eb8 + "2nd line with garbage"); + } +} -diff --git a/test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java b/test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java -new file mode 100644 -index 00000000000..87f1ad04505 --- /dev/null +++ b/test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java @@ -0,0 +1,77 @@ @@ -4231,4 +4166,3 @@ index 00000000000..87f1ad04505 + } + } +} - diff --git a/java-21-openjdk.changes b/java-21-openjdk.changes index 082aaac..e066964 100644 --- a/java-21-openjdk.changes +++ b/java-21-openjdk.changes @@ -1,3 +1,501 @@ +------------------------------------------------------------------- +Thu Apr 18 13:25:02 UTC 2024 - Fridrich Strba + +- Update to upstream tag jdk-21.0.3+9 (April 2024 CPU) + * Security fixes + + JDK-8315708, CVE-2024-21012, bsc#1222987: Enhance HTTP/2 + client usage + + JDK-8318340: Improve RSA key implementations + + JDK-8319851, CVE-2024-21011, bsc#1222979: Improve exception + logging + + JDK-8322122, CVE-2024-21068, bsc#1222983: Enhance generation + of addresses + * Other changes + + JDK-6928542: Chinese characters in RTF are not decoded + + JDK-8009550: PlatformPCSC should load versioned so + + JDK-8077371: Binary files in JAXP test should be removed + + JDK-8169475: WheelModifier.java fails by timeout + + JDK-8209595: MonitorVmStartTerminate.java timed out + + JDK-8210410: Refactor java.util.Currency:i18n shell tests to + plain java tests + + JDK-8261837: SIGSEGV in ciVirtualCallTypeData::translate_from + + JDK-8263256: Test java/net/Inet6Address/serialize/ + /Inet6AddressSerializationTest.java fails due to dynamic + reconfigurations of network interface during test + + JDK-8264899: C1: -XX:AbortVMOnException does not work if all + methods in the call stack are compiled with C1 and there are + no exception handlers + + JDK-8274122: java/io/File/createTempFile/SpecialTempFile.java + fails in Windows 11 + + JDK-8295343: sun/security/pkcs11 tests fail on Linux RHEL 8.6 + and newer + + JDK-8296631: NSS tests failing on OL9 linux-aarch64 hosts + + JDK-8301310: The SendRawSysexMessage test may cause a JVM + crash + + JDK-8304020: Speed up test/jdk/java/util/zip/ZipFile/ + /TestTooManyEntries.java and clarify its purpose + + JDK-8304292: Memory leak related to + ClassLoader::update_class_path_entry_list + + JDK-8305962: update jcstress to 0.16 + + JDK-8305971: NPE in JavacProcessingEnvironment for missing + enum constructor body + + JDK-8306922: IR verification fails because IR dump is chopped + up + + JDK-8307408: Some jdk/sun/tools/jhsdb tests don't pass test + JVM args to the debuggee JVM + + JDK-8309109: AArch64: [TESTBUG] compiler/intrinsics/sha/cli/ + /TestUseSHA3IntrinsicsOptionOnSupportedCPU.java fails on + Neoverse N2 and V1 + + JDK-8309203: C2: remove copy-by-value of GrowableArray for + InterfaceSet + + JDK-8309302: java/net/Socket/Timeouts.java fails with + AssertionError on test temporal post condition + + JDK-8309697: [TESTBUG] Remove "@requires vm.flagless" from + jtreg vectorization tests + + JDK-8310031: Parallel: Implement better work distribution for + large object arrays in old gen + + JDK-8310238: [test bug] javax/swing/JTableHeader/6889007/ + /bug6889007.java fails + + JDK-8310308: IR Framework: check for type and size of vector + nodes + + JDK-8310629: java/security/cert/CertPathValidator/OCSP/ + /OCSPTimeout.java fails with RuntimeException + Server not ready + + JDK-8310631: test/jdk/sun/nio/cs/TestCharsetMapping.java is + spuriously passing + + JDK-8310807: java/nio/channels/DatagramChannel/Connect.java + timed out + + JDK-8310844: [AArch64] C1 compilation fails because monitor + offset in OSR buffer is too large for immediate + + JDK-8310919: runtime/ErrorHandling/ + /TestAbortVmOnException.java times out due to core dumps + taking a long time on OSX + + JDK-8310923: Refactor Currency tests to use JUnit + + JDK-8311081: KeytoolReaderP12Test.java fail on localized + Windows platform + + JDK-8311279: TestStressIGVNAndCCP.java failed with different + IGVN traces for the same seed + + JDK-8311581: Remove obsolete code and comments in TestLVT.java + + JDK-8311588: C2: RepeatCompilation compiler directive does + not choose stress seed randomly + + JDK-8311663: Additional refactoring of Locale tests to JUnit + + JDK-8311893: Interactive component with ARIA role 'tabpanel' + does not have a programmatically associated name + + JDK-8311986: Disable runtime/os/TestTracePageSizes.java for + ShenandoahGC + + JDK-8311992: Test java/lang/Thread/virtual/ + /JfrEvents::testVirtualThreadPinned failed + + JDK-8312136: Modify runtime/ErrorHandling/TestDwarf.java to + split dwarf and decoder testing + + JDK-8312416: Tests in Locale should have more descriptive + names + + JDK-8312428: PKCS11 tests fail with NSS 3.91 + + JDK-8312916: Remove remaining usages of -Xdebug from + test/hotspot/jtreg + + JDK-8313082: Enable CreateCoredumpOnCrash for testing in + makefiles + + JDK-8313229: DHEKeySizing.java should be modified to use TLS + versions TLSv1, TLSv1.1, TLSv1.2 + + JDK-8313507: Remove pkcs11/Cipher/TestKATForGCM.java from + ProblemList + + JDK-8313621: test/jdk/jdk/internal/math/FloatingDecimal/ + /TestFloatingDecimal should use RandomFactory + + JDK-8313638: Add test for dump of resolved references + + JDK-8313670: Simplify shared lib name handling code in some + tests + + JDK-8313720: C2 SuperWord: wrong result with + -XX:+UseVectorCmov -XX:+UseCMoveUnconditionally + + JDK-8313816: Accessing jmethodID might lead to spurious + crashes + + JDK-8313854: Some tests in serviceability area fail on + localized Windows platform + + JDK-8314164: java/net/HttpURLConnection/ + /HttpURLConnectionExpectContinueTest.java fails intermittently + in timeout + + JDK-8314220: Configurable InlineCacheBuffer size + + JDK-8314283: Support for NSS tests on aarch64 platforms + + JDK-8314320: Mark runtime/CommandLine/ tests as flagless + + JDK-8314333: Update com/sun/jdi/ProcessAttachTest.java to use + ProcessTools.createTestJvm(..) + + JDK-8314513: [IR Framework] Some internal IR Framework tests + are failing after JDK-8310308 on PPC and Cascade Lake + + JDK-8314578: Non-verifiable code is emitted when two guards + declare pattern variables in colon-switch + + JDK-8314610: hotspot can't compile with the latest of gtest + because of + + JDK-8314612: TestUnorderedReduction.java fails with + -XX:MaxVectorSize=32 and -XX:+AlignVector + + JDK-8314629: Generational ZGC: Clearing All SoftReferences + log line lacks GCId + + JDK-8314829: serviceability/sa/jmap-hprof/ + /JMapHProfLargeHeapTest.java ignores vm flags + + JDK-8314830: runtime/ErrorHandling/ tests ignore external VM + flags + + JDK-8314831: NMT tests ignore vm flags + + JDK-8314835: gtest wrappers should be marked as flagless + + JDK-8314837: 5 compiled/codecache tests ignore VM flags + + JDK-8314838: 3 compiler tests ignore vm flags + + JDK-8314990: Generational ZGC: Strong OopStorage stats + reported as weak roots + + JDK-8315034: File.mkdirs() occasionally fails to create + folders on Windows shared folder + + JDK-8315042: NPE in PKCS7.parseOldSignedData + + JDK-8315097: Rename createJavaProcessBuilder + + JDK-8315241: (fs) Move toRealPath tests in + java/nio/file/Path/Misc.java to separate JUnit 5 test + + JDK-8315406: [REDO] serviceability/jdwp/ + /AllModulesCommandTest.java ignores VM flags + + JDK-8315594: Open source few headless Swing misc tests + + JDK-8315600: Open source few more headless Swing misc tests + + JDK-8315602: Open source swing security manager test + + JDK-8315611: Open source swing text/html and tree test + + JDK-8315680: java/lang/ref/ReachabilityFenceTest.java should + run with -Xbatch + + JDK-8315721: CloseRace.java#id0 fails transiently on libgraal + + JDK-8315726: Open source several AWT applet tests + + JDK-8315731: Open source several Swing Text related tests + + JDK-8315761: Open source few swing JList and JMenuBar tests + + JDK-8315891: java/foreign/TestLinker.java failed with "error + occurred while instantiating class TestLinker: null" + + JDK-8315986: [macos14] javax/swing/JMenuItem/4654927/ + /bug4654927.java: component must be showing on the screen to + determine its location + + JDK-8315988: Parallel: Make TestAggressiveHeap use + createTestJvm + + JDK-8316001: GC: Make TestArrayAllocatorMallocLimit use + createTestJvm + + JDK-8316028: Update FreeType to 2.13.2 + + JDK-8316106: Open source few swing JInternalFrame and + JMenuBar tests + + JDK-8316132: CDSProtectionDomain::get_shared_protection_domain + should check for exception + + JDK-8316229: Enhance class initialization logging + + JDK-8316309: AArch64: VMError::print_native_stack() crashes + on Java native method frame + + JDK-8316319: Generational ZGC: The SoftMaxHeapSize might be + wrong when CDS decreases the MaxHeapSize + + JDK-8316392: compiler/interpreter/ + /TestVerifyStackAfterDeopt.java failed with SIGBUS in + PcDescContainer::find_pc_desc_internal + + JDK-8316410: GC: Make TestCompressedClassFlags use + createTestJvm + + JDK-8316445: Mark com/sun/management/HotSpotDiagnosticMXBean/ + /CheckOrigin.java as vm.flagless + + JDK-8316446: 4 sun/management/jdp tests ignore VM flags + + JDK-8316447: 8 sun/management/jmxremote tests ignore VM flags + + JDK-8316462: sun/jvmstat/monitor/MonitoredVm/ + /MonitorVmStartTerminate.java ignores VM flags + + JDK-8316464: 3 sun/tools tests ignore VM flags + + JDK-8316562: serviceability/sa/jmap-hprof/ + /JMapHProfLargeHeapTest.java times out after JDK-8314829 + + JDK-8316594: C2 SuperWord: wrong result with hand unrolled + loops + + JDK-8316661: CompilerThread leaks CodeBlob memory when + dynamically stopping compiler thread in non-product + + JDK-8316693: Simplify at-requires checkDockerSupport() + + JDK-8316947: Write a test to check textArea triggers + MouseEntered/MouseExited events properly + + JDK-8316961: Fallback implementations for 64-bit + Atomic::{add,xchg} on 32-bit platforms + + JDK-8316973: GC: Make TestDisableDefaultGC use createTestJvm + + JDK-8317042: G1: Make TestG1ConcMarkStepDurationMillis use + createTestJvm + + JDK-8317144: Exclude sun/security/pkcs11/sslecc/ + /ClientJSSEServerJSSE.java on Linux ppc64le + + JDK-8317188: G1: Make TestG1ConcRefinementThreads use + createTestJvm + + JDK-8317218: G1: Make TestG1HeapRegionSize use createTestJvm + + JDK-8317228: GC: Make TestXXXHeapSizeFlags use createTestJvm + + JDK-8317300: javac erroneously allows "final" in front of a + record pattern + + JDK-8317307: test/jdk/com/sun/jndi/ldap/ + /LdapPoolTimeoutTest.java fails with ConnectException: + Connection timed out: no further information + + JDK-8317316: G1: Make TestG1PercentageOptions use + createTestJvm + + JDK-8317317: G1: Make TestG1RemSetFlags use createTestJvm + + JDK-8317343: GC: Make TestHeapFreeRatio use createTestJvm + + JDK-8317347: Parallel: Make TestInitialTenuringThreshold use + createTestJvm + + JDK-8317358: G1: Make TestMaxNewSize use createTestJvm + + JDK-8317522: Test logic for BODY_CF in + AbstractThrowingSubscribers.java is wrong + + JDK-8317535: Shenandoah: Remove unused code + + JDK-8317771: [macos14] Expand/collapse a JTree using keyboard + freezes the application in macOS 14 Sonoma + + JDK-8317804: com/sun/jdi/JdwpAllowTest.java fails on Alpine + 3.17 / 3.18 + + JDK-8318039: GHA: Bump macOS and Xcode versions + + JDK-8318082: ConcurrentModificationException from IndexWriter + + JDK-8318154: Improve stability of WheelModifier.java test + + JDK-8318157: RISC-V: implement ensureMaterializedForStackWalk + intrinsic + + JDK-8318158: RISC-V: implement roundD/roundF intrinsics + + JDK-8318410: jdk/java/lang/instrument/BootClassPath/ + /BootClassPathTest.sh fails on Japanese Windows + + JDK-8318468: compiler/tiered/LevelTransitionTest.java fails + with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1 + + JDK-8318490: Increase timeout for JDK tests that are close to + the limit when run with libgraal + + JDK-8318590: JButton ignores margin when painting HTML text + + JDK-8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java + + JDK-8318607: Enable parallelism in vmTestbase/nsk/stress/jni + tests + + JDK-8318608: Enable parallelism in + vmTestbase/nsk/stress/threads tests + + JDK-8318613: ChoiceFormat patterns are not well tested + + JDK-8318689: jtreg is confused when folder name is the same + as the test name + + JDK-8318696: Do not use LFS64 symbols on Linux + + JDK-8318737: Fallback linker passes bad JNI handle + + JDK-8318809: java/util/concurrent/ConcurrentLinkedQueue/ + /WhiteBox.java shows intermittent failures on linux ppc64le + and aarch64 + + JDK-8318964: Fix build failures caused by 8315097 + + JDK-8318971: Better Error Handling for Jar Tool When + Processing Non-existent Files + + JDK-8318983: Fix comment typo in PKCS12Passwd.java + + JDK-8319103: Popups that request focus are not shown on Linux + with Wayland + + JDK-8319124: Update XML Security for Java to 3.0.3 + + JDK-8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64 + + JDK-8319136: Skip pkcs11 tests on linux-aarch64 + + JDK-8319137: release _object in ObjectMonitor dtor to avoid + races + + JDK-8319213: Compatibility.java reads both stdout and stderr + of JdkUtils + + JDK-8319314: NMT detail report slow or hangs for large number + of mappings + + JDK-8319372: C2 compilation fails with "Bad immediate + dominator info" + + JDK-8319382: com/sun/jdi/JdwpAllowTest.java shows failures on + AIX if prefixLen of mask is larger than 32 in IPv6 case + + JDK-8319456: jdk/jfr/event/gc/collection/ + /TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker + Initiated GC' not in the valid causes + + JDK-8319548: Unexpected internal name for Filler array klass + causes error in VisualVM + + JDK-8319569: Several java/util tests should be updated to + accept VM flags + + JDK-8319633: runtime/posixSig/TestPosixSig.java intermittent + timeouts on UNIX + + JDK-8319668: Fixup of jar filename typo in BadFactoryTest.sh + + JDK-8319777: Zero: Support 8-byte cmpxchg + + JDK-8319879: Stress mode to randomize incremental inlining + decision + + JDK-8319883: Zero: Use atomic built-ins for 64-bit accesses + + JDK-8319897: Move StackWatermark handling out of + LockStack::contains + + JDK-8319938: TestFileChooserSingleDirectorySelection.java + fails with "getSelectedFiles returned empty array" + + JDK-8320052: Zero: Use __atomic built-ins for atomic RMW + operations + + JDK-8320145: Compiler should accept final variable in Record + Pattern + + JDK-8320168: handle setsocktopt return values + + JDK-8320206: Some intrinsics/stubs missing vzeroupper on + x86_64 + + JDK-8320208: Update Public Suffix List to b5bf572 + + JDK-8320300: Adjust hs_err output in malloc/mmap error cases + + JDK-8320303: Allow PassFailJFrame to accept single window + creator + + JDK-8320309: AIX: pthreads created by foreign test library + don't work as expected + + JDK-8320383: refresh libraries cache on AIX in VMError::report + + JDK-8320582: Zero: Misplaced CX8 enablement flag + + JDK-8320798: Console read line with zero out should zero out + underlying buffer + + JDK-8320807: [PPC64][ZGC] C1 generates wrong code for atomics + + JDK-8320830: [AIX] Dont mix os::dll_load() with direct + dlclose() calls + + JDK-8320877: Shenandoah: Remove + ShenandoahUnloadClassesFrequency support + + JDK-8320888: Shenandoah: Enable ShenandoahVerifyOptoBarriers + in debug builds + + JDK-8320890: [AIX] Find a better way to mimic dl handle + equality + + JDK-8320898: exclude compiler/vectorapi/reshape/ + /TestVectorReinterpret.java on ppc64(le) platforms + + JDK-8320907: Shenandoah: Remove ShenandoahSelfFixing flag + + JDK-8320921: GHA: Parallelize hotspot_compiler test jobs + + JDK-8320937: support latest VS2022 MSC_VER in + abstract_vm_version.cpp + + JDK-8320943: Files/probeContentType/Basic.java fails on + latest Windows 11 - content type mismatch + + JDK-8321120: Shenandoah: Remove ShenandoahElasticTLAB flag + + JDK-8321122: Shenandoah: Remove + ShenandoahLoopOptsAfterExpansion flag + + JDK-8321131: Console read line with zero out should zero out + underlying buffer in JLine + + JDK-8321151: JDK-8294427 breaks Windows L&F on all older + Windows versions + + JDK-8321164: javac with annotation processor throws + AssertionError: Filling jrt:/... during JarFileObject[/...] + + JDK-8321215: Incorrect x86 instruction encoding for VSIB + addressing mode + + JDK-8321269: Require platforms to define + DEFAULT_CACHE_LINE_SIZE + + JDK-8321374: Add a configure option to explicitly set + CompanyName property in VersionInfo resource for Windows + exe/dll + + JDK-8321408: Add Certainly roots R1 and E1 + + JDK-8321409: Console read line with zero out should zero out + underlying buffer in JLine (redux) + + JDK-8321410: Shenandoah: Remove ShenandoahSuspendibleWorkers + flag + + JDK-8321480: ISO 4217 Amendment 176 Update + + JDK-8321542: C2: Missing ChaCha20 stub for x86_32 leads to + crashes + + JDK-8321582: yield .class not parsed + correctly. + + JDK-8321599: Data loss in AVX3 Base64 decoding + + JDK-8321619: Generational ZGC: ZColorStoreGoodOopClosure is + only valid for young objects + + JDK-8321894: Bump update version for OpenJDK: 21.0.3 + + JDK-8321972: test runtime/Unsafe/InternalErrorTest.java + timeout on linux-riscv64 platform + + JDK-8321974: Crash in ciKlass::is_subtype_of because + TypeAryPtr::_klass is not initialized + + JDK-8322040: Missing array bounds check in + ClassReader.parameter + + JDK-8322098: os::Linux::print_system_memory_info enhance the + THP output with + /sys/kernel/mm/transparent_hugepage/hpage_pmd_size + + JDK-8322142: JFR: Periodic tasks aren't orphaned between + recordings + + JDK-8322159: ThisEscapeAnalyzer crashes for erroneous code + + JDK-8322255: Generational ZGC: ZPageSizeMedium should be set + before MaxTenuringThreshold + + JDK-8322279: Generational ZGC: Use ZFragmentationLimit and + ZYoungCompactionLimit as percentage instead of multiples + + JDK-8322282: Incorrect LoaderConstraintTable::add_entry after + JDK-8298468 + + JDK-8322321: Add man page doc for -XX:+VerifySharedSpaces + + JDK-8322417: Console read line with zero out should zero out + when throwing exception + + JDK-8322418: Problem list gc/TestAllocHumongousFragment.java + subtests for 8298781 + + JDK-8322512: StringBuffer.repeat does not work correctly + after toString() was called + + JDK-8322583: RISC-V: Enable fast class initialization checks + + JDK-8322725: (tz) Update Timezone Data to 2023d + + JDK-8322750: Test "api/java_awt/interactive/ + /SystemTrayTests.html" failed because A blue ball icon is + added outside of the system tray + + JDK-8322772: Clean up code after JDK-8322417 + + JDK-8322783: prioritize /etc/os-release over + /etc/SuSE-release in hs_err/info output + + JDK-8322790: RISC-V: Tune costs for shuffles with no + conversion + + JDK-8322957: Generational ZGC: Relocation selection must join + the STS + + JDK-8323008: filter out harmful -std* flags added by autoconf + from CXX + + JDK-8323021: Shenandoah: Encountered reference count always + attributed to first worker thread + + JDK-8323065: Unneccesary CodeBlob lookup in + CompiledIC::internal_set_ic_destination + + JDK-8323086: Shenandoah: Heap could be corrupted by oom + during evacuation + + JDK-8323101: C2: assert(n->in(0) == nullptr) failed: + divisions with zero check should already have bailed out + earlier in split-if + + JDK-8323154: C2: assert(cmp != nullptr && cmp->Opcode() == + Op_Cmp(bt)) failed: no exit test + + JDK-8323243: JNI invocation of an abstract instance method + corrupts the stack + + JDK-8323331: fix typo hpage_pdm_size + + JDK-8323428: Shenandoah: Unused memory in regions compacted + during a full GC should be mangled + + JDK-8323515: Create test alias "all" for all test roots + + JDK-8323637: Capture hotspot replay files in GHA + + JDK-8323640: [TESTBUG]testMemoryFailCount in + jdk/internal/platform/docker/TestDockerMemoryMetrics.java + always fail because OOM killed + + JDK-8323659: LinkedTransferQueue add and put methods call + overridable offer + + JDK-8323664: java/awt/font/JNICheck/FreeTypeScalerJNICheck.java + still fails with JNI warning on some Windows configurations + + JDK-8323667: Library debug files contain non-reproducible + full gcc include paths + + JDK-8323671: DevKit build gcc libraries contain full paths to + source location + + JDK-8323717: Introduce test keyword for tests that need + external dependencies + + JDK-8323964: runtime/Thread/ThreadCountLimit.java fails + intermittently on AIX + + JDK-8324050: Issue store-store barrier after re-materializing + objects during deoptimization + + JDK-8324280: RISC-V: Incorrect implementation in + VM_Version::parse_satp_mode + + JDK-8324347: Enable "maybe-uninitialized" warning for + FreeType 2.13.1 + + JDK-8324514: ClassLoaderData::print_on should print address + of class loader + + JDK-8324598: use mem_unit when working with sysinfo memory + and swap related information + + JDK-8324637: [aix] Implement support for reporting swap space + in jdk.management + + JDK-8324647: Invalid test group of lib-test after JDK-8323515 + + JDK-8324659: GHA: Generic jtreg errors are not reported + + JDK-8324753: [AIX] adjust os_posix after JDK-8318696 + + JDK-8324858: [vectorapi] Bounds checking issues when + accessing memory segments + + JDK-8324874: AArch64: crypto pmull based CRC32/CRC32C + intrinsics clobber V8-V15 registers + + JDK-8324937: GHA: Avoid multiple test suites per job + + JDK-8325074: ZGC fails assert(index == 0 || + is_power_of_2(index)) failed: Incorrect load shift: 11 + + JDK-8325096: Test java/security/cert/CertPathBuilder/akiExt/ + /AKISerialNumber.java is failing + + JDK-8325150: (tz) Update Timezone Data to 2024a + + JDK-8325194: GHA: Add macOS M1 testing + + JDK-8325254: CKA_TOKEN private and secret keys are not + necessarily sensitive + + JDK-8325444: GHA: JDK-8325194 causes a regression + + JDK-8325470: [AIX] use fclose after fopen in read_psinfo + + JDK-8325496: Make TrimNativeHeapInterval a product switch + + JDK-8325672: C2: allocate PhaseIdealLoop::_loop_or_ctrl from + C->comp_arena() + + JDK-8325876: crashes in docker container tests on + Linuxppc64le Power8 machines + + JDK-8326000: Remove obsolete comments for class + sun.security.ssl.SunJSSE + + JDK-8327391: Add SipHash attribution file + + JDK-8329838: [21u] Remove designator + DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.3 +- Modified patches: + * disable-doclint-by-default.patch + * fips.patch + * java-21-openjdk.spec + * java-atk-wrapper-security.patch + * loadAssistiveTechnologies.patch + * memory-limits.patch + * multiple-pkcs11-library-init.patch + * system-pcsclite.patch + * zero-ranges.patch + + rediff to apply without fuzz + +------------------------------------------------------------------- +Mon Apr 1 07:12:05 UTC 2024 - Fridrich Strba + +- Added patch: + * reproducible-jlink.patch + + make the timestamp in jmods reproducible + +------------------------------------------------------------------- +Thu Mar 7 12:44:28 UTC 2024 - Fridrich Strba + +- Removed patch: + * alternative-tzdb_dat.patch + + Remove the possibility to use the system timezone-java. It + creates more problems then it solves (bsc#1213470) + +------------------------------------------------------------------- +Tue Feb 20 15:37:20 UTC 2024 - Fridrich Strba + +- Use %patch -P N instead of deprecated %patchN. + ------------------------------------------------------------------- Wed Feb 7 13:59:23 UTC 2024 - Fridrich Strba diff --git a/java-21-openjdk.spec b/java-21-openjdk.spec index 3c89f58..32e4957 100644 --- a/java-21-openjdk.spec +++ b/java-21-openjdk.spec @@ -33,8 +33,8 @@ # Standard JPackage naming and versioning defines. %global featurever 21 %global interimver 0 -%global updatever 2 -%global buildver 13 +%global updatever 3 +%global buildver 9 %global openjdk_repo jdk21u %global openjdk_tag jdk-%{featurever}%{?updatever:.%{interimver}.%{updatever}}%{?patchver:.%{patchver}}+%{buildver} %global openjdk_dir %{openjdk_repo}-jdk-%{featurever}%{?updatever:.%{interimver}.%{updatever}}%{?patchver:.%{patchver}}-%{buildver} @@ -99,6 +99,9 @@ %global package_version %{featurever}.%{interimver}.%{?updatever:%{updatever}}%{!?updatever:0}.%{?patchver:%{patchver}}%{!?patchver:0}~%{buildver} %endif %global NSS_LIBDIR %(pkg-config --variable=libdir nss) +%if 0%{?gcc_version} < 7 +%global with_gcc 7 +%endif %bcond_with zero %if ! %{with zero} %global with_systemtap 1 @@ -158,6 +161,7 @@ Patch11: reproducible-properties.patch Patch12: adlc-parser.patch # Fix: implicit-pointer-decl Patch13: implicit-pointer-decl.patch +Patch14: reproducible-jlink.patch Patch15: system-pcsclite.patch Patch16: fips.patch # @@ -168,7 +172,6 @@ Patch20: loadAssistiveTechnologies.patch Patch200: ppc_stack_overflow_fix.patch # Patch302: disable-doclint-by-default.patch -Patch303: alternative-tzdb_dat.patch # BuildRequires: alsa-lib-devel BuildRequires: autoconf @@ -180,6 +183,8 @@ BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: fontconfig-devel BuildRequires: freetype2-devel +BuildRequires: gcc%{?with_gcc} +BuildRequires: gcc%{?with_gcc}-c++ BuildRequires: giflib-devel BuildRequires: hicolor-icon-theme BuildRequires: java-ca-certificates @@ -233,13 +238,6 @@ Provides: jre1.7.x Provides: jre1.8.x Provides: jre1.9.x %endif -%if 0%{?suse_version} < 1500 -BuildRequires: gcc7 -BuildRequires: gcc7-c++ -%else -BuildRequires: gcc >= 7 -BuildRequires: gcc-c++ >= 7 -%endif %if %{with_system_lcms} BuildRequires: liblcms2-devel %endif @@ -278,7 +276,6 @@ Requires(posttrans): java-ca-certificates # Postun requires update-alternatives to uninstall tool update-alternatives. Requires(postun): update-alternatives Recommends: mozilla-nss-sysinit -Recommends: tzdata-java8 Obsoletes: %{name}-accessibility %if 0%{?suse_version} > 1315 || 0%{?java_bootstrap} # Standard JPackage base provides. @@ -387,27 +384,27 @@ rm -rvf src/java.desktop/share/native/liblcms/cms* rm -rvf src/java.desktop/share/native/liblcms/lcms2* %endif -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch8 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 +%patch -P 3 -p1 +%patch -P 4 -p1 +%patch -P 5 -p1 +%patch -P 8 -p1 +%patch -P 10 -p1 +%patch -P 11 -p1 +%patch -P 12 -p1 +%patch -P 13 -p1 +%patch -P 14 -p1 %if %{with_system_pcsc} -%patch15 -p1 +%patch -P 15 -p1 %endif -%patch16 -p1 +%patch -P 16 -p1 -%patch20 -p1 +%patch -P 20 -p1 -%patch200 -p1 +%patch -P 200 -p1 -%patch302 -p1 -%patch303 -p1 +%patch -P 302 -p1 # Extract systemtap tapsets @@ -455,11 +452,11 @@ mkdir -p %{buildoutputdir} pushd %{buildoutputdir} bash ../configure \ -%if 0%{?suse_version} < 1500 - CPP=cpp-7 \ - CXX=g++-7 \ - CC=gcc-7 \ - NM=gcc-nm-7 \ +%if 0%{?with_gcc} + CPP="cpp-%{with_gcc}" \ + CXX="g++-%{with_gcc}" \ + CC="gcc-%{with_gcc}" \ + NM="gcc-nm-%{with_gcc}" \ %endif %if %{is_release} --with-version-pre="" \ @@ -507,9 +504,6 @@ popd >& /dev/null export JAVA_HOME=$(pwd)/%{buildoutputdir}/%{imagesdir}/jdk -# Copy tz.properties -echo "sun.zoneinfo.dir=%{_datadir}/javazi" >> $JAVA_HOME/conf/tz.properties - # cacerts are generated in runtime in openSUSE if [ -f %{buildoutputdir}/%{imagesdir}/jdk/lib/security/cacerts ]; then rm %{buildoutputdir}/%{imagesdir}/jdk/lib/security/cacerts @@ -892,7 +886,6 @@ fi %{_jvmdir}/%{sdkdir}/conf/security/policy/unlimited/default_local.policy %{_jvmdir}/%{sdkdir}/conf/security/policy/unlimited/default_US_export.policy %{_jvmdir}/%{sdkdir}/conf/sound.properties -%{_jvmdir}/%{sdkdir}/conf/tz.properties %{_jvmdir}/%{sdkdir}/lib/desktop/jconsole.desktop %{_jvmdir}/%{sdkdir}/lib/jexec %{_jvmdir}/%{sdkdir}/lib/jfr/default.jfc diff --git a/java-atk-wrapper-security.patch b/java-atk-wrapper-security.patch index 38309e4..ec95039 100644 --- a/java-atk-wrapper-security.patch +++ b/java-atk-wrapper-security.patch @@ -1,6 +1,6 @@ --- a/src/java.base/share/conf/security/java.security +++ b/src/java.base/share/conf/security/java.security -@@ -307,6 +307,8 @@ keystore.type.compat=true +@@ -313,6 +313,8 @@ keystore.type.compat=true # package.access=sun.misc.,\ sun.reflect.,\ @@ -9,7 +9,7 @@ # # List of comma-separated packages that start with or equal this string -@@ -319,6 +321,8 @@ package.access=sun.misc.,\ +@@ -325,6 +327,8 @@ package.access=sun.misc.,\ # package.definition=sun.misc.,\ sun.reflect.,\ diff --git a/jdk-21.0.2+13.tar.gz b/jdk-21.0.2+13.tar.gz deleted file mode 100644 index 0babb43..0000000 --- a/jdk-21.0.2+13.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4d8c8dd00164df0e344ed343d4ac20c1f30133f1029a83ff2c66c3557ed13a26 -size 112253266 diff --git a/jdk-21.0.3+9.tar.gz b/jdk-21.0.3+9.tar.gz new file mode 100644 index 0000000..8c27cb9 --- /dev/null +++ b/jdk-21.0.3+9.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7a78e596b272d958843eab0c0412fd7ee874a3b6fff577584ebeed39dfef7ee +size 112401857 diff --git a/loadAssistiveTechnologies.patch b/loadAssistiveTechnologies.patch index 9634872..b4507cc 100644 --- a/loadAssistiveTechnologies.patch +++ b/loadAssistiveTechnologies.patch @@ -1,6 +1,6 @@ --- a/src/java.desktop/share/classes/java/awt/Toolkit.java +++ b/src/java.desktop/share/classes/java/awt/Toolkit.java -@@ -602,7 +602,11 @@ public abstract class Toolkit { +@@ -598,7 +598,11 @@ public abstract class Toolkit { toolkit = new HeadlessToolkit(toolkit); } if (!GraphicsEnvironment.isHeadless()) { diff --git a/memory-limits.patch b/memory-limits.patch index e48da58..25208be 100644 --- a/memory-limits.patch +++ b/memory-limits.patch @@ -1,6 +1,6 @@ --- a/src/hotspot/share/gc/shared/gc_globals.hpp +++ b/src/hotspot/share/gc/shared/gc_globals.hpp -@@ -596,7 +596,7 @@ +@@ -589,7 +589,7 @@ "Initial heap size (in bytes); zero means use ergonomics") \ constraint(InitialHeapSizeConstraintFunc,AfterErgo) \ \ diff --git a/multiple-pkcs11-library-init.patch b/multiple-pkcs11-library-init.patch index 970098b..181891e 100644 --- a/multiple-pkcs11-library-init.patch +++ b/multiple-pkcs11-library-init.patch @@ -1,6 +1,6 @@ ---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java 2023-04-01 12:03:26.147543172 +0200 -+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java 2023-04-01 12:03:45.455660866 +0200 -@@ -52,6 +52,7 @@ +--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java ++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java +@@ -52,6 +52,7 @@ final class Config { static final int ERR_HALT = 1; static final int ERR_IGNORE_ALL = 2; static final int ERR_IGNORE_LIB = 3; @@ -8,7 +8,7 @@ // same as allowSingleThreadedModules but controlled via a system property // and applied to all providers. if set to false, no SunPKCS11 instances -@@ -1037,6 +1038,7 @@ +@@ -1037,6 +1038,7 @@ final class Config { handleStartupErrors = switch (val) { case "ignoreAll" -> ERR_IGNORE_ALL; case "ignoreMissingLibrary" -> ERR_IGNORE_LIB; @@ -16,9 +16,9 @@ case "halt" -> ERR_HALT; default -> throw excToken("Invalid value for handleStartupErrors:"); }; ---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java 2023-04-01 12:03:26.147543172 +0200 -+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java 2023-04-01 12:07:19.664979695 +0200 -@@ -184,26 +184,37 @@ +--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java ++++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java +@@ -184,26 +184,37 @@ public final class SunPKCS11 extends AuthProvider { String nssLibraryDirectory = config.getNssLibraryDirectory(); String nssSecmodDirectory = config.getNssSecmodDirectory(); boolean nssOptimizeSpace = config.getNssOptimizeSpace(); diff --git a/reproducible-jlink.patch b/reproducible-jlink.patch new file mode 100644 index 0000000..01e28a3 --- /dev/null +++ b/reproducible-jlink.patch @@ -0,0 +1,11 @@ +--- a/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ++++ b/src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java +@@ -763,7 +763,7 @@ public class JlinkTask { + + private String getSaveOpts() { + StringBuilder sb = new StringBuilder(); +- sb.append('#').append(new Date()).append("\n"); ++ sb.append('#').append(System.getenv("SOURCE_DATE_EPOCH") != null ? new Date(1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"))) : new Date()).append("\n"); + for (String c : optionsHelper.getInputCommand()) { + sb.append(c).append(" "); + } diff --git a/system-pcsclite.patch b/system-pcsclite.patch index 815f160..14f64cd 100644 --- a/system-pcsclite.patch +++ b/system-pcsclite.patch @@ -8,7 +8,7 @@ ]) ################################################################################ -@@ -304,3 +305,41 @@ AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ], +@@ -309,3 +310,41 @@ AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ], AC_SUBST(HARFBUZZ_CFLAGS) AC_SUBST(HARFBUZZ_LIBS) ]) @@ -52,7 +52,7 @@ +]) --- a/make/autoconf/spec.gmk.in +++ b/make/autoconf/spec.gmk.in -@@ -776,6 +776,7 @@ TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@ +@@ -806,6 +806,7 @@ TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@ # Build setup USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@ USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@ @@ -96,7 +96,7 @@ /* * Throws a Java Exception by name -@@ -75,6 +77,7 @@ void throwIOException(JNIEnv *env, const char *msg) +@@ -75,6 +77,7 @@ static void throwIOException(JNIEnv *env, const char *msg) throwByName(env, "java/io/IOException", msg); } @@ -104,7 +104,7 @@ static void *findFunction(JNIEnv *env, void *hModule, char *functionName) { void *fAddress = dlsym(hModule, functionName); if (fAddress == NULL) { -@@ -85,9 +88,11 @@ void *findFunction(JNIEnv *env, void *hModule, char *functionName) { +@@ -85,9 +88,11 @@ static void *findFunction(JNIEnv *env, void *hModule, char *functionName) { } return fAddress; } diff --git a/zero-ranges.patch b/zero-ranges.patch index 406aae8..b0c8ca0 100644 --- a/zero-ranges.patch +++ b/zero-ranges.patch @@ -1,6 +1,6 @@ --- a/src/hotspot/cpu/zero/globals_zero.hpp +++ b/src/hotspot/cpu/zero/globals_zero.hpp -@@ -52,9 +52,9 @@ define_pd_global(intx, InitArrayShortSize, 0); +@@ -54,9 +54,9 @@ define_pd_global(intx, InitArrayShortSize, 0); #define DEFAULT_STACK_SHADOW_PAGES (5 LP64_ONLY(+1) DEBUG_ONLY(+3)) #define DEFAULT_STACK_RESERVED_PAGES (0)