Open Bug 260883 Opened 20 years ago Updated 2 months ago

"No proxy for" does not use FQDN wildcards "*" like IE

Categories

(Core :: Networking: Proxy, enhancement, P5)

x86
Windows XP
enhancement

Tracking

()

People

(Reporter: esarge, Unassigned)

References

Details

(Whiteboard: [necko-would-take])

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10

In Internet Explorer I can use wildcards to specify websites I don't wish to use
the proxy for. This is important so that I can access internal company websites
(without the proxy) and external websites with the proxy). 

The IP address/class system is not sufficient as I only have the FQDN. The IP
may change. Wildcards are important because I work for a large company with a
large number of machines. Specifying *.auckland.company.com is a lot easier than
having to update the No proxy for for every new internal website I come across.

I have reviewed bugs 91587, 136789 and 229201 and none of them address my concerns.

Reproducible: Always
Steps to Reproduce:
0. Find two names in a DNS server with different hostnames but identical
suffixes such that *.domain will include both names. Setup a proxy that cannot
access the websites attached to these domains but ensure you can access them
without the proxy.
1. Navigate to Tools->Options.. 
2. Click Connection Settings...
3. Specify Manual Proxy Configuration and include *.domain in the No proxy for list.
4. Attempt to go to either domain.

Actual Results:  
Firefox tries to use the proxy and the retrieval fails.

Expected Results:  
Return the webpages without using the proxy.
I successfully do exactly what you're saying you need to do with the same
version of Firefox that you're running. The problem is that you're using the
asterisk. (Correct syntax is specified in the connection settings window right
underneath where you specify this information.)

Just put .auckland.company.com in the "No proxy for" box, and all hostnames that
end in .auckland.company.com will not be proxied.

Bug should probably be marked invalid. 
Sorry - the repro isn't quite accurate. 
I need to use a proxy for *.company.com but not w3*.company.com
Wildcards can also be helpful in instances where you want to specify a range of
addresses, such as 129.97.129.*
Afaik, 129.97.129.* can be achieved by doing 129.97.129.0/24
We passively support a leading "*" by simply stripping it when we convert the
noproxy pref into filters.

Edward: can you give me a specific, one-domain example? (No proxy says "this", I
type "that", and I do(not) connect to my proxy).

I'm concerned because we have a couple Firefox-specific problem reports of stuff
that should work fine.
I'll give you an example of what I want to express to FireFox.
I want to use the proxy to connect to www.company.com (an external website).
However I do not want to use the proxy to connect to any address of the format
w3-*.company.com (internal websites). I know that in my company there are many
servers of that form e.g. w3-1.company.com, w3-2.company.com, etc.

In IE I would add w3-*.company.com to the No proxy list however FireFox gets
confused by this.
Note that .company.com does not express what I want because that will request
www.company.com without using the proxy.
I have the same issue. I need to access w3-*.company.com with no proxy, but
www.company.com with the proxy.
Confirming this, but as an enhancement request rather than a bug.
Severity: normal → enhancement
*** Bug 312283 has been marked as a duplicate of this bug. ***
-> networking. 

I had asked along time ago if anyone needed this.. and nobody said yes. This is
actually the first bug where someone wanted this format that IE has...

Just so you know, this probably requires a good amount of work on our code,
because we are very suffix oriented right now.

I'll add this to the "no proxy" docs as well.

http://www.mozilla.org/quality/networking/docs/aboutno_proxy_for.html
Component: General → Networking
Product: Firefox → Core
Summary: No proxy for does not use wildcards like IE → "No proxy for" does not use FQDN wildcards "*" like IE
Version: unspecified → Trunk
Assignee: firefox → nobody
QA Contact: general → networking
See also Bug 562307: the Firefox installer should not be happily importing proxy exclusion entries that depend on this missing feature.
Hi,
I'm sorry to bump this up, but I would like to know if any of the devs is aware of this bug/change request.
I'm a consultant and I work on different customer sites every day, so I use the "Lenovo Access Connections" to switch between different configurations. I think that AC just handles IE "no proxy" syntax as it will not change proxy settings if it will find something like "10.0.0.0/8".
I even tried to set Firefox (Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 ID:20131105030206 CSet: 770de5942471) to use "System Settings" but it looks like it doesn't handle the "No Proxy" setting.

Will Firefox ever handle the "No proxy" syntax like IE does or, even better, really handle the "Use System Settings"?
I just cloned Firefox sources (hg clone http://hg.mozilla.org/mozilla-central/) and tried to find proxy part, I found nothing except elements in configure.in
Looking at this one, it seems Firefox uses a lib called libproxy.
Searching about this, I found https://code.google.com/p/libproxy (and https://code.google.com/p/libproxy/wiki/BuildingFromSource).
1) Is it the good way or am I misleading?
2) If yes, does it mean it's an enhancement to implement in libproxy only?
relevant code seems to be in netwerk/base/src/nsProtocolProxyService.cpp .. look for no_proxies_on and LoadHostFilters()
I do not understand the entire discussion. Since the Windows/IE proxy exclusions follow entirely different rules, compared to the FF proxy exclusions, it is not even possible to transform the FF settings into IE settings or vice versa.

Windows/IE lets you list host names that *begin* with any of the listed strings, plus they allow the asterisk wildcard character. FF lets you list host names that *end* with any of the listed strings, but they do not understand the asterisk wildcard character. The IP address format is similarly different.

This means that the FF setting "Use system proxy settings" requires new code to interpret the Windows/IE settings, code that is not used with any other setting, otherwise it could not possibly work.

I have not done any exhaustive testing, but I suspect that that settings does, in fact, not work, except in certain trivial cases.

Do I see things correctly?
Hans-Georg, there's a very nice overview there: https://developer.mozilla.org/en-US/docs/No_Proxy_For_configuration. In the current case. My corporate proxy settings use things like "10.*.*.*" which I have to translate to "10.0.0.0/8". This could be done automatically (indeed using new but rather trivial code). But I also understand there are more complex cases like "www.*.com" which is just impossible to translate into FF syntax.
Thanks for the link, but the "very nice" overview, just like your message, totally ignores the most significant difference, that the Windows/IE proxy strings represent the beginning of the name, while those in Firefox represent the end.

But I had written that already quite clearly in my preceding comment, and I don't like to have to repeat myself.
Whiteboard: [necko-would-take]
Bulk change to priority: https://bugzilla.mozilla.org/show_bug.cgi?id=1399258
Priority: -- → P5
Severity: normal → S3

Moving bug to Core/Networking: Proxy.

Component: Networking → Networking: Proxy
You need to log in before you can comment on or make changes to this bug.