[tbb-bugs] #27609 [Applications/Tor Browser]: TBA: Evaluate Tor Onion Proxy Library

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Apr 5 16:15:05 UTC 2019

#27609: TBA: Evaluate Tor Onion Proxy Library
 Reporter:  sysrqb                               |          Owner:  tbb-
                                                 |  team
     Type:  defect                               |         Status:
                                                 |  needs_revision
 Priority:  Very High                            |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-mobile, TBA-a3, tbb-8.5-must-    |  Actual Points:
  alpha, TorBrowserTeam201904                    |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor8

Comment (by sisbell):

 I did a deep dive into the library loading for tor.

  1. After going through older builds and then our newer ones, the browser
 APK has never extracted the tor binaries. It does extract for the
 firefox/mozilla native libraries.
  1. ''Orbot extracts libraries'': I tried using tor-android-service with a
 build of Orbot app and the tor library extracts correctly. So this looks
 like something specific to the firefox build. It is a little strange that
 the libraries in Orbot show up as arm rather than armv7 (as shown in
 Native Libs Monitor)
  1. ''Not a toolchain issue'': I also built Orbot/tor-android-service with
 the same toolchain as tbb and the libraries still extract so it doesn't
 appear to be a toolchain related issue.

 Comparing versions tor-android-binary library

  1. - we can see that the tor.so is in the tor-browser apk and it
 registers as an arm library within the apk.
  1. - tor.so isn't picked up at all as a native library, even
 within the tor-browser apk (I verified with Native Libs Monitor).
  1. When I try to launch the latest version of tor, I get "no such
 directory or file". When I check the app space on the device tor is
 correctly located on the device. So this error doesn't make much sense. I
 managed to reproduce this behavior with a sample app by having APK A
 dependent on aar B. B had /lib/armeabi-v7/tor.so in the aar. I then built
 APK A and also reincluded jniLibs/armeabli-v7/tor.so in APK A. So there
 are two versions in the build chain. With this build I was able to
 reproduce the "no such directory or file" error. However, I was unable to
 find any double inclusion within the firefox build.
  1. I took my local/latest version of the tor-browser APK that fails as
 defined in (3) and replaced version of tor.so with version I directly modified the APK so there is no other change. The app
 started up correctly.

 We will need to fall back to the older version of tor for our build. In
 regards to the latest version of tor-android-binary, it works correctly
 outside of firefox. The only thing that looks strange is that it registers
 as arm rather than armv7 so that would be worth a look in the future.

 I've upgraded TOPL and tor-android-service to use the latest version of
 tor-android so I will create a patch to move to an older version in the
 firefox build. The APIs are slightly different between versions so this
 will touch some of the code.

Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27609#comment:50>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online

More information about the tbb-bugs mailing list