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

Reply via email to