JDK-6960680 : problem with jdk 1.6.0_13 and later and proxy.pac
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u20
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_vista
  • CPU: x86
  • Submitted: 2010-06-11
  • Updated: 2010-08-17
  • Resolved: 2010-08-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6-poolResolved
Related Reports
Duplicate :  
Description
We have an issue with Sun Java and our proxy.pac file that we use in our
environment. We have narrowed it down but still need to find a solution. 

We use a very simple proxy.pac to determine whether to connect
internally "DIRECT" or externally through a "PROXY". It is a very simple
proxy.pac that has been working for a very long time. We recently had to
update our Java runtime to version 6 update 16 to meet an application
requirement. We see that it is able to connect to the servers that it
needs just fine until it starts Java and attempts to connect that
resource. It fails to determine how to connect to the Java portion. We
can force Java to find its path if we change the Java console in Control
panel to "DIRECT" and the servers are internal. And we can force it to
use a Proxy by using the same options but tell it to use a Proxy. The
big problem is we have both Java applications that are internal and
external. We need to be able to use the our proxy.pac file to determine
which path it should use to make a connection.  

To duplicate you need the following.  An Java application that is
external and one that is internal.  The external needs to go through a
proxy server or at least s different path all together.  Then from a
workstation install Java version 6 update 14 or later.  Use a automatic
configuration file in IE to determine which path it will take. See attached
Screen shot. 

(The proxy.pac file content is listed below.) 

Then open an internal and an external Java application in IE.  One may
work and the other will fail.  It blows up when trying to use the
proxy.pac file to determine if it is internal or external.  So it may
work for one only because it defaults to one or the other.  But both
will not work.  You can bypass the proxy.pac and force it to use
internal or a proxy server, however, that is not going to give you the
ability to connect to both sources.   

By doing many tests we found that if we use an older revision of the
Java runtime 6 update 13 then it works fine. The problem occurs only
when we use any version of Java 6_14 or later.  

Here is what I tried and the results.  

5_09 Successfully loads 
5_12 Successfully loads 
6_12 Successfully loads 
6_13 Successfully loads 
6_14 FAILS 
6_16 FAILS 
6_17 FAILS 
6_18 FAILS  
6_20 FAILS  

Here is the proxy.pac that we use to determine whether to send traffic
via a proxy or direct.  

**************************  

function FindProxyForURL(url, host) 
{ 
if (isResolvable("proxy2.sdg.ie.intuit.com")) 
{ 
if ( isInNet(host, "10.0.0.0", "255.0.0.0")) {  

//alert(host + " DIRECT connection"); 
return "DIRECT";} 
if (isPlainHostName(host)){ 
//alert(host + " DIRECT connection"); 
return "DIRECT";}  

if (isInNet(host, "172.0.0.0", "255.0.0.0")){  

//alert(host + " DIRECT connection"); 
return "DIRECT";} 
else { 
//alert(host + " PROXY connection"); 
return "PROXY proxy2.sdg.ie.intuit.com:3128"; 
} 
} 
else 
//alert(host + " DIRECT connection"); 
return "PROXY DIRECT"; 
}  

*****************************