[tor-dev] Orfox (Firefox for Android) - Recent Updates

Amogh Pradeep amoghbl1 at gmail.com
Thu Apr 9 01:16:23 UTC 2015


Hey guys,
At the Valencia meet I got Orfox building again with the latest mozilla
code and since then, I've been trying to get the project back on track.
The current repo can be found at[0]

After going through the source code for firefox for andoroid, these were
the network related findings that I've made.
The application uses maily 3 layers to work.
    1) The core layer, written in C++.
    2) A JS layer with some more functional code.
    3) A Java layer that makes uses the Android API's and other code
used for android.
Out of the 3 layers, 2 of them make network calls.
1) The C++ layer.
    There is an advantage of this layer making the network calls as all
the calls made by this layer are proxied. They obey the fennec settings
for proxy that has currently been set at
mozilla-central/mobile/android/app/mobile.js . Hence, we do not need to
bother about setting proxy to these connections and calls.
2) The Java layer.
    The Java code, the code run by android also has many network calls
but the problem is that these calls are not done obeying the tor proxy
and hence they are harmful. List of places where these calls are made are:
    a) any class which imports org.apache.* (commons.net.ftp.*, http.*):
        build/mobile/sutagent/android/DoCommand.java
        build/mobile/sutagent/android/SUTAgentAndroid.java
        mobile/android/base/distribution/Distribution.java
        mobile/android/base/favicons/LoadFaviconTask.java
        mobile/android/base/tests/BaseRobocopTest.java
    b) The browser also seems to be using another library for network
communications and that lies at
mobile/android/thirdparty/ch/boye/httpclientandroidlib This library
seems to have proxy support but the calls made to this library have not
been proxied, a list of those are [1] NOTE: Not all these classes listed
there make network calls, I will make a shorter list of this in the next
few days.

[0] https://github.com/amoghbl1/gecko-dev/tree/dev_orfox
[1]
https://dxr.mozilla.org/mozilla-central/search?q=ch.boye.httpclientandroidlib&case=false&offset=700


Feedback on what you think would be very useful and much appreciated.
Best,
amoghbl1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0x9DB63524.asc
Type: application/pgp-keys
Size: 4656 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150409/b2b11a7d/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20150409/b2b11a7d/attachment.sig>


More information about the tor-dev mailing list