RFR: 8286781: Replace the deprecated/obsolete gethostbyname and inet_addr calls

David Holmes dholmes at openjdk.org
Thu Mar 2 22:47:05 UTC 2023


We can replace `gethostbyname`, which is deprecated on Windows and Linux, with `getaddrinfo`. This API is available on all supported platforms and so can be placed in shared code. @djelinski pointed out that `getaddrinfo` can resolve both IP addresses and host names so the two step approach used in `networkStream::connect` is not necessary and we can do away with `os::get_host_by_name()` completely.

The build is updated to enable winsock deprecation warnings, and now we need to use `ws2_32.lib` we can drop `wsock32.lib` (as it is basically a subset - again thanks @djelinski ).

Testing
    - all Oracle builds in tiers 1-5
    - All GHA builds

The actual code change has to be manually tested because the code is only used by Ideal Graph Printing to connect to the Ideal Graph Visualizer. I've manually tested on Windows and Linux and @tobiasholenstein tested macOS.

Thanks.

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

Commit messages:
 - 8286781: Replace the deprecated/obsolete gethostbyname and inet_addr calls

Changes: https://git.openjdk.org/jdk/pull/12842/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12842&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8286781
  Stats: 41 lines in 6 files changed: 13 ins; 17 del; 11 mod
  Patch: https://git.openjdk.org/jdk/pull/12842.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12842/head:pull/12842

PR: https://git.openjdk.org/jdk/pull/12842



More information about the build-dev mailing list