Hello community, here is the log from the commit of package java-11-openjdk for openSUSE:Factory checked in at 2019-07-08 15:00:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/java-11-openjdk (Old) and /work/SRC/openSUSE:Factory/.java-11-openjdk.new.4615 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "java-11-openjdk" Mon Jul 8 15:00:42 2019 rev:31 rq:713602 version:11.0.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/java-11-openjdk/java-11-openjdk.changes 2019-05-02 19:14:26.369031274 +0200 +++ /work/SRC/openSUSE:Factory/.java-11-openjdk.new.4615/java-11-openjdk.changes 2019-07-08 15:00:43.590507479 +0200 @@ -1,0 +2,21 @@ +Fri Jul 5 08:23:43 UTC 2019 - Fridrich Strba <fstrba@suse.com> + +- Do not fail installation when the manpages are not present + (bsc#1115375) + +------------------------------------------------------------------- +Fri Jul 5 07:23:06 UTC 2019 - Fridrich Strba <fstrba@suse.com> + +- Added patch: + * JDK-8208602.patch + + Backport upstream fix for JDK-8208602: Cannot read PEM X.509 + cert if there is whitespace after the header or footer + (bsc#1140461) + +------------------------------------------------------------------- +Tue Jun 4 14:53:17 UTC 2019 - Fridrich Strba <fstrba@suse.com> + +- Provide and Obsolete the corresponding java-10-openjdk-<sub> + packages to assure smooth upgrade (fate#326347, bsc#1137264) + +------------------------------------------------------------------- New: ---- JDK-8208602.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-11-openjdk.spec ++++++ --- /var/tmp/diff_new_pack.ZF0bB0/_old 2019-07-08 15:00:46.386511706 +0200 +++ /var/tmp/diff_new_pack.ZF0bB0/_new 2019-07-08 15:00:46.390511712 +0200 @@ -211,6 +211,8 @@ # Patch20: loadAssistiveTechnologies.patch # +Patch30: JDK-8208602.patch +# # OpenJDK specific patches # Patch100: s390-java-opts.patch @@ -289,6 +291,7 @@ # Required at least by fop Provides: java-%{bits} = %{javaver} Provides: java-%{javaver}-%{bits} +Provides: java-10-openjdk = %{version}-%{release} Provides: java-openjdk-%{bits} = %{version}-%{release} Provides: jre-%{bits} = %{javaver} Provides: jre-%{javaver}-%{bits} @@ -302,6 +305,7 @@ Provides: jre1.7.x Provides: jre1.8.x Provides: jre1.9.x +Obsoletes: java-10-openjdk < %{version}-%{release} %if %{bootcycle} BuildRequires: java-devel >= 10 BuildConflicts: java-devel >= 12 @@ -334,9 +338,9 @@ Summary: OpenJDK %{featurever} Runtime Environment Group: Development/Languages/Java Requires: jpackage-utils +Requires(post): java-ca-certificates # Post requires update-alternatives to install tool update-alternatives. Requires(post): update-alternatives -Requires(post): java-ca-certificates # Postun requires update-alternatives to uninstall tool update-alternatives. Requires(postun): update-alternatives Recommends: tzdata-java8 @@ -350,6 +354,7 @@ Provides: jre-openjdk-headless = %{version}-%{release} # Standard JPackage extensions provides. Provides: jaas = %{version} +Provides: java-10-openjdk-headless = %{version}-%{release} Provides: java-sasl = %{version} Provides: jce = %{version} Provides: jdbc-stdext = 4.3 @@ -359,6 +364,7 @@ Provides: jndi-ldap = %{version} Provides: jndi-rmi = %{version} Provides: jsse = %{version} +Obsoletes: java-10-openjdk-headless < %{version}-%{release} %description headless The OpenJDK %{featurever} runtime environment without audio and video support. @@ -374,12 +380,14 @@ Requires(postun): update-alternatives # Standard JPackage devel provides. Provides: java-%{javaver}-devel = %{version} +Provides: java-10-openjdk-devel = %{version}-%{release} Provides: java-devel = %{javaver} Provides: java-devel-openjdk = %{version} Provides: java-sdk = %{javaver} Provides: java-sdk-%{javaver} = %{version} Provides: java-sdk-%{javaver}-openjdk = %{version} Provides: java-sdk-openjdk = %{version} +Obsoletes: java-10-openjdk-devel < %{version}-%{release} %description devel The OpenJDK %{featurever} development tools. @@ -388,6 +396,8 @@ Summary: JMods for OpenJDK %{featurever} Group: Development/Languages/Java Requires: %{name}-devel = %{version}-%{release} +Provides: java-10-openjdk-jmods = %{version}-%{release} +Obsoletes: java-10-openjdk-jmods < %{version}-%{release} %description jmods The JMods for OpenJDK %{featurever}. @@ -396,6 +406,8 @@ Summary: OpenJDK %{featurever} Demos Group: Development/Languages/Java Requires: %{name} = %{version}-%{release} +Provides: java-10-openjdk-demo = %{version}-%{release} +Obsoletes: java-10-openjdk-demo < %{version}-%{release} %description demo The OpenJDK %{featurever} demos. @@ -404,6 +416,8 @@ Summary: OpenJDK %{featurever} Source Bundle Group: Development/Languages/Java Requires: %{name} = %{version}-%{release} +Provides: java-10-openjdk-src = %{version}-%{release} +Obsoletes: java-10-openjdk-src < %{version}-%{release} %description src The OpenJDK %{featurever} source bundle. @@ -418,7 +432,9 @@ Requires(postun): update-alternatives # Standard JPackage javadoc provides. Provides: java-%{javaver}-javadoc = %{version}-%{release} +Provides: java-10-openjdk-javadoc = %{version}-%{release} Provides: java-javadoc = %{version}-%{release} +Obsoletes: java-10-openjdk-javadoc < %{version}-%{release} BuildArch: noarch %description javadoc @@ -429,6 +445,8 @@ Group: Development/Languages/Java Requires: %{name} = %{version}-%{release} Requires: xprop +Provides: java-10-openjdk-accessibility = %{version}-%{release} +Obsoletes: java-10-openjdk-accessibility < %{version}-%{release} %description accessibility Enables accessibility support in OpenJDK %{featurever} by using java-atk-wrapper. This allows @@ -487,6 +505,8 @@ %patch20 -p1 +%patch30 -p1 + # s390 build fixes %ifarch s390 @@ -986,7 +1006,8 @@ --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \ %{_mandir}/man1/rmid-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \ - %{_mandir}/man1/rmiregistry-%{sdklnk}.1$ext + %{_mandir}/man1/rmiregistry-%{sdklnk}.1$ext \ + || : update-alternatives \ --install %{_jvmdir}/jre-openjdk \ @@ -1114,7 +1135,8 @@ --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \ %{_mandir}/man1/unpack200-%{sdklnk}.1$ext \ --slave %{_datadir}/applications/jconsole.desktop jconsole.desktop \ - %{_jvmdir}/%{sdkdir}/lib/desktop/jconsole.desktop + %{_jvmdir}/%{sdkdir}/lib/desktop/jconsole.desktop \ + || : update-alternatives \ --install %{_jvmdir}/java-openjdk \ @@ -1132,14 +1154,26 @@ fi %post javadoc -update-alternatives \ +# in some settings, the %{_javadocdir}/%{sdklnk}/api does not exist +# and the update-alternatives call ends up in error. So, filter this +# cases out. +if [ -d %{_javadocdir}/%{sdklnk}/api ] +then + update-alternatives \ --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{sdklnk}/api \ %{priority} +fi %postun javadoc if [ $1 -eq 0 ] then +# in some settings, the %{_javadocdir}/%{sdklnk}/api does not exist +# and the update-alternatives call ends up in error. So, filter this +# cases out. + if [ -d %{_javadocdir}/%{sdklnk}/api ] + then update-alternatives --remove javadocdir %{_javadocdir}/%{sdklnk}/api + fi fi %files ++++++ JDK-8208602.patch ++++++ # HG changeset patch # User weijun # Date 1533101708 -28800 # Node ID 9d92ff04a29c12a5d47f2ca4e772f7716bfdb8ff # Parent b6e0bfe4a6ec5d8d9d9476c05627dfb47f2263e1 8208602: Cannot read PEM X.509 cert if there is whitespace after the header or footer Reviewed-by: xuelei diff -r b6e0bfe4a6ec -r 9d92ff04a29c src/java.base/share/classes/sun/security/provider/X509Factory.java --- a/src/java.base/share/classes/sun/security/provider/X509Factory.java Wed Aug 01 01:40:44 2018 -0400 +++ b/src/java.base/share/classes/sun/security/provider/X509Factory.java Wed Aug 01 13:35:08 2018 +0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2018, 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 @@ -635,7 +635,8 @@ if (next != '\r') footer.append((char)next); } - checkHeaderFooter(header.toString(), footer.toString()); + checkHeaderFooter(header.toString().stripTrailing(), + footer.toString().stripTrailing()); try { return Base64.getDecoder().decode(data.toByteArray()); diff -r b6e0bfe4a6ec -r 9d92ff04a29c test/jdk/sun/security/provider/X509Factory/BadPem.java --- a/test/jdk/sun/security/provider/X509Factory/BadPem.java Wed Aug 01 01:40:44 2018 -0400 +++ b/test/jdk/sun/security/provider/X509Factory/BadPem.java Wed Aug 01 13:35:08 2018 +0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, 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 @@ -23,14 +23,13 @@ /* * @test - * @bug 8074935 - * @summary jdk8 keytool doesn't validate pem files for RFC 1421 correctness, as jdk7 did + * @bug 8074935 8208602 + * @summary X.509 cert PEM format read * @modules java.base/sun.security.provider */ import java.io.ByteArrayOutputStream; import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.PrintStream; import java.security.KeyStore; import java.security.cert.CertificateException; @@ -49,10 +48,12 @@ String pass = "passphrase"; String alias = "dummy"; + CertificateFactory cf = CertificateFactory.getInstance("X.509"); KeyStore keyStore = KeyStore.getInstance("JKS"); keyStore.load(new FileInputStream(ks), pass.toCharArray()); byte[] cert = keyStore.getCertificate(alias).getEncoded(); + // 8074935 ByteArrayOutputStream bout = new ByteArrayOutputStream(); PrintStream pout = new PrintStream(bout); byte[] CRLF = new byte[] {'\r', '\n'}; @@ -64,14 +65,20 @@ } pout.println(X509Factory.END_CERT); - CertificateFactory cf = CertificateFactory.getInstance("X.509"); - try { cf.generateCertificate(new ByteArrayInputStream(bout.toByteArray())); throw new Exception("Should fail"); } catch (CertificateException e) { // Good } + + // 8208602 + bout.reset(); + pout.println(X509Factory.BEGIN_CERT + " "); + pout.println(Base64.getMimeEncoder().encodeToString(cert)); + pout.println(X509Factory.END_CERT + " "); + + cf.generateCertificate(new ByteArrayInputStream(bout.toByteArray())); } }