Currently the HttpUrlConnection throws a generic "Authentication failure" 
exception when authentication fails locally.

The authentication may fail for various reasons like: incorrect server 
challenge message, unavailable encryption/digest algorithms, encoding errors 
etc. The detailed failure information should be available to the user. Without 
it, the exception is next to impossible to diagnose, see 
[JDK-8347778](https://bugs.openjdk.org/browse/JDK-8347778) for example.

This PR adds the original exception as the cause of the "Authentication 
failure" exception.

The detailed exception messages are enabled by the "hostInfo" and 
"hostInfoExclSocket" categories of "jdk.includeInExceptions". Note that 
"hostInfoExclSocket" is enabled by default.

Added a new test to verify that the exception details are present when 
jdk.includeInExceptions includes hostInfoExclSocket (default), and absent 
otherwise. Existing tier1-3 tests continue to pass.

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

Commit messages:
 - Add test
 - Propagate low-level errors
 - Detailed authentication exceptions

Changes: https://git.openjdk.org/jdk/pull/28601/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28601&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8372731
  Stats: 302 lines in 10 files changed: 217 ins; 27 del; 58 mod
  Patch: https://git.openjdk.org/jdk/pull/28601.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28601/head:pull/28601

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

Reply via email to