[jdk21u-dev] RFR: 8009550: PlatformPCSC should load versioned so [v2]

Andrew John Hughes andrew at openjdk.org
Mon Feb 12 19:22:14 UTC 2024


> Hi all,
> 
> This pull request contains a backport of commit [328b3810](https://github.com/openjdk/jdk/commit/328b381075ab81fd3f899e49e4d71ef19ea28862) from the [openjdk/jdk](https://git.openjdk.org/jdk) repository.  It applies cleanly to 21u-dev and builds fine without modification.
> 
> The commit being backported was authored by myself on 31 Oct 2023 and was reviewed by Valerie Peng and Thomas Stuefe. It allows the PCSC library to pick up a wider range of libpcsclite libraries without the user having to explicitly specify the library on the command-line. Notably, it solves an issue on RHEL where having the `pcsc-lite-libs` package installed is not sufficient for it to be used by OpenJDK, as it intentionally only provides `/usr/lib64/libpcsclite.so.1` not `/usr/lib64/libpcsclite.so`.
> 
> We have been applying a simpler version of this patch to RHEL packages for the last decade without issue. In the majority of cases, it will make the smartcard library work where it hasn't by default before, as a larger range of filenames is now checked.
> 
> The only potential compatibility risk I can see is that a system with both `libpcsclite.so.2` and `libpcsclite.so.1`, where `libpcsclite.so` links to `libpcsclite.so.2`. Unpatched, this would load `libpcsclite.so.2` while it would load `libpcsclite.so.1` when patched. This behaviour is actually preferable, as the OpenJDK code is designed around the `.1` API (and even `.0` on Solaris) and the situation very unlikely, given even the new libpcsclite 2.0 library still uses `libpcsclite.so.1`. 
> 
> Thanks.

Andrew John Hughes has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:

  Backport 328b381075ab81fd3f899e49e4d71ef19ea28862

-------------

Changes: https://git.openjdk.org/jdk21u-dev/pull/255/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=255&range=01
  Stats: 54 lines in 2 files changed: 30 ins; 4 del; 20 mod
  Patch: https://git.openjdk.org/jdk21u-dev/pull/255.diff
  Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/255/head:pull/255

PR: https://git.openjdk.org/jdk21u-dev/pull/255


More information about the jdk-updates-dev mailing list