Closed Bug 470207 Opened 17 years ago Closed 16 years ago

proxy bypass hosts/domains not parsed correctly on Mac when using system proxy settings

Categories

(Core :: Networking, defect)

1.9.1 Branch
All
macOS
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: skylander, Assigned: jaas)

Details

(Keywords: fixed1.9.1)

Attachments

(1 file, 1 obsolete file)

User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2 Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2 FF - Preferencer - Advanced - Network - Connection «Settings» - «Use system proxy settings» selected; MacOSX - Network Preferences - AirPort «Advanced» - Proxies - FTP/HTTP/HTTPS and «Bypass proxy settings for these Hosts&Domains» typed «*.dev, *.devel» BUT FF try connect to http://test.dev and http://mywork.devel via PROXY !!! Safari4 is work correct with this settings. Reproducible: Always Steps to Reproduce: if MacOSX System Proxy is ON and FF use System Proxy this bug is constant =(
Version: unspecified → 3.1 Branch
Do NOT use a star, it very clearly explained in the example just below the field.
Invalid then?
I can confirm this bug. I reported it in 3.1 beta 3, and it is most definitely still in 3.5 beta 4. I am using Mac OS X 10.5.6. In System Preferences, on the Network pane, there is a text field called "Bypass roxy settings for these Hosts & Domains". By default, this field contains "*.local, 169.254/16". The star that apparently hurts Firefox is in there by default on my Mac, so maybe Firefox should be fixed to ignore stars. Anyhow, following the above advice about the stars, I changed that line to ".local, 169.254/16, 192.168/16" so I can connect directly to hosts on my network. I can confirm that Safari 4 beta is able to connect directly to 192.168.0.1 and to www.google.com (via proxy) as expected. However, Firefox 3.5 beta 4 (with these settings), still engages the proxy for all connections. When I try to connect to 192.168.0.1, I see the busy animation, and when it times-out I get the error message from my ISP's proxy. This is for an address that is in the bypass field, and is correctly bypassed by Safari and not Firefox. Also, I have tried changing the field to ".local, 169.254.0.0/16, 192.168.0.0/16" to match the example in the Firefox preferences, but this doesn't work either. Firefox might also need some sort of translation for this field too, because it's clear to me that the MacOS X syntax for proxy bypass is different to the Firefox syntax. It's not hard to change either, but it does mean that it doesn't work out-of-the-box. I can confirm that Firefox, when configured to use the System proxy settings, does not honour the System bypass settings, on MacOS X 10.5.6.
Flags: blocking-firefox3.5?
Confirming based on comment 3 Josh: can you look at this? Reportedly a regression in beta 4.
Status: UNCONFIRMED → NEW
Component: Preferences → Networking
Ever confirmed: true
Flags: blocking-firefox3.5?
Keywords: regression
Product: Firefox → Core
QA Contact: preferences → networking
Version: 3.5 Branch → 1.9.1 Branch
Flags: blocking1.9.1?
Perhaps nsOSXSystemProxySettings::IsInExceptionList is broken?
I can reproduce, I'll take a look.
Assignee: nobody → joshmoz
Removing regression keyword, this stuff almost certainly never worked in system proxy mode. The code that is choking has been around since we added system proxy usage. I set up a bogus proxy address and excepted "*.google.com" to test this. Safari let me access google.com, Firefox did not. This is because in Firefox (nsOSXSystemProxySettings.mm) we check the proxy exception by comparing the strings "google.com" (from Firefox networking) and "*.google.com" from the OS exception list. That comparison fails, so you can't access google.com. You can fix this by just writing "google.com" in the OS exceptions text field. We need to make our domain comparison code smarter, probably include support for "*" and the "/" syntax.
Keywords: regression
Hardware: x86 → All
I stole the Windows code and it works better, but the Windows code isn't very smart either... If your exception is "google.com" you can't load subdomains like "www.google.com" and if your exception is "*.google.com" you can't load just "google.com". Very literal. In IE on Windows if your exception is "*.google.com" you can still load "google.com".
Not blocking since it's not a regression, but can we see the partial patch that you're working up?
Flags: wanted1.9.1+
Flags: blocking1.9.1?
Flags: blocking1.9.1-
Summary: list of «Bypass proxy hosts/domains» is not work - FF try to use «System Proxy» for ALL SITES list of «Bypass proxy hosts/domains» is not work - FF try to use «System Proxy» for ALL SITES → proxy bypass hosts/domains not parsed correctly on Mac when using system proxy settings proxy bypass hosts/domains not parsed correctly on Mac when using system proxy settings
Attached patch fix v0.8 (obsolete) — Splinter Review
This is the gist of it so far, didn't have time to finish today. This needs closer inspection, a port comparison on Mac OS X, and more testing.
Attached patch fix v1.0Splinter Review
Attachment #375948 - Attachment is obsolete: true
Attachment #376056 - Flags: superreview?(roc)
Attachment #376056 - Flags: superreview?(roc) → superreview+
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Attachment #376056 - Flags: approval1.9.1?
Comment on attachment 376056 [details] [diff] [review] fix v1.0 a191=beltzner
Attachment #376056 - Flags: approval1.9.1? → approval1.9.1+
Flags: in-litmus?
Keywords: fixed1.9.1
many thanx, but half year for this little bug..
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: