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