[tor-bugs] #29626 [Applications/Tor Browser]: TBA: Application name is now "Always-On Notifications"

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Mar 1 16:15:25 UTC 2019


#29626: TBA: Application name is now "Always-On Notifications"
-------------------------------------------------+-------------------------
 Reporter:  sysrqb                               |          Owner:  tbb-
                                                 |  team
     Type:  defect                               |         Status:  new
 Priority:  Very High                            |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-mobile, TBA-a3,                  |  Actual Points:
  TorBrowserTeam201903                           |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by sysrqb):

 Okay, I was worried this may be a result of manually tweaking the version
 code (due to #28685), and it seems this is the case. When I created the
 tweaked AndroidManifest.xml file, it was compiled from a different source
 (not a tor-browser-build build), so it seems some of the string indices
 changed. The result of this is the manifest file now points to the wrong
 strings for `android:label`. Thankfully, this is the only erroneous
 change, but still it isn't good (I'm sorry I wasn't more careful with this
 change). At the time when I made this, I noticed there were additional
 modifications within the file but they seemed insignificant. Now I know
 they weren't.

 (See the end of this comment for the overall effect)

 Diffing the outputs from:
 {{{
 aapt l -a tor-browser-8.5a8-android-armv7-multi-qa.apk
 aapt l -a tor-browser-8.5a8-android-armv7-multi.apk
 }}}

 {{{
 --- aapt_l_a_8.5a8_qa   2019-03-01 15:40:27.039709996 +0000
 +++ aapt_l_a_8.5a8      2019-03-01 15:37:53.990400730 +0000
 @@ -1,6 +1,3 @@
 -META-INF/MANIFEST.MF
 -META-INF/ANDROIDQ.SF
 -META-INF/ANDROIDQ.RSA
  AndroidManifest.xml
  assets/LICENSE
  assets/common/bridges.txt
 @@ -1571,9 +1568,11 @@
  platform.ini
  removed-files
  assets/omni.ja
 -assets/distribution/extensions/
  assets/distribution/extensions/https-everywhere-eff at eff.org.xpi
  assets/distribution/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
 +META-INF/TBA_ALPH.SF
 +META-INF/TBA_ALPH.RSA
 +META-INF/MANIFEST.MF

  Resource table:
  Package Groups (1)
 @@ -46657,7 +46656,7 @@
  N: android=http://schemas.android.com/apk/res/android
    E: manifest (line=1)
      A:
 android:sharedUserId(0x0101000b)="org.torproject.torbrowser_alpha.sharedID"
 (Raw: "org.torproject.torbrowser_alpha.sharedID")
 -    A: android:versionCode(0x0101021b)=(type 0x10)0x7823c271
 +    A: android:versionCode(0x0101021b)=(type 0x10)0x7823c272
      A: android:versionName(0x0101021c)="60.5.1" (Raw: "60.5.1")
      A: android:installLocation(0x010102b7)=(type 0x10)0x1
      A: package="org.torproject.torbrowser_alpha" (Raw:
 "org.torproject.torbrowser_alpha")
 @@ -46695,12 +46694,12 @@
        A:
 android:name(0x01010003)="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
 (Raw: "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS")
      E: application (line=16)
        A: android:theme(0x01010000)=@0x7f0d0143
 -      A: android:label(0x01010001)=@0x7f0801db
 +      A: android:label(0x01010001)=@0x7f0802cc
        A: android:icon(0x01010002)=@0x7f0200ed
        A: android:name(0x01010003)="org.mozilla.gecko.GeckoApplication"
 (Raw: "org.mozilla.gecko.GeckoApplication")
        A: android:allowClearUserData(0x01010005)=(type 0x12)0xffffffff
        A: android:configChanges(0x0101001f)=(type 0x11)0x484
 -      A: android:description(0x01010020)=@0x7f080028
 +      A: android:description(0x01010020)=@0x7f08001a
        A: android:allowBackup(0x01010280)=(type 0x12)0x0
        A: android:logo(0x010102be)=@0x7f0200fe
        A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
 @@ -46848,7 +46847,7 @@
              A: android:name(0x01010003)="android.intent.category.DEFAULT"
 (Raw: "android.intent.category.DEFAULT")
        E: activity (line=100)
          A: android:theme(0x01010000)=@0x7f0d014a
 -        A: android:label(0x01010001)=@0x7f0801db
 +        A: android:label(0x01010001)=@0x7f0802cc
          A: android:name(0x01010003)="org.mozilla.gecko.BrowserApp" (Raw:
 "org.mozilla.gecko.BrowserApp")
          A: android:exported(0x01010010)=(type 0x12)0xffffffff
          A:
 android:taskAffinity(0x01010012)="org.torproject.torbrowser_alpha.BROWSER"
 (Raw: "org.torproject.torbrowser_alpha.BROWSER")
 @@ -46945,7 +46944,7 @@
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser_alpha.partnerbookmarks"
 (Raw: "org.torproject.torbrowser_alpha.partnerbookmarks")
        E: activity (line=144)
          A: android:theme(0x01010000)=@0x7f0d00f7
 -        A: android:label(0x01010001)=@0x7f0801f7
 +        A: android:label(0x01010001)=@0x7f0802da
          A:
 android:name(0x01010003)="org.mozilla.gecko.overlays.ui.ShareDialog" (Raw:
 "org.mozilla.gecko.overlays.ui.ShareDialog")
          A: android:launchMode(0x0101001d)=(type 0x10)0x1
          A: android:configChanges(0x0101001f)=(type 0x11)0x2037
 @@ -47058,18 +47057,18 @@
        E: service (line=163)
          A:
 android:name(0x01010003)="org.mozilla.gecko.overlays.service.OverlayActionService"
 (Raw: "org.mozilla.gecko.overlays.service.OverlayActionService")
        E: provider (line=164)
 -        A: android:label(0x01010001)=@0x7f080337
 +        A: android:label(0x01010001)=@0x7f0803a9
          A:
 android:name(0x01010003)="org.mozilla.gecko.db.PasswordsProvider" (Raw:
 "org.mozilla.gecko.db.PasswordsProvider")
          A: android:exported(0x01010010)=(type 0x12)0x0
          A:
 android:process(0x01010011)="org.torproject.torbrowser_alpha.PasswordsProvider"
 (Raw: "org.torproject.torbrowser_alpha.PasswordsProvider")
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser_alpha.db.passwords"
 (Raw: "org.torproject.torbrowser_alpha.db.passwords")
        E: provider (line=165)
 -        A: android:label(0x01010001)=@0x7f080337
 +        A: android:label(0x01010001)=@0x7f0803a9
          A: android:name(0x01010003)="org.mozilla.gecko.db.LoginsProvider"
 (Raw: "org.mozilla.gecko.db.LoginsProvider")
          A: android:exported(0x01010010)=(type 0x12)0x0
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser_alpha.db.logins"
 (Raw: "org.torproject.torbrowser_alpha.db.logins")
        E: provider (line=166)
 -        A: android:label(0x01010001)=@0x7f080336
 +        A: android:label(0x01010001)=@0x7f0803a8
          A:
 android:name(0x01010003)="org.mozilla.gecko.db.FormHistoryProvider" (Raw:
 "org.mozilla.gecko.db.FormHistoryProvider")
          A: android:exported(0x01010010)=(type 0x12)0x0
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser_alpha.db.formhistory"
 (Raw: "org.torproject.torbrowser_alpha.db.formhistory")
 @@ -47078,7 +47077,7 @@
          A: android:exported(0x01010010)=(type 0x12)0x0
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser_alpha.profiles"
 (Raw: "org.torproject.torbrowser_alpha.profiles")
        E: provider (line=168)
 -        A: android:label(0x01010001)=@0x7f080338
 +        A: android:label(0x01010001)=@0x7f0803aa
          A: android:name(0x01010003)="org.mozilla.gecko.db.TabsProvider"
 (Raw: "org.mozilla.gecko.db.TabsProvider")
          A: android:exported(0x01010010)=(type 0x12)0x0
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser_alpha.db.tabs"
 (Raw: "org.torproject.torbrowser_alpha.db.tabs")
 @@ -47190,15 +47189,15 @@
          A: android:allowTaskReparenting(0x01010204)=(type 0x12)0xffffffff
          A: android:noHistory(0x0101022d)=(type 0x12)0xffffffff
        E: activity (line=214)
 -        A: android:label(0x01010001)=@0x7f080029
 +        A: android:label(0x01010001)=@0x7f08001b
          A:
 android:name(0x01010003)="org.torproject.android.vpn.VPNEnableActivity"
 (Raw: "org.torproject.android.vpn.VPNEnableActivity")
          A: android:exported(0x01010010)=(type 0x12)0x0
        E: activity (line=215)
 -        A: android:label(0x01010001)=@0x7f080029
 +        A: android:label(0x01010001)=@0x7f08001b
          A:
 android:name(0x01010003)="org.torproject.android.settings.SettingsPreferences"
 (Raw: "org.torproject.android.settings.SettingsPreferences")
        E: activity (line=216)
          A: android:theme(0x01010000)=@0x7f0d01c3
 -        A: android:label(0x01010001)=@0x7f080029
 +        A: android:label(0x01010001)=@0x7f08001b
          A:
 android:name(0x01010003)="org.torproject.android.ui.AppManagerActivity"
 (Raw: "org.torproject.android.ui.AppManagerActivity")
        E: service (line=217)
          A:
 android:name(0x01010003)="org.torproject.android.service.TorService" (Raw:
 "org.torproject.android.service.TorService")
 @@ -47239,7 +47238,7 @@
              A: android:name(0x01010003)="android.intent.category.HOME"
 (Raw: "android.intent.category.HOME")
        E: activity (line=242)
          A: android:theme(0x01010000)=@0x7f0d0143
 -        A: android:label(0x01010001)=@0x7f080352
 +        A: android:label(0x01010001)=@0x7f08012a
          A:
 android:name(0x01010003)="org.torproject.android.ui.hiddenservices.HiddenServicesActivity"
 (Raw: "org.torproject.android.ui.hiddenservices.HiddenServicesActivity")
          E: meta-data (line=243)
            A: android:name(0x01010003)="android.support.PARENT_ACTIVITY"
 (Raw: "android.support.PARENT_ACTIVITY")
 @@ -47250,7 +47249,7 @@
          A:
 android:authorities(0x01010018)="org.torproject.torbrowser.ui.hiddenservices.providers"
 (Raw: "org.torproject.torbrowser.ui.hiddenservices.providers")
        E: activity (line=246)
          A: android:theme(0x01010000)=@0x7f0d0143
 -        A: android:label(0x01010001)=@0x7f080087
 +        A: android:label(0x01010001)=@0x7f080044
          A:
 android:name(0x01010003)="org.torproject.android.ui.hiddenservices.ClientCookiesActivity"
 (Raw: "org.torproject.android.ui.hiddenservices.ClientCookiesActivity")
          E: meta-data (line=247)
            A: android:name(0x01010003)="android.support.PARENT_ACTIVITY"
 (Raw: "android.support.PARENT_ACTIVITY")
 }}}

 Addresses of strings with `multi-qa.apk`:
 {{{
 $ aapt l -a tor-browser-8.5a8-android-armv7-multi-qa.apk | grep -E
 '0x7f0801db|0x7f080028|0x7f0801f7|0x7f080337|0x7f080336|0x7f080338|0x7f080029|0x7f0d01c3|0x7f080352|0x7f080087'
 | grep "spec resource"
       spec resource 0x7f080028
 org.torproject.torbrowser_alpha:string/app_description: flags=0x00000004
       spec resource 0x7f080029
 org.torproject.torbrowser_alpha:string/app_name: flags=0x00000004
       spec resource 0x7f080087
 org.torproject.torbrowser_alpha:string/client_cookies: flags=0x00000004
       spec resource 0x7f0801db
 org.torproject.torbrowser_alpha:string/moz_app_displayname:
 flags=0x00000004
       spec resource 0x7f0801f7
 org.torproject.torbrowser_alpha:string/overlay_share_label:
 flags=0x00000004
       spec resource 0x7f080336
 org.torproject.torbrowser_alpha:string/sync_configure_engines_title_history:
 flags=0x00000004
       spec resource 0x7f080337
 org.torproject.torbrowser_alpha:string/sync_configure_engines_title_passwords:
 flags=0x00000004
       spec resource 0x7f080338
 org.torproject.torbrowser_alpha:string/sync_configure_engines_title_tabs:
 flags=0x00000004
       spec resource 0x7f080352
 org.torproject.torbrowser_alpha:string/title_activity_hidden_services:
 flags=0x00000004
       spec resource 0x7f0d01c3
 org.torproject.torbrowser_alpha:style/Theme.AppCompat: flags=0x00000000
 }}}

 Addresses of offsets in tweaked `multi.apk`:
 {{{
 $ aapt l -a tor-browser-8.5a8-android-armv7-multi.apk | grep -E
 '0x7f0802cc|0x7f08001a|0x7f0802da|0x7f0803a9|0x7f0803a8|0x7f0803aa|0x7f08001b|0x7f08012a|0x7f080044'
 | grep "spec resource"
       spec resource 0x7f08001a
 org.torproject.torbrowser_alpha:string/activate: flags=0x00000004
       spec resource 0x7f08001b
 org.torproject.torbrowser_alpha:string/activity_stream_delete_history:
 flags=0x00000004
       spec resource 0x7f080044
 org.torproject.torbrowser_alpha:string/bookmark_save: flags=0x00000004
       spec resource 0x7f08012a
 org.torproject.torbrowser_alpha:string/firstrun_urlbar_subtext:
 flags=0x00000004
       spec resource 0x7f0802cc
 org.torproject.torbrowser_alpha:string/pref_use_persistent_notifications_title:
 flags=0x00000004
       spec resource 0x7f0802da
 org.torproject.torbrowser_alpha:string/print: flags=0x00000004
       spec resource 0x7f0803a8
 org.torproject.torbrowser_alpha:string/wizard_tips_proxy: flags=0x00000004
       spec resource 0x7f0803a9
 org.torproject.torbrowser_alpha:string/wizard_tips_story_maker:
 flags=0x00000004
       spec resource 0x7f0803aa
 org.torproject.torbrowser_alpha:string/wizard_tips_title: flags=0x00000004
 }}}


 End result:
 {{{
 string/moz_app_displayname ->
 string/pref_use_persistent_notifications_title
 string/app_description -> string/activate
 string/overlay_share_label -> string/print
 string/sync_configure_engines_title_passwords ->
 string/wizard_tips_story_maker
 string/sync_configure_engines_title_history -> string/wizard_tips_proxy
 string/sync_configure_engines_title_tabs -> string/wizard_tips_title
 string/app_name -> string/activity_stream_delete_history
 string/title_activity_hidden_services -> string/firstrun_urlbar_subtext
 string/client_cookies -> string/bookmark_save
 }}}

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


More information about the tor-bugs mailing list