diff --git a/.gitignore b/.gitignore index 01da713..955cdba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b08-4curve.tar.xz +SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b09-4curve.tar.xz SOURCES/tapsets-icedtea-3.11.0.tar.xz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata index 19d79b8..ac29869 100644 --- a/.java-1.8.0-openjdk.metadata +++ b/.java-1.8.0-openjdk.metadata @@ -1,2 +1,2 @@ -c274c0cdb494aa6954f3e525121ab46c2293b7e6 SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b08-4curve.tar.xz +9417f1f9fa52d6882a0ffe26c00a478d8bb6465d SOURCES/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b09-4curve.tar.xz 50ad90759d440f24f50990b88b5814e4f61351af SOURCES/tapsets-icedtea-3.11.0.tar.xz diff --git a/SOURCES/NEWS b/SOURCES/NEWS new file mode 100644 index 0000000..59f5724 --- /dev/null +++ b/SOURCES/NEWS @@ -0,0 +1,113 @@ +Key: + +JDK-X - https://bugs.openjdk.java.net/browse/JDK-X +CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY + +New in release OpenJDK 8u252 (2020-04-14): +=========================================== +Live versions of these release notes can be found at: + * https://bitly.com/oj8u252 + * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u252.txt + +* Security fixes + - JDK-8223898, CVE-2020-2754: Forward references to Nashorn + - JDK-8223904, CVE-2020-2755: Improve Nashorn matching + - JDK-8224541, CVE-2020-2756: Better mapping of serial ENUMs + - JDK-8224549, CVE-2020-2757: Less Blocking Array Queues + - JDK-8225603: Enhancement for big integers + - JDK-8227542: Manifest improved jar headers + - JDK-8231415, CVE-2020-2773: Better signatures in XML + - JDK-8233250: Better X11 rendering + - JDK-8233410: Better Build Scripting + - JDK-8234027: Better JCEKS key support + - JDK-8234408, CVE-2020-2781: Improve TLS session handling + - JDK-8234825, CVE-2020-2800: Better Headings for HTTP Servers + - JDK-8234841, CVE-2020-2803: Enhance buffering of byte buffers + - JDK-8235274, CVE-2020-2805: Enhance typing of methods + - JDK-8236201, CVE-2020-2830: Better Scanner conversions + - JDK-8238960: linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap +* Other changes + - JDK-8005819: Support cross-realm MSSFU + - JDK-8022263: use same Clang warnings on BSD as on Linux + - JDK-8038631: Create wrapper for awt.Robot with additional functionality + - JDK-8047212: runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid + - JDK-8055283: Expand ResourceHashtable with C_HEAP allocation, removal and some unit tests + - JDK-8068184: Fix for JDK-8032832 caused a deadlock + - JDK-8079693: Add support for ECDSA P-384 and P-521 curves to XML Signature + - JDK-8132130: some docs cleanup + - JDK-8135318: CMS wrong max_eden_size for check_gc_overhead_limit + - JDK-8144445: Maximum size checking in Marlin ArrayCache utility methods is not optimal + - JDK-8144446: Automate the Marlin crash test + - JDK-8144526: Remove Marlin logging use of deleted internal API + - JDK-8144630: Use PrivilegedAction to create Thread in Marlin RendererStats + - JDK-8144654: Improve Marlin logging + - JDK-8144718: Pisces / Marlin Strokers may generate invalid curves with huge coordinates and round joins + - JDK-8166976: TestCipherPBECons has wrong @run line + - JDK-8167409: Invalid value passed to critical JNI function + - JDK-8181872: C1: possible overflow when strength reducing integer multiply by constant + - JDK-8187078: -XX:+VerifyOops finds numerous problems when running JPRT + - JDK-8191227: issues with unsafe handle resolution + - JDK-8197441: Signature#initSign/initVerify for an invalid private/public key fails with ClassCastException for SunPKCS11 provider + - JDK-8204152: SignedObject throws NullPointerException for null keys with an initialized Signature object + - JDK-8215756: Memory leaks in the AWT on macOS + - JDK-8216472: (se) Stack overflow during selection operation leads to crash (win) + - JDK-8219244: NMT: Change ThreadSafepointState's allocation type from mtInternal to mtThread + - JDK-8219597: (bf) Heap buffer state changes could provoke unexpected exceptions + - JDK-8225128: Add exception for expiring DocuSign root to VerifyCACerts test + - JDK-8225130: Add exception for expiring Comodo roots to VerifyCACerts test + - JDK-8229022: BufferedReader performance can be improved by using StringBuilder + - JDK-8229345: Memory leak due to vtable stubs not being shared on SPARC + - JDK-8229872: (fs) Increase buffer size used with getmntent + - JDK-8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception + - JDK-8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type + - JDK-8235744: PIT: test/jdk/javax/swing/text/html/TestJLabelWithHTMLText.java times out in linux-x64 + - JDK-8235904: Infinite loop when rendering huge lines + - JDK-8236179: C1 register allocation error with T_ADDRESS + - JDK-8237368: Problem with NullPointerException in RMI TCPEndpoint.read + - JDK-8240521: Revert backport of 8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call + - JDK-8241296: Segfault in JNIHandleBlock::oops_do() + - JDK-8241307: Marlin renderer should not be the default in 8u252 + +Notes on individual issues: +=========================== + +hotspot/svc: + +JDK-8174881: Binary format for HPROF updated +============================================ + +When dumping the heap in binary format, HPROF format 1.0.2 is always +used now. Previously, format 1.0.1 was used for heaps smaller than +2GB. HPROF format 1.0.2 is also used by jhsdb jmap for the +serviceability agent. + +security-libs/java.security: + +JDK-8229518: Added Support for PKCS#1 v2.2 Algorithms Including RSASSA-PSS Signature +==================================================================================== + +The SunRsaSign and SunJCE providers have been enhanced with support +for more algorithms defined in PKCS#1 v2.2, such as RSASSA-PSS +signature and OAEP using FIPS 180-4 digest algorithms. New +constructors and methods have been added to relevant JCA/JCE classes +under the `java.security.spec` and `javax.crypto.spec` packages for +supporting additional RSASSA-PSS parameters. + +security-libs/javax.crypto: + +JDK-8205471: RSASSA-PSS Signature Support Added to SunMSCAPI +============================================================ + +The RSASSA-PSS signature algorithm support has been added to the SunMSCAPI provider. + +security-libs/javax.security: + +JDK-8227564: Allow SASL Mechanisms to Be Restricted +=================================================== + +A security property named `jdk.sasl.disabledMechanisms` has been added +that can be used to disable SASL mechanisms. Any disabled mechanism +will be ignored if it is specified in the `mechanisms` argument of +`Sasl.createSaslClient` or the `mechanism` argument of +`Sasl.createSaslServer`. The default value for this security property +is empty, which means that no mechanisms are disabled out-of-the-box. diff --git a/SOURCES/jdk8199936-pr3533-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x.patch b/SOURCES/jdk8199936-pr3533-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x.patch index 533ea2d..ae48068 100644 --- a/SOURCES/jdk8199936-pr3533-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x.patch +++ b/SOURCES/jdk8199936-pr3533-enable_mstackrealign_on_x86_linux_as_well_as_x86_mac_os_x.patch @@ -10,7 +10,7 @@ Summary: Enable -mstackrealign on x86 Linux as well as x86 Mac OS X diff --git openjdk.orig///common/autoconf/flags.m4 openjdk///common/autoconf/flags.m4 --- openjdk.orig///common/autoconf/flags.m4 +++ openjdk///common/autoconf/flags.m4 -@@ -389,6 +389,21 @@ +@@ -402,6 +402,21 @@ AC_SUBST($2CXXSTD_CXXFLAG) fi @@ -44,11 +44,11 @@ diff --git openjdk.orig///common/autoconf/hotspot-spec.gmk.in openjdk///common/a + $(REALIGN_CFLAG) EXTRA_CXXFLAGS=@LEGACY_EXTRA_CXXFLAGS@ EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@ - + EXTRA_ASFLAGS=@LEGACY_EXTRA_ASFLAGS@ diff --git openjdk.orig///common/autoconf/spec.gmk.in openjdk///common/autoconf/spec.gmk.in --- openjdk.orig///common/autoconf/spec.gmk.in +++ openjdk///common/autoconf/spec.gmk.in -@@ -334,6 +334,7 @@ +@@ -366,6 +366,7 @@ NO_DELETE_NULL_POINTER_CHECKS_CFLAG=@NO_DELETE_NULL_POINTER_CHECKS_CFLAG@ NO_LIFETIME_DSE_CFLAG=@NO_LIFETIME_DSE_CFLAG@ diff --git a/SOURCES/jdk8231991-mouse_wheel_focus.patch b/SOURCES/jdk8231991-mouse_wheel_focus.patch deleted file mode 100644 index 07e815d..0000000 --- a/SOURCES/jdk8231991-mouse_wheel_focus.patch +++ /dev/null @@ -1,259 +0,0 @@ -# HG changeset patch -# User neugens -# Date 1573570464 -3600 -# Tue Nov 12 15:54:24 2019 +0100 -# Node ID d5af26ef7b959383e4a79b0aa96f0527fc3a9f4c -# Parent 571089680cb28b3c6399f3a95e6ebcb4593b792c -8231991: Mouse wheel change focus on awt/swing windows -Summary: Avoid focus logic when only mouse wheel is moved up/down. -Reviewed-by: serb, dmarkov - -diff --git openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java -@@ -1004,29 +1004,37 @@ - * InputEvent.BUTTON_DOWN_MASK. - * One more bit is reserved for FIRST_HIGH_BIT. - */ -- if (xbe.get_button() > SunToolkit.MAX_BUTTONS_SUPPORTED) { -+ int theButton = xbe.get_button(); -+ if (theButton > SunToolkit.MAX_BUTTONS_SUPPORTED) { - return; - } - int buttonState = 0; - buttonState = xbe.get_state() & XConstants.ALL_BUTTONS_MASK; -- switch (xev.get_type()) { -- case XConstants.ButtonPress: -- if (buttonState == 0) { -- XWindowPeer parent = getToplevelXWindow(); -- // See 6385277, 6981400. -- if (parent != null && parent.isFocusableWindow()) { -- // A click in a client area drops the actual focused window retaining. -- parent.setActualFocusedWindow(null); -- parent.requestWindowFocus(xbe.get_time(), true); -- } -- XAwtState.setAutoGrabWindow(this); -+ -+ boolean isWheel = (theButton != XConstants.MouseWheelUp || -+ theButton != XConstants.MouseWheelDown); -+ -+ // don't give focus if it's just the mouse wheel turning -+ if (!isWheel) { -+ switch (xev.get_type()) { -+ case XConstants.ButtonPress: -+ if (buttonState == 0) { -+ XWindowPeer parent = getToplevelXWindow(); -+ // See 6385277, 6981400. -+ if (parent != null && parent.isFocusableWindow()) { -+ // A click in a client area drops the actual focused window retaining. -+ parent.setActualFocusedWindow(null); -+ parent.requestWindowFocus(xbe.get_time(), true); -+ } -+ XAwtState.setAutoGrabWindow(this); -+ } -+ break; -+ case XConstants.ButtonRelease: -+ if (isFullRelease(buttonState, xbe.get_button())) { -+ XAwtState.setAutoGrabWindow(null); -+ } -+ break; - } -- break; -- case XConstants.ButtonRelease: -- if (isFullRelease(buttonState, xbe.get_button())) { -- XAwtState.setAutoGrabWindow(null); -- } -- break; - } - } - public void handleMotionNotify(XEvent xev) { -diff --git openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XConstants.java ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XConstants.java -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XConstants.java -@@ -206,6 +206,11 @@ - - public static final int buttons [] = new int [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}; - -+ // those should probably be wrapped in a method or such -+ // as it may be possible to remap them via x11 configuration files -+ public static final int MouseWheelUp = buttons[4]; -+ public static final int MouseWheelDown = buttons[5]; -+ - /* Notify modes */ - - public static final int NotifyNormal = 0 ; -diff --git openjdk/jdk/test/java/awt/event/MouseWheelEvent/WheelModifier/MouseWheelOnBackgroundComponent.java openjdk/jdk/test/java/awt/event/MouseWheelEvent/WheelModifier/MouseWheelOnBackgroundComponent.java -new file mode 100644 ---- /dev/null -+++ openjdk/jdk/test/java/awt/event/MouseWheelEvent/WheelModifier/MouseWheelOnBackgroundComponent.java -@@ -0,0 +1,170 @@ -+/* -+ * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * This code is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. -+ * -+ * This code is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+ * or visit www.oracle.com if you need additional information or have any -+ * questions. -+ */ -+ -+/* -+ @test -+ @key headful -+ @bug 8231991 -+ @summary Mouse wheel change focus on awt/swing windows -+ @run main MouseWheelOnBackgroundComponent -+*/ -+ -+import javax.swing.*; -+import java.awt.*; -+import java.awt.event.FocusEvent; -+import java.awt.event.FocusListener; -+import java.awt.event.WindowEvent; -+ -+/** -+ * MouseWheelOnBackgroundComponent -+ * -+ * Tests that wheel events don't change focus on background components -+ */ -+public class MouseWheelOnBackgroundComponent { -+ -+ private static final String FG = "Foreground"; -+ private static final String BG = "Background"; -+ -+ private static final String SCROLL_PANE = "scroller_"; -+ private static final String TEXT_PANE = "text_"; -+ -+ private static JFrame background; -+ private static JFrame foreground; -+ -+ private static final String LOREM_IPSUM = "Sed ut perspiciatis unde omnis iste natus " + -+ "error sit voluptatem accusantium doloremque laudantium, totam " + -+ "rem aperiam, eaque ipsa quae ab illo inventore veritatis et " + -+ "quasi architecto beatae vitae dicta sunt explicabo. Nemo enim " + -+ "ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, " + -+ "sed quia consequuntur magni dolores eos qui ratione voluptatem sequi " + -+ "nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit " + -+ "amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora " + -+ "incidunt ut labore et dolore magnam aliquam quaerat voluptatem. " + -+ "Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis " + -+ "suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis " + -+ "autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil " + -+ "molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla " + -+ "pariatur?"; -+ -+ private static class FocusReporter implements FocusListener { -+ -+ private JComponent pane; -+ -+ Component lastFocusedComponent; -+ -+ public FocusReporter() { -+ } -+ -+ @Override -+ public void focusGained(FocusEvent e) { -+ lastFocusedComponent = e.getComponent(); -+ } -+ -+ @Override -+ public void focusLost(FocusEvent e) { -+ lastFocusedComponent = null; -+ } -+ } -+ -+ private static FocusReporter reporter; -+ -+ public static void main(String[] args) throws Exception { -+ -+ boolean passed = false; -+ -+ SwingUtilities.invokeAndWait(() -> { -+ reporter = new FocusReporter(); -+ -+ foreground = createFrame(FG, 100, 0, reporter); -+ background = createFrame(BG, 0, 100, reporter); -+ -+ background.pack(); -+ background.setVisible(true); -+ -+ foreground.pack(); -+ foreground.setVisible(true); -+ }); -+ -+ SwingUtilities.invokeAndWait(() -> { -+ foreground.toFront(); -+ }); -+ -+ Robot robot = new Robot(); -+ robot.waitForIdle(); -+ -+ robot.mouseMove(50, 300); -+ robot.waitForIdle(); -+ -+ robot.mouseWheel(-100); -+ robot.waitForIdle(); -+ -+ String shouldBeFocusedComponentName = TEXT_PANE + FG; -+ Component actual = reporter.lastFocusedComponent; -+ if (reporter.lastFocusedComponent != null && -+ shouldBeFocusedComponentName.equals(actual.getName())) -+ { -+ passed = true; -+ } -+ -+ robot.waitForIdle(); -+ -+ SwingUtilities.invokeAndWait(() -> { -+ foreground.dispatchEvent(new WindowEvent(foreground, WindowEvent.WINDOW_CLOSING)); -+ background.dispatchEvent(new WindowEvent(background, WindowEvent.WINDOW_CLOSING)); -+ }); -+ -+ robot.waitForIdle(); -+ -+ if (!passed) { -+ throw new RuntimeException("Wrong component has focus: " + actual); -+ } -+ } -+ -+ private static JFrame createFrame(String name, int x, int y, FocusReporter reporter) { -+ JFrame frame = new JFrame(name); -+ frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); -+ frame.setBounds(x, y, 600, 600); -+ frame.setPreferredSize(new Dimension(600, 600)); -+ -+ JTextArea text = new JTextArea(); -+ text.setText(LOREM_IPSUM); -+ for (int i = 0; i < 10; i++) { -+ text.append(LOREM_IPSUM); -+ } -+ -+ text.setLineWrap(true); -+ text.setName(TEXT_PANE + name); -+ text.addFocusListener(reporter); -+ -+ JScrollPane scroller = new JScrollPane(text); -+ scroller.setName(SCROLL_PANE + name); -+ scroller.setWheelScrollingEnabled(true); -+ scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); -+ scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); -+ scroller.addFocusListener(reporter); -+ -+ frame.add(scroller); -+ -+ return frame; -+ } -+} diff --git a/SOURCES/jdk8234107-mouse_wheel_test_fix.patch b/SOURCES/jdk8234107-mouse_wheel_test_fix.patch deleted file mode 100644 index d3652f8..0000000 --- a/SOURCES/jdk8234107-mouse_wheel_test_fix.patch +++ /dev/null @@ -1,38 +0,0 @@ -# HG changeset patch -# User neugens -# Date 1573806470 -3600 -# Fri Nov 15 09:27:50 2019 +0100 -# Node ID 88ddd6943a061dcd0103755ee829e1e7838cb224 -# Parent b5cdba232fcaf77d02ef06a6b18dcfd3518d948e -8234107: Several AWT modal dialog tests failing on Linux after JDK-8231991 -Summary: Fix off by one in wheel detection logic -Reviewed-by: prr - -diff --git a/src/solaris/classes/sun/awt/X11/XBaseWindow.java b/src/solaris/classes/sun/awt/X11/XBaseWindow.java ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XBaseWindow.java -@@ -1032,8 +1032,8 @@ - int buttonState = 0; - buttonState = xbe.get_state() & XConstants.ALL_BUTTONS_MASK; - -- boolean isWheel = (theButton != XConstants.MouseWheelUp || -- theButton != XConstants.MouseWheelDown); -+ boolean isWheel = (theButton == XConstants.MouseWheelUp || -+ theButton == XConstants.MouseWheelDown); - - // don't give focus if it's just the mouse wheel turning - if (!isWheel) { -diff --git openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XConstants.java ---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XConstants.java -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XConstants.java -@@ -208,8 +208,8 @@ - - // those should probably be wrapped in a method or such - // as it may be possible to remap them via x11 configuration files -- public static final int MouseWheelUp = buttons[4]; -- public static final int MouseWheelDown = buttons[5]; -+ public static final int MouseWheelUp = buttons[3]; -+ public static final int MouseWheelDown = buttons[4]; - - /* Notify modes */ - diff --git a/SOURCES/pr2974-rh1337583-add_systemlineendings_option_to_keytool_and_use_line_separator_instead_of_crlf_in_pkcs10.patch b/SOURCES/pr2974-rh1337583-add_systemlineendings_option_to_keytool_and_use_line_separator_instead_of_crlf_in_pkcs10.patch index 4859ca6..06973aa 100644 --- a/SOURCES/pr2974-rh1337583-add_systemlineendings_option_to_keytool_and_use_line_separator_instead_of_crlf_in_pkcs10.patch +++ b/SOURCES/pr2974-rh1337583-add_systemlineendings_option_to_keytool_and_use_line_separator_instead_of_crlf_in_pkcs10.patch @@ -7,18 +7,10 @@ PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings Summary: Add -systemlineendings option to keytool to allow system line endings to be used again. -diff --git a/src/share/classes/sun/security/pkcs10/PKCS10.java b/src/share/classes/sun/security/pkcs10/PKCS10.java ---- openjdk/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java +diff --git openjdk.orig/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java openjdk/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java +--- openjdk.orig/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java +++ openjdk/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java -@@ -30,6 +30,7 @@ - import java.io.IOException; - import java.math.BigInteger; - -+import java.security.AccessController; - import java.security.cert.CertificateException; - import java.security.NoSuchAlgorithmException; - import java.security.InvalidKeyException; -@@ -39,6 +40,7 @@ +@@ -35,6 +35,7 @@ import java.util.Base64; @@ -26,7 +18,7 @@ diff --git a/src/share/classes/sun/security/pkcs10/PKCS10.java b/src/share/class import sun.security.util.*; import sun.security.x509.AlgorithmId; import sun.security.x509.X509Key; -@@ -76,6 +78,14 @@ +@@ -74,6 +75,14 @@ * @author Hemma Prafullchandra */ public class PKCS10 { @@ -41,7 +33,7 @@ diff --git a/src/share/classes/sun/security/pkcs10/PKCS10.java b/src/share/class /** * Constructs an unsigned PKCS #10 certificate request. Before this * request may be used, it must be encoded and signed. Then it -@@ -293,13 +303,39 @@ +@@ -303,13 +312,39 @@ */ public void print(PrintStream out) throws IOException, SignatureException { @@ -83,10 +75,10 @@ diff --git a/src/share/classes/sun/security/pkcs10/PKCS10.java b/src/share/class out.println("-----END NEW CERTIFICATE REQUEST-----"); } -diff --git a/src/share/classes/sun/security/tools/keytool/Main.java b/src/share/classes/sun/security/tools/keytool/Main.java ---- openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java +diff --git openjdk.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java +--- openjdk.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java +++ openjdk/jdk/src/share/classes/sun/security/tools/keytool/Main.java -@@ -124,6 +124,7 @@ +@@ -126,6 +126,7 @@ private String infilename = null; private String outfilename = null; private String srcksfname = null; @@ -94,7 +86,7 @@ diff --git a/src/share/classes/sun/security/tools/keytool/Main.java b/src/share/ // User-specified providers are added before any command is called. // However, they are not removed before the end of the main() method. -@@ -186,7 +187,7 @@ +@@ -188,7 +189,7 @@ CERTREQ("Generates.a.certificate.request", ALIAS, SIGALG, FILEOUT, KEYPASS, KEYSTORE, DNAME, STOREPASS, STORETYPE, PROVIDERNAME, PROVIDERCLASS, @@ -103,7 +95,7 @@ diff --git a/src/share/classes/sun/security/tools/keytool/Main.java b/src/share/ CHANGEALIAS("Changes.an.entry.s.alias", ALIAS, DESTALIAS, KEYPASS, KEYSTORE, STOREPASS, STORETYPE, PROVIDERNAME, PROVIDERCLASS, PROVIDERARG, -@@ -319,6 +320,7 @@ +@@ -321,6 +322,7 @@ STARTDATE("startdate", "", "certificate.validity.start.date.time"), STOREPASS("storepass", "", "keystore.password"), STORETYPE("storetype", "", "keystore.type"), @@ -111,7 +103,7 @@ diff --git a/src/share/classes/sun/security/tools/keytool/Main.java b/src/share/ TRUSTCACERTS("trustcacerts", null, "trust.certificates.from.cacerts"), V("v", null, "verbose.output"), VALIDITY("validity", "", "validity.number.of.days"); -@@ -559,6 +561,8 @@ +@@ -561,6 +563,8 @@ protectedPath = true; } else if (collator.compare(flags, "-srcprotected") == 0) { srcprotectedPath = true; @@ -120,7 +112,7 @@ diff --git a/src/share/classes/sun/security/tools/keytool/Main.java b/src/share/ } else { System.err.println(rb.getString("Illegal.option.") + flags); tinyHelp(); -@@ -1463,7 +1467,7 @@ +@@ -1464,7 +1468,7 @@ // Sign the request and base-64 encode it request.encodeAndSign(subject, signature); @@ -129,13 +121,13 @@ diff --git a/src/share/classes/sun/security/tools/keytool/Main.java b/src/share/ checkWeak(rb.getString("the.generated.certificate.request"), request); } -@@ -4540,4 +4544,3 @@ +@@ -4544,4 +4548,3 @@ return new Pair<>(a,b); } } - -diff --git a/src/share/classes/sun/security/tools/keytool/Resources.java b/src/share/classes/sun/security/tools/keytool/Resources.java ---- openjdk/jdk/src/share/classes/sun/security/tools/keytool/Resources.java +diff --git openjdk.orig/jdk/src/share/classes/sun/security/tools/keytool/Resources.java openjdk/jdk/src/share/classes/sun/security/tools/keytool/Resources.java +--- openjdk.orig/jdk/src/share/classes/sun/security/tools/keytool/Resources.java +++ openjdk/jdk/src/share/classes/sun/security/tools/keytool/Resources.java @@ -168,6 +168,8 @@ "keystore password"}, //-storepass diff --git a/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch b/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch index b52c087..00e3a2e 100644 --- a/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch +++ b/SOURCES/pr3083-rh1346460-for_ssl_debug_return_null_instead_of_exception_when_theres_no_ecc_provider.patch @@ -35,7 +35,7 @@ diff --git openjdk.orig/jdk/src/share/classes/sun/security/util/ECUtil.java open +++ openjdk/jdk/src/share/classes/sun/security/util/ECUtil.java @@ -41,6 +41,9 @@ - public class ECUtil { + public final class ECUtil { + /* Are we debugging ? */ + private static final Debug debug = Debug.getInstance("ecc"); diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec index 01a082e..4886e21 100644 --- a/SPECS/java-1.8.0-openjdk.spec +++ b/SPECS/java-1.8.0-openjdk.spec @@ -180,7 +180,7 @@ # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. %global shenandoah_project aarch64-port %global shenandoah_repo jdk8u-shenandoah -%global shenandoah_revision aarch64-shenandoah-jdk8u242-b08 +%global shenandoah_revision aarch64-shenandoah-jdk8u252-b09 # Define old aarch64/jdk8u tree variables for compatibility %global project %{shenandoah_project} %global repo %{shenandoah_repo} @@ -196,7 +196,7 @@ %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-}) -%global rpmrelease 1 +%global rpmrelease 2 # Define milestone (EA for pre-releases, GA ("fcs") for releases) # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, @@ -542,9 +542,10 @@ exit 0 %global files_jre_headless() %{expand: %defattr(-,root,root,-) -%doc %{buildoutputdir %%1}/images/%{jdkimage}/jre/ASSEMBLY_EXCEPTION -%doc %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE -%doc %{buildoutputdir %%1}/images/%{jdkimage}/jre/THIRD_PARTY_README +%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/ASSEMBLY_EXCEPTION +%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/THIRD_PARTY_README +%doc %{_defaultdocdir}/%{uniquejavadocdir %%1}/NEWS %dir %{_jvmdir}/%{sdkdir %%1} %{_jvmdir}/%{jrelnk %%1} %{_jvmjardir}/%{jrelnk %%1} @@ -588,9 +589,9 @@ exit 0 %global files_devel() %{expand: %defattr(-,root,root,-) -%doc %{buildoutputdir %%1}/images/%{jdkimage}/ASSEMBLY_EXCEPTION -%doc %{buildoutputdir %%1}/images/%{jdkimage}/LICENSE -%doc %{buildoutputdir %%1}/images/%{jdkimage}/THIRD_PARTY_README +%license %{buildoutputdir %%1}/images/%{jdkimage}/ASSEMBLY_EXCEPTION +%license %{buildoutputdir %%1}/images/%{jdkimage}/LICENSE +%license %{buildoutputdir %%1}/images/%{jdkimage}/THIRD_PARTY_README %dir %{_jvmdir}/%{sdkdir %%1}/bin %dir %{_jvmdir}/%{sdkdir %%1}/include %dir %{_jvmdir}/%{sdkdir %%1}/lib @@ -639,7 +640,7 @@ exit 0 %global files_demo() %{expand: %defattr(-,root,root,-) -%doc %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE } %global files_src() %{expand: @@ -651,13 +652,13 @@ exit 0 %global files_javadoc() %{expand: %defattr(-,root,root,-) %doc %{_javadocdir}/%{uniquejavadocdir %%1} -%doc %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE } %global files_javadoc_zip() %{expand: %defattr(-,root,root,-) %doc %{_javadocdir}/%{uniquejavadocdir %%1}.zip -%doc %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE +%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/LICENSE } %global files_accessibility() %{expand: @@ -876,6 +877,9 @@ Source0: %{shenandoah_project}-%{shenandoah_repo}-%{shenandoah_revision}-4curve. # Custom README for -src subpackage Source2: README.md +# Release notes +Source7: NEWS + # Use 'icedtea_sync.sh' to update the following # They are based on code contained in the IcedTea project (3.x). @@ -948,10 +952,6 @@ Patch530: pr3601-fix_additional_Wreturn_type_issues_introduced_by_8061651_for_pr # PR3575, RH1567204: System cacerts database handling should not affect jssecacerts Patch539: pr2888-openjdk_should_check_for_system_cacerts_database_eg_etc_pki_java_cacerts.patch Patch541: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch -# JDK-8231991: Mouse wheel change focus on awt/swing windows -Patch542: jdk8231991-mouse_wheel_focus.patch -# JDK-8234107: Several AWT modal dialog tests failing on Linux after JDK-8231991 -Patch543: jdk8234107-mouse_wheel_test_fix.patch ############################################# # @@ -1076,13 +1076,6 @@ BuildRequires: pkgconfig BuildRequires: xorg-x11-proto-devel BuildRequires: zip BuildRequires: unzip -%ifarch %{arm} -BuildRequires: devtoolset-7-build -BuildRequires: devtoolset-7-binutils -BuildRequires: devtoolset-7-gcc -BuildRequires: devtoolset-7-gcc-c++ -BuildRequires: devtoolset-7-gdb -%endif # Use OpenJDK 7 where available (on RHEL) to avoid # having to use the rhel-7.x-java-unsafe-candidate hack %if ! 0%{?fedora} && 0%{?rhel} <= 7 @@ -1377,8 +1370,6 @@ sh %{SOURCE12} %patch575 %patch577 %patch541 -%patch542 -%patch543 # RPM-only fixes %patch539 @@ -1439,10 +1430,6 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg %build -%ifarch %{arm} -%{?enable_devtoolset7:%{enable_devtoolset7}} -%endif - # How many CPU's do we have? export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) export NUM_PROC=${NUM_PROC:-1} @@ -1466,10 +1453,8 @@ EXTRA_CPP_FLAGS="%ourcppflags" # fix rpmlint warnings EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing" %endif -%ifarch %{arm} -EXTRA_CFLAGS="$EXTRA_CFLAGS -Wno-nonnull" -%endif -export EXTRA_CFLAGS +EXTRA_ASFLAGS="${EXTRA_CFLAGS}" +export EXTRA_CFLAGS EXTRA_ASFLAGS (cd %{top_level_dir_name}/common/autoconf bash ./autogen.sh @@ -1507,6 +1492,7 @@ bash ../../configure \ --with-stdc++lib=dynamic \ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ --with-extra-cflags="$EXTRA_CFLAGS" \ + --with-extra-asflags="$EXTRA_ASFLAGS" \ --with-extra-ldflags="%{ourldflags}" \ --with-num-cores="$NUM_PROC" @@ -1760,6 +1746,11 @@ install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} cp -a %{buildoutputdir $normal_suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix} cp -a %{buildoutputdir $normal_suffix}/bundles/jdk-%{javaver}_%{updatever}%{milestone_version}${normal_suffix}-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip +# Install release notes +commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir $suffix} +install -d -m 755 ${commondocdir} +cp -a %{SOURCE7} ${commondocdir} + # Install icons and menu entries for s in 16 24 32 48 ; do install -D -p -m 644 \ @@ -2054,6 +2045,56 @@ require "copy_jdk_configs.lua" %endif %changelog +* Tue Apr 14 2020 Andrew Hughes - 1:1.8.0.252.b09-2 +- Add release notes. +- Mark license files with appropriate macro. +- Resolves: rhbz#1810557 + +* Sun Apr 12 2020 Andrew Hughes - 1:1.8.0.252.b09-1 +- Make use of --with-extra-asflags introduced in jdk8u252-b01. +- Resolves: rhbz#1810557 + +* Mon Apr 06 2020 Andrew Hughes - 1:1.8.0.252.b09-0 +- Update to aarch64-shenandoah-jdk8u242-b09. +- Switch to GA mode for final release. +- Resolves: rhbz#1810557 + +* Fri Mar 27 2020 Andrew Hughes - 1:1.8.0.252.b08-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b08. +- Resolves: rhbz#1810557 + +* Tue Mar 24 2020 Andrew Hughes - 1:1.8.0.252.b07-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b07. +- Resolves: rhbz#1810557 + +* Mon Mar 16 2020 Andrew Hughes - 1:1.8.0.252.b06-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b06. +- Resolves: rhbz#1810557 + +* Fri Feb 28 2020 Andrew Hughes - 1:1.8.0.252.b05-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b05. +- Resolves: rhbz#1810557 + +* Mon Feb 24 2020 Andrew Hughes - 1:1.8.0.252.b04-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b04. +- Resolves: rhbz#1810557 + +* Wed Feb 19 2020 Andrew Hughes - 1:1.8.0.252.b03-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b03. +- Adjust PR2974/RH1337583 & PR3083/RH1346460 following context changes in JDK-8230978 +- Resolves: rhbz#1810557 + +* Tue Feb 04 2020 Andrew Hughes - 1:1.8.0.252.b02-0.0.ea +- Update to aarch64-shenandoah-jdk8u252-b02. +- Resolves: rhbz#1810557 + +* Mon Jan 27 2020 Andrew Hughes - 1:1.8.0.252.b01-0.1.ea +- Update to aarch64-shenandoah-jdk8u252-b01. +- Switch to EA mode. +- Adjust JDK-8199936/PR3533 patch following JDK-8227397 configure change +- Remove local copies of JDK-8231991 & JDK-8234107 as replaced by upstream versions. +- Resolves: rhbz#1810557 + * Wed Jan 15 2020 Andrew Hughes - 1:1.8.0.242.b08-1 - Update to aarch64-shenandoah-jdk8u242-b08. - Remove local copies of JDK-8031111 & JDK-8132111 as replaced by upstream versions.