Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6960680

problem with jdk 1.6.0_13 and later and proxy.pac

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P2 P2
    • 6-pool
    • 6u20
    • deploy
    • x86
    • windows_vista

      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";
      }

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

            raginip Ragini Prasad (Inactive)
            hnassiry Haroon Nassiry (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: