Join us to show up for other Firefox users 🦊. Earn fun badges and Mozilla swag vouchers! Find out more: https://mzl.la/askafox150

Windows 10 reached EOS (end of support) on October 14, 2025. If you are on Windows 10, see this article.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Proxy.pac file syntax is not correctly recognized in Firefox 4 final.

  • 5 replies
  • 66 have this problem
  • 160 views
  • Last reply by Velnias
  • Archived

We are using a proxy.pac file to determine a proxy server based on subnet the user is in. (each subnet has its ISP and proxy server.)

here is the script:

function FindProxyForURL(url, host)
{
if (isInNet(host, "10.0.0.0", "255.0.0.0"))
        return "DIRECT";
if (isInNet(host, "127.0.0.1", "255.255.255.0"))
        return "DIRECT";
if (shExpMatch(url, "feed:*"))
        return "DIRECT" ;
if (shExpMatch(url, "ftp:*"))
        return "DIRECT" ;
if (shExpMatch( host, "localhost" ))
        return "DIRECT";
if (isInNet(myIpAddress(), "10.10.11.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.11.0", "/24"))
        return "PROXY 10.10.11.100:3128; DIRECT";
else if (isInNet(myIpAddress(), "10.10.12.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.12.0", "/24"))
        return "PROXY 10.10.12.100:3128; DIRECT";
else if (isInNet(myIpAddress(), "10.10.10.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.10.0", "/24"))
        return "PROXY 10.10.10.100:3128; DIRECT";
else
	return "DIRECT";
}

it seems like FF4 always pick the first proxy in "if" clause, and ignores the "else if" (i have tries to switch the proxies around.)

It was working correctly in FF3.6 and is still working in IE8.

System is Win 7 Ent. x64 bit. FF4 final.

We are using a proxy.pac file to determine a proxy server based on subnet the user is in. (each subnet has its ISP and proxy server.) here is the script: <pre><nowiki>function FindProxyForURL(url, host) { if (isInNet(host, "10.0.0.0", "255.0.0.0")) return "DIRECT"; if (isInNet(host, "127.0.0.1", "255.255.255.0")) return "DIRECT"; if (shExpMatch(url, "feed:*")) return "DIRECT" ; if (shExpMatch(url, "ftp:*")) return "DIRECT" ; if (shExpMatch( host, "localhost" )) return "DIRECT"; if (isInNet(myIpAddress(), "10.10.11.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.11.0", "/24")) return "PROXY 10.10.11.100:3128; DIRECT"; else if (isInNet(myIpAddress(), "10.10.12.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.12.0", "/24")) return "PROXY 10.10.12.100:3128; DIRECT"; else if (isInNet(myIpAddress(), "10.10.10.0", "255.255.255.0") || isInNet(myIpAddress(), "10.10.10.0", "/24")) return "PROXY 10.10.10.100:3128; DIRECT"; else return "DIRECT"; } </nowiki></pre> it seems like FF4 always pick the first proxy in "if" clause, and ignores the "else if" (i have tries to switch the proxies around.) It was working correctly in FF3.6 and is still working in IE8. System is Win 7 Ent. x64 bit. FF4 final.

Modified by cor-el

All Replies (5)

Hi,

I have encountered the same issue and I have bypassed it as follow:

  1. about:config
  2. Search and set the option "network.dns.disableIPv6" to true

For my side, the options "use a PAC file" or "use system proxy settings" work with this change.

Bye. Francois

Well it did not worked for me. Still have the same problem.

Do you have multiple IP addresses on your client machine? If so, the myIpAddress() function returns only the IP of the first adapter it looks at. If you have wired, wireless, IPv6, etc addresses on your client, the myIPAddress() function will only return the first one it finds.

For example, if you are looking for an IP on a wired subnet, and your first adapter is wireless, the function will return the address of your wireless adapter, and the "else if" criteria will not apply.

This is still not working. And after upgrading to Firefox 6.0 the pac file does not work at all.

And no, i do not have multiple IP's. And use only IP4