[jdk17u-dev] RFR: 8302111: Serialization considerations [v5]
Goetz Lindenmaier
goetz at openjdk.org
Fri Feb 21 16:16:55 UTC 2025
On Fri, 21 Feb 2025 14:43:14 GMT, Goetz Lindenmaier <goetz at openjdk.org> wrote:
>> I backport this to match 17.0.13-oracle based on the commit to 21.
>>
>> I had to resolve several files, two of them considerably:
>>
>> src/java.base/share/classes/com/sun/crypto/provider/DHPrivateKey.java
>> Resolved larger chunk.
>> src/java.base/share/classes/com/sun/crypto/provider/DHPublicKey.java
>> Resolved some code.
>>
>> The new code in DHPublic/PrivateKey depends on the removal
>> of IOExceptions in [JDK-8297065](https://bugs.openjdk.org/browse/JDK-8297065) "DerOutputStream operations should not throw IOExceptions".
>> This change is in 21 but not in 17. Thus code backported from 21 calls functions of
>> DerOutputStream that do not throw an exception in 21, but do so in 17.
>> JDK-8297065 makes the point that these exceptions can never be thrown, which also
>> holds for 17. So I just catch and ignore them.
>>
>> Also, I had to adapt code because an exception constructor with cause for
>> InvalidObjectException is missing in 17.
>> This was added by [JDK-8282696](https://bugs.openjdk.org/browse/JDK-8282696) "Add constructors taking a cause
>> to InvalidObjectException and InvalidClassException" in 19.
>> I added a call to initCause() to store the causing exception.
>>
>> I double-checked that [JDK-8297065](https://bugs.openjdk.org/browse/JDK-8297065) was not backported
>> by Oracle. Backporting this change would simplify matters considerably.
>>
>> The remaining files only needed trivial resolves:
>>
>> src/java.base/share/classes/java/security/Permissions.java
>> src/java.base/share/classes/java/security/SignedObject.java
>> Only Copyright.
>> src/java.base/share/classes/java/security/Timestamp.java
>> Copyright and import.
>> src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java
>> src/java.base/share/classes/java/security/cert/CertificateRevokedException.java
>> src/java.base/share/classes/sun/security/provider/DRBG.java
>> src/java.base/share/classes/sun/security/util/ObjectIdentifier.java
>> src/java.base/share/classes/sun/security/x509/AlgIdDSA.java
>> Only Copyright.
>> src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java
>> Resolved imports.
>> src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java
>> src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11SecureRandom.java
>> Only Copyright.
>>
>> I manually ran these tests on linux x86_64:
>>
>> test/jdk/com/sun/security
>> test/jdk/java/awt/security
>> test/jdk/java/net/httpclient/security
>> test/jdk/java/net/httpclient/we...
>
> Goetz Lindenmaier has updated the pull request incrementally with one additional commit since the last revision:
>
> Bring exceptions closer to status before JDK-8297065
Hi @martinuy,
Although I think this is good to go now, I would appreciate a second look by you. Could you find time in the next days?
Thanks, Goetz.
-------------
PR Comment: https://git.openjdk.org/jdk17u-dev/pull/3278#issuecomment-2674969857
More information about the jdk-updates-dev
mailing list