JDK-8062034 : Java not utilising PAC or WPAD
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 7u71,8u40
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86
  • Submitted: 2014-10-22
  • Updated: 2016-02-15
  • Resolved: 2014-11-10
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) Client VM (build 24.71-b01, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Windows 7x64 but using I.E. x86.

EXTRA RELEVANT SYSTEM CONFIGURATION :
Windows 2008R2 domain, standard Dell Optiplex 380 desktops using MS certified drivers via Dell.

A DESCRIPTION OF THE PROBLEM :
If Internet Explorer is set to "automatic proxy" Java shows proxy=DIRECT in the console for any requests.  Changing Java control panel to reflect proxy settings does nothing.  If Internet Explorer specifies a proxy then Java shows the correct proxy and works, again irrespective of what settings are present in the java control panel.

We do not have a DIRECT path to the internet, all internet traffic must pass through one of 3 proxies available on the internet.  Our WPAD.DAT 

No infrastructure changes and the system can be "downgraded" to 7u67 with no issues.  7u67 correctly picks up the WPAD.DAT file and interprets the correct proxy.

REGRESSION.  Last worked in version 7u67

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) install 7u71
2) have an internet stream that CANNOT proxy=DIRECT
3) have an environment that can utilise a WPAD setting
4) Set internet explorer to use "automatic proxy detection"
5) monitor java console to note proxy=DIRECT
6) close all instances of IE
7) set IE to the static proxy settings
8) observe java console for correct proxy=xxxxxxxxxxx

in all cases the java control panel settings were ignored, be they set to PAC, automatic or static proxy.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expected 7u71 to interrogate the WPAD response and use the proxy accordingly.  I did not expect to manually enter the proxy details in IE.
ACTUAL -
Neither WPAD nor java control panel settings were garnered for use by Java

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Manual proxy inputted.  This will not be suitable as our WPAD sents appropriate domains to different proxies.  Should be noted that 7u67 (and predecessors) had no issues using the same WPAD; our infrastructure has not changes in (literally) years.


Comments
closing as dup of JDK-8061643.
06-11-2014

More information from the submitter: 8u40 exhibits the same behaviour. Please find enclosed 6 files consisting of 4 java console logs and the two WPAD files that I use: 01.7r71.txt 7u71: this file uses the WPAD_TEST.DAT 02.7r71.txt 7u71: this file uses the WPAD_TEST_WORKAROUND.DAT 01.8r40.txt 8u40: this file uses the WPAD_TEST.DAT 02.8r40.txt 8u40: this file uses the WPAD_TEST_WORKAROUND.DAT WPAD_TEST.DAT This WPAD file works fine in 7u67 but not in 7u71+ WPAD_TEST_WORKAROUND.DAT This WPAD file works in all versions of JAVA but is not ideal. As you can see from the standard proxy.pac (or wpad.dat) files, the only difference is the way I detect the host site IP address. It seems that calls to dnsResolve(host); do not work: Line98 01.7r71.txt proxy=DIRECT Whereas if I replace the routine with a substring or dnsDomainIS() then both 7u71 & 8u40 (I didn���t try with 8u25 or 7u72 but I imagine the results are the same) then both resolve correctly: Line97 02.7r71.txt proxy=HTTP @ /10.1.1.236:8180 BOTH wpad/pac files work in 7u67. That means dnsResolve was adequate in 7u67 but not 7u71 onwards.
24-10-2014