Closed Bug 749352 Opened 9 years ago Closed 9 years ago

Firefox fails to connect when a proxy is used

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox14 affected, firefox15 affected, blocking-fennec1.0 -, fennec-)

RESOLVED FIXED
Firefox 19
Tracking Status
firefox14 --- affected
firefox15 --- affected
blocking-fennec1.0 --- -
fennec - ---

People

(Reporter: lcamacho, Assigned: blassey)

References

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux i686; rv:15.0) Gecko/20120425 Firefox/15.0a1
Build ID: 20120425030647

Steps to reproduce:

1. Configure and start a proxy 
2. Set the proxy on Android (Gingerbread 2.3.4) Wifi settings
3. Start Firefox nightly, go to google.com


Actual results:

It stays loading for a while and then shows the message "the connection has timed out"


Expected results:

It should show me google.com
Which build of Firefox are you using?
Mozilla/5.0 (Android; Mobile; rv: 15.0) Gecko/15.0 Firefox/15.0a1

Nightly
15.0a1
(2012-04-26)
Adding 'qawanted' to see if anyone else can reproduce.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: qawanted
OS: Linux → Android
Product: Fennec → Fennec Native
Hardware: x86 → ARM
Unable to reproduce the issue on Nightly/15.0a1 2012-04-29 a Motorola Droid Pro ( Android 2.3.4) using several free proxy servers. 
Can you please provide more info about the proxy server used in order to try and reproduce the issue?
The actual result has changed and now connect but It just skip the proxy.

I have a small proxy made with nodejs, testing with native Android browser and Dolphin It shows me every request but with stable Firefox and Nightly It doesnt show a single request.
Attached file Proxy.js
This is the proxy.
Attachment #619929 - Attachment mime type: application/octet-stream → text/plain
Leonard, how do I run this small proxy?
In Ubuntu:

1.- Install nodejs
2.- Execute in terminal: nodejs proxy.js
3.- Set the proxy on Android using the ip of your machine and the port is 8081
Ok, I can reproduce the issue.
Opera Mobile suffers from the same thing.

I guess proxy setting is called here:
http://mxr.mozilla.org/mozilla-central/source/netwerk/base/src/nsProtocolProxyService.cpp#504

I don't see any defines for Android for:
http://mxr.mozilla.org/mozilla-central/ident?i=NS_SYSTEMPROXYSETTINGS_CONTRACTID

Perhaps this library is useful for getting the proxy server in Android?
http://code.google.com/p/android-proxy-library/
Removing 'qawanted' per above comment
Keywords: qawanted
I have the same issue, except that my proxy is in the APN settings. The Android browser works fine. So I have no browsing on 3G.

(Samsung SGS2 with 2.3.3 stock Android - Firefox Nightly)
This could be handled by an add-on too
tracking-fennec: --- → 15+
blocking-fennec1.0: ? → -
(In reply to Mark Finkle (:mfinkle) from comment #13)
> This could be handled by an add-on too

And how do you download the add-on?
tracking-fennec: 15+ → -
Duplicate of this bug: 811045
Attached patch patchSplinter Review
Note that it seems proxy support is known to be broken in Android pre-ICS, but this patch will at least get things working in for ICS and later.
Assignee: nobody → blassey.bugs
Attachment #681147 - Flags: review?(mark.finkle)
Comment on attachment 681147 [details] [diff] [review]
patch

>diff --git a/mobile/android/base/GeckoAppShell.java b/mobile/android/base/GeckoAppShell.java

>+    public static String getProxyForURI(String spec, String scheme, String host, int port) {

>+            } catch(java.net.URISyntaxException uriEx2) {
>+                Log.i("GeckoProxy", "failed to create uri from spec", uriEx);
>+                Log.i("GeckoProxy", "also failed to create uri from parts", uriEx2);

nit: Log.d and use sentences:
                Log.d("GeckoProxy", "Failed to create uri from spec", uriEx);
                Log.d("GeckoProxy", "Failed to create uri from parts", uriEx2);


>+        Log.i("GeckoProxy", "no proxy for: " + spec +", " + "scheme" + ":" + host + ":" + port);

I'd rather remove this. It leaks the URL, which is bad for private browsing. Also, I don't think this is critical enough to log.

>diff --git a/widget/android/AndroidBridge.cpp b/widget/android/AndroidBridge.cpp

Looks OK to me

r+, but you should get a toolkit person to review the toolkit parts. I thought the windowsproxy/nsWindowsSystemProxySettings -> androidproxy/nsAndroidSystemProxySettings looked fine.
Attachment #681147 - Flags: review?(mark.finkle) → review+
Attachment #681147 - Flags: review?(dtownsend+bugmail)
Attachment #681147 - Flags: review?(dtownsend+bugmail) → review+
https://hg.mozilla.org/mozilla-central/rev/2fd71029eaa2
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 19
Still not working with a SGS2 with ICS.

This change is already on latest nightly right?
(In reply to Leonard Camacho [:lcamacho] from comment #19)
> Still not working with a SGS2 with ICS.
> 
> This change is already on latest nightly right?

Didn't make it on today's as it landed after it was built. Check tomorrow's.
I just checked with the latest nightly on my SGS2 with CM9 (Android 4.0 base). And it works for both http and https.
Blocks: 813688
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.