tbb-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18730 discussions

[tor-browser-build/master] Bug 29453: Add Buster again for Android
by boklm@torproject.org 11 Feb '19
by boklm@torproject.org 11 Feb '19
11 Feb '19
commit af5f73dc3dc34144736d5f4dfb3134db4f8f652c
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 11 06:56:48 2019 +0000
Bug 29453: Add Buster again for Android
---
projects/debootstrap-image/config | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index 7e8b280..ba34032 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -100,6 +100,14 @@ targets:
suite: jessie
arch: i386
+ # Still needed to fix faketime issues in tor-browser for Android, see: #29453
+ buster-amd64:
+ var:
+ minimal_apt_version: '1.8.0~alpha3.1'
+ container:
+ suite: buster
+ arch: amd64
+
stretch-amd64:
var:
minimal_apt_version: 1.4.9
1
0
commit fb741a9759ed5858d52c1d7392ce49c1082eace1
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 8 09:37:51 2019 +0000
Fold in stable CHANGELOG
---
src/CHANGELOG | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index d8f3e488..74ac0cd0 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -6,6 +6,10 @@
* Translations update
* Code clean-up
+2.0.10
+ * Bug 29035: Clean up our donation campaign and add newsletter sign-up link
+ * Bug 27175: Add pref to allow users to persist custom noscript settings
+
2.1.3
* Bug 28540: Use new text for 2018 donation banner
* Bug 27290: Remove WebGL pref for min capability mode
1
0
commit 1adf9a9e405de64ffbeec1cc83984b556f9266c3
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 8 09:35:44 2019 +0000
Fold in stable changelog
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 5a9feb7..410173d 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -50,6 +50,21 @@ Tor Browser 8.5a7 -- January 29 2019
* Android
* Bug 28752: Don't download tor-android-binary resources during build
+Tor Browser 8.0.5 -- January 29 2019
+ * All platforms
+ * Update Firefox to 60.5.0esr
+ * Update Tor to 0.3.5.7
+ * Update Torbutton to 2.0.10
+ * Bug 29035: Clean up our donation campaign and add newsletter sign-up link
+ * Bug 27175: Add pref to allow users to persist custom noscript settings
+ * Update HTTPS Everywhere to 2019.1.7
+ * Update NoScript to 10.2.1
+ * Bug 28873: Cascading of permissions is broken
+ * Bug 28720: Some videos are blocked outright on higher security levels
+ * Bug 26540: Enabling pdfjs disableRange option prevents pdfs from loading
+ * Bug 28740: Adapt Windows navigator.platform value on 64-bit systems
+ * Bug 28695: Set default security.pki.name_matching_mode to enforce (3)
+
Tor Browser 8.5a6 -- December 11 2018
* All Platforms
* Update Firefox to 60.4.0esr
1
0

[tor-browser-build/maint-8.0] Bug 29378: Remove 83.212.101.3 from default bridges
by gk@torproject.org 07 Feb '19
by gk@torproject.org 07 Feb '19
07 Feb '19
commit a81dc9fe7c3e1a1eb520ea8e50d481adb4d396c3
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Feb 7 12:33:13 2019 +0100
Bug 29378: Remove 83.212.101.3 from default bridges
---
.../Bundle-Data/PTConfigs/bridge_prefs.js | 58 +++++++++++-----------
1 file changed, 28 insertions(+), 30 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
index f58eb02..8da9588 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -2,11 +2,10 @@
pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
// Default bridges.
-pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 83.212.101.3:80 A09D536DD1752D542E1FBB3C9CE4449D51298239");
-pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 169.229.59.74:31493 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.3", "obfs3 169.229.59.75:46328 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.4", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
-pref("extensions.torlauncher.default_bridge.obfs3.5", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
+pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 169.229.59.74:31493 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
+pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 169.229.59.75:46328 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
+pref("extensions.torlauncher.default_bridge.obfs3.3", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
+pref("extensions.torlauncher.default_bridge.obfs3.4", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
pref("extensions.torlauncher.default_bridge.fte.1", "fte 131.252.210.150:8080 0E858AC201BF0F3FA3C462F64844CBFFC7297A42");
pref("extensions.torlauncher.default_bridge.fte.2", "fte 128.105.214.162:8080 FC562097E1951DCC41B7D7F324D88157119BB56D");
@@ -15,31 +14,30 @@ pref("extensions.torlauncher.default_bridge.fte.3", "fte 128.105.214.163:8080 A1
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 83.212.101.3:50002 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.19", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.20", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
-/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.21"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.27", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.28", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.19", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
+/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.20"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.27", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-azure.1", "meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com");
1
0

[tor-browser-build/master] Bug 29378: Remove 83.212.101.3 from default bridges
by gk@torproject.org 07 Feb '19
by gk@torproject.org 07 Feb '19
07 Feb '19
commit bd7eff5c7a3a6fac22270a4183b75e3615cfb127
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Feb 7 12:33:13 2019 +0100
Bug 29378: Remove 83.212.101.3 from default bridges
---
.../Bundle-Data/PTConfigs/bridge_prefs.js | 58 +++++++++++-----------
1 file changed, 28 insertions(+), 30 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
index f58eb02..8da9588 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -2,11 +2,10 @@
pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
// Default bridges.
-pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 83.212.101.3:80 A09D536DD1752D542E1FBB3C9CE4449D51298239");
-pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 169.229.59.74:31493 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.3", "obfs3 169.229.59.75:46328 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.4", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
-pref("extensions.torlauncher.default_bridge.obfs3.5", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
+pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 169.229.59.74:31493 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
+pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 169.229.59.75:46328 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
+pref("extensions.torlauncher.default_bridge.obfs3.3", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
+pref("extensions.torlauncher.default_bridge.obfs3.4", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
pref("extensions.torlauncher.default_bridge.fte.1", "fte 131.252.210.150:8080 0E858AC201BF0F3FA3C462F64844CBFFC7297A42");
pref("extensions.torlauncher.default_bridge.fte.2", "fte 128.105.214.162:8080 FC562097E1951DCC41B7D7F324D88157119BB56D");
@@ -15,31 +14,30 @@ pref("extensions.torlauncher.default_bridge.fte.3", "fte 128.105.214.163:8080 A1
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 83.212.101.3:50002 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.19", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.20", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
-/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.21"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.27", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.28", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.19", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
+/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.20"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.27", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-azure.1", "meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com");
1
0

[tor-launcher/master] Bug 29328: Account for Tor 0.4.0.x's revised bootstrap status reporting
by gk@torproject.org 07 Feb '19
by gk@torproject.org 07 Feb '19
07 Feb '19
commit a40e5e1b0fec841dfb310ed6f66be778c296f9b2
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Feb 5 11:49:51 2019 -0500
Bug 29328: Account for Tor 0.4.0.x's revised bootstrap status reporting
Starting with the 0.4.0.x series, Tor reports bootstrap progress
more accurately and with more detail. Add localized strings for the
new tags that are used and, for compatibility with older versions
of Tor, map obsolete tags to new tags.
---
src/chrome/locale/ach/torlauncher.properties | 5 +----
src/chrome/locale/ady/torlauncher.properties | 5 +----
src/chrome/locale/af-ZA/torlauncher.properties | 5 +----
src/chrome/locale/af/torlauncher.properties | 5 +----
src/chrome/locale/ak/torlauncher.properties | 5 +----
src/chrome/locale/am-ET/torlauncher.properties | 5 +----
src/chrome/locale/am/torlauncher.properties | 5 +----
src/chrome/locale/ar/torlauncher.properties | 5 +----
src/chrome/locale/arn/torlauncher.properties | 5 +----
src/chrome/locale/ast/torlauncher.properties | 5 +----
src/chrome/locale/az/torlauncher.properties | 5 +----
src/chrome/locale/be/torlauncher.properties | 5 +----
src/chrome/locale/bg-BG/torlauncher.properties | 5 +----
src/chrome/locale/bg/torlauncher.properties | 5 +----
src/chrome/locale/bn-BD/torlauncher.properties | 5 +----
src/chrome/locale/bn-IN/torlauncher.properties | 5 +----
src/chrome/locale/bn/torlauncher.properties | 5 +----
src/chrome/locale/bo/torlauncher.properties | 5 +----
src/chrome/locale/br/torlauncher.properties | 5 +----
src/chrome/locale/bs/torlauncher.properties | 5 +----
src/chrome/locale/ca-ES/torlauncher.properties | 5 +----
src/chrome/locale/ca/torlauncher.properties | 5 +----
src/chrome/locale/cs-CZ/torlauncher.properties | 5 +----
src/chrome/locale/cs/torlauncher.properties | 5 +----
src/chrome/locale/csb/torlauncher.properties | 5 +----
src/chrome/locale/cv/torlauncher.properties | 5 +----
src/chrome/locale/cy/torlauncher.properties | 5 +----
src/chrome/locale/da/torlauncher.properties | 5 +----
src/chrome/locale/de/torlauncher.properties | 5 +----
src/chrome/locale/dz/torlauncher.properties | 5 +----
src/chrome/locale/el-GR/torlauncher.properties | 5 +----
src/chrome/locale/el/torlauncher.properties | 5 +----
src/chrome/locale/en-GB/torlauncher.properties | 5 +----
src/chrome/locale/en/torlauncher.properties | 24 ++++++++++++++++++----
src/chrome/locale/eo/torlauncher.properties | 5 +----
src/chrome/locale/es-AR/torlauncher.properties | 5 +----
src/chrome/locale/es-CL/torlauncher.properties | 5 +----
src/chrome/locale/es-CO/torlauncher.properties | 5 +----
src/chrome/locale/es-MX/torlauncher.properties | 5 +----
src/chrome/locale/es-NI/torlauncher.properties | 5 +----
src/chrome/locale/es/torlauncher.properties | 5 +----
src/chrome/locale/et/torlauncher.properties | 5 +----
src/chrome/locale/eu/torlauncher.properties | 5 +----
src/chrome/locale/fa/torlauncher.properties | 5 +----
src/chrome/locale/fi/torlauncher.properties | 5 +----
src/chrome/locale/fil/torlauncher.properties | 5 +----
src/chrome/locale/fo/torlauncher.properties | 5 +----
src/chrome/locale/fr-CA/torlauncher.properties | 5 +----
src/chrome/locale/fr/torlauncher.properties | 5 +----
src/chrome/locale/fur/torlauncher.properties | 5 +----
src/chrome/locale/fy/torlauncher.properties | 5 +----
src/chrome/locale/ga/torlauncher.properties | 5 +----
src/chrome/locale/gl/torlauncher.properties | 5 +----
src/chrome/locale/gu-IN/torlauncher.properties | 5 +----
src/chrome/locale/gu/torlauncher.properties | 5 +----
src/chrome/locale/gun/torlauncher.properties | 5 +----
src/chrome/locale/ha/torlauncher.properties | 5 +----
src/chrome/locale/he/torlauncher.properties | 5 +----
src/chrome/locale/hi/torlauncher.properties | 5 +----
src/chrome/locale/hr-HR/torlauncher.properties | 5 +----
src/chrome/locale/hr/torlauncher.properties | 5 +----
src/chrome/locale/ht/torlauncher.properties | 5 +----
src/chrome/locale/hu/torlauncher.properties | 5 +----
src/chrome/locale/hy-AM/torlauncher.properties | 5 +----
src/chrome/locale/hy/torlauncher.properties | 5 +----
src/chrome/locale/ia/torlauncher.properties | 5 +----
src/chrome/locale/id/torlauncher.properties | 5 +----
src/chrome/locale/is/torlauncher.properties | 5 +----
src/chrome/locale/it/torlauncher.properties | 5 +----
src/chrome/locale/ja/torlauncher.properties | 5 +----
src/chrome/locale/jv/torlauncher.properties | 5 +----
src/chrome/locale/ka/torlauncher.properties | 5 +----
src/chrome/locale/kk/torlauncher.properties | 5 +----
src/chrome/locale/km/torlauncher.properties | 5 +----
src/chrome/locale/kn/torlauncher.properties | 5 +----
src/chrome/locale/ko-KR/torlauncher.properties | 5 +----
src/chrome/locale/ko/torlauncher.properties | 5 +----
src/chrome/locale/ku/torlauncher.properties | 5 +----
src/chrome/locale/kw/torlauncher.properties | 5 +----
src/chrome/locale/ky/torlauncher.properties | 5 +----
src/chrome/locale/lb/torlauncher.properties | 5 +----
src/chrome/locale/lg/torlauncher.properties | 5 +----
src/chrome/locale/ln/torlauncher.properties | 5 +----
src/chrome/locale/lo/torlauncher.properties | 5 +----
src/chrome/locale/lt/torlauncher.properties | 5 +----
src/chrome/locale/lv/torlauncher.properties | 5 +----
src/chrome/locale/mg/torlauncher.properties | 5 +----
src/chrome/locale/mi/torlauncher.properties | 5 +----
src/chrome/locale/mk/torlauncher.properties | 5 +----
src/chrome/locale/ml/torlauncher.properties | 5 +----
src/chrome/locale/mn/torlauncher.properties | 5 +----
src/chrome/locale/mr/torlauncher.properties | 5 +----
src/chrome/locale/ms-MY/torlauncher.properties | 5 +----
src/chrome/locale/mt/torlauncher.properties | 5 +----
src/chrome/locale/my/torlauncher.properties | 5 +----
src/chrome/locale/nah/torlauncher.properties | 5 +----
src/chrome/locale/nap/torlauncher.properties | 5 +----
src/chrome/locale/nb/torlauncher.properties | 5 +----
src/chrome/locale/nds/torlauncher.properties | 5 +----
src/chrome/locale/ne/torlauncher.properties | 5 +----
src/chrome/locale/nl-BE/torlauncher.properties | 5 +----
src/chrome/locale/nl/torlauncher.properties | 5 +----
src/chrome/locale/nn/torlauncher.properties | 5 +----
src/chrome/locale/nso/torlauncher.properties | 5 +----
src/chrome/locale/oc/torlauncher.properties | 5 +----
src/chrome/locale/or/torlauncher.properties | 5 +----
src/chrome/locale/pa/torlauncher.properties | 5 +----
src/chrome/locale/pap/torlauncher.properties | 5 +----
src/chrome/locale/pl/torlauncher.properties | 5 +----
src/chrome/locale/pms/torlauncher.properties | 5 +----
src/chrome/locale/ps/torlauncher.properties | 5 +----
src/chrome/locale/pt-BR/torlauncher.properties | 5 +----
src/chrome/locale/pt/torlauncher.properties | 5 +----
src/chrome/locale/ro/torlauncher.properties | 5 +----
src/chrome/locale/ru/torlauncher.properties | 5 +----
.../locale/ru(a)petr1708/torlauncher.properties | 5 +----
src/chrome/locale/sco/torlauncher.properties | 5 +----
src/chrome/locale/si-LK/torlauncher.properties | 5 +----
src/chrome/locale/sk-SK/torlauncher.properties | 5 +----
src/chrome/locale/sk/torlauncher.properties | 5 +----
src/chrome/locale/sl-SI/torlauncher.properties | 5 +----
src/chrome/locale/sl/torlauncher.properties | 5 +----
src/chrome/locale/sn/torlauncher.properties | 5 +----
src/chrome/locale/so/torlauncher.properties | 5 +----
src/chrome/locale/son/torlauncher.properties | 5 +----
src/chrome/locale/sq-AL/torlauncher.properties | 5 +----
src/chrome/locale/sq/torlauncher.properties | 5 +----
src/chrome/locale/sr/torlauncher.properties | 5 +----
src/chrome/locale/sr(a)latin/torlauncher.properties | 5 +----
src/chrome/locale/st/torlauncher.properties | 5 +----
src/chrome/locale/su/torlauncher.properties | 5 +----
src/chrome/locale/sv/torlauncher.properties | 5 +----
src/chrome/locale/sw/torlauncher.properties | 5 +----
src/chrome/locale/szl/torlauncher.properties | 5 +----
src/chrome/locale/ta/torlauncher.properties | 5 +----
src/chrome/locale/te-IN/torlauncher.properties | 5 +----
src/chrome/locale/te/torlauncher.properties | 5 +----
src/chrome/locale/tg/torlauncher.properties | 5 +----
src/chrome/locale/th/torlauncher.properties | 5 +----
src/chrome/locale/ti/torlauncher.properties | 5 +----
src/chrome/locale/tk/torlauncher.properties | 5 +----
src/chrome/locale/tr/torlauncher.properties | 5 +----
src/chrome/locale/uk/torlauncher.properties | 5 +----
src/chrome/locale/ur-PK/torlauncher.properties | 5 +----
src/chrome/locale/ur/torlauncher.properties | 5 +----
src/chrome/locale/uz/torlauncher.properties | 5 +----
src/chrome/locale/ve/torlauncher.properties | 5 +----
src/chrome/locale/vi/torlauncher.properties | 5 +----
src/chrome/locale/wa/torlauncher.properties | 5 +----
src/chrome/locale/wo/torlauncher.properties | 5 +----
.../locale/zh-CN.GB2312/torlauncher.properties | 5 +----
src/chrome/locale/zh-CN/torlauncher.properties | 5 +----
src/chrome/locale/zh-HK/torlauncher.properties | 5 +----
src/chrome/locale/zh-TW/torlauncher.properties | 5 +----
src/chrome/locale/zh/torlauncher.properties | 5 +----
src/chrome/locale/zu/torlauncher.properties | 5 +----
src/modules/tl-util.jsm | 15 ++++++++++----
157 files changed, 186 insertions(+), 628 deletions(-)
diff --git a/src/chrome/locale/ach/torlauncher.properties b/src/chrome/locale/ach/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ach/torlauncher.properties
+++ b/src/chrome/locale/ach/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ady/torlauncher.properties b/src/chrome/locale/ady/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ady/torlauncher.properties
+++ b/src/chrome/locale/ady/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/af-ZA/torlauncher.properties b/src/chrome/locale/af-ZA/torlauncher.properties
index a2550db..376904d 100644
--- a/src/chrome/locale/af-ZA/torlauncher.properties
+++ b/src/chrome/locale/af-ZA/torlauncher.properties
@@ -36,15 +36,12 @@ torlauncher.done=Done
torlauncher.forAssistance=For assistance, contact %S
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/af/torlauncher.properties b/src/chrome/locale/af/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/af/torlauncher.properties
+++ b/src/chrome/locale/af/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ak/torlauncher.properties b/src/chrome/locale/ak/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ak/torlauncher.properties
+++ b/src/chrome/locale/ak/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/am-ET/torlauncher.properties b/src/chrome/locale/am-ET/torlauncher.properties
index 02be756..da5641e 100644
--- a/src/chrome/locale/am-ET/torlauncher.properties
+++ b/src/chrome/locale/am-ET/torlauncher.properties
@@ -39,15 +39,12 @@ torlauncher.forAssistance=For assistance, contact %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/am/torlauncher.properties b/src/chrome/locale/am/torlauncher.properties
index be395d5..ca60006 100644
--- a/src/chrome/locale/am/torlauncher.properties
+++ b/src/chrome/locale/am/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ar/torlauncher.properties b/src/chrome/locale/ar/torlauncher.properties
index f66f3e8..d753034 100644
--- a/src/chrome/locale/ar/torlauncher.properties
+++ b/src/chrome/locale/ar/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=للمُساعدة, قُم بزيارة S%
torlauncher.copiedNLogMessages=تم النسخ. %S من رسائل سجل تور جاهزة للصقها في محرر نصوص أو رسالة بريد إلكتروني.
-torlauncher.bootstrapStatus.conn_dir=يتّصل بدليل التحويلات
-torlauncher.bootstrapStatus.handshake_dir=ينشئ اتصالا مشفرا بالدليل
+torlauncher.bootstrapStatus.onehop_create=ينشئ اتصالا مشفرا بالدليل
torlauncher.bootstrapStatus.requesting_status=يجلب حالة الشبكة
torlauncher.bootstrapStatus.loading_status=يحمّل حالة الشبكة
torlauncher.bootstrapStatus.loading_keys=يحمل شهادات السلطة
torlauncher.bootstrapStatus.requesting_descriptors=يطلب معلومات التحويلة
torlauncher.bootstrapStatus.loading_descriptors=يحمل معلومات التحويلة
-torlauncher.bootstrapStatus.conn_or=يتصل بشبكة تور
-torlauncher.bootstrapStatus.handshake_or=ينشئ دائرة تور
torlauncher.bootstrapStatus.done=تم الاتصال بشبكة تور
torlauncher.bootstrapWarning.done=تم
diff --git a/src/chrome/locale/arn/torlauncher.properties b/src/chrome/locale/arn/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/arn/torlauncher.properties
+++ b/src/chrome/locale/arn/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ast/torlauncher.properties b/src/chrome/locale/ast/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ast/torlauncher.properties
+++ b/src/chrome/locale/ast/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/az/torlauncher.properties b/src/chrome/locale/az/torlauncher.properties
index d0ea337..fa75f55 100644
--- a/src/chrome/locale/az/torlauncher.properties
+++ b/src/chrome/locale/az/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Köçürülmə tamamlandı. %S Tor giriş mesajları mətn dəyişdiricisi və ya email mesajına daxil edilməyə hazırdır.
-torlauncher.bootstrapStatus.conn_dir=Keçid kataloqu ilə əlaqə
-torlauncher.bootstrapStatus.handshake_dir=Şifrələnmiş kataloq əlaqəsinin yaradılması
+torlauncher.bootstrapStatus.onehop_create=Şifrələnmiş kataloq əlaqəsinin yaradılması
torlauncher.bootstrapStatus.requesting_status=Şəbəkə statusunun bərpası
torlauncher.bootstrapStatus.loading_status=Şəbəkə statusunun yüklənməsi
torlauncher.bootstrapStatus.loading_keys=Səlahiyyət sertifikatlarının yüklənməsi
torlauncher.bootstrapStatus.requesting_descriptors=Keçid məlumatının tələb edilməsi
torlauncher.bootstrapStatus.loading_descriptors=Keçid məlumatının yüklənməsi
-torlauncher.bootstrapStatus.conn_or=Tor şəbəkəsinə qoşulur
-torlauncher.bootstrapStatus.handshake_or=Tor dövrəsinin yaradılması
torlauncher.bootstrapStatus.done=Tor şəbəkəsi ilə əlaqə!
torlauncher.bootstrapWarning.done=oldu
diff --git a/src/chrome/locale/be/torlauncher.properties b/src/chrome/locale/be/torlauncher.properties
index e9d3c00..6ebfad7 100644
--- a/src/chrome/locale/be/torlauncher.properties
+++ b/src/chrome/locale/be/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/bg-BG/torlauncher.properties b/src/chrome/locale/bg-BG/torlauncher.properties
index a2550db..376904d 100644
--- a/src/chrome/locale/bg-BG/torlauncher.properties
+++ b/src/chrome/locale/bg-BG/torlauncher.properties
@@ -36,15 +36,12 @@ torlauncher.done=Done
torlauncher.forAssistance=For assistance, contact %S
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/bg/torlauncher.properties b/src/chrome/locale/bg/torlauncher.properties
index 2e5f02e..47d6ce1 100644
--- a/src/chrome/locale/bg/torlauncher.properties
+++ b/src/chrome/locale/bg/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=За помощ посетете %S
torlauncher.copiedNLogMessages=Копирането е завършено. %S Съобщенията от Тор log-а са готови да бъдат поставени в текстов редактор или имейл.
-torlauncher.bootstrapStatus.conn_dir=Свързване с препредаващата директория
-torlauncher.bootstrapStatus.handshake_dir=Осъществяване на връзка с криптираната директория
+torlauncher.bootstrapStatus.onehop_create=Осъществяване на връзка с криптираната директория
torlauncher.bootstrapStatus.requesting_status=Получаване на информация за статуса на мрежата
torlauncher.bootstrapStatus.loading_status=Зареждане на информацията за статуса на мрежата
torlauncher.bootstrapStatus.loading_keys=Зареждане на сертификати от достоверен източник
torlauncher.bootstrapStatus.requesting_descriptors=Запитване за препредаваща информация
torlauncher.bootstrapStatus.loading_descriptors=Зареждане на препредаваща информация
-torlauncher.bootstrapStatus.conn_or=Свързване с Тор мрежата
-torlauncher.bootstrapStatus.handshake_or=Осъществяване на Тор верига
torlauncher.bootstrapStatus.done=Свързан с Тор мрежата!
torlauncher.bootstrapWarning.done=готов
diff --git a/src/chrome/locale/bn-BD/torlauncher.properties b/src/chrome/locale/bn-BD/torlauncher.properties
index e607db2..e139293 100644
--- a/src/chrome/locale/bn-BD/torlauncher.properties
+++ b/src/chrome/locale/bn-BD/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=সহায়তার জন্য, %S এ যা
torlauncher.copiedNLogMessages=কপি সম্পূর্ণ। %S টর লগ বার্তা একটি টেক্সট এডিটর বা একটি ইমেইল বার্তা আটকানোর জন্য প্রস্তুত।
-torlauncher.bootstrapStatus.conn_dir=একটি রিলে ডিরেক্টরি সাথে সংযোগ স্থাপন
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=নেটওয়ার্ক স্থিতি পুনরুদ্ধার
torlauncher.bootstrapStatus.loading_status=নেটওয়ার্ক স্থিতি লোড হচ্ছে
torlauncher.bootstrapStatus.loading_keys=কর্তৃপক্ষ সার্টিফিকেট লোড হচ্ছে
torlauncher.bootstrapStatus.requesting_descriptors=রিলে তথ্য অনুরোধ
torlauncher.bootstrapStatus.loading_descriptors=রিলে তথ্য লোড হচ্ছে
-torlauncher.bootstrapStatus.conn_or=টর নেটওয়ার্কে সংযুক্ত হচ্ছে
-torlauncher.bootstrapStatus.handshake_or=একটি টর্ক সার্কিট স্থাপন
torlauncher.bootstrapStatus.done=টর নেটওয়ার্ক সংযুক্ত!
torlauncher.bootstrapWarning.done=সম্পন্ন
diff --git a/src/chrome/locale/bn-IN/torlauncher.properties b/src/chrome/locale/bn-IN/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/bn-IN/torlauncher.properties
+++ b/src/chrome/locale/bn-IN/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/bn/torlauncher.properties b/src/chrome/locale/bn/torlauncher.properties
index ad26572..e807786 100644
--- a/src/chrome/locale/bn/torlauncher.properties
+++ b/src/chrome/locale/bn/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=সহায়তার জন্য, %S এ যা
torlauncher.copiedNLogMessages=কপি সম্পূর্ণ। %S টর লগ বার্তা একটি টেক্সট এডিটর বা একটি ইমেইল বার্তা আটকানোর জন্য প্রস্তুত।
-torlauncher.bootstrapStatus.conn_dir=একটি রিলে ডিরেক্টরি সাথে সংযোগ স্থাপন
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=নেটওয়ার্ক স্থিতি পুনরুদ্ধার
torlauncher.bootstrapStatus.loading_status=নেটওয়ার্ক স্থিতি লোড হচ্ছে
torlauncher.bootstrapStatus.loading_keys=কর্তৃপক্ষ সার্টিফিকেট লোড হচ্ছে
torlauncher.bootstrapStatus.requesting_descriptors=রিলে তথ্য অনুরোধ
torlauncher.bootstrapStatus.loading_descriptors=রিলে তথ্য লোড হচ্ছে
-torlauncher.bootstrapStatus.conn_or=টর নেটওয়ার্কে সংযুক্ত হচ্ছে
-torlauncher.bootstrapStatus.handshake_or=একটি টর্ক সার্কিট স্থাপন
torlauncher.bootstrapStatus.done=টর নেটওয়ার্ক সংযুক্ত!
torlauncher.bootstrapWarning.done=সম্পন্ন
diff --git a/src/chrome/locale/bo/torlauncher.properties b/src/chrome/locale/bo/torlauncher.properties
index 47b407c..db5c207 100644
--- a/src/chrome/locale/bo/torlauncher.properties
+++ b/src/chrome/locale/bo/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/br/torlauncher.properties b/src/chrome/locale/br/torlauncher.properties
index 90711bd..14fdad2 100644
--- a/src/chrome/locale/br/torlauncher.properties
+++ b/src/chrome/locale/br/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=O kevreañ d'ar genrouedad Tor
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/bs/torlauncher.properties b/src/chrome/locale/bs/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/bs/torlauncher.properties
+++ b/src/chrome/locale/bs/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ca-ES/torlauncher.properties b/src/chrome/locale/ca-ES/torlauncher.properties
index d82d688..65407db 100644
--- a/src/chrome/locale/ca-ES/torlauncher.properties
+++ b/src/chrome/locale/ca-ES/torlauncher.properties
@@ -31,15 +31,12 @@
# torlauncher.forAssistance=For assistance, contact %S
-# torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-# torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+# torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
# torlauncher.bootstrapStatus.requesting_status=Retrieving network status
# torlauncher.bootstrapStatus.loading_status=Loading network status
# torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
# torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
# torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-# torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-# torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
# torlauncher.bootstrapStatus.done=Connected to the Tor network!
# torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ca/torlauncher.properties b/src/chrome/locale/ca/torlauncher.properties
index 598314e..7c289de 100644
--- a/src/chrome/locale/ca/torlauncher.properties
+++ b/src/chrome/locale/ca/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Per a més ajuda, visiteu %S
torlauncher.copiedNLogMessages=Còpia completada. Els missatges del registre de %S Tor ja es poden enganxar en un editor de text o un missatge de correu.
-torlauncher.bootstrapStatus.conn_dir=S'està connectant amb un directori repetidor
-torlauncher.bootstrapStatus.handshake_dir=S'està establint una connexió xifrada amb un directori
+torlauncher.bootstrapStatus.onehop_create=S'està establint una connexió xifrada amb un directori
torlauncher.bootstrapStatus.requesting_status=S'està rebent l'estat de la xarxa
torlauncher.bootstrapStatus.loading_status=S'està carregant l'estat de la xarxa
torlauncher.bootstrapStatus.loading_keys=S'estan carregant els certificats d'autoritat
torlauncher.bootstrapStatus.requesting_descriptors=S'està demanant informació del repetidor
torlauncher.bootstrapStatus.loading_descriptors=S'està carregant la informació del repetidor
-torlauncher.bootstrapStatus.conn_or=S'està connectant a la xarxa Tor
-torlauncher.bootstrapStatus.handshake_or=S'està establint un circuit Tor
torlauncher.bootstrapStatus.done=S'ha connectat a la xarxa Tor!
torlauncher.bootstrapWarning.done=fet
diff --git a/src/chrome/locale/cs-CZ/torlauncher.properties b/src/chrome/locale/cs-CZ/torlauncher.properties
index 02be756..da5641e 100644
--- a/src/chrome/locale/cs-CZ/torlauncher.properties
+++ b/src/chrome/locale/cs-CZ/torlauncher.properties
@@ -39,15 +39,12 @@ torlauncher.forAssistance=For assistance, contact %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/cs/torlauncher.properties b/src/chrome/locale/cs/torlauncher.properties
index 2a21d5f..7b13d0f 100644
--- a/src/chrome/locale/cs/torlauncher.properties
+++ b/src/chrome/locale/cs/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Pro asistenci navštivte %S
torlauncher.copiedNLogMessages=Kopírování dokončeno. %S zprávy protokolu Tor jsou připraveny k vložení do textového editoru nebo e-mailu.
-torlauncher.bootstrapStatus.conn_dir=Připojování do adresáře uzlů
-torlauncher.bootstrapStatus.handshake_dir=Spojování s šifrovaným adresářem
+torlauncher.bootstrapStatus.onehop_create=Spojování s šifrovaným adresářem
torlauncher.bootstrapStatus.requesting_status=Kontrola stavu sítě
torlauncher.bootstrapStatus.loading_status=Načítání stavu sítě
torlauncher.bootstrapStatus.loading_keys=Nahrávání certifikátů autorit
torlauncher.bootstrapStatus.requesting_descriptors=Zjišťování informací o uzlu
torlauncher.bootstrapStatus.loading_descriptors=Nahrávání informací o uzlu
-torlauncher.bootstrapStatus.conn_or=Připojování k síti Tor
-torlauncher.bootstrapStatus.handshake_or=Navazování okruhu Tor
torlauncher.bootstrapStatus.done=Připojení k síti Tor dokončeno!
torlauncher.bootstrapWarning.done=hotovo
diff --git a/src/chrome/locale/csb/torlauncher.properties b/src/chrome/locale/csb/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/csb/torlauncher.properties
+++ b/src/chrome/locale/csb/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/cv/torlauncher.properties b/src/chrome/locale/cv/torlauncher.properties
index d629694..a227407 100644
--- a/src/chrome/locale/cv/torlauncher.properties
+++ b/src/chrome/locale/cv/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/cy/torlauncher.properties b/src/chrome/locale/cy/torlauncher.properties
index 354ef89..dceaf38 100644
--- a/src/chrome/locale/cy/torlauncher.properties
+++ b/src/chrome/locale/cy/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copio wedi gorffen. Mae %S o negeseuon log Tor yn barod i'u gludo mewn golygydd testun neu neges ebost.
-torlauncher.bootstrapStatus.conn_dir=Cysylltu i cyfeiriadur cyfnewid
-torlauncher.bootstrapStatus.handshake_dir=Yn sefydlu cysylltiad cyfeiriadur amgryptiedig
+torlauncher.bootstrapStatus.onehop_create=Yn sefydlu cysylltiad cyfeiriadur amgryptiedig
torlauncher.bootstrapStatus.requesting_status=Yn adalw statws y rhwydwaith
torlauncher.bootstrapStatus.loading_status=Yn llwytho statws rhwydwaith
torlauncher.bootstrapStatus.loading_keys=Llwytho tystysgrifiadau awrurdod
torlauncher.bootstrapStatus.requesting_descriptors=Gofyn am gwybodaeth cyfnewid
torlauncher.bootstrapStatus.loading_descriptors=Llwytho gwybodaeth cyfnewid
-torlauncher.bootstrapStatus.conn_or=Cysylltu â'r rhwydwaith Tor
-torlauncher.bootstrapStatus.handshake_or=Yn sefydlu cylched Tor
torlauncher.bootstrapStatus.done=Cysylltwyd â rhwydwaith Tor!
torlauncher.bootstrapWarning.done=wedi gorffen
diff --git a/src/chrome/locale/da/torlauncher.properties b/src/chrome/locale/da/torlauncher.properties
index c959ed1..b5587cb 100644
--- a/src/chrome/locale/da/torlauncher.properties
+++ b/src/chrome/locale/da/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For hjælp, besøg %S
torlauncher.copiedNLogMessages=Kopieringen er gennemført. %S logbeskeder fra Tor er klar til at blive sat ind i et tekstdokument eller en e-mail.
-torlauncher.bootstrapStatus.conn_dir=Opretter forbindelse til en relæmappe
-torlauncher.bootstrapStatus.handshake_dir=Etablerer en krypteret mappe forbindelse
+torlauncher.bootstrapStatus.onehop_create=Etablerer en krypteret mappe forbindelse
torlauncher.bootstrapStatus.requesting_status=Henter netværksstatus
torlauncher.bootstrapStatus.loading_status=Indlæser netværksstatus
torlauncher.bootstrapStatus.loading_keys=Indlæser nøglecentercertifikater
torlauncher.bootstrapStatus.requesting_descriptors=Anmoder om relæ information
torlauncher.bootstrapStatus.loading_descriptors=Indlæser relæinformation
-torlauncher.bootstrapStatus.conn_or=Opretter forbindelse til Tor-netværket
-torlauncher.bootstrapStatus.handshake_or=Etablerer et Tor-kredsløb
torlauncher.bootstrapStatus.done=Forbundet til Tor-netværket!
torlauncher.bootstrapWarning.done=færdig
diff --git a/src/chrome/locale/de/torlauncher.properties b/src/chrome/locale/de/torlauncher.properties
index 18afad1..c2f223a 100644
--- a/src/chrome/locale/de/torlauncher.properties
+++ b/src/chrome/locale/de/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Falls Sie Hilfe benötigen, kontaktieren Sie %S
torlauncher.copiedNLogMessages=Kopie vollständig. %S Tor-Protokollnachrichten sind bereit, um in eine Textbearbeitung oder in eine E-Mail-Nachricht eingefügt zu werden.
-torlauncher.bootstrapStatus.conn_dir=Zu einem Relaisverzeichnis wird verbunden
-torlauncher.bootstrapStatus.handshake_dir=Es wird eine verschlüsselte Verbindung zu einem Verzeichnis hergestellt
+torlauncher.bootstrapStatus.onehop_create=Es wird eine verschlüsselte Verbindung zu einem Verzeichnis hergestellt
torlauncher.bootstrapStatus.requesting_status=Netzwerkstatus wird abgerufen
torlauncher.bootstrapStatus.loading_status=Netzwerkstatus wird geladen
torlauncher.bootstrapStatus.loading_keys=Autorisierungszertifikate werden geladen
torlauncher.bootstrapStatus.requesting_descriptors=Relaisinformationen werden angefordert
torlauncher.bootstrapStatus.loading_descriptors=Relaisinformationen werden geladen
-torlauncher.bootstrapStatus.conn_or=Zum Tor-Netzwerk wird verbunden
-torlauncher.bootstrapStatus.handshake_or=Tor-Kanal wird hergestellt
torlauncher.bootstrapStatus.done=Zum Tor-Netzwerk wurde verbunden!
torlauncher.bootstrapWarning.done=abgeschlossen
diff --git a/src/chrome/locale/dz/torlauncher.properties b/src/chrome/locale/dz/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/dz/torlauncher.properties
+++ b/src/chrome/locale/dz/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/el-GR/torlauncher.properties b/src/chrome/locale/el-GR/torlauncher.properties
index a2550db..376904d 100644
--- a/src/chrome/locale/el-GR/torlauncher.properties
+++ b/src/chrome/locale/el-GR/torlauncher.properties
@@ -36,15 +36,12 @@ torlauncher.done=Done
torlauncher.forAssistance=For assistance, contact %S
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/el/torlauncher.properties b/src/chrome/locale/el/torlauncher.properties
index 3457ae9..3d93576 100644
--- a/src/chrome/locale/el/torlauncher.properties
+++ b/src/chrome/locale/el/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Για βοήθεια, επισκεφτείτε %S
torlauncher.copiedNLogMessages=Η αντιγραφή ολοκληρώθηκε. %S μηνύματα καταγραφής είναι έτοιμα να επικολληθούν σε ένα κειμενογράφο ή ένα μήνυμα ηλεκτρονικού ταχυδρομείου.
-torlauncher.bootstrapStatus.conn_dir=Σύνδεση στη διεύθυνση αναμεταδοτών
-torlauncher.bootstrapStatus.handshake_dir=Πραγματοποιήθηκε σύνδεση σε κρυπτογραφημένο κατάλογο
+torlauncher.bootstrapStatus.onehop_create=Πραγματοποιήθηκε σύνδεση σε κρυπτογραφημένο κατάλογο
torlauncher.bootstrapStatus.requesting_status=Ανάκτηση της κατάστασης του δικτύου
torlauncher.bootstrapStatus.loading_status=Φόρτωση της κατάστασης του δικτύου
torlauncher.bootstrapStatus.loading_keys=Φόρτωση των πιστοποιητικών του φορέα
torlauncher.bootstrapStatus.requesting_descriptors=Γίνεται αίτηση για πληροφορίες των αναμεταδοτών
torlauncher.bootstrapStatus.loading_descriptors=Φόρτωση πληροφοριών αναμεταδότη
-torlauncher.bootstrapStatus.conn_or=Δημιουργια σύνδεσης στο δίκτυο Tor
-torlauncher.bootstrapStatus.handshake_or=Σύνδεση σε ένα κύκλωμα Tor
torlauncher.bootstrapStatus.done=Συνδεθήκατε στο δίκτυο Tor!
torlauncher.bootstrapWarning.done=έγινε
diff --git a/src/chrome/locale/en-GB/torlauncher.properties b/src/chrome/locale/en-GB/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/en-GB/torlauncher.properties
+++ b/src/chrome/locale/en-GB/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/en/torlauncher.properties b/src/chrome/locale/en/torlauncher.properties
index a4d097a..ca9774b 100644
--- a/src/chrome/locale/en/torlauncher.properties
+++ b/src/chrome/locale/en/torlauncher.properties
@@ -52,15 +52,31 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.starting=Starting
+torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
+torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
+torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
+torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
+torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
+torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
+torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
+torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
+torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
+torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
+torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
+torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
+torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
+torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
+torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
+torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
+torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
+torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/eo/torlauncher.properties b/src/chrome/locale/eo/torlauncher.properties
index a3e7187..f2e6418 100644
--- a/src/chrome/locale/eo/torlauncher.properties
+++ b/src/chrome/locale/eo/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Kopiado estas preta. %S Tor-protokolaj mesaĝoj pretas por enigi ilin en tekstredaktilon aŭ retpoŝtmesaĝon.
-torlauncher.bootstrapStatus.conn_dir=Konektante al relajsa dosierujo
-torlauncher.bootstrapStatus.handshake_dir=Starigante ĉifritan dosierujan konekton
+torlauncher.bootstrapStatus.onehop_create=Starigante ĉifritan dosierujan konekton
torlauncher.bootstrapStatus.requesting_status=Ricevante retan staton
torlauncher.bootstrapStatus.loading_status=Ŝarĝante retan staton
torlauncher.bootstrapStatus.loading_keys=Ŝarĝante aŭtoritatajn atestilojn
torlauncher.bootstrapStatus.requesting_descriptors=Petante relajsajn informojn
torlauncher.bootstrapStatus.loading_descriptors=Ŝarĝante relajsajn informojn
-torlauncher.bootstrapStatus.conn_or=Konektante al Tor-reto
-torlauncher.bootstrapStatus.handshake_or=Starigante Tor-cirkviton
torlauncher.bootstrapStatus.done=Konektita al Tor-reto
torlauncher.bootstrapWarning.done=farite
diff --git a/src/chrome/locale/es-AR/torlauncher.properties b/src/chrome/locale/es-AR/torlauncher.properties
index e3b43c4..fcffd36 100644
--- a/src/chrome/locale/es-AR/torlauncher.properties
+++ b/src/chrome/locale/es-AR/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Para asistencia, visitá %S
torlauncher.copiedNLogMessages=Copia completa. %S registros de bitácora de Tor están listos para ser pegados en un editor de textos o un correo electrónico.
-torlauncher.bootstrapStatus.conn_dir=Conectando a un directorio de relevos
-torlauncher.bootstrapStatus.handshake_dir=Estableciendo una conexión encriptada al directorio
+torlauncher.bootstrapStatus.onehop_create=Estableciendo una conexión encriptada al directorio
torlauncher.bootstrapStatus.requesting_status=Obteniendo el estado de red
torlauncher.bootstrapStatus.loading_status=Cargando el estado de red
torlauncher.bootstrapStatus.loading_keys=Cargando certificados de autoridad
torlauncher.bootstrapStatus.requesting_descriptors=Solicitando información de relevos
torlauncher.bootstrapStatus.loading_descriptors=Cargando información de relevos
-torlauncher.bootstrapStatus.conn_or=Conectando a la red de Tor
-torlauncher.bootstrapStatus.handshake_or=Estableciendo un circuito Tor
torlauncher.bootstrapStatus.done=¡Conectado a la red de Tor!
torlauncher.bootstrapWarning.done=hecho
diff --git a/src/chrome/locale/es-CL/torlauncher.properties b/src/chrome/locale/es-CL/torlauncher.properties
index 129467e..15a3fc1 100644
--- a/src/chrome/locale/es-CL/torlauncher.properties
+++ b/src/chrome/locale/es-CL/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Conectando a la red Tor
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/es-CO/torlauncher.properties b/src/chrome/locale/es-CO/torlauncher.properties
index 9a1b292..6fffd6f 100644
--- a/src/chrome/locale/es-CO/torlauncher.properties
+++ b/src/chrome/locale/es-CO/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Conectando a la red de Tor
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/es-MX/torlauncher.properties b/src/chrome/locale/es-MX/torlauncher.properties
index 60ba06f..67d1f87 100644
--- a/src/chrome/locale/es-MX/torlauncher.properties
+++ b/src/chrome/locale/es-MX/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Si necesitas ayuda, visita %S
torlauncher.copiedNLogMessages=Copia completa. %S mensajes del registro de Tor están listos para ser pegados en un editor de texto o mensaje de correo electrónico.
-torlauncher.bootstrapStatus.conn_dir=Conectando a un directorio de retransmisión
-torlauncher.bootstrapStatus.handshake_dir=Estableciendo conexión con un directorio encriptado.
+torlauncher.bootstrapStatus.onehop_create=Estableciendo conexión con un directorio encriptado.
torlauncher.bootstrapStatus.requesting_status=Recuperando estado de la red
torlauncher.bootstrapStatus.loading_status=Cargando estado de red.
torlauncher.bootstrapStatus.loading_keys=Cargando certificados de autoridad.
torlauncher.bootstrapStatus.requesting_descriptors=Solicitando información de retransmisión
torlauncher.bootstrapStatus.loading_descriptors=Cargando información del relé
-torlauncher.bootstrapStatus.conn_or=Conectando a la red Tor
-torlauncher.bootstrapStatus.handshake_or=Estableciendo un circuito Tor
torlauncher.bootstrapStatus.done=¡Conectado a la red Tor!
torlauncher.bootstrapWarning.done=hecho
diff --git a/src/chrome/locale/es-NI/torlauncher.properties b/src/chrome/locale/es-NI/torlauncher.properties
index d04cac5..97851ac 100644
--- a/src/chrome/locale/es-NI/torlauncher.properties
+++ b/src/chrome/locale/es-NI/torlauncher.properties
@@ -36,15 +36,12 @@ torlauncher.done=Done
torlauncher.forAssistance=For assistance, contact %S
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/es/torlauncher.properties b/src/chrome/locale/es/torlauncher.properties
index 31ffb6a..bbfcab8 100644
--- a/src/chrome/locale/es/torlauncher.properties
+++ b/src/chrome/locale/es/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Para asistencia, visita %S
torlauncher.copiedNLogMessages=Copia completada. %S mensajes de registro ('log') de Tor están listos para ser pegados en un editor de texto o en un mensaje de correo electrónico.
-torlauncher.bootstrapStatus.conn_dir=Conectando a un repositorio ('Directory') de repetidores ('relays')
-torlauncher.bootstrapStatus.handshake_dir=Estableciendo una conexión cifrada con el repositorio de repetidores
+torlauncher.bootstrapStatus.onehop_create=Estableciendo una conexión cifrada con el repositorio de repetidores
torlauncher.bootstrapStatus.requesting_status=Recopilando el estado de la red
torlauncher.bootstrapStatus.loading_status=Cargando el estado de la red
torlauncher.bootstrapStatus.loading_keys=Cargando los certificados de autoridades
torlauncher.bootstrapStatus.requesting_descriptors=Solicitando información del repetidor
torlauncher.bootstrapStatus.loading_descriptors=Cargando la información del repetidor
-torlauncher.bootstrapStatus.conn_or=Conectando a la red Tor
-torlauncher.bootstrapStatus.handshake_or=Estableciendo un circuito a través de Tor
torlauncher.bootstrapStatus.done=¡Conectado a la red Tor!
torlauncher.bootstrapWarning.done=terminado
diff --git a/src/chrome/locale/et/torlauncher.properties b/src/chrome/locale/et/torlauncher.properties
index f0cc216..2be485e 100644
--- a/src/chrome/locale/et/torlauncher.properties
+++ b/src/chrome/locale/et/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Abi saamiseks külasta %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Tor võrgustikuga ühendumine
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=valmis
diff --git a/src/chrome/locale/eu/torlauncher.properties b/src/chrome/locale/eu/torlauncher.properties
index 16a8f3b..491ba33 100644
--- a/src/chrome/locale/eu/torlauncher.properties
+++ b/src/chrome/locale/eu/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Laguntzako lortzeko, bisita ezazu %S
torlauncher.copiedNLogMessages=Kopia burutu da. %S Tor erregistro mezuak prest daude testu editore edo email mezu batean itsasteko.
-torlauncher.bootstrapStatus.conn_dir=Errele direktorio batera konektatzen
-torlauncher.bootstrapStatus.handshake_dir=Enkriptatutako direktorio batera konexioa ezartzen
+torlauncher.bootstrapStatus.onehop_create=Enkriptatutako direktorio batera konexioa ezartzen
torlauncher.bootstrapStatus.requesting_status=Sarearen egoera eskuratzen
torlauncher.bootstrapStatus.loading_status=Sarearen egoera kargatzen
torlauncher.bootstrapStatus.loading_keys=Aginpide ziurtagiriak kargatzen
torlauncher.bootstrapStatus.requesting_descriptors=Errele informazioa eskatzen
torlauncher.bootstrapStatus.loading_descriptors=Errele informazioa kargatzen
-torlauncher.bootstrapStatus.conn_or=Tor sarera konektatzen
-torlauncher.bootstrapStatus.handshake_or=Tor zirkuitu bat ezartzen
torlauncher.bootstrapStatus.done=Tor sarera konektatuta!
torlauncher.bootstrapWarning.done=eginda
diff --git a/src/chrome/locale/fa/torlauncher.properties b/src/chrome/locale/fa/torlauncher.properties
index 169d5e2..ec83f00 100644
--- a/src/chrome/locale/fa/torlauncher.properties
+++ b/src/chrome/locale/fa/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=برای کمک، %S را ببینید.
torlauncher.copiedNLogMessages=کپی کامل شد. %S پیامهای ثبت شده آماده است تا Paste شود در ویرایشگر متن یا یک ایمیل.
-torlauncher.bootstrapStatus.conn_dir=اتصال به یک فهرست بازپخش
-torlauncher.bootstrapStatus.handshake_dir=برپایی یک اتصال فهرست رمزبندی شده
+torlauncher.bootstrapStatus.onehop_create=برپایی یک اتصال فهرست رمزبندی شده
torlauncher.bootstrapStatus.requesting_status=بازیابی وضیعت شبکه
torlauncher.bootstrapStatus.loading_status=بارگذاری وضیعت شبکه
torlauncher.bootstrapStatus.loading_keys=بارگذاری مجوز ها
torlauncher.bootstrapStatus.requesting_descriptors=درخواست اطلاعات باز پخش
torlauncher.bootstrapStatus.loading_descriptors=بارگذاری اطلاعات بازپخش
-torlauncher.bootstrapStatus.conn_or=درحال اتصال به شبکه تُر
-torlauncher.bootstrapStatus.handshake_or=برپایی یک جریان تُر
torlauncher.bootstrapStatus.done=به شبکه تور متصل شد!
torlauncher.bootstrapWarning.done=انجام شد
diff --git a/src/chrome/locale/fi/torlauncher.properties b/src/chrome/locale/fi/torlauncher.properties
index 5c94c89..d90ee6d 100644
--- a/src/chrome/locale/fi/torlauncher.properties
+++ b/src/chrome/locale/fi/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Tukea saat sivustolta %S
torlauncher.copiedNLogMessages=Kopionti suoritettu. %S Tor-lokiviestiä on valmiina kopiotavaksi tekstimuokkaimeen tai sähköpostiviestiin.
-torlauncher.bootstrapStatus.conn_dir=Yhdistetään reititinhakemistoon
-torlauncher.bootstrapStatus.handshake_dir=Muodostetaan suojattu yhteys hakemistoon
+torlauncher.bootstrapStatus.onehop_create=Muodostetaan suojattu yhteys hakemistoon
torlauncher.bootstrapStatus.requesting_status=Noudetaan verkon tila
torlauncher.bootstrapStatus.loading_status=Ladataan verkon tila
torlauncher.bootstrapStatus.loading_keys=Ladataan juurivarmenteita
torlauncher.bootstrapStatus.requesting_descriptors=Pyydetään reititintietoja
torlauncher.bootstrapStatus.loading_descriptors=Ladataan reititintietoja
-torlauncher.bootstrapStatus.conn_or=Yhdistetään Tor-verkkoon
-torlauncher.bootstrapStatus.handshake_or=Muodostetaan Tor-kiertotie
torlauncher.bootstrapStatus.done=Yhdistetty Tor-verkkoon!
torlauncher.bootstrapWarning.done=valmis
diff --git a/src/chrome/locale/fil/torlauncher.properties b/src/chrome/locale/fil/torlauncher.properties
index 41a5ee3..e0fbc2b 100644
--- a/src/chrome/locale/fil/torlauncher.properties
+++ b/src/chrome/locale/fil/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Para sa gabay o tulong, bisitahin ang %S
torlauncher.copiedNLogMessages=Kumpleto na ang Pag-kopya. %S Ang mga log messages ng Tor ay handa na ma-paste sa isang text editor o sa e-mail message.
-torlauncher.bootstrapStatus.conn_dir=Kumokonekta sa isang direktoryo ng relay
-torlauncher.bootstrapStatus.handshake_dir= Itinatatag ang isang naka-encrypt na direktoryo ng koneksyon
+torlauncher.bootstrapStatus.onehop_create= Itinatatag ang isang naka-encrypt na direktoryo ng koneksyon
torlauncher.bootstrapStatus.requesting_status=Kinukuha ang katayuan ng network
torlauncher.bootstrapStatus.loading_status=Ikinakarga ang katayuan ng network
torlauncher.bootstrapStatus.loading_keys=Ikinakarga ang mga sertipiko ng awtoridad
torlauncher.bootstrapStatus.requesting_descriptors=Humihiling ng impormasyon tungkol sa relay
torlauncher.bootstrapStatus.loading_descriptors=Ikinakarga ang impormasyon tungkol sa relay
-torlauncher.bootstrapStatus.conn_or=Kumukonekta sa network ng Tor
-torlauncher.bootstrapStatus.handshake_or=Nagtatatag ng Tor circuit
torlauncher.bootstrapStatus.done=Nakakonekta sa Tor Network.
torlauncher.bootstrapWarning.done=tapos na
diff --git a/src/chrome/locale/fo/torlauncher.properties b/src/chrome/locale/fo/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/fo/torlauncher.properties
+++ b/src/chrome/locale/fo/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/fr-CA/torlauncher.properties b/src/chrome/locale/fr-CA/torlauncher.properties
index bbee1ff..1e1ad99 100644
--- a/src/chrome/locale/fr-CA/torlauncher.properties
+++ b/src/chrome/locale/fr-CA/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Pour de l’assistance, visiter %S
torlauncher.copiedNLogMessages=La copie est terminée. %S messages de journalisation de Tor sont prêts à être coller dans un éditeur de texte ou un courriel.
-torlauncher.bootstrapStatus.conn_dir=Connexion à un annuaire de relais
-torlauncher.bootstrapStatus.handshake_dir=Mise en place d’une connexion chiffrée à l’annuaire
+torlauncher.bootstrapStatus.onehop_create=Mise en place d’une connexion chiffrée à l’annuaire
torlauncher.bootstrapStatus.requesting_status=Récupération de l’état du réseau
torlauncher.bootstrapStatus.loading_status=Chargement de l’état du réseau
torlauncher.bootstrapStatus.loading_keys=Chargement des certificats d’autorité
torlauncher.bootstrapStatus.requesting_descriptors=Demande d’informations sur le relais
torlauncher.bootstrapStatus.loading_descriptors=Chargement des informations sur le relais
-torlauncher.bootstrapStatus.conn_or=Connexion au réseau Tor
-torlauncher.bootstrapStatus.handshake_or=Mise en place d’un circuit Tor
torlauncher.bootstrapStatus.done=Vous êtes connecté au réseau Tor!
torlauncher.bootstrapWarning.done=effectué
diff --git a/src/chrome/locale/fr/torlauncher.properties b/src/chrome/locale/fr/torlauncher.properties
index c44fa36..a30a07f 100644
--- a/src/chrome/locale/fr/torlauncher.properties
+++ b/src/chrome/locale/fr/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Pour de l’assistance, visiter %S
torlauncher.copiedNLogMessages=La copie est terminée. %S messages de journalisation de Tor sont prêts à être collés dans un éditeur de texte ou un courriel.
-torlauncher.bootstrapStatus.conn_dir=Connexion à un annuaire de relais
-torlauncher.bootstrapStatus.handshake_dir=Mise en place d’une connexion chiffrée à l’annuaire
+torlauncher.bootstrapStatus.onehop_create=Mise en place d’une connexion chiffrée à l’annuaire
torlauncher.bootstrapStatus.requesting_status=Récupération de l’état du réseau
torlauncher.bootstrapStatus.loading_status=Chargement de l’état du réseau
torlauncher.bootstrapStatus.loading_keys=Chargement des certificats d’autorité
torlauncher.bootstrapStatus.requesting_descriptors=Demande d’informations sur le relais
torlauncher.bootstrapStatus.loading_descriptors=Chargement des informations sur le relais
-torlauncher.bootstrapStatus.conn_or=Connexion au réseau Tor
-torlauncher.bootstrapStatus.handshake_or=Mise en place d’un circuit Tor
torlauncher.bootstrapStatus.done=Vous êtes connecté au réseau Tor !
torlauncher.bootstrapWarning.done=terminé
diff --git a/src/chrome/locale/fur/torlauncher.properties b/src/chrome/locale/fur/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/fur/torlauncher.properties
+++ b/src/chrome/locale/fur/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/fy/torlauncher.properties b/src/chrome/locale/fy/torlauncher.properties
index 3da506c..7884935 100644
--- a/src/chrome/locale/fy/torlauncher.properties
+++ b/src/chrome/locale/fy/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ga/torlauncher.properties b/src/chrome/locale/ga/torlauncher.properties
index 27c4568..6d233f5 100644
--- a/src/chrome/locale/ga/torlauncher.properties
+++ b/src/chrome/locale/ga/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Tabhair cuairt ar %S le cúnamh a fháil
torlauncher.copiedNLogMessages=Cóipeáílte. Tá %S teachtaireacht ón logchomhad Tor réidh le greamú in eagarthóir téacs nó i dteachtaireacht rphoist.
-torlauncher.bootstrapStatus.conn_dir=Ag ceangal le heolaire athsheachadán
-torlauncher.bootstrapStatus.handshake_dir=Ceangal criptithe le heolaire á bhunú
+torlauncher.bootstrapStatus.onehop_create=Ceangal criptithe le heolaire á bhunú
torlauncher.bootstrapStatus.requesting_status=Stádas an líonra á fháil
torlauncher.bootstrapStatus.loading_status=Stádas an líonra á lódáil
torlauncher.bootstrapStatus.loading_keys=Teastais an údaráis á lódáil
torlauncher.bootstrapStatus.requesting_descriptors=Eolas faoin athsheachadán á iarraidh
torlauncher.bootstrapStatus.loading_descriptors=Eolas faoin athsheachadán á lódáil
-torlauncher.bootstrapStatus.conn_or=Ag ceangal le líonra Tor
-torlauncher.bootstrapStatus.handshake_or=Ciorcad Tor á bhunú
torlauncher.bootstrapStatus.done=Tá tú ceangailte le líonra Tor!
torlauncher.bootstrapWarning.done=críochnaithe
diff --git a/src/chrome/locale/gl/torlauncher.properties b/src/chrome/locale/gl/torlauncher.properties
index 44c4500..70abb19 100644
--- a/src/chrome/locale/gl/torlauncher.properties
+++ b/src/chrome/locale/gl/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Conectando co directorio de repetidores
-torlauncher.bootstrapStatus.handshake_dir=Estabelecendo unha conexión cifrada co directorio
+torlauncher.bootstrapStatus.onehop_create=Estabelecendo unha conexión cifrada co directorio
torlauncher.bootstrapStatus.requesting_status=Recuperando o estado da rede
torlauncher.bootstrapStatus.loading_status=Cargando o estado da rede
torlauncher.bootstrapStatus.loading_keys=Cargando os certificados de autoridade
torlauncher.bootstrapStatus.requesting_descriptors=Solicitando a información do repetidor
torlauncher.bootstrapStatus.loading_descriptors=Cargando información do repetidor
-torlauncher.bootstrapStatus.conn_or=Conexión á rede Tor
-torlauncher.bootstrapStatus.handshake_or=Estabelecendo o circuíto Tor
torlauncher.bootstrapStatus.done=Conectado á rede Tor!
torlauncher.bootstrapWarning.done=feito
diff --git a/src/chrome/locale/gu-IN/torlauncher.properties b/src/chrome/locale/gu-IN/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/gu-IN/torlauncher.properties
+++ b/src/chrome/locale/gu-IN/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/gu/torlauncher.properties b/src/chrome/locale/gu/torlauncher.properties
index f6bc2fe..1c4ff0f 100644
--- a/src/chrome/locale/gu/torlauncher.properties
+++ b/src/chrome/locale/gu/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/gun/torlauncher.properties b/src/chrome/locale/gun/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/gun/torlauncher.properties
+++ b/src/chrome/locale/gun/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ha/torlauncher.properties b/src/chrome/locale/ha/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ha/torlauncher.properties
+++ b/src/chrome/locale/ha/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/he/torlauncher.properties b/src/chrome/locale/he/torlauncher.properties
index 68c61e1..118e515 100644
--- a/src/chrome/locale/he/torlauncher.properties
+++ b/src/chrome/locale/he/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=לתמיכה, בקר ב-%S
torlauncher.copiedNLogMessages=ההעתקה הושלמה. %S הודעות יומן אירועים של Tor מוכנות להדבקה לתוך עורך מלל או להודעת דוא"ל.
-torlauncher.bootstrapStatus.conn_dir=מתחבר לסיפריית ממסרים
-torlauncher.bootstrapStatus.handshake_dir=מקים חיבור סיפרייה מוצפן
+torlauncher.bootstrapStatus.onehop_create=מקים חיבור סיפרייה מוצפן
torlauncher.bootstrapStatus.requesting_status=מאחזר מיצב רשת
torlauncher.bootstrapStatus.loading_status=טוען מיצב רשת
torlauncher.bootstrapStatus.loading_keys=טוען אישורי רָשׁוּת
torlauncher.bootstrapStatus.requesting_descriptors=מבקש מידע ממסר
torlauncher.bootstrapStatus.loading_descriptors=טוען מידע ממסר
-torlauncher.bootstrapStatus.conn_or=מתחבר אל רשת Tor
-torlauncher.bootstrapStatus.handshake_or=מקים מעגל Tor
torlauncher.bootstrapStatus.done=מחובר לרשת Tor!
torlauncher.bootstrapWarning.done=בוצע
diff --git a/src/chrome/locale/hi/torlauncher.properties b/src/chrome/locale/hi/torlauncher.properties
index d530ccb..a7f07f4 100644
--- a/src/chrome/locale/hi/torlauncher.properties
+++ b/src/chrome/locale/hi/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=सहायता के लिए, %S पर जा
torlauncher.copiedNLogMessages=कॉपी कॉपी करें। %S टोर लॉग संदेश टेक्स्ट एडिटर या ईमेल संदेश में चिपकने के लिए तैयार हैं।
-torlauncher.bootstrapStatus.conn_dir=एक रिले निर्देशिका से कनेक्ट कर रहा है
-torlauncher.bootstrapStatus.handshake_dir=एक एन्क्रिप्टेड निर्देशिका कनेक्शन स्थापित किया जा रहा है
+torlauncher.bootstrapStatus.onehop_create=एक एन्क्रिप्टेड निर्देशिका कनेक्शन स्थापित किया जा रहा है
torlauncher.bootstrapStatus.requesting_status=नेटवर्क की स्थिति को पुनः प्राप्त करना
torlauncher.bootstrapStatus.loading_status=नेटवर्क स्थिति लोड हो रहा है
torlauncher.bootstrapStatus.loading_keys=प्राधिकरण प्रमाण पत्र लोड हो रहा है
torlauncher.bootstrapStatus.requesting_descriptors=रिले जानकारी का अनुरोध
torlauncher.bootstrapStatus.loading_descriptors=रिले जानकारी लोड हो रहा है
-torlauncher.bootstrapStatus.conn_or=टोर संजाल से जुड़ रहा है
-torlauncher.bootstrapStatus.handshake_or=एक टोर सर्किट की स्थापना की जा रही है
torlauncher.bootstrapStatus.done=टोर नेटवर्क से जुड़ा हुआ है!
torlauncher.bootstrapWarning.done=सम्पन्न
diff --git a/src/chrome/locale/hr-HR/torlauncher.properties b/src/chrome/locale/hr-HR/torlauncher.properties
index 3a4c1e7..c13ba37 100644
--- a/src/chrome/locale/hr-HR/torlauncher.properties
+++ b/src/chrome/locale/hr-HR/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Za pomoć posjetite %S
torlauncher.copiedNLogMessages=Kopiranje završeno. %S Tor zapisi su spremni za lijepljenje u uređivač teksta ili email poruku.
-torlauncher.bootstrapStatus.conn_dir=Spajanje na direktorij releja
-torlauncher.bootstrapStatus.handshake_dir=Uspostavljanje enkriptirane veze na direktorij
+torlauncher.bootstrapStatus.onehop_create=Uspostavljanje enkriptirane veze na direktorij
torlauncher.bootstrapStatus.requesting_status=Dohvaćanje statusa mreže
torlauncher.bootstrapStatus.loading_status=Učitavanje statusa mreže
torlauncher.bootstrapStatus.loading_keys=Učitavanje certifikata autoriteta
torlauncher.bootstrapStatus.requesting_descriptors=Zahtjevanje informacija o releju
torlauncher.bootstrapStatus.loading_descriptors=Učitavanje informacija o releju
-torlauncher.bootstrapStatus.conn_or=Spajanje na Tor mrežu
-torlauncher.bootstrapStatus.handshake_or=Uspostavljanje Tor kruga
torlauncher.bootstrapStatus.done=Spojen na Tor mrežu!
torlauncher.bootstrapWarning.done=gotovo
diff --git a/src/chrome/locale/hr/torlauncher.properties b/src/chrome/locale/hr/torlauncher.properties
index 1424083..5a4a8d8 100644
--- a/src/chrome/locale/hr/torlauncher.properties
+++ b/src/chrome/locale/hr/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Spajanje na Tor mrežu
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ht/torlauncher.properties b/src/chrome/locale/ht/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ht/torlauncher.properties
+++ b/src/chrome/locale/ht/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/hu/torlauncher.properties b/src/chrome/locale/hu/torlauncher.properties
index 74c7ae4..c9dfdf3 100644
--- a/src/chrome/locale/hu/torlauncher.properties
+++ b/src/chrome/locale/hu/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Segítségért látogassa meg: %S
torlauncher.copiedNLogMessages=Másolás kész. %S Tor naplóüzenet áll készen a beillesztésre egy szövegszerkesztőbe vagy egy email üzenetbe.
-torlauncher.bootstrapStatus.conn_dir=Csatlakozás egy Elosztó címtárhoz
-torlauncher.bootstrapStatus.handshake_dir=Titkosított címtárkapcsolat létrehozása
+torlauncher.bootstrapStatus.onehop_create=Titkosított címtárkapcsolat létrehozása
torlauncher.bootstrapStatus.requesting_status=Hálózat státuszának lekérdezése
torlauncher.bootstrapStatus.loading_status=Hálózat státuszának betöltése
torlauncher.bootstrapStatus.loading_keys=Tanúsítványkiadó tanúsítványok betöltése
torlauncher.bootstrapStatus.requesting_descriptors=Elosztási adatok lekérdezése
torlauncher.bootstrapStatus.loading_descriptors=Elosztási adatok betöltése
-torlauncher.bootstrapStatus.conn_or=Kapcsolódás a Tor hálózathoz
-torlauncher.bootstrapStatus.handshake_or=Tor kapcsolat felépítése
torlauncher.bootstrapStatus.done=Kapcsolódva a Tor hálózathoz!
torlauncher.bootstrapWarning.done=kész
diff --git a/src/chrome/locale/hy-AM/torlauncher.properties b/src/chrome/locale/hy-AM/torlauncher.properties
index fc5a3b9..d352808 100644
--- a/src/chrome/locale/hy-AM/torlauncher.properties
+++ b/src/chrome/locale/hy-AM/torlauncher.properties
@@ -39,15 +39,12 @@ torlauncher.forAssistance=Օգնության համար կապվեք %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Միացում Tor ցանցին
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/hy/torlauncher.properties b/src/chrome/locale/hy/torlauncher.properties
index 8dba0a7..fac6339 100644
--- a/src/chrome/locale/hy/torlauncher.properties
+++ b/src/chrome/locale/hy/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ia/torlauncher.properties b/src/chrome/locale/ia/torlauncher.properties
index b20f152..7bfad23 100644
--- a/src/chrome/locale/ia/torlauncher.properties
+++ b/src/chrome/locale/ia/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=facite
diff --git a/src/chrome/locale/id/torlauncher.properties b/src/chrome/locale/id/torlauncher.properties
index 05af3de..ea8644e 100644
--- a/src/chrome/locale/id/torlauncher.properties
+++ b/src/chrome/locale/id/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Untuk bantuan, kunjungi %S
torlauncher.copiedNLogMessages=Penyalinan selesai. %S log pesan Tor telah siap untuk ditempelkan ke dalam editor text atau pesan email.
-torlauncher.bootstrapStatus.conn_dir=Menghubungkan ke direktori relay
-torlauncher.bootstrapStatus.handshake_dir=Membuat koneksi direktori terenkripsi
+torlauncher.bootstrapStatus.onehop_create=Membuat koneksi direktori terenkripsi
torlauncher.bootstrapStatus.requesting_status=Mengambil status jaringan
torlauncher.bootstrapStatus.loading_status=Memuat status jaringan
torlauncher.bootstrapStatus.loading_keys=Memuat sertifikat otoritas
torlauncher.bootstrapStatus.requesting_descriptors=Meminta informasi relay
torlauncher.bootstrapStatus.loading_descriptors=Memuat informasi relay
-torlauncher.bootstrapStatus.conn_or=Menghubungkan ke jaringan Tor
-torlauncher.bootstrapStatus.handshake_or=Membuat sirkuit Tor
torlauncher.bootstrapStatus.done=Telah terhubung ke jaringan Tor
torlauncher.bootstrapWarning.done=selesai
diff --git a/src/chrome/locale/is/torlauncher.properties b/src/chrome/locale/is/torlauncher.properties
index 1e51efd..d10f91a 100644
--- a/src/chrome/locale/is/torlauncher.properties
+++ b/src/chrome/locale/is/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Til að fá hjálp, heimsæktu %S
torlauncher.copiedNLogMessages=Afritun lokið. %S færslur úr Tor-atvikaskrá eru tilbúnar til að líma inn í textaritil eða tölvupóst.
-torlauncher.bootstrapStatus.conn_dir=Tengist við yfirlitsskrá um endurvarpa
-torlauncher.bootstrapStatus.handshake_dir=Kem á tengingu við dulritaða yfirlitsskrá
+torlauncher.bootstrapStatus.onehop_create=Kem á tengingu við dulritaða yfirlitsskrá
torlauncher.bootstrapStatus.requesting_status=Næ í stöðu netkerfis
torlauncher.bootstrapStatus.loading_status=Hleð inn stöðu netkerfis
torlauncher.bootstrapStatus.loading_keys=Hleð inn skilríkjum vottunarstöðvar
torlauncher.bootstrapStatus.requesting_descriptors=Bið um upplýsingar endurvarpa
torlauncher.bootstrapStatus.loading_descriptors=Hleð inn upplýsingum endurvarpa
-torlauncher.bootstrapStatus.conn_or=Tengist Tor-netinu
-torlauncher.bootstrapStatus.handshake_or=Kem á Tor-rás
torlauncher.bootstrapStatus.done=Tengdur við Tor-netið!
torlauncher.bootstrapWarning.done=búið
diff --git a/src/chrome/locale/it/torlauncher.properties b/src/chrome/locale/it/torlauncher.properties
index 7c62bd1..595497c 100644
--- a/src/chrome/locale/it/torlauncher.properties
+++ b/src/chrome/locale/it/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Per assistenza, visita %S
torlauncher.copiedNLogMessages=Copia completata. %S Messaggi di log Tor sono pronti per essere incollato in un editor di testo o un messaggio e-mail.
-torlauncher.bootstrapStatus.conn_dir=Connessione ad una directory dei relay
-torlauncher.bootstrapStatus.handshake_dir=Sto creando una connessione cifrata alla directory
+torlauncher.bootstrapStatus.onehop_create=Sto creando una connessione cifrata alla directory
torlauncher.bootstrapStatus.requesting_status=Sto ottenendo informazioni sullo stato della rete
torlauncher.bootstrapStatus.loading_status=Caricamento dello stato della rete
torlauncher.bootstrapStatus.loading_keys=Caricamento dei certificati delle authority
torlauncher.bootstrapStatus.requesting_descriptors=Richiesta di informazioni sui relay
torlauncher.bootstrapStatus.loading_descriptors=Caricamento delle informazioni sui relay
-torlauncher.bootstrapStatus.conn_or=Connessione in corso alla rete Tor
-torlauncher.bootstrapStatus.handshake_or=Sto creando un circuito Tor
torlauncher.bootstrapStatus.done=Connesso alla rete Tor!
torlauncher.bootstrapWarning.done=fatto
diff --git a/src/chrome/locale/ja/torlauncher.properties b/src/chrome/locale/ja/torlauncher.properties
index b55a4df..afa41a2 100644
--- a/src/chrome/locale/ja/torlauncher.properties
+++ b/src/chrome/locale/ja/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=サポートについては、%Sをご覧ください
torlauncher.copiedNLogMessages=コピー成功。 %S個のTorログファイルがテキストエディターやEメールにペーストする準備ができました。
-torlauncher.bootstrapStatus.conn_dir=リレーディレクトリへ接続中
-torlauncher.bootstrapStatus.handshake_dir=暗号化されたディレクトリとの接続を確立中
+torlauncher.bootstrapStatus.onehop_create=暗号化されたディレクトリとの接続を確立中
torlauncher.bootstrapStatus.requesting_status=ネットワークを検索中
torlauncher.bootstrapStatus.loading_status=ネットワークを読込中
torlauncher.bootstrapStatus.loading_keys=認証局の署名を読込中
torlauncher.bootstrapStatus.requesting_descriptors=リレー情報を要求中
torlauncher.bootstrapStatus.loading_descriptors=リレー情報を読込中
-torlauncher.bootstrapStatus.conn_or=Torネットワークに接続しています
-torlauncher.bootstrapStatus.handshake_or=Tor回線を設置しています
torlauncher.bootstrapStatus.done=Torネットワークに接続しました!
torlauncher.bootstrapWarning.done=完了
diff --git a/src/chrome/locale/jv/torlauncher.properties b/src/chrome/locale/jv/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/jv/torlauncher.properties
+++ b/src/chrome/locale/jv/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ka/torlauncher.properties b/src/chrome/locale/ka/torlauncher.properties
index 457c46f..9701026 100644
--- a/src/chrome/locale/ka/torlauncher.properties
+++ b/src/chrome/locale/ka/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=დახმარებისთვის ეწვ
torlauncher.copiedNLogMessages=ასლის აღება დასრულებულია. %S Tor-ის აღრიცხვის ჩანაწერები მზადაა ტექსტურ რედაქტორში ან ელფოსტის წერილში ჩასასმელად.
-torlauncher.bootstrapStatus.conn_dir=გადამცემთა ცნობართან დაკავშირება
-torlauncher.bootstrapStatus.handshake_dir=დაშიფრული კავშირის დამყარება ცნობართან
+torlauncher.bootstrapStatus.onehop_create=დაშიფრული კავშირის დამყარება ცნობართან
torlauncher.bootstrapStatus.requesting_status=ქსელის მდგომარეობის დადგენა
torlauncher.bootstrapStatus.loading_status=ქსელის მდგომარეობის ჩატვირთვა
torlauncher.bootstrapStatus.loading_keys=უფლებამოსილი სერტიფიკატების ჩატვირთვა
torlauncher.bootstrapStatus.requesting_descriptors=გადამცემის მონაცემების მოთხოვნა
torlauncher.bootstrapStatus.loading_descriptors=გადამცემის მონაცემების ჩატვირთვა
-torlauncher.bootstrapStatus.conn_or=უკავშირდება Tor-ქსელს
-torlauncher.bootstrapStatus.handshake_or=Tor-ის კავშირის წრედის დამყარება
torlauncher.bootstrapStatus.done=Tor-ქსელთან დაკავშირებულია!
torlauncher.bootstrapWarning.done=მზადაა
diff --git a/src/chrome/locale/kk/torlauncher.properties b/src/chrome/locale/kk/torlauncher.properties
index 4588663..d083a2b 100644
--- a/src/chrome/locale/kk/torlauncher.properties
+++ b/src/chrome/locale/kk/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/km/torlauncher.properties b/src/chrome/locale/km/torlauncher.properties
index 70aa687..6e4c0da 100644
--- a/src/chrome/locale/km/torlauncher.properties
+++ b/src/chrome/locale/km/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=តភ្ជាប់ទៅថតការបញ្ជូនបន្ត
-torlauncher.bootstrapStatus.handshake_dir=បង្កើតការតភ្ជាប់ថតដែលបានអ៊ិនគ្រីប
+torlauncher.bootstrapStatus.onehop_create=បង្កើតការតភ្ជាប់ថតដែលបានអ៊ិនគ្រីប
torlauncher.bootstrapStatus.requesting_status=ទៅយកស្ថានភាពបណ្ដាញ
torlauncher.bootstrapStatus.loading_status=ការផ្ទុកស្ថានភាពបណ្ដាញ
torlauncher.bootstrapStatus.loading_keys=ផ្ទុកប្រភពវិញ្ញាបនបត្រ
torlauncher.bootstrapStatus.requesting_descriptors=ស្នើព័ត៌មានការបញ្ជូនបន្ត
torlauncher.bootstrapStatus.loading_descriptors=ផ្ទុកព័ត៌មានការបញ្ជូនបន្ត
-torlauncher.bootstrapStatus.conn_or=ភ្ជាប់ទៅបណ្ដាញ Tor
-torlauncher.bootstrapStatus.handshake_or=បង្កើតសៀគ្វី Tor
torlauncher.bootstrapStatus.done=បានតភ្ជាប់ទៅបណ្ដាញ Tor !
torlauncher.bootstrapWarning.done=រួចរាល់
diff --git a/src/chrome/locale/kn/torlauncher.properties b/src/chrome/locale/kn/torlauncher.properties
index e5d4623..15a3fc1 100644
--- a/src/chrome/locale/kn/torlauncher.properties
+++ b/src/chrome/locale/kn/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=ಟಾರ್ ಜಾಲಕ್ಕೆ ಸೇರಿಕೋತಾ ಇದೀವಿ.
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ko-KR/torlauncher.properties b/src/chrome/locale/ko-KR/torlauncher.properties
index 22e9ffd..a513276 100644
--- a/src/chrome/locale/ko-KR/torlauncher.properties
+++ b/src/chrome/locale/ko-KR/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=중계소 경로에 연결하고 있어요
-torlauncher.bootstrapStatus.handshake_dir=경로와의 연결을 암호화해서 만들고 있어요
+torlauncher.bootstrapStatus.onehop_create=경로와의 연결을 암호화해서 만들고 있어요
torlauncher.bootstrapStatus.requesting_status=네트워크 상태를 알아오고 있어요
torlauncher.bootstrapStatus.loading_status=네트워크 상태를 불러오고 있어요
torlauncher.bootstrapStatus.loading_keys=인증서를 불러오고 있어요
torlauncher.bootstrapStatus.requesting_descriptors=중계소 정보를 요청하고 있어요
torlauncher.bootstrapStatus.loading_descriptors=중계소 정보를 불러오고 있어요
-torlauncher.bootstrapStatus.conn_or=Tor 네트워크로 연결하고 있어요
-torlauncher.bootstrapStatus.handshake_or=Tor 회선을 만들고 있어요
torlauncher.bootstrapStatus.done=Tor 네트워크에 연결되었어요!
torlauncher.bootstrapWarning.done=완료
diff --git a/src/chrome/locale/ko/torlauncher.properties b/src/chrome/locale/ko/torlauncher.properties
index a8fcffc..8936d7f 100644
--- a/src/chrome/locale/ko/torlauncher.properties
+++ b/src/chrome/locale/ko/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=도움이 필요하면 %S를 방문하십시오.
torlauncher.copiedNLogMessages=복사 완료. %S Tor 로그 메시지는 텍스트 편집기 나 이메일 메시지에 붙여 넣을 수 있는 상태가 됩니다.
-torlauncher.bootstrapStatus.conn_dir=중계서버 디렉토리에 연결
-torlauncher.bootstrapStatus.handshake_dir=암호화된 디렉터리 연결을 설정
+torlauncher.bootstrapStatus.onehop_create=암호화된 디렉터리 연결을 설정
torlauncher.bootstrapStatus.requesting_status=네트워크의 상태를 가져오는중
torlauncher.bootstrapStatus.loading_status=네트워크의 상태를 요청중
torlauncher.bootstrapStatus.loading_keys=권한 인증서를 로딩중
torlauncher.bootstrapStatus.requesting_descriptors=중계서버 정보를 요청중
torlauncher.bootstrapStatus.loading_descriptors=중계서버 정보를 로딩중
-torlauncher.bootstrapStatus.conn_or=Tor 네트워크에 연결중
-torlauncher.bootstrapStatus.handshake_or=토르 서킷의 연결을 성공
torlauncher.bootstrapStatus.done=Tor 네트워크에 연결 성공!
torlauncher.bootstrapWarning.done=완료
diff --git a/src/chrome/locale/ku/torlauncher.properties b/src/chrome/locale/ku/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ku/torlauncher.properties
+++ b/src/chrome/locale/ku/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/kw/torlauncher.properties b/src/chrome/locale/kw/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/kw/torlauncher.properties
+++ b/src/chrome/locale/kw/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ky/torlauncher.properties b/src/chrome/locale/ky/torlauncher.properties
index b489a96..8eb0673 100644
--- a/src/chrome/locale/ky/torlauncher.properties
+++ b/src/chrome/locale/ky/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Tor тармагына туташтырылып турат!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/lb/torlauncher.properties b/src/chrome/locale/lb/torlauncher.properties
index 584a9ee..ed7f880 100644
--- a/src/chrome/locale/lb/torlauncher.properties
+++ b/src/chrome/locale/lb/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/lg/torlauncher.properties b/src/chrome/locale/lg/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/lg/torlauncher.properties
+++ b/src/chrome/locale/lg/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ln/torlauncher.properties b/src/chrome/locale/ln/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ln/torlauncher.properties
+++ b/src/chrome/locale/ln/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/lo/torlauncher.properties b/src/chrome/locale/lo/torlauncher.properties
index 92d8d3a..6468d8c 100644
--- a/src/chrome/locale/lo/torlauncher.properties
+++ b/src/chrome/locale/lo/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=ກຳລັງເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/lt/torlauncher.properties b/src/chrome/locale/lt/torlauncher.properties
index 963d5cf..129fbed 100644
--- a/src/chrome/locale/lt/torlauncher.properties
+++ b/src/chrome/locale/lt/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Norėdami gauti pagalbos, apsilankykite %S
torlauncher.copiedNLogMessages=Kopijavimas atliktas. %S Tor įvykių žurnalas paruoštas įklijuoti į teksto redagavimo programą ar elektroninio pašto pranešimą.
-torlauncher.bootstrapStatus.conn_dir=Jungiamasi prie retransliavimo katalogo
-torlauncher.bootstrapStatus.handshake_dir=Užmezgiamas ryšys
+torlauncher.bootstrapStatus.onehop_create=Užmezgiamas ryšys
torlauncher.bootstrapStatus.requesting_status=Nuskaitoma tinklo būklė
torlauncher.bootstrapStatus.loading_status=Įkeliama tinklo būklė
torlauncher.bootstrapStatus.loading_keys=Įkeliami liudijimų įstaigos liudijimai
torlauncher.bootstrapStatus.requesting_descriptors=Užklausiama retransliavimo informacija
torlauncher.bootstrapStatus.loading_descriptors=Įkeliama retransliavimo informacija
-torlauncher.bootstrapStatus.conn_or=Jungiamasi prie Tor tinklo
-torlauncher.bootstrapStatus.handshake_or=Užmezgiamas sujungimas
torlauncher.bootstrapStatus.done=Prisijungta prie Tor tinklo!
torlauncher.bootstrapWarning.done=atlikta
diff --git a/src/chrome/locale/lv/torlauncher.properties b/src/chrome/locale/lv/torlauncher.properties
index 52fcefe..35f26d3 100644
--- a/src/chrome/locale/lv/torlauncher.properties
+++ b/src/chrome/locale/lv/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Lai saņemtu palīdzību, apmeklējiet %S
torlauncher.copiedNLogMessages=Kopēšana paveikta. %S Tor žurnāla ziņojumi sagatavoti ielīmēšanai teksta redaktorā vai e-pasta ziņojumā.
-torlauncher.bootstrapStatus.conn_dir=Veido savienojumu ar retranslatoru direktoriju
-torlauncher.bootstrapStatus.handshake_dir=Izveido šifrētu savienojumu ar direktoriju
+torlauncher.bootstrapStatus.onehop_create=Izveido šifrētu savienojumu ar direktoriju
torlauncher.bootstrapStatus.requesting_status=Izgūst tīkla statusu
torlauncher.bootstrapStatus.loading_status=Ielādē tīkla statusu
torlauncher.bootstrapStatus.loading_keys=Ielādē sertificēšanas sertifikātus
torlauncher.bootstrapStatus.requesting_descriptors=Pieprasa retranslatoru informāciju
torlauncher.bootstrapStatus.loading_descriptors=Ielādē retranslatoru informāciju
-torlauncher.bootstrapStatus.conn_or=Veido savienojumu ar Tor'a tīklu
-torlauncher.bootstrapStatus.handshake_or=Izveido Tor maršrutu
torlauncher.bootstrapStatus.done=Savienojums ar tīklu Tor izveidots!
torlauncher.bootstrapWarning.done=gatavs
diff --git a/src/chrome/locale/mg/torlauncher.properties b/src/chrome/locale/mg/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/mg/torlauncher.properties
+++ b/src/chrome/locale/mg/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/mi/torlauncher.properties b/src/chrome/locale/mi/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/mi/torlauncher.properties
+++ b/src/chrome/locale/mi/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/mk/torlauncher.properties b/src/chrome/locale/mk/torlauncher.properties
index 8dfecbb..505510a 100644
--- a/src/chrome/locale/mk/torlauncher.properties
+++ b/src/chrome/locale/mk/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=За помош, посетете %S
torlauncher.copiedNLogMessages=Копирањето е завршено. %S Tor лог пораките се подготвени да бидат залепени во уредувач на текст или во порака за е-пошта.
-torlauncher.bootstrapStatus.conn_dir=Поврзување на реле директориум
-torlauncher.bootstrapStatus.handshake_dir=Воспоставување енкриптирано поврзување со директориумот
+torlauncher.bootstrapStatus.onehop_create=Воспоставување енкриптирано поврзување со директориумот
torlauncher.bootstrapStatus.requesting_status=Добивање на мрежен статус
torlauncher.bootstrapStatus.loading_status=Вчитување на мрежен статус
torlauncher.bootstrapStatus.loading_keys=Вчитување на авторитетни сертификати
torlauncher.bootstrapStatus.requesting_descriptors=Барање на информации за реле
torlauncher.bootstrapStatus.loading_descriptors=Вчитување на информации за реле
-torlauncher.bootstrapStatus.conn_or=Поврзување на Tor мрежата
-torlauncher.bootstrapStatus.handshake_or=Воспоставување на Tor круг
torlauncher.bootstrapStatus.done=Поврзани сте на Tor мрежата!
torlauncher.bootstrapWarning.done=завршено
diff --git a/src/chrome/locale/ml/torlauncher.properties b/src/chrome/locale/ml/torlauncher.properties
index 84fd819..ce5215a 100644
--- a/src/chrome/locale/ml/torlauncher.properties
+++ b/src/chrome/locale/ml/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/mn/torlauncher.properties b/src/chrome/locale/mn/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/mn/torlauncher.properties
+++ b/src/chrome/locale/mn/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/mr/torlauncher.properties b/src/chrome/locale/mr/torlauncher.properties
index 8d8494a..54121ff 100644
--- a/src/chrome/locale/mr/torlauncher.properties
+++ b/src/chrome/locale/mr/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=टॉर जाळ्याला जोडणी करणे चालू आहे
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ms-MY/torlauncher.properties b/src/chrome/locale/ms-MY/torlauncher.properties
index 1976a17..e3f5618 100644
--- a/src/chrome/locale/ms-MY/torlauncher.properties
+++ b/src/chrome/locale/ms-MY/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Untuk dapatkan bantuan, lawati %S
torlauncher.copiedNLogMessages=Salin selesai. %S mesej log Tor sedia ditampal ke dalam penyunting teks atau mesej emel.
-torlauncher.bootstrapStatus.conn_dir=Menyambung dengan direktori geganti
-torlauncher.bootstrapStatus.handshake_dir=Menjalinkan sambungan direktori tersulit
+torlauncher.bootstrapStatus.onehop_create=Menjalinkan sambungan direktori tersulit
torlauncher.bootstrapStatus.requesting_status=Memperoleh status rangkaian
torlauncher.bootstrapStatus.loading_status=Memuatkan status rangkaian
torlauncher.bootstrapStatus.loading_keys=Memuatkan sijil kuasa
torlauncher.bootstrapStatus.requesting_descriptors=Meminta maklumat geganti
torlauncher.bootstrapStatus.loading_descriptors=Memuatkan maklumat geganti
-torlauncher.bootstrapStatus.conn_or=Menyambung ke rangkaian Tor
-torlauncher.bootstrapStatus.handshake_or=Menjalinkan litar Tor
torlauncher.bootstrapStatus.done=Bersambung dengan rangkaian Tor!
torlauncher.bootstrapWarning.done=selesai
diff --git a/src/chrome/locale/mt/torlauncher.properties b/src/chrome/locale/mt/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/mt/torlauncher.properties
+++ b/src/chrome/locale/mt/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/my/torlauncher.properties b/src/chrome/locale/my/torlauncher.properties
index a14b55c..36769b0 100644
--- a/src/chrome/locale/my/torlauncher.properties
+++ b/src/chrome/locale/my/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Relay ဖိုင်လမ်းကြောင်း တစ်ခုကို ဆက်သွယ်နေသည်
-torlauncher.bootstrapStatus.handshake_dir=စာဝှက်ထားသည့် ဖိုင်လမ်းကြောင်း ချိတ်ဆက်မှု တစ်ခု တည်ဆောက်နေသည်
+torlauncher.bootstrapStatus.onehop_create=စာဝှက်ထားသည့် ဖိုင်လမ်းကြောင်း ချိတ်ဆက်မှု တစ်ခု တည်ဆောက်နေသည်
torlauncher.bootstrapStatus.requesting_status=ကွန်ရက် အနေအထားကို ပြန်ရယူနေသည်
torlauncher.bootstrapStatus.loading_status=ကွန်ရက် အနေအထားကို ဖွင့်နေသည်
torlauncher.bootstrapStatus.loading_keys=လုပ်ပိုင်ခွင့် လက်မှတ်များကို ရယူနေသည်
torlauncher.bootstrapStatus.requesting_descriptors=Relay အချက်အလက်ကို တောင်းခံနေသည်
torlauncher.bootstrapStatus.loading_descriptors=Relay အချက်အလက်များကို ရယူနေသည်
-torlauncher.bootstrapStatus.conn_or=Tor ကွန်ရက်ကို ဆက်သွယ်နေသည်
-torlauncher.bootstrapStatus.handshake_or=Tor ဆားကစ် တစ်ခုကို တည်ဆောက်နေသည်
torlauncher.bootstrapStatus.done=Tor ကွန်ရက်ကို ချိတ်ဆက်မိသည်!
torlauncher.bootstrapWarning.done=ပြီးသွားပြီ
diff --git a/src/chrome/locale/nah/torlauncher.properties b/src/chrome/locale/nah/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/nah/torlauncher.properties
+++ b/src/chrome/locale/nah/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/nap/torlauncher.properties b/src/chrome/locale/nap/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/nap/torlauncher.properties
+++ b/src/chrome/locale/nap/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/nb/torlauncher.properties b/src/chrome/locale/nb/torlauncher.properties
index 442cc59..6b5fae0 100644
--- a/src/chrome/locale/nb/torlauncher.properties
+++ b/src/chrome/locale/nb/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For hjelp, besøk %S
torlauncher.copiedNLogMessages=Kopiering ferdig. %S Loggføringsmeldinger fra Tor er klare til å bli sent til et skriveprogram eller en e-post.
-torlauncher.bootstrapStatus.conn_dir=Kobler til en rutingsstafettoppsetts-katalog
-torlauncher.bootstrapStatus.handshake_dir=Etablerer en kryptert katalogforbindelse
+torlauncher.bootstrapStatus.onehop_create=Etablerer en kryptert katalogforbindelse
torlauncher.bootstrapStatus.requesting_status=Mottar nettverkstatus
torlauncher.bootstrapStatus.loading_status=Laster nettverkstatus
torlauncher.bootstrapStatus.loading_keys=Laster identitetsbekreftende sertifikater
torlauncher.bootstrapStatus.requesting_descriptors=Sender forespørsel om rutingsstafettoppsettsinformasjon
torlauncher.bootstrapStatus.loading_descriptors=Laster inn rutingsstafettoppsetts-informasjon
-torlauncher.bootstrapStatus.conn_or=Kobler til Tor-nettverket
-torlauncher.bootstrapStatus.handshake_or=Etablerer en Tor-krets
torlauncher.bootstrapStatus.done=Koblet til Tor-nettverket!
torlauncher.bootstrapWarning.done=ferdig
diff --git a/src/chrome/locale/nds/torlauncher.properties b/src/chrome/locale/nds/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/nds/torlauncher.properties
+++ b/src/chrome/locale/nds/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ne/torlauncher.properties b/src/chrome/locale/ne/torlauncher.properties
index ca42a24..37fa3c0 100644
--- a/src/chrome/locale/ne/torlauncher.properties
+++ b/src/chrome/locale/ne/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/nl-BE/torlauncher.properties b/src/chrome/locale/nl-BE/torlauncher.properties
index c2c146b..816fceb 100644
--- a/src/chrome/locale/nl-BE/torlauncher.properties
+++ b/src/chrome/locale/nl-BE/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Netwerkstatus aan het ophalen
torlauncher.bootstrapStatus.loading_status=Netwerkstatus aan het lasen
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecteren naar het Tor netwerk
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=klaar
diff --git a/src/chrome/locale/nl/torlauncher.properties b/src/chrome/locale/nl/torlauncher.properties
index 48557bb..9299ab2 100644
--- a/src/chrome/locale/nl/torlauncher.properties
+++ b/src/chrome/locale/nl/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Voor bijstand, bezoek %S
torlauncher.copiedNLogMessages=Kopiëren klaar. %S Tor logberichten zijn klaar om in een teksteditor of een e-mailbericht te worden geplakt.
-torlauncher.bootstrapStatus.conn_dir=Verbinden met een relay directory
-torlauncher.bootstrapStatus.handshake_dir=Maken van een versleutelde verbinding met de lijst
+torlauncher.bootstrapStatus.onehop_create=Maken van een versleutelde verbinding met de lijst
torlauncher.bootstrapStatus.requesting_status=Ontvangen van de netwerkstatus
torlauncher.bootstrapStatus.loading_status=Laden van de netwerkstatus
torlauncher.bootstrapStatus.loading_keys=Laden van de authoriteitcertificaten
torlauncher.bootstrapStatus.requesting_descriptors=Opvragen van verbindingsinformatie
torlauncher.bootstrapStatus.loading_descriptors=Laden van verbindingsinformatie
-torlauncher.bootstrapStatus.conn_or=Bezig met verbinden met het Tor-netwerk
-torlauncher.bootstrapStatus.handshake_or=Maken van een Tor circuit
torlauncher.bootstrapStatus.done=Verbonden met het Tor-netwerk!
torlauncher.bootstrapWarning.done=uitgevoerd
diff --git a/src/chrome/locale/nn/torlauncher.properties b/src/chrome/locale/nn/torlauncher.properties
index 0a0d105..15ef22f 100644
--- a/src/chrome/locale/nn/torlauncher.properties
+++ b/src/chrome/locale/nn/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Hentar nettverksstatus
torlauncher.bootstrapStatus.loading_status=Lastar nettverkstatus
torlauncher.bootstrapStatus.loading_keys=Lastar autoritetssertifikat
torlauncher.bootstrapStatus.requesting_descriptors=Ber om relae-informasjon
torlauncher.bootstrapStatus.loading_descriptors=Lastar relae-informasjon
-torlauncher.bootstrapStatus.conn_or=Koplar til Tor-nettverket
-torlauncher.bootstrapStatus.handshake_or=Opprettar ein Tor-krets
torlauncher.bootstrapStatus.done=Kopla til Tor-nettverket!
torlauncher.bootstrapWarning.done=ferdig
diff --git a/src/chrome/locale/nso/torlauncher.properties b/src/chrome/locale/nso/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/nso/torlauncher.properties
+++ b/src/chrome/locale/nso/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/oc/torlauncher.properties b/src/chrome/locale/oc/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/oc/torlauncher.properties
+++ b/src/chrome/locale/oc/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/or/torlauncher.properties b/src/chrome/locale/or/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/or/torlauncher.properties
+++ b/src/chrome/locale/or/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/pa/torlauncher.properties b/src/chrome/locale/pa/torlauncher.properties
index 893db3c..6d99d6b 100644
--- a/src/chrome/locale/pa/torlauncher.properties
+++ b/src/chrome/locale/pa/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=ਸਹਾਇਤਾ ਲਈ ਜਾਓ %S ਉੱਪਰ
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=ਨੈੱਟਵਰਕ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ
torlauncher.bootstrapStatus.loading_status=ਨੈੱਟਵਰਕ ਸਥਇਤੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=ਟੋਰ ਨੈੱਟਵਰਕ ਨਾਲ ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=ਮੁਕੰਮਲ
diff --git a/src/chrome/locale/pap/torlauncher.properties b/src/chrome/locale/pap/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/pap/torlauncher.properties
+++ b/src/chrome/locale/pap/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/pl/torlauncher.properties b/src/chrome/locale/pl/torlauncher.properties
index 32b912a..384c66d 100644
--- a/src/chrome/locale/pl/torlauncher.properties
+++ b/src/chrome/locale/pl/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Aby uzyskać pomoc, odwiedź %S
torlauncher.copiedNLogMessages=Kopia zakończona. %S logi Tora są gotowe do wklejenia do notatnika lub wiadomości email.
-torlauncher.bootstrapStatus.conn_dir=Podłączanie do katalogu węzłów
-torlauncher.bootstrapStatus.handshake_dir=Ustanawianie szyfrowanego połączenia z katalogiem
+torlauncher.bootstrapStatus.onehop_create=Ustanawianie szyfrowanego połączenia z katalogiem
torlauncher.bootstrapStatus.requesting_status=Odczytywanie stanu sieci
torlauncher.bootstrapStatus.loading_status=Wczytywanie stanu sieci
torlauncher.bootstrapStatus.loading_keys=Wczytywanie certyfikatów uwierzytelnienia
torlauncher.bootstrapStatus.requesting_descriptors=Żądanie informacji o węźle
torlauncher.bootstrapStatus.loading_descriptors=Wczytywanie informacji o węźle
-torlauncher.bootstrapStatus.conn_or=Łączenie z siecią Tor
-torlauncher.bootstrapStatus.handshake_or=Ustanawianie ścieżki Tora
torlauncher.bootstrapStatus.done=Połączony z siecią Tor!
torlauncher.bootstrapWarning.done=zrobione
diff --git a/src/chrome/locale/pms/torlauncher.properties b/src/chrome/locale/pms/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/pms/torlauncher.properties
+++ b/src/chrome/locale/pms/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ps/torlauncher.properties b/src/chrome/locale/ps/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ps/torlauncher.properties
+++ b/src/chrome/locale/ps/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/pt-BR/torlauncher.properties b/src/chrome/locale/pt-BR/torlauncher.properties
index 21d0106..786d2bc 100644
--- a/src/chrome/locale/pt-BR/torlauncher.properties
+++ b/src/chrome/locale/pt-BR/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Se você precisar de assistência, por favor visite %
torlauncher.copiedNLogMessages=Cópia concluída. As mensagens %S do Tor log estão prontas para ser copiadas em um editor de texto ou em uma mensagem de e-mail.
-torlauncher.bootstrapStatus.conn_dir=Conectando a um diretório de retransmissores
-torlauncher.bootstrapStatus.handshake_dir=Estabelecendo uma conexão de diretório criptografado
+torlauncher.bootstrapStatus.onehop_create=Estabelecendo uma conexão de diretório criptografado
torlauncher.bootstrapStatus.requesting_status=Recebendo estado da rede
torlauncher.bootstrapStatus.loading_status=Carregando estado da rede
torlauncher.bootstrapStatus.loading_keys=Carregando certificados de autoridade
torlauncher.bootstrapStatus.requesting_descriptors=Requisitando informações do retransmissor
torlauncher.bootstrapStatus.loading_descriptors=Carregando informações do retransmissor
-torlauncher.bootstrapStatus.conn_or=Conectando à rede Tor
-torlauncher.bootstrapStatus.handshake_or=Estabelecendo um circuito Tor
torlauncher.bootstrapStatus.done=Conectado à rede Tor!
torlauncher.bootstrapWarning.done=pronto
diff --git a/src/chrome/locale/pt/torlauncher.properties b/src/chrome/locale/pt/torlauncher.properties
index dd89633..01e80f0 100644
--- a/src/chrome/locale/pt/torlauncher.properties
+++ b/src/chrome/locale/pt/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Para assistência, visite %S
torlauncher.copiedNLogMessages=Cópia completa. Estão prontas %S mensagens do registo de eventos do Tor para serem coladas num editor de texto ou numa mensagem de correio eletrónico.
-torlauncher.bootstrapStatus.conn_dir=A ligar à diretoria do retransmissor
-torlauncher.bootstrapStatus.handshake_dir=A estabelecer uma ligação de diretoria encriptada
+torlauncher.bootstrapStatus.onehop_create=A estabelecer uma ligação de diretoria encriptada
torlauncher.bootstrapStatus.requesting_status=A obter o estado da rede
torlauncher.bootstrapStatus.loading_status=A carregar o estado da rede
torlauncher.bootstrapStatus.loading_keys=A carregar os certificados de autoridade
torlauncher.bootstrapStatus.requesting_descriptors=A solicitar a informação do retransmissor
torlauncher.bootstrapStatus.loading_descriptors=A carregar a informação do retransmissor
-torlauncher.bootstrapStatus.conn_or=A ligar à rede Tor
-torlauncher.bootstrapStatus.handshake_or=A estabelecer um circuito Tor
torlauncher.bootstrapStatus.done=Ligado à rede Tor
torlauncher.bootstrapWarning.done=finalizado
diff --git a/src/chrome/locale/ro/torlauncher.properties b/src/chrome/locale/ro/torlauncher.properties
index 6ec6f26..f8efe95 100644
--- a/src/chrome/locale/ro/torlauncher.properties
+++ b/src/chrome/locale/ro/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Pentru asistenţă, vizitează %S
torlauncher.copiedNLogMessages=Copiere efectuată. %S Mesajele de log Tor sunt gata pentru a fi lipite într-un editor de text sau un mesaj e-mail.
-torlauncher.bootstrapStatus.conn_dir=Conectare la un director relay
-torlauncher.bootstrapStatus.handshake_dir=Se stabileşte o conexiune criptată la director
+torlauncher.bootstrapStatus.onehop_create=Se stabileşte o conexiune criptată la director
torlauncher.bootstrapStatus.requesting_status=Se obţin informaţii despre starea reţelei
torlauncher.bootstrapStatus.loading_status=Se încarcă informaţiile despre starea reţelei
torlauncher.bootstrapStatus.loading_keys=Se încarcă certificatele de autoritate
torlauncher.bootstrapStatus.requesting_descriptors=Se cer informaţii despre relay
torlauncher.bootstrapStatus.loading_descriptors=Se încarcă informaţiile despre relay
-torlauncher.bootstrapStatus.conn_or=Conctare la reţeaua Tor
-torlauncher.bootstrapStatus.handshake_or=Se stabileşte un circuit Tor
torlauncher.bootstrapStatus.done=Conectare efectuată cu succes!
torlauncher.bootstrapWarning.done=efectuat
diff --git a/src/chrome/locale/ru/torlauncher.properties b/src/chrome/locale/ru/torlauncher.properties
index 7f978da..54996ef 100644
--- a/src/chrome/locale/ru/torlauncher.properties
+++ b/src/chrome/locale/ru/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Посетите %S, чтобы получить по
torlauncher.copiedNLogMessages=Копирование завершено. %S собщение с логами Tor находятся в буфере обмена и могут быть вставлены в текстовый редактор или email.
-torlauncher.bootstrapStatus.conn_dir=Подключение к каталогy ретрансляторов
-torlauncher.bootstrapStatus.handshake_dir=Создание шифрованного соединения каталогa
+torlauncher.bootstrapStatus.onehop_create=Создание шифрованного соединения каталогa
torlauncher.bootstrapStatus.requesting_status=Получение статуса сети
torlauncher.bootstrapStatus.loading_status=Загрузка состояния сети
torlauncher.bootstrapStatus.loading_keys=Загрузка сертификатов
torlauncher.bootstrapStatus.requesting_descriptors=Запрос информации ретранслятора
torlauncher.bootstrapStatus.loading_descriptors=Загрузка информации ретранслятора
-torlauncher.bootstrapStatus.conn_or=Подключение к сети Tor
-torlauncher.bootstrapStatus.handshake_or=Создание цепочки Tor
torlauncher.bootstrapStatus.done=Подключен к сети Tor!
torlauncher.bootstrapWarning.done=cделано
diff --git a/src/chrome/locale/ru(a)petr1708/torlauncher.properties b/src/chrome/locale/ru(a)petr1708/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ru(a)petr1708/torlauncher.properties
+++ b/src/chrome/locale/ru(a)petr1708/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/sco/torlauncher.properties b/src/chrome/locale/sco/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/sco/torlauncher.properties
+++ b/src/chrome/locale/sco/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/si-LK/torlauncher.properties b/src/chrome/locale/si-LK/torlauncher.properties
index dc59f62..f0d81b7 100644
--- a/src/chrome/locale/si-LK/torlauncher.properties
+++ b/src/chrome/locale/si-LK/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=ප්රතියෝජක ඩිරෙක්ටරියකට සබදෙමින්
-torlauncher.bootstrapStatus.handshake_dir=සංකේත කරන ලද ඩිරෙක්ටරි සබැදුමක් ස්ථාපනය කරමින්
+torlauncher.bootstrapStatus.onehop_create=සංකේත කරන ලද ඩිරෙක්ටරි සබැදුමක් ස්ථාපනය කරමින්
torlauncher.bootstrapStatus.requesting_status=ජාල තත්වය සමුධ්රණය කරමින්
torlauncher.bootstrapStatus.loading_status=ජාල තත්වය ප්රවේශනය කරමින්
torlauncher.bootstrapStatus.loading_keys=අධිකාරීත්ව සහතික ප්රවේශනය කරමින්
torlauncher.bootstrapStatus.requesting_descriptors=ප්රතියෝජක තොරතුරු අයදුම් කරමින්
torlauncher.bootstrapStatus.loading_descriptors=ප්රතියෝජක තොරතුරු ප්රවේශනය කරමින්
-torlauncher.bootstrapStatus.conn_or=Tor ජාලය හා සම්බන්ධ වෙමින්
-torlauncher.bootstrapStatus.handshake_or=Tor පරිපථයක් ස්ථාපනය කරමින්
torlauncher.bootstrapStatus.done=Tor ජාලයට සබැදියි
torlauncher.bootstrapWarning.done=කරන ලදී
diff --git a/src/chrome/locale/sk-SK/torlauncher.properties b/src/chrome/locale/sk-SK/torlauncher.properties
index 2f77c46..26f6190 100644
--- a/src/chrome/locale/sk-SK/torlauncher.properties
+++ b/src/chrome/locale/sk-SK/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Pre pomoc navštívte %S
torlauncher.copiedNLogMessages=Kopírovanie kompletné. %S záznamov je pripravených na vloženie do textového editora alebo emailu.
-torlauncher.bootstrapStatus.conn_dir=Pripájam sa do priečinka relé
-torlauncher.bootstrapStatus.handshake_dir=Vytváram spojenie so zašifrovaným priečinkom
+torlauncher.bootstrapStatus.onehop_create=Vytváram spojenie so zašifrovaným priečinkom
torlauncher.bootstrapStatus.requesting_status=Získavam stav siete
torlauncher.bootstrapStatus.loading_status=Načítavam stav siete
torlauncher.bootstrapStatus.loading_keys=Načítavam certifikáty autority
torlauncher.bootstrapStatus.requesting_descriptors=Vyžiadavam informácie o relé
torlauncher.bootstrapStatus.loading_descriptors=Načítavam informácie o relé
-torlauncher.bootstrapStatus.conn_or=Pripájanie do siete Tor
-torlauncher.bootstrapStatus.handshake_or=Vytváram obvod Tor
torlauncher.bootstrapStatus.done=Pripojené do siete Tor!
torlauncher.bootstrapWarning.done=hotovo
diff --git a/src/chrome/locale/sk/torlauncher.properties b/src/chrome/locale/sk/torlauncher.properties
index 79100f0..b37a631 100644
--- a/src/chrome/locale/sk/torlauncher.properties
+++ b/src/chrome/locale/sk/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Kopirovanie ukončené. %S Tor log správy je pripravené na prilepenie do textového editora alebo emailovej správy.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Načítanie stavu siete
torlauncher.bootstrapStatus.loading_keys=Nahrávanie autorizačných certifikátov
torlauncher.bootstrapStatus.requesting_descriptors=Požiadať o informácie o relay
torlauncher.bootstrapStatus.loading_descriptors=Načítať informácie o relay
-torlauncher.bootstrapStatus.conn_or=Pripájanie do siete Tor
-torlauncher.bootstrapStatus.handshake_or=Nastavuje sa Tor okruh
torlauncher.bootstrapStatus.done=Ste pripojený do siete Tor!
torlauncher.bootstrapWarning.done=hotovo
diff --git a/src/chrome/locale/sl-SI/torlauncher.properties b/src/chrome/locale/sl-SI/torlauncher.properties
index bfbe535..947ddde 100644
--- a/src/chrome/locale/sl-SI/torlauncher.properties
+++ b/src/chrome/locale/sl-SI/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Kopiranje končano. % S Tor poročila so pripravljena za lepljenje v urejevalnik besedil ali e-poštno sporočilo.
-torlauncher.bootstrapStatus.conn_dir=Povezovanje na imenik vmesnika
-torlauncher.bootstrapStatus.handshake_dir=Urejanje šifriranega imenika povezave
+torlauncher.bootstrapStatus.onehop_create=Urejanje šifriranega imenika povezave
torlauncher.bootstrapStatus.requesting_status=Stanje vzpostavljenega omrežja
torlauncher.bootstrapStatus.loading_status=Stanje nalaganja omrežja
torlauncher.bootstrapStatus.loading_keys=Nalaganje veljavnosti certifikatov
torlauncher.bootstrapStatus.requesting_descriptors=Info zahtevanih vmesnikov
torlauncher.bootstrapStatus.loading_descriptors=Nalaganje informacij vmesnikov
-torlauncher.bootstrapStatus.conn_or=Povezovanje v Tor omrežje
-torlauncher.bootstrapStatus.handshake_or=Vzpostavljanje Tor povezave
torlauncher.bootstrapStatus.done=Povezan v Tor omrežje
torlauncher.bootstrapWarning.done=narejeno
diff --git a/src/chrome/locale/sl/torlauncher.properties b/src/chrome/locale/sl/torlauncher.properties
index d8c7624..ebab3ff 100644
--- a/src/chrome/locale/sl/torlauncher.properties
+++ b/src/chrome/locale/sl/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Povezovanje v Tor omrežje
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/sn/torlauncher.properties b/src/chrome/locale/sn/torlauncher.properties
index 85bb97c..71b7fc0 100644
--- a/src/chrome/locale/sn/torlauncher.properties
+++ b/src/chrome/locale/sn/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/so/torlauncher.properties b/src/chrome/locale/so/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/so/torlauncher.properties
+++ b/src/chrome/locale/so/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/son/torlauncher.properties b/src/chrome/locale/son/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/son/torlauncher.properties
+++ b/src/chrome/locale/son/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/sq-AL/torlauncher.properties b/src/chrome/locale/sq-AL/torlauncher.properties
index 02be756..da5641e 100644
--- a/src/chrome/locale/sq-AL/torlauncher.properties
+++ b/src/chrome/locale/sq-AL/torlauncher.properties
@@ -39,15 +39,12 @@ torlauncher.forAssistance=For assistance, contact %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/sq/torlauncher.properties b/src/chrome/locale/sq/torlauncher.properties
index bb461ef..b74eea0 100644
--- a/src/chrome/locale/sq/torlauncher.properties
+++ b/src/chrome/locale/sq/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Kopjimi u krye. Mesazhet e regjistrit të Tor për %S, janë gati për t'u ngjitur në një redaktues teksti, ose në një mesazh e-poste.
-torlauncher.bootstrapStatus.conn_dir=Lidhja me një direktori releje
-torlauncher.bootstrapStatus.handshake_dir=Krijimi i një lidhje me direktori të shifruar
+torlauncher.bootstrapStatus.onehop_create=Krijimi i një lidhje me direktori të shifruar
torlauncher.bootstrapStatus.requesting_status=Rigjetja e statusit të rrjetit
torlauncher.bootstrapStatus.loading_status=Ngarkimi i statusit të rrjetit
torlauncher.bootstrapStatus.loading_keys=Ngarkimi i certifikatave të autoritetit
torlauncher.bootstrapStatus.requesting_descriptors=Kërkimi i informacionit të relesë
torlauncher.bootstrapStatus.loading_descriptors=Ngarkimi i informacionit të relesë
-torlauncher.bootstrapStatus.conn_or=Të lidhesh me rrjetin Tor
-torlauncher.bootstrapStatus.handshake_or=Krijimi i një cirkuiti të Tor
torlauncher.bootstrapStatus.done=I lidhur me rrjetin e Tor!
torlauncher.bootstrapWarning.done=kryer
diff --git a/src/chrome/locale/sr/torlauncher.properties b/src/chrome/locale/sr/torlauncher.properties
index 95448ee..228a80a 100644
--- a/src/chrome/locale/sr/torlauncher.properties
+++ b/src/chrome/locale/sr/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Копирање завршено. %S Top лог поруке су спремне да буду налепљене у уређивач текста или у поруку у електронској пошти.
-torlauncher.bootstrapStatus.conn_dir=Повезивање са релеј директоријумом
-torlauncher.bootstrapStatus.handshake_dir=Успостављање шифроване везе директоријума
+torlauncher.bootstrapStatus.onehop_create=Успостављање шифроване везе директоријума
torlauncher.bootstrapStatus.requesting_status=Преузимање мрежног статуса
torlauncher.bootstrapStatus.loading_status=Учитавање мрежног статуса
torlauncher.bootstrapStatus.loading_keys=Преузимање сертификата ауторитета
torlauncher.bootstrapStatus.requesting_descriptors=Захтев за пренос информације
torlauncher.bootstrapStatus.loading_descriptors=Учитавање преноса информације
-torlauncher.bootstrapStatus.conn_or=Повезивање на Тор мрежу
-torlauncher.bootstrapStatus.handshake_or=Успостављање Тор круга
torlauncher.bootstrapStatus.done=Повезан са Тор мрежом!
torlauncher.bootstrapWarning.done=ради
diff --git a/src/chrome/locale/sr(a)latin/torlauncher.properties b/src/chrome/locale/sr(a)latin/torlauncher.properties
index 6a75211..c6019c2 100644
--- a/src/chrome/locale/sr(a)latin/torlauncher.properties
+++ b/src/chrome/locale/sr(a)latin/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/st/torlauncher.properties b/src/chrome/locale/st/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/st/torlauncher.properties
+++ b/src/chrome/locale/st/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/su/torlauncher.properties b/src/chrome/locale/su/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/su/torlauncher.properties
+++ b/src/chrome/locale/su/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/sv/torlauncher.properties b/src/chrome/locale/sv/torlauncher.properties
index 406dfb9..03dfa4d 100644
--- a/src/chrome/locale/sv/torlauncher.properties
+++ b/src/chrome/locale/sv/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=För hjälp, besök %S
torlauncher.copiedNLogMessages=Kopieringen är färdig. %S meddelanden från Tor-loggen som du kan klistra in i en textredigerare eller ett e-postmeddelande.
-torlauncher.bootstrapStatus.conn_dir=Ansluter till en reläkatalog
-torlauncher.bootstrapStatus.handshake_dir=Skapar en krypterad kataloganslutning
+torlauncher.bootstrapStatus.onehop_create=Skapar en krypterad kataloganslutning
torlauncher.bootstrapStatus.requesting_status=Hämtar nätverksstatus
torlauncher.bootstrapStatus.loading_status=Läser in nätverksstatus
torlauncher.bootstrapStatus.loading_keys=Läser in auktoritära certifikat
torlauncher.bootstrapStatus.requesting_descriptors=Begär reläinformation
torlauncher.bootstrapStatus.loading_descriptors=Läser in reläinformation
-torlauncher.bootstrapStatus.conn_or=Ansluter till Tor-nätverket
-torlauncher.bootstrapStatus.handshake_or=Etablerar en Tor-krets
torlauncher.bootstrapStatus.done=Ansluten till Tor-nätverket!
torlauncher.bootstrapWarning.done=klar
diff --git a/src/chrome/locale/sw/torlauncher.properties b/src/chrome/locale/sw/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/sw/torlauncher.properties
+++ b/src/chrome/locale/sw/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/szl/torlauncher.properties b/src/chrome/locale/szl/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/szl/torlauncher.properties
+++ b/src/chrome/locale/szl/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ta/torlauncher.properties b/src/chrome/locale/ta/torlauncher.properties
index 3bc8ce4..75cb7d1 100644
--- a/src/chrome/locale/ta/torlauncher.properties
+++ b/src/chrome/locale/ta/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Tor நெட்வொர்க்கிற்கு இணைக்கிறது
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/te-IN/torlauncher.properties b/src/chrome/locale/te-IN/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/te-IN/torlauncher.properties
+++ b/src/chrome/locale/te-IN/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/te/torlauncher.properties b/src/chrome/locale/te/torlauncher.properties
index 209ac60..2902bc5 100644
--- a/src/chrome/locale/te/torlauncher.properties
+++ b/src/chrome/locale/te/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/tg/torlauncher.properties b/src/chrome/locale/tg/torlauncher.properties
index bdc9b73..0014efd 100644
--- a/src/chrome/locale/tg/torlauncher.properties
+++ b/src/chrome/locale/tg/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/th/torlauncher.properties b/src/chrome/locale/th/torlauncher.properties
index 5c2e2a2..bad1a68 100644
--- a/src/chrome/locale/th/torlauncher.properties
+++ b/src/chrome/locale/th/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=สำหรับความช่วยเหล
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=กำลังเชื่อมต่อกับ คลังเก็บรายชื่อ relay (relay directory)
-torlauncher.bootstrapStatus.handshake_dir=กำลังสร้างการเชื่อมต่อแบบเข้ารหัสกับคลังเก็บรายชื่อ
+torlauncher.bootstrapStatus.onehop_create=กำลังสร้างการเชื่อมต่อแบบเข้ารหัสกับคลังเก็บรายชื่อ
torlauncher.bootstrapStatus.requesting_status=กำลังตรวจสถานะเครือข่าย
torlauncher.bootstrapStatus.loading_status=กำลังดึงข้อมูลสถานะเครือข่าย
torlauncher.bootstrapStatus.loading_keys=กำลังดึง ใบรับรองการให้สิทธิ (authority certificates)
torlauncher.bootstrapStatus.requesting_descriptors=กำลังร้องขอข้อมูล relay
torlauncher.bootstrapStatus.loading_descriptors=กำลังดึงข้อมูล relay
-torlauncher.bootstrapStatus.conn_or=กำลังเชื่อมต่อสู่เครือข่าย Tor
-torlauncher.bootstrapStatus.handshake_or=กำลังสร้างวงจรเชื่อมต่อ Tor
torlauncher.bootstrapStatus.done=เชื่อมต่อสู่เครือข่าย Tor เรียบร้อย!
torlauncher.bootstrapWarning.done=สำเร็จ
diff --git a/src/chrome/locale/ti/torlauncher.properties b/src/chrome/locale/ti/torlauncher.properties
index c438d31..551323b 100644
--- a/src/chrome/locale/ti/torlauncher.properties
+++ b/src/chrome/locale/ti/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/tk/torlauncher.properties b/src/chrome/locale/tk/torlauncher.properties
index 7a3e6af..7d7cf4d 100644
--- a/src/chrome/locale/tk/torlauncher.properties
+++ b/src/chrome/locale/tk/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/tr/torlauncher.properties b/src/chrome/locale/tr/torlauncher.properties
index e30c41d..2eb5514 100644
--- a/src/chrome/locale/tr/torlauncher.properties
+++ b/src/chrome/locale/tr/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Yardım almak için, %S sayfasına bakabilirsiniz
torlauncher.copiedNLogMessages=Kopyalama tamamlandı. %S Tor günlük iletisi bir metin düzenleyici ya da e-posta iletisine kopyalanmaya hazır.
-torlauncher.bootstrapStatus.conn_dir=Bir aktarıcı dizinine bağlanılıyor
-torlauncher.bootstrapStatus.handshake_dir=Şifrelenmiş dizin bağlantısı kuruluyor
+torlauncher.bootstrapStatus.onehop_create=Şifrelenmiş dizin bağlantısı kuruluyor
torlauncher.bootstrapStatus.requesting_status=Ağ durumu alınıyor
torlauncher.bootstrapStatus.loading_status=Ağ durumu yükleniyor
torlauncher.bootstrapStatus.loading_keys=Otorite sertifikaları yükleniyor
torlauncher.bootstrapStatus.requesting_descriptors=Aktarıcı bilgisi isteniyor
torlauncher.bootstrapStatus.loading_descriptors=Aktarıcı bilgisi yükleniyor
-torlauncher.bootstrapStatus.conn_or=Tor ağına bağlanılıyor
-torlauncher.bootstrapStatus.handshake_or=Bir Tor devresi kuruluyor
torlauncher.bootstrapStatus.done=Tor ağına bağlanıldı!
torlauncher.bootstrapWarning.done=bitti
diff --git a/src/chrome/locale/uk/torlauncher.properties b/src/chrome/locale/uk/torlauncher.properties
index cad5d23..cd37550 100644
--- a/src/chrome/locale/uk/torlauncher.properties
+++ b/src/chrome/locale/uk/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Для отримання допомоги, будь
torlauncher.copiedNLogMessages=Копіювання завершено. %S повідомлень журналу tor готові до вставки у текстовий редактор або повідомлення електронної пошти.
-torlauncher.bootstrapStatus.conn_dir=З'єднання з довідником маршрутизатора
-torlauncher.bootstrapStatus.handshake_dir=Встановлення зашифрованого з'єднання до каталогу
+torlauncher.bootstrapStatus.onehop_create=Встановлення зашифрованого з'єднання до каталогу
torlauncher.bootstrapStatus.requesting_status=Отримання стану мережі
torlauncher.bootstrapStatus.loading_status=Завантаження стану мережі
torlauncher.bootstrapStatus.loading_keys=Завантаження сертифікатів авторизації
torlauncher.bootstrapStatus.requesting_descriptors=Запит інформації про марщрутизацію
torlauncher.bootstrapStatus.loading_descriptors=Завантаження інформації про маршрутизацію
-torlauncher.bootstrapStatus.conn_or=Підключення до мережі Tor
-torlauncher.bootstrapStatus.handshake_or=Створення ланцюга Tor
torlauncher.bootstrapStatus.done=Підключений до мережі Tor!
torlauncher.bootstrapWarning.done=виконано
diff --git a/src/chrome/locale/ur-PK/torlauncher.properties b/src/chrome/locale/ur-PK/torlauncher.properties
index caf020b..4d1db29 100644
--- a/src/chrome/locale/ur-PK/torlauncher.properties
+++ b/src/chrome/locale/ur-PK/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=ٹار نیٹ ورکس سے رابطہ بنائیں
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ur/torlauncher.properties b/src/chrome/locale/ur/torlauncher.properties
index caf020b..4d1db29 100644
--- a/src/chrome/locale/ur/torlauncher.properties
+++ b/src/chrome/locale/ur/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=ٹار نیٹ ورکس سے رابطہ بنائیں
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/uz/torlauncher.properties b/src/chrome/locale/uz/torlauncher.properties
index d780d29..7699aa2 100644
--- a/src/chrome/locale/uz/torlauncher.properties
+++ b/src/chrome/locale/uz/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Tor tarmog'iga ulanish
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/ve/torlauncher.properties b/src/chrome/locale/ve/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/ve/torlauncher.properties
+++ b/src/chrome/locale/ve/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/vi/torlauncher.properties b/src/chrome/locale/vi/torlauncher.properties
index 119325f..e95139a 100644
--- a/src/chrome/locale/vi/torlauncher.properties
+++ b/src/chrome/locale/vi/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=Nếu cần sự giúp đỡ, ghé qua %S
torlauncher.copiedNLogMessages=Sao chép hoàn tất. %S thông điệp nhật ký của Tor đã sẵn sàng để dán vào một chương trình sửa văn bản hoặc một thông điệp email.
-torlauncher.bootstrapStatus.conn_dir=Kết nối vào một thư mục chuyển tiếp
-torlauncher.bootstrapStatus.handshake_dir=Thành lập một kết nối thư mục được mã hóa
+torlauncher.bootstrapStatus.onehop_create=Thành lập một kết nối thư mục được mã hóa
torlauncher.bootstrapStatus.requesting_status=Khôi phục trạng thái mạng
torlauncher.bootstrapStatus.loading_status=Nap tình trạng mạng
torlauncher.bootstrapStatus.loading_keys=Nạp giấy chứng nhận quyền
torlauncher.bootstrapStatus.requesting_descriptors=Yêu cầu thông tin tiếp sức
torlauncher.bootstrapStatus.loading_descriptors=Tải thông tin tiếp sức
-torlauncher.bootstrapStatus.conn_or=Kết nối với mạng Tor
-torlauncher.bootstrapStatus.handshake_or=Thành lập một mạch Tor
torlauncher.bootstrapStatus.done=Kết nối với mạng Tor!
torlauncher.bootstrapWarning.done=làm xong
diff --git a/src/chrome/locale/wa/torlauncher.properties b/src/chrome/locale/wa/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/wa/torlauncher.properties
+++ b/src/chrome/locale/wa/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/wo/torlauncher.properties b/src/chrome/locale/wo/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/wo/torlauncher.properties
+++ b/src/chrome/locale/wo/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/zh-CN.GB2312/torlauncher.properties b/src/chrome/locale/zh-CN.GB2312/torlauncher.properties
index d82d688..65407db 100644
--- a/src/chrome/locale/zh-CN.GB2312/torlauncher.properties
+++ b/src/chrome/locale/zh-CN.GB2312/torlauncher.properties
@@ -31,15 +31,12 @@
# torlauncher.forAssistance=For assistance, contact %S
-# torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-# torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+# torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
# torlauncher.bootstrapStatus.requesting_status=Retrieving network status
# torlauncher.bootstrapStatus.loading_status=Loading network status
# torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
# torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
# torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-# torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-# torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
# torlauncher.bootstrapStatus.done=Connected to the Tor network!
# torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/zh-CN/torlauncher.properties b/src/chrome/locale/zh-CN/torlauncher.properties
index 3c425e2..55c4e54 100644
--- a/src/chrome/locale/zh-CN/torlauncher.properties
+++ b/src/chrome/locale/zh-CN/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=如需帮助,请访问 %S
torlauncher.copiedNLogMessages=复制完成。%S 条 Tor 日志信息已准备好,可以将其粘贴到文本编辑器或电子邮件中。
-torlauncher.bootstrapStatus.conn_dir=正在连接中继目录
-torlauncher.bootstrapStatus.handshake_dir=正在建立加密的目录连接
+torlauncher.bootstrapStatus.onehop_create=正在建立加密的目录连接
torlauncher.bootstrapStatus.requesting_status=正在检索网络状态
torlauncher.bootstrapStatus.loading_status=正在载入网络状态
torlauncher.bootstrapStatus.loading_keys=正在载入证书颁发机构证书
torlauncher.bootstrapStatus.requesting_descriptors=正在请求中继信息
torlauncher.bootstrapStatus.loading_descriptors=正在载入中继信息
-torlauncher.bootstrapStatus.conn_or=正在连接 Tor 网络
-torlauncher.bootstrapStatus.handshake_or=正在建立 Tor 线路
torlauncher.bootstrapStatus.done=Tor 网络已经连接!
torlauncher.bootstrapWarning.done=完成
diff --git a/src/chrome/locale/zh-HK/torlauncher.properties b/src/chrome/locale/zh-HK/torlauncher.properties
index 7844ab6..5eb4cf4 100644
--- a/src/chrome/locale/zh-HK/torlauncher.properties
+++ b/src/chrome/locale/zh-HK/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=如需協助,請到訪%S
torlauncher.copiedNLogMessages=複製完成。%S Tor洋蔥路由日誌已準備好被貼到文字編輯器或電郵。
-torlauncher.bootstrapStatus.conn_dir=正連接至轉向目錄
-torlauncher.bootstrapStatus.handshake_dir=正在建立加密嘅目錄連線
+torlauncher.bootstrapStatus.onehop_create=正在建立加密嘅目錄連線
torlauncher.bootstrapStatus.requesting_status=正在取得網絡狀態
torlauncher.bootstrapStatus.loading_status=正在載入網絡狀態
torlauncher.bootstrapStatus.loading_keys=正在載入授權憑證
torlauncher.bootstrapStatus.requesting_descriptors=正在索取轉向站資訊
torlauncher.bootstrapStatus.loading_descriptors=正在載入轉向站資訊
-torlauncher.bootstrapStatus.conn_or=正連接到Tor洋蔥路由網絡
-torlauncher.bootstrapStatus.handshake_or=正在建立Tor洋蔥路由線路
torlauncher.bootstrapStatus.done=已連接到Tor洋蔥路由網絡!
torlauncher.bootstrapWarning.done=完成
diff --git a/src/chrome/locale/zh-TW/torlauncher.properties b/src/chrome/locale/zh-TW/torlauncher.properties
index 134a2a8..43172ee 100644
--- a/src/chrome/locale/zh-TW/torlauncher.properties
+++ b/src/chrome/locale/zh-TW/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=若需要協助的話,可以造訪 %S
torlauncher.copiedNLogMessages=複製完成。%S 洋蔥路由紀錄訊息已準備好被貼到文字編輯器或是一封電子郵件訊息。
-torlauncher.bootstrapStatus.conn_dir=正連接至中繼目錄
-torlauncher.bootstrapStatus.handshake_dir=正在建立加密的目錄連線
+torlauncher.bootstrapStatus.onehop_create=正在建立加密的目錄連線
torlauncher.bootstrapStatus.requesting_status=正在擷取網路狀態
torlauncher.bootstrapStatus.loading_status=正在載入網路狀態
torlauncher.bootstrapStatus.loading_keys=正在載入授權憑證
torlauncher.bootstrapStatus.requesting_descriptors=正在索取中繼節點資訊
torlauncher.bootstrapStatus.loading_descriptors=正在載入中繼節點資訊
-torlauncher.bootstrapStatus.conn_or=正連接至洋蔥路由網路
-torlauncher.bootstrapStatus.handshake_or=正在建立洋蔥路由迴路
torlauncher.bootstrapStatus.done=已連接到洋蔥路由網路!
torlauncher.bootstrapWarning.done=完成
diff --git a/src/chrome/locale/zh/torlauncher.properties b/src/chrome/locale/zh/torlauncher.properties
index d82d688..65407db 100644
--- a/src/chrome/locale/zh/torlauncher.properties
+++ b/src/chrome/locale/zh/torlauncher.properties
@@ -31,15 +31,12 @@
# torlauncher.forAssistance=For assistance, contact %S
-# torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-# torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+# torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
# torlauncher.bootstrapStatus.requesting_status=Retrieving network status
# torlauncher.bootstrapStatus.loading_status=Loading network status
# torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
# torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
# torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-# torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-# torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
# torlauncher.bootstrapStatus.done=Connected to the Tor network!
# torlauncher.bootstrapWarning.done=done
diff --git a/src/chrome/locale/zu/torlauncher.properties b/src/chrome/locale/zu/torlauncher.properties
index a4d097a..15a3fc1 100644
--- a/src/chrome/locale/zu/torlauncher.properties
+++ b/src/chrome/locale/zu/torlauncher.properties
@@ -52,15 +52,12 @@ torlauncher.forAssistance2=For assistance, visit %S
torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
+torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
torlauncher.bootstrapStatus.requesting_status=Retrieving network status
torlauncher.bootstrapStatus.loading_status=Loading network status
torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
torlauncher.bootstrapWarning.done=done
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index 36abeaa..8b59afb 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -194,10 +194,17 @@ let TorLauncherUtil = // Public
var key;
if (aKeyword == "TAG")
{
- if ("onehop_create" == val)
- val = "handshake_dir";
- else if ("circuit_create" == val)
- val = "handshake_or";
+ // The bootstrap status tags in tagMap below are used by Tor
+ // versions prior to 0.4.0.x. We map each one to the tag that will
+ // produce the localized string that is the best fit.
+ let tagMap =
+ {
+ "conn_dir": "conn",
+ "handshake_dir": "onehop_create",
+ "conn_or": "enough_dirinfo",
+ "handshake_or": "ap_conn"
+ };
+ if (val in tagMap) val = tagMap[val];
key = "bootstrapStatus." + val;
fallbackStr = aStatusObj.SUMMARY;
1
0

[tor-browser-build/master] Bug 29183: Use linux-x86_64 langpacks on linux-x86_64
by gk@torproject.org 06 Feb '19
by gk@torproject.org 06 Feb '19
06 Feb '19
commit 86ebdafc28a55042fea553ad7f23f796ea963b75
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Feb 6 17:16:40 2019 +0100
Bug 29183: Use linux-x86_64 langpacks on linux-x86_64
We were previously using the linux-i686 langpacks in the linux-x86_64
builds.
---
projects/firefox-langpacks/config | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 04cd7dd..17a707a 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -5,10 +5,12 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
ff_build: build2
- ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
targets:
+ linux:
+ var:
+ ff_arch: 'linux-[% c("arch") %]'
windows-i686:
var:
ff_arch: win32
1
0

[tor-browser-build/master] Bug 29349: Remove network.http.spdy.* overrides from meek helper user.js.
by gk@torproject.org 06 Feb '19
by gk@torproject.org 06 Feb '19
06 Feb '19
commit 9117e69a41563c21621d7337357d9da7c8958573
Author: David Fifield <david(a)bamsoftware.com>
Date: Tue Feb 5 22:13:56 2019 +0000
Bug 29349: Remove network.http.spdy.* overrides from meek helper user.js.
First added in https://bugs.torproject.org/15512 for Firefox 38 ESR,
these are no longer needed.
Tor Browser no longer sets these to false:
https://bugs.torproject.org/14952#comment:49
https://github.com/arthuredelstein/tor-browser/commit/14952+1
network.http.spdy.enabled.http2draft no longer even exists:
https://bugzilla.mozilla.org/show_bug.cgi?id=1132357
network.http.spdy.enabled.v3-1 no longer even exists:
https://bugzilla.mozilla.org/show_bug.cgi?id=1248197
---
.../tor-browser/Bundle-Data/PTConfigs/meek-http-helper-user.js | 8 --------
1 file changed, 8 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/meek-http-helper-user.js b/projects/tor-browser/Bundle-Data/PTConfigs/meek-http-helper-user.js
index 820335d..c62b066 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/meek-http-helper-user.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/meek-http-helper-user.js
@@ -9,14 +9,6 @@ user_pref("browser.dom.window.dump.enabled", true);
// https://trac.torproject.org/projects/tor/ticket/13442#comment:1
user_pref("security.ssl.disable_session_identifiers", false);
-// Enable SPDY and HTTP/2 as they are in Firefox 38, for a matching ALPN
-// extension.
-// https://trac.torproject.org/projects/tor/ticket/15512
-user_pref("network.http.spdy.enabled", true);
-user_pref("network.http.spdy.enabled.http2", true);
-user_pref("network.http.spdy.enabled.http2draft", true);
-user_pref("network.http.spdy.enabled.v3-1", true);
-
// Disable safe mode. In case of a crash, we don't want to prompt for a
// safe-mode browser that has extensions disabled.
// https://support.mozilla.org/en-US/questions/951221#answer-410562
1
0

05 Feb '19
commit 50193b4aff592e79b5a45fccb2a1547cef8e2691
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Feb 5 19:54:13 2019 +0100
Bug 29325: Use Yawning's utls fork
The nightly version of obfs4 now requires Yawning's utls fork, so we
change projects/goutls to use Yawning's fork.
While doing that we rename keyring/obfs4.gpg to keyring/yawning.gpg, to
use the same keyring in obfs4 and goutls. And we refresh it to get the
new subkeys.
---
keyring/{obfs4.gpg => yawning.gpg} | Bin 41312 -> 58959 bytes
projects/gocompress/config | 17 +++++++++++++++++
projects/goutls/config | 13 +++++++++----
projects/obfs4/config | 2 +-
4 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/keyring/obfs4.gpg b/keyring/yawning.gpg
similarity index 65%
rename from keyring/obfs4.gpg
rename to keyring/yawning.gpg
index f26a4cd..e3384c5 100644
Binary files a/keyring/obfs4.gpg and b/keyring/yawning.gpg differ
diff --git a/projects/gocompress/config b/projects/gocompress/config
new file mode 100644
index 0000000..c675362
--- /dev/null
+++ b/projects/gocompress/config
@@ -0,0 +1,17 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://github.com/dsnet/compress
+git_hash: cc9eb1d7ad760af14e8f918698f745e80377af4f
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+ container:
+ use_container: 1
+ go_lib: github.com/dsnet/compress
+
+input_files:
+ - project: container-image
+ - name: go
+ project: go
diff --git a/projects/goutls/config b/projects/goutls/config
index bdd5273..b21dea9 100644
--- a/projects/goutls/config
+++ b/projects/goutls/config
@@ -1,7 +1,9 @@
# vim: filetype=yaml sw=2
-version: '[% c("abbrev") %]'
-git_url: https://github.com/refraction-networking/utls
-git_hash: a89e7e6da482a5a0db02578fc606ace9ccfbea62
+git_url: https://gitlab.com/yawning/utls.git
+version: 0.0.9-2
+git_hash: 'v[% c("version") %]'
+tag_gpg_id: 1
+gpg_keyring: yawning.gpg
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
build: '[% c("projects/go/var/build_go_lib") %]'
@@ -9,9 +11,10 @@ build: '[% c("projects/go/var/build_go_lib") %]'
var:
container:
use_container: 1
- go_lib: github.com/refraction-networking/utls
+ go_lib: gitlab.com/yawning/utls.git
go_lib_deps:
- goxcrypto
+ - gocompress
input_files:
- project: container-image
@@ -19,3 +22,5 @@ input_files:
project: go
- name: goxcrypto
project: goxcrypto
+ - name: gocompress
+ project: gocompress
diff --git a/projects/obfs4/config b/projects/obfs4/config
index 2c94f10..32d3435 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -3,7 +3,7 @@ version: 0.0.7
git_url: https://git.torproject.org/pluggable-transports/obfs4.git
git_hash: 'obfs4proxy-[% c("version") %]'
tag_gpg_id: 1
-gpg_keyring: obfs4.gpg
+gpg_keyring: yawning.gpg
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
var:
1
0

[tor-browser/tor-browser-60.5.0esr-8.5-1] Bug 29180: MAR download stalls when about dialog is opened
by gk@torproject.org 05 Feb '19
by gk@torproject.org 05 Feb '19
05 Feb '19
commit ffda294141584fdf69257e2a04fbcc7d4705ca3f
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Thu Jan 31 10:01:14 2019 -0500
Bug 29180: MAR download stalls when about dialog is opened
Avoid stopping and restarting the download when the about dialog
or update dialog is opened. This avoids a race between canceling
the MAR download and trying to start a new download.
---
browser/base/content/aboutDialog-appUpdater.js | 17 +++++++++++-----
toolkit/mozapps/update/content/updates.js | 27 ++++++++++++++------------
2 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/browser/base/content/aboutDialog-appUpdater.js b/browser/base/content/aboutDialog-appUpdater.js
index e81098a1e898..b732db6bee6b 100644
--- a/browser/base/content/aboutDialog-appUpdater.js
+++ b/browser/base/content/aboutDialog-appUpdater.js
@@ -318,11 +318,18 @@ appUpdater.prototype =
this.update.QueryInterface(Ci.nsIWritablePropertyBag);
this.update.setProperty("foregroundDownload", "true");
- this.aus.pauseDownload();
- let state = this.aus.downloadUpdate(this.update, false);
- if (state == "failed") {
- this.selectPanel("downloadFailed");
- return;
+ // If one is not already in progress, start a download. Previously,
+ // we would pause and restart an existing download in case there was
+ // a need to transition from a background download to a foreground one,
+ // but that caused Tor bug 29180. There is no difference between a
+ // foreground and background download unless the update manifest
+ // includes a backgroundInterval attribute.
+ if (!this.isDownloading) {
+ let state = this.aus.downloadUpdate(this.update, false);
+ if (state == "failed") {
+ this.selectPanel("downloadFailed");
+ return;
+ }
}
this.setupDownloadingUI();
diff --git a/toolkit/mozapps/update/content/updates.js b/toolkit/mozapps/update/content/updates.js
index 5b6ae7cc6ba1..195265ff81f9 100644
--- a/toolkit/mozapps/update/content/updates.js
+++ b/toolkit/mozapps/update/content/updates.js
@@ -751,19 +751,22 @@ var gDownloadingPage = {
gUpdates.update.QueryInterface(Ci.nsIWritablePropertyBag);
gUpdates.update.setProperty("foregroundDownload", "true");
- // Pause any active background download and restart it as a foreground
- // download.
- aus.pauseDownload();
- var state = aus.downloadUpdate(gUpdates.update, false);
- if (state == "failed") {
- // We've tried as hard as we could to download a valid update -
- // we fell back from a partial patch to a complete patch and even
- // then we couldn't validate. Show a validation error with instructions
- // on how to manually update.
- this.cleanUp();
- gUpdates.wiz.goTo("errors");
- return;
+ // If it is not already in progress, start the download. See
+ // Tor bug 29180 as well as the longer comment in the startDownload()
+ // function within browser/base/content/aboutDialog-appUpdater.js.
+ if (!aus.isDownloading) {
+ var state = aus.downloadUpdate(gUpdates.update, false);
+ if (state == "failed") {
+ // We've tried as hard as we could to download a valid update -
+ // we fell back from a partial patch to a complete patch and even
+ // then we couldn't validate. Show a validation error with
+ // instructions on how to manually update.
+ this.cleanUp();
+ gUpdates.wiz.goTo("errors");
+ return;
+ }
}
+
// Add this UI as a listener for active downloads
aus.addDownloadListener(this);
1
0

[tor-browser/tor-browser-60.5.0esr-8.5-1] Bug 28885: notify users that update is downloading
by gk@torproject.org 05 Feb '19
by gk@torproject.org 05 Feb '19
05 Feb '19
commit d176b2c555c1f0298ab8764bcb6c4fda8dc255ff
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Jan 16 15:06:07 2019 -0500
Bug 28885: notify users that update is downloading
Add a "Downloading Tor Browser update" item which appears in the
hamburger (app) menu while the update service is downloading a MAR
file. Before this change, the browser did not indicate to the user
that an update was in progress, which is especially confusing in
Tor Browser because downloads often take some time. If the user
clicks on the new menu item, the about dialog is opened to allow
the user to see download progress.
As part of this fix, the update service was changed to always show
update-related messages in the hamburger menu, even if the update
was started in the foreground via the about dialog or via the
"Check for Tor Browser Update" toolbar menu item. This change is
consistent with the Tor Browser goal of making sure users are
informed about the update process.
---
browser/app/profile/000-tor-browser.js | 1 +
.../customizableui/content/panelUI.inc.xul | 1 +
.../components/customizableui/content/panelUI.js | 28 ++++++++++++++++++++++
browser/components/nsBrowserGlue.js | 1 +
.../themes/shared/customizableui/panelUI.inc.css | 1 +
browser/themes/shared/toolbarbutton-icons.inc.css | 1 +
toolkit/mozapps/update/UpdateListener.jsm | 23 ++++++++++++++++++
toolkit/mozapps/update/nsUpdateService.js | 28 ++++++++++++++++++++++
8 files changed, 84 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 11027f4c9a3a..9f1e727ce724 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -20,6 +20,7 @@ pref("startup.homepage_override_url", "https://blog.torproject.org/category/tags
// Try to nag a bit more about updates: Pop up a restart dialog an hour after the initial dialog
pref("app.update.promptWaitTime", 3600);
pref("app.update.badge", true);
+pref("app.update.notifyDuringDownload", true);
pref("extensions.hotfix.id", ""); // Bug 16837: Disable hotfix updates as they may cause compat issues
#ifdef XP_WIN
diff --git a/browser/components/customizableui/content/panelUI.inc.xul b/browser/components/customizableui/content/panelUI.inc.xul
index 5891556a6e5f..ee4f8351d02b 100644
--- a/browser/components/customizableui/content/panelUI.inc.xul
+++ b/browser/components/customizableui/content/panelUI.inc.xul
@@ -172,6 +172,7 @@
<vbox id="appMenu-addon-banners"/>
<toolbarbutton class="panel-banner-item"
label-update-available="&updateAvailable.panelUI.label;"
+ label-update-downloading="Downloading update"
label-update-manual="&updateManual.panelUI.label;"
label-update-restart="&updateRestart.panelUI.label2;"
oncommand="PanelUI._onBannerItemSelected(event)"
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
index 5233be130be2..a4018bb2e6c2 100644
--- a/browser/components/customizableui/content/panelUI.js
+++ b/browser/components/customizableui/content/panelUI.js
@@ -46,6 +46,7 @@ const PanelUI = {
init() {
this._initElements();
+ this._initUpdaterStrings();
this.menuButton.addEventListener("mousedown", this);
this.menuButton.addEventListener("keypress", this);
@@ -53,6 +54,7 @@ const PanelUI = {
Services.obs.addObserver(this, "fullscreen-nav-toolbox");
Services.obs.addObserver(this, "appMenu-notifications");
+ Services.obs.addObserver(this, "show-update-progress");
XPCOMUtils.defineLazyPreferenceGetter(this, "autoHideToolbarInFullScreen",
"browser.fullscreen.autohide", false, (pref, previousValue, newValue) => {
@@ -120,6 +122,28 @@ const PanelUI = {
}
},
+ _initUpdaterStrings() {
+ // If Torbutton is installed and enabled, replace the "Downloading update"
+ // string with one from torbutton.properties (to facilitate localization).
+ try {
+ let brands = Services.strings.createBundle(
+ "chrome://branding/locale/brand.properties");
+ let stringArgs = [brands.GetStringFromName("brandShortName")];
+ let torbuttonBundle = Services.strings.createBundle(
+ "chrome://torbutton/locale/torbutton.properties");
+ let label = torbuttonBundle.formatStringFromName(
+ "updateDownloadingPanelUILabel", stringArgs, 1);
+ let attrName = "label-update-downloading";
+ let elements = document.getElementsByClassName("panel-banner-item");
+ for (let i = 0; i < elements.length; ++i) {
+ let elem = elements.item(i);
+ if (elem.hasAttribute(attrName)) {
+ elem.setAttribute(attrName, label);
+ }
+ }
+ } catch (e) {}
+ },
+
_eventListenersAdded: false,
_ensureEventListenersAdded() {
if (this._eventListenersAdded)
@@ -152,6 +176,7 @@ const PanelUI = {
Services.obs.removeObserver(this, "fullscreen-nav-toolbox");
Services.obs.removeObserver(this, "appMenu-notifications");
+ Services.obs.removeObserver(this, "show-update-progress");
window.removeEventListener("MozDOMFullscreen:Entered", this);
window.removeEventListener("MozDOMFullscreen:Exited", this);
@@ -252,6 +277,9 @@ const PanelUI = {
this._notifications = AppMenuNotifications.notifications;
this._updateNotifications(true);
break;
+ case "show-update-progress":
+ openAboutDialog();
+ break;
}
},
diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js
index 0ec10a3337d4..e68817fd3c7c 100644
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -187,6 +187,7 @@ const global = this;
const listeners = {
observers: {
+ "update-downloading": ["UpdateListener"],
"update-staged": ["UpdateListener"],
"update-downloaded": ["UpdateListener"],
"update-available": ["UpdateListener"],
diff --git a/browser/themes/shared/customizableui/panelUI.inc.css b/browser/themes/shared/customizableui/panelUI.inc.css
index 75946aa5f082..4cb2032a09d1 100644
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -62,6 +62,7 @@
}
#PanelUI-menu-button[badge-status="update-available"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
+#PanelUI-menu-button[badge-status="update-downloading"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
#PanelUI-menu-button[badge-status="update-manual"] > .toolbarbutton-badge-stack > .toolbarbutton-badge,
#PanelUI-menu-button[badge-status="update-restart"] > .toolbarbutton-badge-stack > .toolbarbutton-badge {
background: #74BF43 url(chrome://browser/skin/update-badge.svg) no-repeat center;
diff --git a/browser/themes/shared/toolbarbutton-icons.inc.css b/browser/themes/shared/toolbarbutton-icons.inc.css
index d3a634d5ff51..230ddf951858 100644
--- a/browser/themes/shared/toolbarbutton-icons.inc.css
+++ b/browser/themes/shared/toolbarbutton-icons.inc.css
@@ -259,6 +259,7 @@ toolbar[brighttext] {
}
#PanelUI-menu-button[badge-status="update-available"],
+#PanelUI-menu-button[badge-status="update-downloading"],
#PanelUI-menu-button[badge-status="update-manual"],
#PanelUI-menu-button[badge-status="update-restart"] {
list-style-image: url("chrome://browser/skin/menu-badged.svg");
diff --git a/toolkit/mozapps/update/UpdateListener.jsm b/toolkit/mozapps/update/UpdateListener.jsm
index a2b228d321ac..8437f4b884d4 100644
--- a/toolkit/mozapps/update/UpdateListener.jsm
+++ b/toolkit/mozapps/update/UpdateListener.jsm
@@ -127,6 +127,15 @@ var UpdateListener = {
doc => this.replaceReleaseNotes(doc, update, "updateManualWhatsNew"));
},
+ showUpdateDownloadingNotification() {
+ this.showUpdateNotification("downloading", true, true, () => {
+ // The user clicked on the "Downloading update" app menu item.
+ // Code in browser/components/customizableui/content/panelUI.js
+ // receives the following notification and opens the about dialog.
+ Services.obs.notifyObservers(null, "show-update-progress", null);
+ });
+ },
+
handleUpdateError(update, status) {
switch (status) {
case "download-attempt-failed":
@@ -204,6 +213,17 @@ var UpdateListener = {
}
},
+ handleUpdateDownloading(status) {
+ switch (status) {
+ case "downloading":
+ this.showUpdateDownloadingNotification();
+ break;
+ case "idle":
+ this.reset();
+ break;
+ }
+ },
+
observe(subject, topic, status) {
if (!this.enabled) {
return;
@@ -215,6 +235,9 @@ var UpdateListener = {
case "update-available":
this.handleUpdateAvailable(update, status);
break;
+ case "update-downloading":
+ this.handleUpdateDownloading(status);
+ break;
case "update-staged":
case "update-downloaded":
this.handleUpdateStagedOrDownloaded(update, status);
diff --git a/toolkit/mozapps/update/nsUpdateService.js b/toolkit/mozapps/update/nsUpdateService.js
index b2a4e82cf241..159112805425 100644
--- a/toolkit/mozapps/update/nsUpdateService.js
+++ b/toolkit/mozapps/update/nsUpdateService.js
@@ -38,6 +38,7 @@ const PREF_APP_UPDATE_ENABLED = "app.update.enabled";
const PREF_APP_UPDATE_IDLETIME = "app.update.idletime";
const PREF_APP_UPDATE_LOG = "app.update.log";
const PREF_APP_UPDATE_NOTIFIEDUNSUPPORTED = "app.update.notifiedUnsupported";
+const PREF_APP_UPDATE_NOTIFYDURINGDOWNLOAD = "app.update.notifyDuringDownload";
const PREF_APP_UPDATE_POSTUPDATE = "app.update.postupdate";
const PREF_APP_UPDATE_PROMPTWAITTIME = "app.update.promptWaitTime";
const PREF_APP_UPDATE_SERVICE_ENABLED = "app.update.service.enabled";
@@ -3325,6 +3326,8 @@ Downloader.prototype = {
if (this._request && this._request instanceof Ci.nsIRequest) {
this._request.cancel(cancelError);
}
+
+ this._notifyDownloadStatusObservers();
},
/**
@@ -3498,6 +3501,13 @@ Downloader.prototype = {
return selectedPatch;
},
+ _notifyDownloadStatusObservers: function Downloader_notifyDownloadStatusObservers() {
+ if (Services.prefs.getBoolPref(PREF_APP_UPDATE_NOTIFYDURINGDOWNLOAD, false)) {
+ let status = this.updateService.isDownloading ? "downloading" : "idle";
+ Services.obs.notifyObservers(this._update, "update-downloading", status);
+ }
+ },
+
/**
* Whether or not we are currently downloading something.
*/
@@ -3552,6 +3562,9 @@ Downloader.prototype = {
var um = Cc["@mozilla.org/updates/update-manager;1"].
getService(Ci.nsIUpdateManager);
um.saveUpdates();
+
+ this._notifyDownloadStatusObservers();
+
return STATE_DOWNLOADING;
},
@@ -3728,9 +3741,16 @@ Downloader.prototype = {
} else {
state = STATE_PENDING;
}
+#if defined(TOR_BROWSER_UPDATE)
+ // In Tor Browser, show update-related messages in the hamburger menu
+ // even if the update was started in the foreground, e.g., from the
+ // about box.
+ shouldShowPrompt = !getCanStageUpdates();
+#else
if (this.background) {
shouldShowPrompt = !getCanStageUpdates();
}
+#endif
AUSTLMY.pingDownloadCode(this.isCompleteUpdate, AUSTLMY.DWNLD_SUCCESS);
// Tell the updater.exe we're ready to apply.
@@ -3835,6 +3855,7 @@ Downloader.prototype = {
}
this._request = null;
+ this._notifyDownloadStatusObservers();
if (state == STATE_DOWNLOAD_FAILED) {
var allFailed = true;
@@ -3907,9 +3928,16 @@ Downloader.prototype = {
// processor service.
LOG("Downloader:onStopRequest - failed to stage update. Exception: " +
e);
+#if defined(TOR_BROWSER_UPDATE)
+ // In Tor Browser, show update-related messages in the hamburger menu
+ // even if the update was started in the foreground, e.g., from the
+ // about box.
+ shouldShowPrompt = true;
+#else
if (this.background) {
shouldShowPrompt = true;
}
+#endif
}
}
}
1
0

[tor-browser/tor-browser-60.5.0esr-8.5-1] fixup! Bug 23247: Communicating security expectations for .onion
by gk@torproject.org 04 Feb '19
by gk@torproject.org 04 Feb '19
04 Feb '19
commit 71eb1c774844d5662184914f4defd76110fe0ef7
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Feb 4 09:09:10 2019 +0000
fixup! Bug 23247: Communicating security expectations for .onion
This commit fixes #29327.
---
browser/base/content/pageinfo/security.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/browser/base/content/pageinfo/security.js b/browser/base/content/pageinfo/security.js
index 5a827488ccad..ef12ddb0099f 100644
--- a/browser/base/content/pageinfo/security.js
+++ b/browser/base/content/pageinfo/security.js
@@ -52,7 +52,10 @@ var security = {
(ui.state & Ci.nsIWebProgressListener.STATE_IS_INSECURE);
var isEV =
(ui.state & Ci.nsIWebProgressListener.STATE_IDENTITY_EV_TOPLEVEL);
- var isOnion = hostName.endsWith(".onion");
+ var isOnion = false;
+ if (hostName && hostName.endsWith(".onion")) {
+ isOnion = true;
+ }
ui.QueryInterface(nsISSLStatusProvider);
var status = ui.SSLStatus;
1
0

[tor-browser-build/master] Bug 29235: Build our own version of python3.6
by gk@torproject.org 01 Feb '19
by gk@torproject.org 01 Feb '19
01 Feb '19
commit 66a0ab022c3c539a3756771cf72e793fa2e861e7
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 30 20:54:51 2019 +0100
Bug 29235: Build our own version of python3.6
The build of HTTPS-Everywhere requires python3.6, however the python3.6
package which we were using has now been removed from Debian Unstable.
We now build python 3.6 ourselves. As the different platforms use a
different suite by default, we add the common-stretch target to
rbm.conf, which we use to avoid building a different python for each
platform.
---
keyring/python.gpg | Bin 0 -> 4302 bytes
projects/debootstrap-image/config | 7 -------
projects/https-everywhere/build | 1 +
projects/https-everywhere/config | 9 ++++++---
projects/python/build | 14 ++++++++++++++
projects/python/config | 25 +++++++++++++++++++++++++
rbm.conf | 17 +++++++++++++++++
7 files changed, 63 insertions(+), 10 deletions(-)
diff --git a/keyring/python.gpg b/keyring/python.gpg
new file mode 100644
index 0000000..66711fd
Binary files /dev/null and b/keyring/python.gpg differ
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index c916e9f..7e8b280 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -100,13 +100,6 @@ targets:
suite: jessie
arch: i386
- buster-amd64:
- var:
- minimal_apt_version: '1.8.0~alpha3.1'
- container:
- suite: buster
- arch: amd64
-
stretch-amd64:
var:
minimal_apt_version: 1.4.9
diff --git a/projects/https-everywhere/build b/projects/https-everywhere/build
index 10dd4bf..88431e0 100644
--- a/projects/https-everywhere/build
+++ b/projects/https-everywhere/build
@@ -1,5 +1,6 @@
#!/bin/bash
[% c("var/set_default_env") -%]
+[% pc('python', 'var/setup', { python_tarfile => c('input_files_by_name/python') }) %]
tar xf [% project %]-[% c('version') %].tar.gz
cd [% project %]-[% c('version') %]
./make.sh
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 59eb463..1be120b 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -10,18 +10,17 @@ var:
# HTTPS Everywhere is expected to be the same on all platforms. To avoid
# building the same thing 4 times, using 4 different container images
# (each one with a different suite or architecture), we set the container
- # to buster/amd64 for all platforms. This allows us to create only one
+ # to stretch/amd64 for all platforms. This allows us to create only one
# container image, and also build the extension only one time as the
# filename does not contain the platform, and var/build_id should be
# the same since there is now nothing platform specific in the build
# inputs. This allows us to save a little time and disk space.
container:
use_container: 1
- suite: buster
+ suite: stretch
arch: amd64
deps:
- git
- - python3.6
- libxslt1.1
- libxml2-utils
- sqlite3
@@ -31,3 +30,7 @@ var:
input_files:
- project: container-image
+ - project: python
+ name: python
+ target:
+ - common-stretch
diff --git a/projects/python/build b/projects/python/build
new file mode 100644
index 0000000..1fff7ce
--- /dev/null
+++ b/projects/python/build
@@ -0,0 +1,14 @@
+#!/bin/bash
+[% c("var/set_default_env") -%]
+distdir=/var/tmp/dist/[% project %]
+mkdir -p $distdir
+tar xf [% c('input_files_by_name/python') %]
+cd Python-[% c('version') %]
+./configure --prefix=$distdir
+make -j[% c("buildconf/num_procs") %]
+make prefix=$distdir install
+cd /var/tmp/dist
+[% c('tar', {
+ tar_src => 'python',
+ tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
+ }) %]
diff --git a/projects/python/config b/projects/python/config
new file mode 100644
index 0000000..10c79cc
--- /dev/null
+++ b/projects/python/config
@@ -0,0 +1,25 @@
+# vim: filetype=yaml sw=2
+version: 3.6.8
+filename: 'python-[% c("lsb_release/id") %]-[% c("lsb_release/release") %]-[% c("var/build_id") %].tar.gz'
+var:
+ container:
+ use_container: 1
+ deps:
+ - xz-utils
+ - build-essential
+ - python-all
+ - zlib1g-dev
+ - libssl-dev
+
+ setup: |
+ mkdir -p /var/tmp/dist
+ tar -C /var/tmp/dist -xf $rootdir/[% c("python_tarfile") %]
+ export PATH=/var/tmp/dist/python/bin:"$PATH"
+
+input_files:
+ - project: container-image
+ - name: python
+ URL: 'https://www.python.org/ftp/python/[% c("version") %]/Python-[% c("version") %].tar.xz'
+ gpg_keyring: python.gpg
+ sig_ext: asc
+ file_gpg_id: 1
diff --git a/rbm.conf b/rbm.conf
index 810eae8..381eab6 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -140,6 +140,23 @@ targets:
# Don't create mar files to save time
build_mar: 0
+ # The common-stretch target is used to build components that are common to all
+ # platforms, using Debian stretch.
+ common-stretch:
+ var:
+ common: 1
+ container:
+ suite: stretch
+ arch: amd64
+ deps:
+ - build-essential
+ - python
+ - bison
+ - automake
+ - libtool
+ - zip
+ - unzip
+
torbrowser-android-armv7:
- android-armv7
android-armv7:
1
0

[torbutton/master] Bug 29239: Don't ship the Torbutton .xpi on mobile
by gk@torproject.org 31 Jan '19
by gk@torproject.org 31 Jan '19
31 Jan '19
commit 70035640b586301baa4eebff868460c1e939b8e3
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 31 12:42:50 2019 +0000
Bug 29239: Don't ship the Torbutton .xpi on mobile
We include Torbutton directly into the browser on Android. The features
.xpi we bundle is not used.
Patch idea by sysrqb(a)torproject.org.
---
moz.build | 3 ---
1 file changed, 3 deletions(-)
diff --git a/moz.build b/moz.build
index 5e067c98..28f592f8 100644
--- a/moz.build
+++ b/moz.build
@@ -7,6 +7,3 @@ JAR_MANIFESTS += ['src/jar.mn']
JS_PREFERENCE_FILES += [
'src/defaults/preferences/preferences.js',
]
-FINAL_TARGET_FILES.features['torbutton(a)torproject.org'] += [
- 'src/install.rdf'
-]
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_29181_v2'
by gk@torproject.org 30 Jan '19
by gk@torproject.org 30 Jan '19
30 Jan '19
commit 929c3f8d6fe4d6182d4dfce2472581ccc45824f0
Merge: 9bac5b8 592aced
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 30 19:51:34 2019 +0000
Merge remote-tracking branch 'boklm/bug_29181_v2'
projects/debootstrap-image/config | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
1
0

[tor-browser-build/master] Bug 29181: Add a version number in debootstrap-image filename
by gk@torproject.org 30 Jan '19
by gk@torproject.org 30 Jan '19
30 Jan '19
commit 592acedeb13ec0d08087b4cd2fb414b04431fb13
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Jan 25 17:37:43 2019 +0100
Bug 29181: Add a version number in debootstrap-image filename
Updating this version number will cause the old images created by
debootstrap-image to be discarded when a new image is built by
container-image. However existing images from container-image will not
be discarded as container-image's filename doesn't depend on
debootstrap-image's filename.
---
projects/debootstrap-image/config | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index a1d26cb..c916e9f 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -1,5 +1,6 @@
# vim: filetype=yaml sw=2
-filename: 'container-image_[% c("var/container/suite") %]-[% c("var/container/arch") %].tar.gz'
+filename: 'container-image_[% c("var/container/suite") %]-[% c("var/container/arch") %]-[% c("version") %].tar.gz'
+version: 1
pkg_type: build
var:
1
0

30 Jan '19
commit 9bac5b8ddc129cc0349f1c6350f819f8ba29af94
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Jan 24 21:00:34 2019 +0000
Bug 29167: Upgrade go to 1.11.5.
---
projects/go/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/go/config b/projects/go/config
index 1841705..be9f84d 100644
--- a/projects/go/config
+++ b/projects/go/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 1.11.1
+version: 1.11.5
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
@@ -84,7 +84,7 @@ input_files:
enable: '[% c("var/windows") || c("var/osx") %]'
- URL: 'https://golang.org/dl/go[% c("version") %].src.tar.gz'
name: go
- sha256sum: 558f8c169ae215e25b81421596e8de7572bd3ba824b79add22fba6e284db1117
+ sha256sum: bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e
- URL: 'https://golang.org/dl/go[% c("var/go14_version") %].src.tar.gz'
name: go14
sha256sum: 9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959
1
0

[tor-browser-build/master] Bug 29193: Update goxnet commit in nightly
by gk@torproject.org 29 Jan '19
by gk@torproject.org 29 Jan '19
29 Jan '19
commit 23f8101525288ccdd6ccef2035a698c4e9f1b232
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Jan 29 15:26:50 2019 +0100
Bug 29193: Update goxnet commit in nightly
---
projects/goxnet/config | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/projects/goxnet/config b/projects/goxnet/config
index f33cb32..6aa5a0e 100644
--- a/projects/goxnet/config
+++ b/projects/goxnet/config
@@ -13,6 +13,12 @@ var:
go_lib_install:
- golang.org/x/net/proxy
+targets:
+ nightly:
+ # Nightly version of obfs4 requires a more recent version of goxnet
+ # See bug 29193
+ git_hash: ed066c81e75eba56dd9bd2139ade88125b855585
+
input_files:
- project: container-image
- name: go
1
0

[tor-browser-build/master] Bug 29178: Don't build master of goxcrypto, goxnet, uniuri and go-webrtc
by gk@torproject.org 28 Jan '19
by gk@torproject.org 28 Jan '19
28 Jan '19
commit 5bad67e4f31d984702c530cbd423d83d009e699a
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Jan 28 12:11:24 2019 +0100
Bug 29178: Don't build master of goxcrypto, goxnet, uniuri and go-webrtc
---
projects/go-webrtc/config | 2 --
projects/goxcrypto/config | 4 ----
projects/goxnet/config | 4 ----
projects/uniuri/config | 4 ----
4 files changed, 14 deletions(-)
diff --git a/projects/go-webrtc/config b/projects/go-webrtc/config
index 8b171f9..8136122 100644
--- a/projects/go-webrtc/config
+++ b/projects/go-webrtc/config
@@ -35,8 +35,6 @@ var:
[% END -%]
targets:
- master:
- git_hash: master
linux:
var:
arch_deps:
diff --git a/projects/goxcrypto/config b/projects/goxcrypto/config
index fe73f93..698f94b 100644
--- a/projects/goxcrypto/config
+++ b/projects/goxcrypto/config
@@ -19,10 +19,6 @@ var:
go_lib_deps:
- goxsys
-targets:
- nightly:
- git_hash: master
-
input_files:
- project: container-image
- name: go
diff --git a/projects/goxnet/config b/projects/goxnet/config
index ec368a2..f33cb32 100644
--- a/projects/goxnet/config
+++ b/projects/goxnet/config
@@ -13,10 +13,6 @@ var:
go_lib_install:
- golang.org/x/net/proxy
-targets:
- nightly:
- git_hash: master
-
input_files:
- project: container-image
- name: go
diff --git a/projects/uniuri/config b/projects/uniuri/config
index e4c7294..5eea6e2 100644
--- a/projects/uniuri/config
+++ b/projects/uniuri/config
@@ -11,10 +11,6 @@ var:
use_container: 1
go_lib: github.com/dchest/uniuri
-targets:
- nightly:
- git_hash: master
-
input_files:
- project: container-image
- name: go
1
0

[tor-browser-build/master] Tagging build4 to fix Windows reproducibility issues
by gk@torproject.org 28 Jan '19
by gk@torproject.org 28 Jan '19
28 Jan '19
commit c027caa95d205ec3761215e8b671c999866435b1
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 28 09:33:24 2019 +0000
Tagging build4 to fix Windows reproducibility issues
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 1 -
rbm.conf | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index c0e2a38..5a9feb7 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -24,7 +24,6 @@ Tor Browser 8.5a7 -- January 29 2019
* Bug 22654: Firefox icon is shown for Tor Browser on Windows 10 start menu
* Bug 27503: Compile with accessibility support
* Bug 28874: Bump mingw-w64 commit to fix WebGL crash
- * Bug 28546: Rebrand Tor Browser's Window's Installer
* Bug 12885: Windows Jump Lists fail for Tor Browser
* Bug 28618: Set MOZILLA_OFFICIAL for Windows build
* OS X
diff --git a/rbm.conf b/rbm.conf
index 74d922b..810eae8 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.5a7'
- torbrowser_build: 'build3'
+ torbrowser_build: 'build4'
torbrowser_incremental_from:
- 8.5a6
project_name: tor-browser
1
0

[tor-browser-build/master] Revert "Bug 28546: Rebrand Tor Browser's Window's Installer"
by gk@torproject.org 28 Jan '19
by gk@torproject.org 28 Jan '19
28 Jan '19
commit b25cd533f1ae26c2ee65bc5bef57a33d98f83363
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 28 09:32:00 2019 +0000
Revert "Bug 28546: Rebrand Tor Browser's Window's Installer"
This reverts commit 031ecd732636c627ea3b6343869d96ccbf3d2df0.
We need to back this out for now because it is causing reproducibility
issues, see #29185.
---
projects/tbb-windows-installer/config | 2 +-
projects/tor-browser/build | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/projects/tbb-windows-installer/config b/projects/tbb-windows-installer/config
index 0ec7b0a..a990229 100644
--- a/projects/tbb-windows-installer/config
+++ b/projects/tbb-windows-installer/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.6
+version: 0.5
git_url: https://github.com/moba/tbb-windows-installer.git
git_hash: 'v[% c("version") %]'
tag_gpg_id: 1
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index bc663c2..4661f7a 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -303,7 +303,7 @@ cd $distdir
[% ELSIF c("var/windows") %]
find "$PKG_DIR" -exec [% c("var/touch") %] {} \;
pushd "$PKG_DIR"
- makensis -DCHANNEL=[% c("var/channel") %] torbrowser.nsi
+ makensis torbrowser.nsi
# Working around NSIS braindamage
mv torbrowser-install.exe torbrowser-install-tmp.exe
python $rootdir/pe_checksum_fix.py
@@ -392,7 +392,7 @@ cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
[% ELSIF c("var/windows") %]
find "[% tbdir %]" -exec [% c("var/touch") %] {} \;
pushd "[% tbdir %]"
- makensis -DCHANNEL=[% c("var/channel") %] torbrowser.nsi
+ makensis torbrowser.nsi
# Working around NSIS braindamage
mv torbrowser-install.exe torbrowser-install-tmp.exe
python $rootdir/pe_checksum_fix.py
1
0
commit 2ffa418535f8a9baf7ba4894610e91633d876670
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun Jan 27 15:53:56 2019 +0000
Fix 8.5a7 release year
2018 is gone. Get over it.
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 46ba50f..c0e2a38 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,4 +1,4 @@
-Tor Browser 8.5a7 -- January 29 2018
+Tor Browser 8.5a7 -- January 29 2019
* All Platforms
* Update Firefox to 60.5.0esr
* Update Torbutton to 2.1.4
1
0

26 Jan '19
commit 71b5a3b40429a4286b4aafbb3f9cb5b168aeff99
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Jan 26 09:19:08 2019 +0000
Picking up fix for Android build bustage
---
projects/firefox/config | 2 +-
rbm.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index 2556313..59ec1ee 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/rbm.conf b/rbm.conf
index 2636d31..74d922b 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.5a7'
- torbrowser_build: 'build2'
+ torbrowser_build: 'build3'
torbrowser_incremental_from:
- 8.5a6
project_name: tor-browser
1
0

[tor-browser/tor-browser-60.5.0esr-8.5-1] Bug 29182: Fix Android build bustage
by gk@torproject.org 26 Jan '19
by gk@torproject.org 26 Jan '19
26 Jan '19
commit 4d0f9fa5fdd5831fbc2e28cb6c7b1056bd4deeab
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Jan 26 08:10:39 2019 +0000
Bug 29182: Fix Android build bustage
Updating the expat library (bug 1374012) resulted in broken compilation
of Android builds as `arc4random_buf` is not defined compiling with our
current toolchain.
The upstream bug is
https://bugzilla.mozilla.org/show_bug.cgi?id=1516642.
Patch by a cypherpunk (mac198442).
---
parser/expat/lib/xmlparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c
index 209f20e094dc..95ff14f8e154 100644
--- a/parser/expat/lib/xmlparse.c
+++ b/parser/expat/lib/xmlparse.c
@@ -839,7 +839,7 @@ generate_hash_secret_salt(XML_Parser parser)
{
unsigned long entropy;
(void)parser;
-#if defined(HAVE_ARC4RANDOM_BUF) || defined(__CloudABI__)
+#if !defined(__ANDROID__) && (defined(HAVE_ARC4RANDOM_BUF) || defined(__CloudABI__))
(void)gather_time_entropy;
arc4random_buf(&entropy, sizeof(entropy));
return ENTROPY_DEBUG("arc4random_buf", entropy);
1
0

[tor-browser-build/master] Use build2 for locales for mobile as well
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit cac6014790f79e8819191ff9af9a69b10f2b52d0
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 16:21:20 2019 +0000
Use build2 for locales for mobile as well
---
projects/firefox-locale-bundle/config | 2 +-
rbm.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/firefox-locale-bundle/config b/projects/firefox-locale-bundle/config
index 2f4997f..2ea6db6 100644
--- a/projects/firefox-locale-bundle/config
+++ b/projects/firefox-locale-bundle/config
@@ -5,4 +5,4 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
use_container: 0
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build1
+ ff_build: build2
diff --git a/rbm.conf b/rbm.conf
index e929728..2636d31 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.5a7'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 8.5a6
project_name: tor-browser
1
0

25 Jan '19
commit bcb6cc1a83246ff1018df5f937dfe36687d513d7
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 16:09:14 2019 +0000
Release preparations for 8.5a7
Versions bump and Changelog update
---
projects/firefox/config | 2 +-
projects/https-everywhere/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 53 ++++++++++++++++++++++
projects/tor/config | 2 +-
projects/torbutton/config | 2 +-
rbm.conf | 5 +-
6 files changed, 59 insertions(+), 7 deletions(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index b001354..2556313 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 60.4.0
+ firefox_platform_version: 60.5.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 8.5
torbrowser_update_channel: alpha
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 3b45143..59eb463 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2018.10.31
+version: 2019.1.7
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index bd59467..46ba50f 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,56 @@
+Tor Browser 8.5a7 -- January 29 2018
+ * All Platforms
+ * Update Firefox to 60.5.0esr
+ * Update Torbutton to 2.1.4
+ * Bug 25702: Update Tor Browser icon to follow design guidelines
+ * Bug 21805: Add click-to-play button for WebGL
+ * Bug 28836: Links on about:tor are not clickable
+ * Bug 29035: Clean up our donation campaign and add newsletter sign-up link
+ * Translations update
+ * Code clean-up
+ * Update HTTPS Everywhere to 2019.1.7
+ * Update NoScript to 10.2.1
+ * Bug 28873: Cascading of permissions is broken
+ * Bug 28720: Some videos are blocked outright on higher security levels
+ * Bug 29082: Backport patches for bug 1469916
+ * Bug 28711: Backport patches for bug 1474659
+ * Bug 27828: "Check for Tor Browser update" doesn't seem to do anything
+ * Bug 29028: Auto-decline most canvas warning prompts again
+ * Bug 27597: Fix our debug builds
+ * Windows
+ * Update Tor to 0.4.0.1-alpha
+ * Bug 25702: Activity 1.1 Update Tor Browser icon to follow design guidelines
+ * Bug 28111: Use Tor Browser icon in identity box
+ * Bug 22654: Firefox icon is shown for Tor Browser on Windows 10 start menu
+ * Bug 27503: Compile with accessibility support
+ * Bug 28874: Bump mingw-w64 commit to fix WebGL crash
+ * Bug 28546: Rebrand Tor Browser's Window's Installer
+ * Bug 12885: Windows Jump Lists fail for Tor Browser
+ * Bug 28618: Set MOZILLA_OFFICIAL for Windows build
+ * OS X
+ * Update Tor to 0.4.0.1-alpha
+ * Bug 25702: Activity 1.1 Update Tor Browser icon to follow design guidelines
+ * Bug 28111: Use Tor Browser icon in identity box
+ * Linux
+ * Update Tor to 0.4.0.1-alpha
+ * Bug 25702: Activity 1.1 Update Tor Browser icon to follow design guidelines
+ * Bug 28111: Use Tor Browser icon in identity box
+ * Bug 27531: Fix crashing print dialog
+ * Android
+ * Bug 28705: Fix download crash on newer Android devices
+ * Bug 28814: Backport 1480079 to allow installing downloaded apps
+ * Build System
+ * All Platforms
+ * Bug 29158: Install updated apt packages (CVE-2019-3462)
+ * Bug 29097: Don't try to install python3.6-lxml for HTTPS Everywhere
+ * Windows
+ * Bug 26148: Update binutils to 2.31.1
+ * Bug 29081: Harden libwinpthread
+ * Linux
+ * Bug 26148: Update binutils to 2.31.1
+ * Android
+ * Bug 28752: Don't download tor-android-binary resources during build
+
Tor Browser 8.5a6 -- December 11 2018
* All Platforms
* Update Firefox to 60.4.0esr
diff --git a/projects/tor/config b/projects/tor/config
index fe3bec9..e6e923b 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-version: 0.3.5.5-alpha
+version: 0.4.0.1-alpha
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
git_submodule: 1
diff --git a/projects/torbutton/config b/projects/torbutton/config
index 0fff877..5d42fc5 100644
--- a/projects/torbutton/config
+++ b/projects/torbutton/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2.1.3
+version: 2.1.4
git_url: https://git.torproject.org/torbutton.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index a397752..e929728 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -15,11 +15,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '8.5a6'
+ torbrowser_version: '8.5a7'
torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 8.5a4
- - 8.5a5
+ - 8.5a6
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser/tor-browser-60.5.0esr-8.5-1] fixup! Bug 1487263 - set requesting principal for macOS drags, r=mstange
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit b6487d517d9982332f3bfad1f14b6e5ed9f77c53
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 10:56:09 2019 +0000
fixup! Bug 1487263 - set requesting principal for macOS drags, r=mstange
---
widget/cocoa/nsDragService.mm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/widget/cocoa/nsDragService.mm b/widget/cocoa/nsDragService.mm
index 47eacb5792a2..e712616b5b95 100644
--- a/widget/cocoa/nsDragService.mm
+++ b/widget/cocoa/nsDragService.mm
@@ -327,7 +327,8 @@ nsDragService::InvokeDragSessionImpl(nsIArray* aTransferableArray,
}
// Assign a principal:
- currentTransferable->SetRequestingPrincipal(mSourceNode->NodePrincipal());
+ nsCOMPtr<nsINode> node = do_QueryInterface(mSourceNode);
+ currentTransferable->SetRequestingPrincipal(node->NodePrincipal());
// Transform the transferable to an NSDictionary
NSDictionary* pasteboardOutputDict =
1
0

[tor-browser/tor-browser-60.5.0esr-8.5-1] fixup! Bug 1469916, r=ckerschb, jkt
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit 6dde994c6580634bd3cb9809c2eb0e02499e65b7
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 15:23:49 2019 +0000
fixup! Bug 1469916, r=ckerschb,jkt
---
browser/components/shell/nsMacShellService.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/components/shell/nsMacShellService.cpp b/browser/components/shell/nsMacShellService.cpp
index 3484a41530a7..a24814c0087b 100644
--- a/browser/components/shell/nsMacShellService.cpp
+++ b/browser/components/shell/nsMacShellService.cpp
@@ -156,8 +156,8 @@ nsMacShellService::SetDesktopBackground(nsIDOMElement* aElement,
loadContext = do_QueryInterface(docShell);
}
- return wbp->SaveURI(imageURI, aElement->NodePrincipal(), nullptr, docURI,
- aElement->OwnerDoc()->GetReferrerPolicy(), nullptr,
+ return wbp->SaveURI(imageURI, content->NodePrincipal(), nullptr, docURI,
+ content->OwnerDoc()->GetReferrerPolicy(), nullptr,
nullptr, mBackgroundFile, loadContext);
}
1
0

[tor-browser-build/master] Bug 27503: Adapt mozconfig files to enable accessibility on Windows
by boklm@torproject.org 25 Jan '19
by boklm@torproject.org 25 Jan '19
25 Jan '19
commit 0baa4255304030ba1fbe450f6e1213b1550a0200
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 22 11:03:53 2019 +0000
Bug 27503: Adapt mozconfig files to enable accessibility on Windows
---
projects/firefox/mozconfig-windows-i686 | 1 -
projects/firefox/mozconfig-windows-x86_64 | 1 -
2 files changed, 2 deletions(-)
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index daeaed4..d541edb 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -25,5 +25,4 @@ ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --disable-tests
ac_add_options --disable-stylo # Bugzilla 1390583
-ac_add_options --disable-accessibility # https://sourceforge.net/p/mingw-w64/bugs/648/
ac_add_options --disable-jemalloc # Bugzilla 1466192
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index 568d88d..70f47e2 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -25,5 +25,4 @@ ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --disable-tests
ac_add_options --disable-stylo # Bugzilla 1390583
-ac_add_options --disable-accessibility # https://sourceforge.net/p/mingw-w64/bugs/648/
ac_add_options --disable-jemalloc # Bugzilla 1466192
1
0

[tor-browser-build/master] Bug 27503: Adapt mozconfig files to enable accessibility on Windows
by boklm@torproject.org 25 Jan '19
by boklm@torproject.org 25 Jan '19
25 Jan '19
commit a0735614173b4d284bb70791d9c15d4d3f018599
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 22 10:58:41 2019 +0000
Bug 27503: Adapt mozconfig files to enable accessibility on Windows
When bumping mingw-w64 for the crash fix in #28874 we forgot to adapt
our Windows mozconfig files to take into account that we don't need to
define CXXFLAGS anymore. The changes landed in commit
a91a7e405752bbdbe39101f7aaeb1e1d932199db in the mingw-w64 repo.
---
projects/firefox/mozconfig-windows-i686 | 3 ---
projects/firefox/mozconfig-windows-x86_64 | 3 ---
2 files changed, 6 deletions(-)
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index a5e15f1..daeaed4 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -1,8 +1,5 @@
CROSS_COMPILE=1
-# https://bugzilla.mozilla.org/show_bug.cgi?id=1411401
-export CXXFLAGS="-DWIDL_EXPLICIT_AGGREGATE_RETURNS"
-
ac_add_options --enable-application=browser
ac_add_options --target=i686-w64-mingw32
ac_add_options --with-toolchain-prefix=i686-w64-mingw32-
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index e7f857d..568d88d 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -1,8 +1,5 @@
CROSS_COMPILE=1
-# https://bugzilla.mozilla.org/show_bug.cgi?id=1411401
-export CXXFLAGS="-DWIDL_EXPLICIT_AGGREGATE_RETURNS"
-
ac_add_options --enable-application=browser
ac_add_options --target=x86_64-w64-mingw32
ac_add_options --with-toolchain-prefix=x86_64-w64-mingw32-
1
0

[tor-browser-build/master] Merge remote-tracking branch 'gk/bug_27503_v3'
by boklm@torproject.org 25 Jan '19
by boklm@torproject.org 25 Jan '19
25 Jan '19
commit 97effd6d7380f76dd53e666b034113c84692f51a
Merge: 15e8c53 0baa425
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Jan 25 16:39:41 2019 +0100
Merge remote-tracking branch 'gk/bug_27503_v3'
1
0

25 Jan '19
commit d6b1a532a574f3f5b821fc2a000a4c1ec2d58311
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 08:46:13 2019 +0000
Update Torbutton to 2.1.4
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index 61c79b29f463..e2ca58b2dcda 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit 61c79b29f463666548754d9a2a6b15c996df48ee
+Subproject commit e2ca58b2dcda9e37e94c87bf77f443e103216100
1
0
commit e2ca58b2dcda9e37e94c87bf77f443e103216100
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 08:22:13 2019 +0000
Release preparations for 2.1.4
Version bump and CHANGELOG update
---
src/CHANGELOG | 8 ++++++++
src/install.rdf | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 2c41ed83..d8f3e488 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,11 @@
+2.1.4
+ * Bug 25702: Update Tor Browser icon to follow design guidelines
+ * Bug 21805: Add click-to-play button for WebGL
+ * Bug 28836: Links on about:tor are not clickable
+ * Bug 29035: Clean up our donation campaign and add newsletter sign-up link
+ * Translations update
+ * Code clean-up
+
2.1.3
* Bug 28540: Use new text for 2018 donation banner
* Bug 27290: Remove WebGL pref for min capability mode
diff --git a/src/install.rdf b/src/install.rdf
index 1ece0c4c..e140a9bb 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Mike Perry</em:creator>
<em:id>torbutton(a)torproject.org</em:id>
- <em:version>2.1.3</em:version>
+ <em:version>2.1.4</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:iconURL>chrome://torbutton/skin/tor.png</em:iconURL>
1
0
commit f0547bacf4cf77bc8175a1b71216470de38f96be
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 08:15:35 2019 +0000
Translations update
---
src/chrome/locale/ar/browserOnboarding.properties | 54 ++++++++++----------
src/chrome/locale/ar/torbutton.properties | 5 ++
src/chrome/locale/bn-BD/aboutTor.dtd | 19 +++++++
src/chrome/locale/bn-BD/torbutton.dtd | 6 +++
src/chrome/locale/ca/torbutton.properties | 5 ++
src/chrome/locale/cs/torbutton.properties | 5 ++
src/chrome/locale/da/torbutton.properties | 5 ++
src/chrome/locale/de/torbutton.properties | 5 ++
src/chrome/locale/el/torbutton.dtd | 14 ++---
src/chrome/locale/el/torbutton.properties | 19 ++++---
src/chrome/locale/es/aboutTBUpdate.dtd | 4 +-
src/chrome/locale/es/aboutTor.dtd | 4 +-
src/chrome/locale/es/brand.dtd | 6 +--
src/chrome/locale/es/brand.properties | 6 +--
src/chrome/locale/es/browserOnboarding.properties | 6 +--
src/chrome/locale/es/torbutton.dtd | 6 +--
src/chrome/locale/es/torbutton.properties | 19 ++++---
src/chrome/locale/eu/aboutTBUpdate.dtd | 2 +-
src/chrome/locale/eu/aboutTor.dtd | 10 ++--
src/chrome/locale/eu/browserOnboarding.properties | 22 ++++----
src/chrome/locale/eu/torbutton.properties | 5 ++
src/chrome/locale/fa/aboutTBUpdate.dtd | 4 +-
src/chrome/locale/fa/aboutTor.dtd | 2 +-
src/chrome/locale/fa/browserOnboarding.properties | 50 +++++++++---------
src/chrome/locale/fa/torbutton.properties | 9 +++-
src/chrome/locale/fr/torbutton.properties | 5 ++
src/chrome/locale/ga/torbutton.properties | 5 ++
src/chrome/locale/he/torbutton.properties | 5 ++
src/chrome/locale/hu/aboutTBUpdate.dtd | 4 +-
src/chrome/locale/hu/aboutTor.dtd | 6 +--
src/chrome/locale/hu/browserOnboarding.properties | 4 +-
src/chrome/locale/hu/torbutton.dtd | 4 +-
src/chrome/locale/hu/torbutton.properties | 13 +++--
src/chrome/locale/id/torbutton.properties | 5 ++
src/chrome/locale/is/torbutton.properties | 5 ++
src/chrome/locale/it/torbutton.properties | 5 ++
src/chrome/locale/ja/aboutTBUpdate.dtd | 4 +-
src/chrome/locale/ja/aboutTor.dtd | 8 +--
src/chrome/locale/ja/brand.properties | 2 +-
src/chrome/locale/ja/browserOnboarding.properties | 42 +++++++--------
src/chrome/locale/ja/torbutton.dtd | 10 ++--
src/chrome/locale/ja/torbutton.properties | 13 +++--
src/chrome/locale/ka/aboutTBUpdate.dtd | 4 +-
src/chrome/locale/ka/aboutTor.dtd | 4 +-
src/chrome/locale/ka/torbutton.properties | 5 ++
src/chrome/locale/ko/torbutton.properties | 5 ++
src/chrome/locale/nb/aboutTor.dtd | 2 +-
src/chrome/locale/nb/browserOnboarding.properties | 28 +++++-----
src/chrome/locale/nb/torbutton.properties | 5 ++
src/chrome/locale/nl/aboutTor.dtd | 2 +-
src/chrome/locale/nl/torbutton.properties | 5 ++
src/chrome/locale/pl/aboutTBUpdate.dtd | 2 +-
src/chrome/locale/pl/aboutTor.dtd | 10 ++--
src/chrome/locale/pl/brand.dtd | 4 +-
src/chrome/locale/pl/brand.properties | 6 +--
src/chrome/locale/pl/browserOnboarding.properties | 62 +++++++++++------------
src/chrome/locale/pl/torbutton.properties | 9 +++-
src/chrome/locale/pt-BR/torbutton.properties | 5 ++
src/chrome/locale/ru/aboutTor.dtd | 2 +-
src/chrome/locale/ru/torbutton.properties | 53 ++++++++++---------
src/chrome/locale/sv/torbutton.properties | 5 ++
src/chrome/locale/tr/torbutton.properties | 5 ++
src/chrome/locale/vi/torbutton.properties | 5 ++
src/chrome/locale/zh-CN/torbutton.properties | 5 ++
src/chrome/locale/zh-TW/torbutton.properties | 5 ++
65 files changed, 420 insertions(+), 250 deletions(-)
diff --git a/src/chrome/locale/ar/browserOnboarding.properties b/src/chrome/locale/ar/browserOnboarding.properties
index 448f6a61..776b619e 100644
--- a/src/chrome/locale/ar/browserOnboarding.properties
+++ b/src/chrome/locale/ar/browserOnboarding.properties
@@ -3,9 +3,9 @@
# vim: set sw=2 sts=2 ts=8 et:
onboarding.tour-tor-welcome=Ù
Ø±ØØšØ§Ù
-onboarding.tour-tor-welcome.title=Youâre ready.
-onboarding.tour-tor-welcome.description=Tor Browser offers the highest standard of privacy and security while browsing the web. Youâre now protected against tracking, surveillance, and censorship. This quick onboarding will show you how.
-onboarding.tour-tor-welcome.button=Start Now
+onboarding.tour-tor-welcome.title=Ø§ÙØª Ù
ستعد.
+onboarding.tour-tor-welcome.description=Ù
ØªØµÙØ ØªÙØ± (Tor Browser) ÙÙÙØ± اعÙÙ Ù
عاÙÙØ± Ø§ÙØ®ØµÙصÙ٠٠اﻷÙ
Ø§Ù Ø§Ø«ÙØ§Ø¡ ØªØµÙØÙ ÙÙÙÙØš. Ø§ÙØª اﻷ٠Ù
ØÙ
Ù Ù
Ù Ø§ÙØªØªØšØ¹ , اÙÙ
Ø±Ø§ÙØšÙ, Ù Ø§ÙØØ¬Øš. ÙØ°Ø§ اÙÙ
Ø€ÙÙ Ø§ÙØ³Ø±Ùع Ø³ÙØ¹Ø±Ø¶ ÙÙ ÙÙÙ ÙØªÙ
ذÙÙ.
+onboarding.tour-tor-welcome.button=اؚدأ Ø§ÙØ£Ù
onboarding.tour-tor-privacy=Ø§ÙØ®ØµÙØµÙØ©
onboarding.tour-tor-privacy.title=اÙÙ
ØªÙØµØµÙ٠٠اÙÙÙØ§Ø³Ø¹Ø© Ø§ï»¹ÙØªØ±Ùت
@@ -14,41 +14,41 @@ onboarding.tour-tor-privacy.button=Ø§Ø°ÙØš Ø§ÙÙ ØŽØšÙØ© ØªÙØ±
onboarding.tour-tor-network=ØŽØšÙØ© ØªÙØ±
onboarding.tour-tor-network.title=Ø§ï»¹ÙØªÙØ§Ù ÙØŽØšÙÙ ÙØ§ Ù
Ø±ÙØ²ÙÙ
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor network run by thousands of volunteers around the world. Unlike a VPN, thereâs no one point of failure or centralized entity you need to trust in order to enjoy the internet privately.
-onboarding.tour-tor-network.button=Go to Circuit Display
+onboarding.tour-tor-network.description=Ù
ØªØµÙØ ØªÙØ± (Tor Browser) ÙØµÙ٠ؚ؎ؚÙÙ ØªÙØ± Ø§ÙØªÙ ÙØªÙ
ت؎غÙÙÙØ§ ØšÙØ§Ø³Ø·Ø© Ø§ÙØ§Ù اÙÙ
ØªØ·ÙØ¹ÙÙ ØÙÙ Ø§ÙØ¹Ø§ÙÙ
. عÙÙ Ø¹ÙØ³ Ø§ÙØŽØšÙات اÙÙÙÙ
ÙÙ Ø§ÙØ®Ø§ØµÙ "VPN" ÙØ§ ÙÙØ¬Ø¯ ÙÙØ·Ø© ÙØµÙر Ù
Ø±ÙØ²Ù٠ا٠ÙÙØ·Ø© ÙØ§ØØ¯Ù ÙØ¬Øš Ø§Ù ØªØ«Ù ØšÙØ§ ÙÙØªÙ
تع ØšØ®ØµÙØµÙت٠عÙÙ Ø§ï»¹ÙØªØ±Ùت.
+onboarding.tour-tor-network.button=Ø§ÙØ°Ùاؚ اÙ٠عرض Ø§ÙØ¯Ø§ØŠØ±Ø©
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, your traffic is relayed and encrypted in a circuit across three Tor relays around the world. No website knows where you are connecting from. You can request a new circuit by clicking âNew Circuit for this Siteâ on our Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display=عرض Ø§ÙØ¯Ø§ØŠØ±Ø©
+onboarding.tour-tor-circuit-display.title=ØŽØ§ÙØ¯ Ù
سارÙ
+onboarding.tour-tor-circuit-display.description=ÙÙÙ Ù
جا٠تÙÙÙ
ØšØ²ÙØ§Ø±ØªÙØ ÙØªÙ
ترØÙÙ ØØ±ÙØ© اÙÙ
Ø±ÙØ± Ø§ÙØ®Ø§ØµØ© ØšÙ ÙØªØŽÙÙØ±Ùا Ù٠دا؊رة عؚر Ø«ÙØ§Ø«Ø© Ù
رØÙات Tor ØÙÙ Ø§ÙØ¹Ø§ÙÙ
. ÙØ§ ÙØ¹Ø±Ù Ø£Ù Ù
ÙÙØ¹ عÙ٠اÙÙÙØš Ø§ÙÙ
ÙØ§Ù Ø§ÙØ°Ù تتص٠Ù
ÙÙ. ÙÙ
ÙÙÙ Ø·ÙØš Ø¯Ø§ØŠØ±Ø© Ø¬Ø¯ÙØ¯Ø© ؚاÙÙÙØ± ÙÙÙ "دا؊رة Ø¬Ø¯ÙØ¯Ø© ÙÙØ°Ø§ اÙÙ
ÙÙØ¹" عÙ٠؎ا؎ة عرض Ø§ÙØ¯Ùا؊ر ÙØ¯ÙÙØ§.
+onboarding.tour-tor-circuit-display.button=Ø±Ø€ÙØ© اÙÙ
سار Ø§ÙØ®Ø§Øµ ØšÙ
onboarding.tour-tor-security=Ø§ÙØ£Ù
اÙ
onboarding.tour-tor-security.title=اختر Ù
د٠خؚرتÙ
-onboarding.tour-tor-security.description=We also provide you with additional settings for bumping up your browser security. Our Security Settings allow you to block elements that could be used to attack your computer. Click below to see what the different options do.
-onboarding.tour-tor-security.button=Review Settings
+onboarding.tour-tor-security.description=ÙÙÙØ± ÙÙ Ø£ÙØ¶Ø§ إعدادات إضاÙÙØ© ÙØ±Ùع Ù
ستÙ٠أÙ
ا٠اÙÙ
ØªØµÙØ. تسÙ
Ø Ù٠إعدادات Ø§ÙØ£Ù
Ø§Ù ÙØ¯ÙÙØ§ ØšØØžØ± Ø§ÙØ¹Ùاصر Ø§ÙØªÙ ÙÙ
Ù٠استخداÙ
ÙØ§ ÙÙ
ÙØ§Ø¬Ù
Ø© Ø¬ÙØ§Ø² اÙÙÙ
ØšÙÙØªØ± Ø§ÙØ®Ø§Øµ ØšÙ. اÙÙØ± Ø£Ø¯ÙØ§Ù ÙÙ
Ø¹Ø±ÙØ© Ù
ا ØªÙØ¹ÙÙ Ø§ÙØ®Ùارات اÙÙ
ختÙÙØ©.
+onboarding.tour-tor-security.button=Ù
راجعة Ø§ÙØ§Ø¹Ø¯Ø§Ø¯Ø§Øª
-onboarding.tour-tor-expect-differences=Experience Tips
-onboarding.tour-tor-expect-differences.title=Expect some differences.
-onboarding.tour-tor-expect-differences.description=With all the security and privacy features provided by Tor, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.
-onboarding.tour-tor-expect-differences.button=See FAQs
+onboarding.tour-tor-expect-differences=ÙØµØ§ØŠØ Ø§ÙØªØ¬Ø±ØšØ©
+onboarding.tour-tor-expect-differences.title=تÙÙØ¹ ؚعض Ø§ÙØªØºÙرات
+onboarding.tour-tor-expect-differences.description=Ù
ع جÙ
ÙØ¹ Ù
ÙØ²Ø§Øª Ø§ÙØ£Ù
Ø§Ù ÙØ§ÙØ®ØµÙØµÙØ© Ø§ÙØªÙ ÙÙÙØ±Ùا TorØ ÙØ¯ تÙÙÙ ØªØ¬Ø±ØšØªÙ Ø£Ø«ÙØ§Ø¡ ØªØµÙØ Ø§ÙØ¥ÙØªØ±ÙØª Ù
ختÙÙØ© ؚعض Ø§ÙØŽÙØ¡. ÙØ¯ تÙÙÙ Ø§ÙØ£ØŽÙاء أؚطأ ÙÙÙÙØ§ÙØ ÙØ§Ø¹ØªÙ
Ø§Ø¯ÙØ§ عÙÙ Ù
ستÙÙ Ø§ÙØ£Ù
Ø§ÙØ ÙØ¯ ÙØ§ تعÙ
٠ؚعض Ø§ÙØ¹Ùاصر Ø£Ù ÙØªÙ
تØÙ
ÙÙÙØ§. ÙØ¯ ÙÙØ·ÙØš Ù
ÙÙ Ø£ÙØ¶Ùا إثؚات Ø£ÙÙ Ø¥ÙØ³Ø§Ù ÙÙÙØ³ Ø±ÙØšÙت.
+onboarding.tour-tor-expect-differences.button=Ø§ÙØžØ± 'Ø§ÙØ£Ø³ØŠÙØ© اÙÙ
ØªÙØ±Ø±Ø©'
onboarding.tour-tor-onion-services=خدÙ
ات Ø§ÙØšØµÙØ© (Onion)
-onboarding.tour-tor-onion-services.title=Be extra protected.
-onboarding.tour-tor-onion-services.description=Onion services are sites that end with a .onion that provide extra protections to publishers and visitors, including added safeguards against censorship. Onion services allow anyone to provide content and services anonymously. Click below to visit the DuckDuckGo onion site.
-onboarding.tour-tor-onion-services.button=Visit an Onion
+onboarding.tour-tor-onion-services.title=ÙÙ Ù
ØÙ
ÙØ§ ؚ؎Ù٠اضاÙÙ
+onboarding.tour-tor-onion-services.description=خدÙ
ات Ø§ÙØšØµÙ Ù٠اÙÙ
ÙØ§Ùع Ø§ÙØªÙ ØªÙØªÙÙ ØšÙ ".onion" Ø§ÙØªÙ تÙÙØ± ØÙ
Ø§ÙØ© إضاÙÙØ© ÙÙÙØ§ØŽØ±ÙÙ ÙØ§ÙØ²ÙØ§Ø±Ø ØšÙ
ا Ù٠ذÙ٠ضÙ
Ø§ÙØ§Øª إضاÙÙØ© ضد Ø§ÙØØ¬Øš. تسÙ
Ø Ø®Ø¯Ù
ات Ø§ÙØšØµÙ ÙØ£Ù ؎خص ØšØªÙØ¯ÙÙ
اÙÙ
ØØªÙÙ ÙØ§ÙخدÙ
ات ؚ؎ÙÙ Ù
جÙÙÙ. اÙÙØ± Ø£Ø¯ÙØ§Ù ÙØ²Ùارة Ù
ÙÙØ¹ Ø§ÙØšØµÙ Ø§ÙØ®Ø§Øµ Øš"DuckDuckGo".
+onboarding.tour-tor-onion-services.button=ÙÙ
ØšØ²ÙØ§Ø±Ø© ØšØµÙØ©
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=Ø§ÙØªØ§ÙÙ
onboarding.tor-circuit-display.done=Ø§ÙØªÙاء
-onboarding.tor-circuit-display.one-of-three=1 of 3
-onboarding.tor-circuit-display.two-of-three=2 of 3
-onboarding.tor-circuit-display.three-of-three=3 of 3
+onboarding.tor-circuit-display.one-of-three=1 Ù
Ù 3
+onboarding.tor-circuit-display.two-of-three=2 Ù
Ù 3
+onboarding.tor-circuit-display.three-of-three=3 Ù
Ù 3
-onboarding.tor-circuit-display.intro.title=How do circuits work?
-onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly assigned relays, which are computers around the world configured to forward Tor traffic. Circuits allow you to browse privately and to connect to onion services.
+onboarding.tor-circuit-display.intro.title=ÙÙ٠تعÙ
Ù Ø§ÙØ¯Ùا؊رØ
+onboarding.tor-circuit-display.intro.msg=تتÙÙÙ Ø§ÙØ¯Ùا؊ر Ù
٠اÙÙ
رØÙات اÙÙ
ÙØ²Ø¹Ø© ؚ؎ÙÙ Ø¹ØŽÙØ§ØŠÙØ ÙÙÙ Ø£Ø¬ÙØ²Ø© اÙÙÙ
ØšÙÙØªØ± Ù٠جÙ
ÙØ¹ Ø£ÙØØ§Ø¡ Ø§ÙØ¹Ø§ÙÙ
Ù
ÙÙØ£Ø© ÙØ¥Ø¹Ø§Ø¯Ø© ØªÙØ¬ÙÙ ØØ±ÙØ© Tor. تسÙ
Ø ÙÙ Ø§ÙØ¯Ùا؊ر ØšØ§ÙØªØµÙØ Ø§ÙØ®Ø§Øµ ÙØ§Ùاتصا٠ؚخدÙ
ات Ø§ÙØšØµÙ.
-onboarding.tor-circuit-display.diagram.title=Circuit Display
-onboarding.tor-circuit-display.diagram.msg=This diagram shows the relays that make up the circuit for this website. To prevent linking of activity across different sites, each website gets a different circuit.
+onboarding.tor-circuit-display.diagram.title=عرض Ø§ÙØ¯Ø§ØŠØ±Ø©
+onboarding.tor-circuit-display.diagram.msg=ÙÙØ¶Ø ÙØ°Ø§ Ø§ÙØ±Ø³Ù
Ø§ÙØšÙاÙ٠اÙÙ
رØÙات Ø§ÙØªÙ ت؎ÙÙ Ø§ÙØ¯Ø§ØŠØ±Ø© ÙÙØ°Ø§ اÙÙ
ÙÙØ¹. ÙÙ
ÙØ¹ رؚط اÙÙØŽØ§Ø· عؚر Ù
ÙØ§Ùع Ù
ختÙÙØ©Ø ÙØØµÙ ÙÙ Ù
ÙÙØ¹ Ø¥ÙÙØªØ±ÙÙ٠عÙ٠دا؊رة Ù
ختÙÙØ©.
-onboarding.tor-circuit-display.new-circuit.title=Do you need a new circuit?
-onboarding.tor-circuit-display.new-circuit.msg=If you are not able to connect to the website youâre trying to visit or it is not loading properly, then you can use this button to reload the site with a new circuit.
+onboarding.tor-circuit-display.new-circuit.title=ÙÙ Ø§ÙØª ØšØØ§Ø¬Ø© اÙ٠دا؊رة Ø¬Ø¯ÙØ¯Ø©
+onboarding.tor-circuit-display.new-circuit.msg=إذا ÙÙ
تÙÙ ÙØ§Ø¯Ø±Ùا عÙÙ Ø§ÙØ§ØªØµØ§Ù ØšÙ
ÙÙØ¹ اÙÙÙØš Ø§ÙØ°Ù ØªØØ§ÙÙ Ø²ÙØ§Ø±ØªÙ Ø£Ù ÙÙ
ÙØªÙ
تØÙ
ÙÙ٠ؚ؎Ù٠صØÙØØ ÙÙ
ÙÙ٠استخداÙ
ÙØ°Ø§ Ø§ÙØ²Ø± ÙØ¥Ø¹Ø§Ø¯Ø© تØÙ
Ù٠اÙÙ
ÙÙØ¹ ؚدا؊رة Ø¬Ø¯ÙØ¯Ø©.
diff --git a/src/chrome/locale/ar/torbutton.properties b/src/chrome/locale/ar/torbutton.properties
index 26e5a8f4..b254c373 100644
--- a/src/chrome/locale/ar/torbutton.properties
+++ b/src/chrome/locale/ar/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=ÙØ§ ÙÙ
ÙÙ٠ت؎غÙÙ %S Ù
Ù ÙØžØ§Ù
Ù
ÙÙØ§Øª خاص
profileAccessDenied=ÙØ§ ÙÙ
تÙÙ %S Ø§ÙØµÙاØÙات اÙÙ
Ø·ÙÙØšØ© ÙÙ
Ù٠إعداداتÙ. ÙØ±Ø¬Ù ضؚط ØµÙØ§ØÙات ÙØžØ§Ù
اÙÙ
ÙÙØ§Øª Ø«Ù
إعادة اÙÙ
ØØ§ÙÙØ©.
profileMigrationFailed=ÙØŽÙ ÙÙÙ Ù
Ù٠إعدادات %S اÙÙ
ÙØ¬Ùد Ø¥ÙÙ Ø§ÙØ¥ØµØ¯Ø§Ø±Ø© Ø§ÙØ¬Ø¯Ùدة.\nØ³ÙØ³ØªØ®Ø¯Ù
Ù
Ù٠إعدادات Ø¬Ø¯ÙØ¯.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Ø§ÙØ§ØªØµØ§Ù Ù
عÙ
Ù (خدÙ
Ø© ØšØµÙØ©Ø %1$SØ Ù
ÙØ§ØªÙØ %2$S ØšØªØ©Ø %3$S)
pageInfo_OnionEncryption=Ø§ÙØ§ØªØµØ§Ù Ù
عÙ
Ù (خدÙ
Ø© ØšØµÙØ©)
diff --git a/src/chrome/locale/bn-BD/aboutTor.dtd b/src/chrome/locale/bn-BD/aboutTor.dtd
index 0896f075..fdac71be 100644
--- a/src/chrome/locale/bn-BD/aboutTor.dtd
+++ b/src/chrome/locale/bn-BD/aboutTor.dtd
@@ -26,3 +26,22 @@
<!ENTITY aboutTor.newsletter.tagline "àŠàа àŠ¥à§àŠà§ àŠžàŠ°à§àŠ¬àŠ¶à§àŠ· àŠàŠ¬àŠ° àŠšàŠ¿àŠš àŠžà§àŠàŠŸ àŠàŠªàŠšàŠŸàŠ° àŠàŠšàŠ¬àŠà§àŠžà§ à¥€">
<!ENTITY aboutTor.newsletter.link_text "àŠàа àŠšàŠ¿àŠàŠ-àŠàа àŠàŠšà§àН àŠžàŠŸàŠàŠš àŠàŠª àŠàаà§àŠš ी">
+
+<!ENTITY aboutTor.donationBanner.line1 "àŠàа: àŠžàŠàŠà§àŠ¯àŠŸàŠ àŠ¶àŠà§àŠ€àŠ¿">
+
+<!ENTITY aboutTor.donationBanner.line2a "àŠàŠŠà§àŠ®àŠšàŠŸàŠ® àŠ¬à§àŠ¶à§ àŠ¬à§àŠ¯àŠ¬àŠ¹àŠŸàŠ°àŠàŠŸàŠ°à§àа àŠ®àŠ§à§àŠ¯à§ àŠàŠŸàŠ°à§àНàŠàаà§à¥€">
+<!ENTITY aboutTor.donationBanner.line2b "àŠžàŠŸàŠ°à§àЬàŠàŠšà§àŠš àŠ®àŠŸàŠšàŠ¬àŠŸàŠ§àŠ¿àŠàŠŸàŠ°àŠà§ àŠàŠàŠ¿à§à§ àŠšàŠ¿àŠšà¥€ ">
+<!ENTITY aboutTor.donationBanner.line2c "àŠžà§àŠ¬àŠŸàŠ§à§àŠšàŠ€àŠŸàŠ° àŠàŠšà§àН àŠàŠàŠ¿à§à§ àŠàŠžà§àŠš ">
+<!ENTITY aboutTor.donationBanner.line2d "àŠ²àŠŸàŠà§ àŠ²à§àŠà§àа àŠ¬à§àНàŠà§àŠ€àŠ¿àŠàŠ€ àŠà§àŠªàŠšà§à§àŠ€àŠŸ àŠ°àŠà§àŠ·àŠŸ àŠàаà§àŠšà¥€ ">
+<!ENTITY aboutTor.donationBanner.line2e "àŠàаàŠà§ àŠ¶àŠà§àŠ€àŠ¿àŠ¶àŠŸàŠ²à§ àŠ°àŠŸàŠà§àŠšà¥€ ">
+<!ENTITY aboutTor.donationBanner.line2f "àŠàŠªàŠšàŠŸàŠŠà§àа àŠžàŠŸàŠ¹àŠŸàŠ¯à§àН àŠŠàŠ°àŠàŠŸàŠ°! ">
+<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
+<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
+<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
+<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
+
+<!ENTITY aboutTor.donationBanner.line3 "àŠ
àŠ°à§àŠ¥ àŠžàŠŸàŠ¹àŠŸàŠ¯à§àН àŠàаà§àŠš, àŠàŠ¬àŠ àŠ®àŠàŠ¿àŠ²àŠŸ àŠžàŠ®àŠªàŠ°àŠ¿àŠ®àŠŸàŠ£ àŠžàŠŸàŠ¹àŠŸàŠ¯à§àН àŠàŠ°àŠ¬à§à¥€ ">
+<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
+
+<!ENTITY aboutTor.donationBanner.buttonA "àŠàŠà§àŠšàŠ¿ àŠŠàŠŸàŠš àŠàаà§àŠš! ">
+<!ENTITY aboutTor.donationBanner.buttonB "àŠàŠ®àŠŸàŠà§àŠ àŠžàŠŸàŠ¥à§ àŠšàŠ¿àŠš">
diff --git a/src/chrome/locale/bn-BD/torbutton.dtd b/src/chrome/locale/bn-BD/torbutton.dtd
index 95ce45e1..201f3111 100644
--- a/src/chrome/locale/bn-BD/torbutton.dtd
+++ b/src/chrome/locale/bn-BD/torbutton.dtd
@@ -25,6 +25,12 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "àŠžàŠ®àŠžà§àŠ€ àŠàŠ¿àŠšà§àŠ€à§ àŠžà§àаàŠà§àŠ·àŠ¿àŠ€ àŠžàŠ°àŠŸàŠš">
<!ENTITY torbutton.cookiedialog.saveAllCookies "àŠšàŠ€à§àŠš àŠà§àŠàŠ¿ àŠžàŠàаàŠà§àŠ·àŠ£ àŠàаà§àŠš">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "àŠšàŠ€à§àŠš àŠà§àŠàŠ¿ àŠ°àŠà§àŠ·àŠŸ àŠàŠ°àŠ¬à§àŠš àŠšàŠŸ">
+<!ENTITY torbutton.prefs.restrict_thirdparty "àŠ€à§àŠ€à§àŠ¯àŠŒ àŠªàŠà§àŠ·à§àа àŠà§àŠàŠ¿àŠ àŠàŠ¬àŠ àŠ
àŠšà§àŠ¯àŠŸàŠšà§àН àŠà§àаà§àŠ¯àŠŸàŠàŠ¿àŠ àŠ¡à§àŠàŠŸ àŠšàŠ¿àŠ¯àŠŒàŠšà§àŠ€à§àŠ°àŠ£ àŠàаà§àŠš">
+<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
+<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "àŠàŠªàŠšàŠ¿ àŠ¬à§àŠ°àŠŸàŠàŠ àŠàŠ°à§ àŠ¬à§àŠ°àŠŸàŠàŠ àŠ¹àŠ¿àŠžàŠŸàŠ¬à§ àŠ¬àŠ¿àŠàŠ¿àŠšà§àŠš àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠ¬à§àŠ¶àŠ¿àŠ·à§àŠà§àНàŠà§àŠ²àŠ¿ àŠ
àŠªàŠ¬à§àŠ¯àŠ¬àŠ¹àŠŸàŠ° àŠàŠ°àŠŸ àŠ¥à§àŠà§ àŠ¬àŠ¿àŠ°àŠ€ àŠ¥àŠŸàŠàŠŸàŠ° àŠàŠšà§àН àŠàŠ àŠ¬àŠà§àŠžàŠàŠ¿ àŠà§àŠ àŠàаà§àŠšà¥€ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€àŠ¿àŠ€ àŠ¬à§àŠ¶àŠ¿àŠ·à§àŠà§àНàŠà§àŠ²àŠ¿àŠ° àŠ®àŠ§à§àŠ¯à§ àŠ°àŠ¯àŠŒà§àŠà§ àŠ¬à§àŠ²àŠ¬ àŠàŠàŠàаàŠàв, àŠ¬à§àŠ°àŠ¡àŠàŠŸàŠžà§àŠ àŠà§àŠ¯àŠŸàŠšà§àв, àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠà§àŠ¯àŠŸàŠ¶, àŠà§àŠàŠ¿àŠ, àŠ«à§àŠ¯àŠŸàŠàŠ¿àŠàŠš, àŠàŠàŠàŠàŠ¿àŠàŠ¿àŠªàŠ¿ àŠ
àŠ¹àŠ¿àŠàŠ¥ àŠ¹à§àŠ¡àŠŸàŠ°, àŠ²àŠ¿àŠàŠ àŠªà§àŠ°àŠ¿àŠàŠšà§àŠàŠž, àŠžà§àŠ¥àŠŸàŠšà§àŠ¯àŠŒ àŠžà§àŠà§àаà§àŠ, àŠ®àŠ¿àŠ¡àŠ¿àŠ¯àŠŒàŠŸàŠžà§àаà§àŠž àŠàŠàŠàаàŠàв, àŠàŠžàŠ¿àŠàŠžàŠªàŠ¿ àŠ
àŠšà§àаà§àЧ, àŠ¶à§àŠ¯àŠŒàŠŸàŠ° àŠàŠ¯àŠŒàŠŸàŠ°à§àŠàŠŸàŠ°à§àŠž, àŠàŠ¬àŠ àŠàŠ¿àŠàвàŠàŠž àŠžà§àŠ¶àŠš àŠàŠ¿àŠà
Š¿àŠà¥€">
+<!ENTITY torbutton.prefs.resist_fingerprinting "àŠ
àŠšà§àŠ¯àŠŸàŠšà§àН àŠàа àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠ¬à§àŠ¯àŠ¬àŠ¹àŠŸàŠ°àŠàŠŸàŠ°à§àŠŠà§àа àŠ¥à§àŠà§ àŠàŠªàŠšàŠ¿ àŠªàŠŸàŠ°à§àŠ¥àŠà§àН àŠ¬àŠ¿àŠ¬àŠ°àŠ£ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€àŠš àŠàаà§àŠš">
+<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
+<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "àŠàŠªàŠšàŠŸàŠ° àŠàŠ®à§àŠªàŠ¿àŠàŠàŠŸàŠ°à§àа àŠªàŠŸàŠ°àŠ«àŠ°àŠ®à§àŠ¯àŠŸàŠšà§àŠž, àŠà§àЬà§àаà§àŠ¡ àŠ²à§àŠàŠàŠ, àŠ²à§àŠà§àв, àŠàŠšàŠžà§àŠàв àŠàŠ°àŠŸ àŠªà§àŠ²àŠŸàŠàŠàŠšàŠà§àŠ²àŠ¿àŠ° àŠ
àŠ¬àŠžà§àŠ¥àŠŸàŠš, àŠàŠšàŠžà§àŠàв àŠàŠ°àŠŸ àŠªà§àŠ²àŠŸàŠàŠàŠšàŠà§àŠ²àŠ¿àŠ° àŠ€àŠŸàŠ²àŠ¿àŠàŠŸ, àŠàŠªàŠšàŠŸàŠ° àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ àŠžà§àŠ¥àŠ¿àŠ€àŠ¿, àŠžà§àŠà§àаà§àŠš àŠ
àŠàŠ¿àŠàŠ®àŠš, àŠžà§àŠà§àŠ°àŠ¿àŠšà§àа àŠàŠàŠŸàŠ°, àŠžàŠŸàŠàŠ-àŠàа àŠžàŠŸàŠ¥à§ àŠàŠªàŠšàŠŸàŠ° àŠàŠ®à§àŠªàŠ¿àŠàŠàŠŸàŠ°à§àа àŠàŠ®àŠš àŠàŠ¿àŠà§ àŠàŠ¿àŠšàŠ¿àŠž àŠ²à§àŠàŠ¿àŠ¯àŠŒà§ àŠ°àŠŸàŠàŠ€à§ àŠàŠ àŠ¬àŠà§àŠžàŠàŠ¿ àŠà§àŠ àŠàаà§àŠš àŠ¯àŠŸ àŠžàŠŸàŠàŠàŠàŠ¿ àŠàŠªàŠšàŠŸàŠ° àŠàŠŸàŠà§ àŠ
àŠšàŠšà§àН àŠ¹àŠ€à§ àŠªàŠŸàŠ°à§à¥€ àŠšàŠ¿àŠ°à§àŠŠàŠ¿àŠ·à§àŠ àŠà§àŠ® àŠžà§àŠ€àŠ°, àŠžàŠ®àŠ°à§àŠ¥àŠ¿àŠ€ àŠ«àŠŸàŠàвà§àа àŠ§àŠ°àŠš, àŠžàŠ¿àŠžà§àŠà§àŠ® àŠ°àŠ àŠàŠ¬àŠ WebGL àŠà§àŠ·àŠ®àŠ€à
ŠŸàŠà§àŠ²àŠ¿à¥€">
<!ENTITY torbutton.prefs.sec_caption "àŠšàŠ¿àŠ°àŠŸàŠªàŠ€à§àŠ€àŠŸàŠ° àŠ®àŠŸàŠ€à§àŠ°àŠŸ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "àŠžàŠ¿àŠàŠ¿àŠàŠ°àŠ¿àŠàŠ¿ àŠžà§àŠ²àŠŸàŠàŠ¡àŠŸàŠ° àŠàŠªàŠšàŠŸàŠà§ àŠšàŠ¿àŠ°à§àŠŠàŠ¿àŠ·à§àŠ àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ°à§àа àŠ¬à§àŠ¶àŠ¿àŠ·à§àŠà§àНàŠà§àŠ²àŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°àŠ€à§ àŠŠà§àŠ¯àŠŒ àŠ¯àŠŸ àŠàŠªàŠšàŠŸàŠ° àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ°àŠà§ àŠ¹à§àŠ¯àŠŸàŠàŠ¿àŠàŠ¯àŠŒà§àа àŠªà§àаàŠà§àŠ·à§àŠàŠŸàŠà§àŠ²àŠ¿àŠà§ àŠàŠ°àŠ àŠŠà§àаà§àŠ¬àŠ² àŠàŠ°à§ àŠ€à§àŠ²àŠ€à§ àŠªàŠŸàŠ°à§à¥€">
<!ENTITY torbutton.prefs.sec_standard_label "àŠ®àŠŸàŠš">
diff --git a/src/chrome/locale/ca/torbutton.properties b/src/chrome/locale/ca/torbutton.properties
index 7942558f..e8151312 100644
--- a/src/chrome/locale/ca/torbutton.properties
+++ b/src/chrome/locale/ca/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=No pot executar %S des de un sistema de fitxers de només lec
profileAccessDenied=%S no té permisos per accedir al perfil. Si us plau, ajuste els permisos del seu sistema de fitxers i intente-ho de nou.
profileMigrationFailed=La migració del vostre perfil %S ha fallat.\nEs fara servir una nova configuració.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connexió xifrada (Onion Service, %1$S, claus de %2$S bits, %3$S)
pageInfo_OnionEncryption=Connexió xifrada (Onion Service)
diff --git a/src/chrome/locale/cs/torbutton.properties b/src/chrome/locale/cs/torbutton.properties
index acbe680a..5ba87e6b 100644
--- a/src/chrome/locale/cs/torbutton.properties
+++ b/src/chrome/locale/cs/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Aplikaci %S nelze spustit ze souborového systému pouze pro
profileAccessDenied=%S nemá oprávnÄnà k pÅÃstupu k profilu. Upravte prosÃm oprávnÄnà vaÅ¡eho souborového systému a zkuste to znovu.
profileMigrationFailed=Migrace vaÅ¡eho stávajÃcÃho profilu se nezdaÅila.\nBude pouÅŸito nové nastavenÃ.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Å ifrované spojenà (Onion sluÅŸba, %1$S, %2$S bitové klÃÄe, %3$S)
pageInfo_OnionEncryption=Šifrované spojenà (Onion sluşba)
diff --git a/src/chrome/locale/da/torbutton.properties b/src/chrome/locale/da/torbutton.properties
index 573e4e1f..383044d3 100644
--- a/src/chrome/locale/da/torbutton.properties
+++ b/src/chrome/locale/da/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Du kan ikke kÞre %S fra et skrivebeskyttet filsystem. Kopié
profileAccessDenied= %S har ikke rettigheder til at bruge profilen. Skift venligst rettigheder og prÞv igen.
profileMigrationFailed=OverfÞrsel af din eksisterende %S profil fejlede.\nNye indstillinger vil blive brugt.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloader %S opdatering
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Forbindelse krypteret (lÞg-tjeneste, %1$S, %2$S-bit nÞgler, %3$S)
pageInfo_OnionEncryption=Forbindelse krypteret (lÞg-tjeneste)
diff --git a/src/chrome/locale/de/torbutton.properties b/src/chrome/locale/de/torbutton.properties
index cff5f13b..d280a29e 100644
--- a/src/chrome/locale/de/torbutton.properties
+++ b/src/chrome/locale/de/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Es ist nicht möglich %S auf einem nur lesbaren Dateisystem z
profileAccessDenied=%S hat keine Berechtigung um dieses Profil abzurufen. Bitte die Berechtigungen deines Dateisystems einstellen und es noch einmal probieren.
profileMigrationFailed=Ãbernahme des bestehenden %S Profils ist fehlgeschlagen.\nEs werden neue Einstellungen verwendet.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=%S Aktualisierung wird heruntergeladen
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Verbindung verschlÃŒsselt (Onion-Dienst, %1$S, %2$S bit SchlÃŒssel, %3$S)
pageInfo_OnionEncryption=Verbindung verschlÃŒsselt (Onion-Dienst)
diff --git a/src/chrome/locale/el/torbutton.dtd b/src/chrome/locale/el/torbutton.dtd
index c2fe7b3d..63d7597a 100644
--- a/src/chrome/locale/el/torbutton.dtd
+++ b/src/chrome/locale/el/torbutton.dtd
@@ -19,17 +19,17 @@
<!ENTITY torbutton.cookiedialog.domainCol "ÎικοΎεÏÏÏÏηÏ">
<!ENTITY torbutton.cookiedialog.nameCol "ÎΜοΌα">
<!ENTITY torbutton.cookiedialog.pathCol "ÎοΜοÏάÏι">
-<!ENTITY torbutton.cookiedialog.protectCookie "Î ÏοÏÏαÏία Cookie">
+<!ENTITY torbutton.cookiedialog.protectCookie "Î ÏοÏÏαÏία cookie">
<!ENTITY torbutton.cookiedialog.removeCookie "ÎÏαίÏεÏη Cookie">
-<!ENTITY torbutton.cookiedialog.unprotectCookie "ÎκΞεÏη Cookie">
+<!ENTITY torbutton.cookiedialog.unprotectCookie "ÎÏÏη ÏÏοÏÏαÏÎ¯Î±Ï cookie">
<!ENTITY torbutton.cookiedialog.removeAllBut "ÎÏαίÏεÏη ÏλÏΜ εκÏÏÏ ÏÏΜ ÏÏοÏÏαÏεÏ
ÎŒÎΜÏΜ">
-<!ENTITY torbutton.cookiedialog.saveAllCookies "Î ÏοÏÏαÏία ΜÎÏΜ Cookie">
+<!ENTITY torbutton.cookiedialog.saveAllCookies "Î ÏοÏÏαÏία ΜÎÏΜ cookie">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Îα Îη γίΜεÏαι Î ÏοÏÏαÏία ÎÎÏΜ Cookie">
<!ENTITY torbutton.prefs.sec_caption "ÎÏίÏεΎο αÏÏάλειαÏ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "΀ο Slider ÎÏÏÎ¬Î»ÎµÎ¹Î±Ï ÏÎ±Ï Î±ÏήΜει Μα αÏεΜεÏγοÏοιήÏεÏε οÏιÏÎŒÎΜα ÏαÏακÏηÏιÏÏικά ÏοÏ
ÏÏ
λλοΌεÏÏηÏή ÏοÏ
ÎŒÏοÏεί Μα ÏοΜ κάΜοÏ
Μ Ïιο εÏ
άλÏÏο Ïε ÏÏοÏÏÎ¬ÎžÎµÎ¹ÎµÏ hacking.">
-<!ENTITY torbutton.prefs.sec_standard_label "ÎαÏικά">
-<!ENTITY torbutton.prefs.sec_standard_description "ÎÎ»ÎµÏ Î¿Î¹ ÏαÏοÏÎÏ ÏοÏ
Tor Browser και ÏÎ·Ï Î¹ÏÏοÏÎµÎ»Î¯ÎŽÎ±Ï ÎµÎ¯ÎœÎ±Î¹ εΜεÏγοÏοιηΌÎΜεÏ.">
-<!ENTITY torbutton.prefs.sec_safer_label "ÎÏÏαλÎÏÏεÏα">
+<!ENTITY torbutton.prefs.sec_standard_label "ÎαÏικÏ">
+<!ENTITY torbutton.prefs.sec_standard_description "ÎÎ»ÎµÏ Î¿Î¹ ÏαÏοÏÎÏ ÏοÏ
ÏεÏιηγηÏή Tor και ÏÎ·Ï Î¹ÏÏοÏÎµÎ»Î¯ÎŽÎ±Ï ÎµÎ¯ÎœÎ±Î¹ εΜεÏγοÏοιηΌÎΜεÏ.">
+<!ENTITY torbutton.prefs.sec_safer_label "ÎÏÏαλÎÏÏεÏο">
<!ENTITY torbutton.prefs.sec_safer_description "ÎÏεΜεÏγοÏοιεί ÏαÏοÏÎÏ Î¹ÏÏοÏελίΎÏΜ ÏοÏ
είΜαι εÏικίΜΎÏ
ÎœÎµÏ ÎºÎ±Î¹ οΎηγοÏΜ κάÏÎ¿Î¹ÎµÏ Î¹ÏÏοÏÎµÎ»Î¯ÎŽÎµÏ ÏÏο Μα ÏάΜοÏ
Μ λειÏοÏ
ÏγικÏÏηÏα.">
<!ENTITY torbutton.prefs.sec_safer_list_label "ΣÏηΜ αÏÏαλÎÏÏεÏη ÏÏΜΎεÏη:">
<!ENTITY torbutton.prefs.sec_safest_label "ÎÏÏαλÎÏÏαÏο">
@@ -40,6 +40,6 @@
<!ENTITY torbutton.prefs.sec_js_disabled "Î JavaScript είΜαι αÏεΜεÏγοÏοιηΌÎΜη Ïε ÏλοÏ
Ï ÏοÏ
Ï Î¹ÏÏÏÏοÏοÏ
Ï ÏÏ ÏÏοεÏιλογή.">
<!ENTITY torbutton.prefs.sec_limit_typography "ÎεÏικÎÏ Î³ÏαΌΌαÏοÏειÏÎÏ ÎºÎ±Î¹ ΌαΞηΌαÏικά ÏÏΌβολα είΜαι αÏεΜεÏγοÏοιηΌÎΜα.">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "ÎÏιÏÎŒÎÎœÎµÏ Î³ÏαΌΌαÏοÏειÏÎÏ, εικοΜίΎια, ΌαΞηΌαÏικά ÏÏΌβολα και εικÏÎœÎµÏ ÎµÎ¯ÎœÎ±Î¹ αÏεΜεÏγοÏοιηΌÎΜα.">
-<!ENTITY torbutton.prefs.sec_click_to_play_media "ÎÏÎ¿Ï ÎºÎ±Î¹ βίΜÏεο (ÎŒÎÏα HTML5) είΜαι κλίκαÏε-και-Ïαίζει.">
+<!ENTITY torbutton.prefs.sec_click_to_play_media "Îι ήÏοι και Ïα βίΜÏεο (ÎŒÎÏα HTML5) ÏαίζοÏ
Μ, αÏÎ¿Ï Î³Î¯ÎœÎµÎ¹ κλικ για αΜαÏαÏαγÏγή.">
<!ENTITY torbutton.circuit_display.title "ÎÏκλÏΌα Tor">
<!ENTITY torbutton.circuit_display.new_circuit "ÎÎο κÏκλÏΌα για αÏ
Ïή ÏηΜ ιÏÏοÏελίΎα">
diff --git a/src/chrome/locale/el/torbutton.properties b/src/chrome/locale/el/torbutton.properties
index 9d71a2f9..36a18f03 100644
--- a/src/chrome/locale/el/torbutton.properties
+++ b/src/chrome/locale/el/torbutton.properties
@@ -16,18 +16,18 @@ torbutton.panel.label.enabled = ΀ο Tor είΜαι εΜεÏγοÏοιηΌÎΜο
extensions.torbutton(a)torproject.org.description = ΀ο Torbutton ÏÏοÏÏÎÏει ÎΜα κοÏ
ÎŒÏί για Ïη ÏÏΞΌιÏη ÏÏΜ ÏαÏαΌÎÏÏÏΜ ÏοÏ
Tor και για Ïη γÏήγοÏη και εÏκολη εκκαΞάÏιÏη ÏÏΜ ÏÏοÏÏÏικÏΜ ÏÏοιÏείÏΜ ÏεÏιήγηÏηÏ.
torbutton.popup.external.title = ÎήÏη ÎÎœÎ¿Ï ÎµÎŸÏÏεÏÎ¹ÎºÎ¿Ï ÏÏÏοÏ
αÏÏείοÏ
;
torbutton.popup.external.app = Î Tor Browser ΎεΜ ÎŒÏοÏεί Μα εΌÏαΜίÏει αÏ
ÏÏ Ïο αÏÏείο. Îα ÏÏειαÏÏεί Μα Ïο αΜοίΟεÏε Όε κάÏοια άλλη εÏαÏΌογή.\n\n
-torbutton.popup.external.note = ÎÏιÏÎŒÎΜοι ÏÏÏοι αÏÏείÏΜ ÎŒÏοÏοÏΜ Μα ÏÏοκαλÎÏοÏ
Μ εÏαÏΌογÎÏ ÎœÎ± ÏÏ
ΜΎεΞοÏΜ ÏÏο ΎιαΎίκÏÏ
ο ÏÏÏÎ¯Ï Ïη ÏÏήÏη ÏοÏ
Tor.\n\n
+torbutton.popup.external.note = ÎÏιÏÎŒÎΜοι ÏÏÏοι αÏÏείÏΜ ÎŒÏοÏοÏΜ Μα ÏÏοκαλÎÏοÏ
Μ εÏαÏΌογÎÏ ÎœÎ± ÏÏ
ΜΎεΞοÏΜ ÏÏο ΎιαΎίκÏÏ
ο, ÏÏÏÎ¯Ï ÏηΜ ÏÏοÏÏαÏία ÏοÏ
Tor.\n\n
torbutton.popup.external.suggest = Îια Μα είÏÏε αÏÏαλείÏ, Ξα ÏÏÎÏει Μα αΜοίγεÏε Ïα ληÏΞÎΜÏα αÏÏεία ÎŒÏΜο ÎµÎœÏ Î²ÏίÏκεÏÏε εκÏÏÏ ÏÏΜΎεÏηÏ, ή Μα ÏÏηÏιΌοÏοιήÏεÏε ÎΜα Tor Live CD, ÏÏÏÏ Ïο Tails.\n
torbutton.popup.launch = ÎήÏη αÏÏείοÏ
-torbutton.popup.cancel = ÎκÏ
Ïο
+torbutton.popup.cancel = ÎκÏÏÏÏη
torbutton.popup.dontask = ÎÏ
ÏÏΌαÏη λήÏη αÏÏείÏΜ αÏÏ ÏÏÏα και ÏÏο εΟήÏ
torbutton.popup.no_newnym = ΀ο Torbutton ΎεΜ ÎŒÏοÏεί Μα ÏÎ±Ï ÎŽÏÏει Όια αÏÏαλή ΜÎα ÏαÏ
ÏÏÏηÏα, ΎιÏÏι ΎεΜ ÎÏει ÏÏÏÏβαÏη ÏÏο Tor Control Port:\n\nΧÏηÏιΌοÏοιείÏε Ïο ΠακÎÏο ÏοÏ
Tor Browser;
torbutton.security_settings.menu.title = ΡÏ
ΞΌίÏÎµÎ¹Ï Î±ÏÏαλείαÏ
torbutton.title.prompt_torbrowser = ΣηΌαΜÏικÎÏ ÏληÏοÏοÏÎ¯ÎµÏ Î³Î¹Î± Ïο Torbutton
-torbutton.popup.prompt_torbrowser = ΀ο Torbutton λειÏοÏ
Ïγεί ΎιαÏοÏεÏικά, ÏÏÏα: ΎεΜ ÎŒÏοÏείÏε ÏλÎοΜ Μα Ïο αÏεΜεÏγοÏοιήÏεÏε\n\nÎ ÏοβήκαΌε Ïε αÏ
Ïή ÏηΜ αλλαγή ΎιÏÏι, ΎεΜ είΜαι αÏÏαλÎÏ ÎœÎ± ÏÏηÏιΌοÏοιείÏαι Ïο Torbutton ÎŒÎÏα αÏÏ ÎΜα browser ο οÏÎ¿Î¯Î¿Ï ÏÏηÏιΌεÏει και για εÏγαÏÎ¯ÎµÏ ÏÏÏÎ¯Ï Ïη ÏÏήÏη Tor. ÎÎŒÏαΜίζοΜÏαΜ ΎιάÏοÏα ÏÏάλΌαÏα-bugs Ïα οÏοία ΎεΜ ÎŒÏοÏοÏÏαΌε Μα ΎιοÏΞÏÏοÏ
Όε.\n\nÎΜ ΞÎλεÏε Μα εΟακολοÏ
ΞήÏεÏε Μα ÏÏηÏιΌοÏοιείÏε Ïο Firefox καΜοΜικά, Ξα ÏÏÎÏει Μα εγκαÏαÏÏήÏεÏε Ïο Torbutton και Μα κάΜεÏε λήÏη ÏοÏ
ΠακÎÏοÏ
Tor Browser. Îι ιΎιÏÏηÏÎµÏ Î¹ÎŽÎ¹ÏÏικÏÏηÏÎ±Ï ÏοÏ
Tor Browser είΜαι αΜÏÏεÏÎµÏ Î±ÏÏ ÎµÎºÎµÎ¯ÎœÎµÏ ÏοÏ
αÏÎ»Î¿Ï Fir
efox, ακÏΌη και ÏÏηΜ ÏεÏίÏÏÏÏη ÏοÏ
ο Firefox ÏÏηÏιΌοÏοιείÏαι Όαζί Όε Ïο Torbutton.\n\nÎια Μα αÏοΌακÏÏΜεÏε Ïο Torbutton, ÏηγαίΜεÏε ÎÏγαλεία -> Î ÏÏÏΞεÏα -> Extensions και ÏαÏήÏÏε Ïο ÏλήκÏÏο ÎÏοΌάκÏÏ
ΜÏη ÏοÏ
βÏίÏκεÏαι ΎίÏλα αÏÏ Ïο Torbutton.
-torbutton.popup.short_torbrowser = ΣηΌαΜÏική ΠληÏοÏοÏία για Ïο Torbutton!\n\n΀ο Torbutton είΜαι ÏÏÏα ÏÏ
ΜεÏÏÏ ÎµÎœÎµÏγοÏοιηΌÎΜο.\n\nÎια ÏεÏιÏÏÏÏεÏÎµÏ ÏληÏοÏοÏίεÏ, κάΜεÏε κλικ ÏÏο Torbutton.
+torbutton.popup.prompt_torbrowser = ΀ο Torbutton λειÏοÏ
Ïγεί ΎιαÏοÏεÏικά, ÏÏÏα: ΎεΜ ÎŒÏοÏείÏε ÏλÎοΜ Μα Ïο αÏεΜεÏγοÏοιήÏεÏε\n\nÎ ÏοβήκαΌε Ïε αÏ
Ïή ÏηΜ αλλαγή ΎιÏÏι, ΎεΜ είΜαι αÏÏαλÎÏ ÎœÎ± ÏÏηÏιΌοÏοιείÏαι Ïο Torbutton ÎŒÎÏα αÏÏ ÎΜα browser ο οÏÎ¿Î¯Î¿Ï ÏÏηÏιΌεÏει και για εÏγαÏÎ¯ÎµÏ ÏÏÏÎ¯Ï Ïη ÏÏήÏη Tor. ÎÎŒÏαΜίζοΜÏαΜ ΎιάÏοÏα ÏÏάλΌαÏα-bugs Ïα οÏοία ΎεΜ ÎŒÏοÏοÏÏαΌε Μα ΎιοÏΞÏÏοÏ
Όε.\n\nÎΜ ΞÎλεÏε Μα εΟακολοÏ
ΞήÏεÏε Μα ÏÏηÏιΌοÏοιείÏε Ïο Firefox καΜοΜικά, Ξα ÏÏÎÏει Μα εγκαÏαÏÏήÏεÏε Ïο Torbutton και Μα εγκαÏαÏÏήÏεÏε Ïο ÏακÎÏοÏ
ÏεÏιηγηÏή Tor. Îι ιΎιÏÏηÏÎµÏ Î¹ÎŽÎ¹ÏÏικÏÏηÏÎ±Ï ÏοÏ
ÏεÏιηγηÏή Tor είΜαι αΜÏÏεÏεÏ, Ïε ÏÏÎÏη Î
ŒÎµ ÎµÎºÎµÎ¯ÎœÎµÏ ÏοÏ
αÏÎ»Î¿Ï Firefox, ακÏΌη και ÏÏηΜ ÏεÏίÏÏÏÏη ÏοÏ
ο Firefox ÏÏηÏιΌοÏοιείÏαι Όαζί Όε Ïο Torbutton.\n\nÎια Μα αÏαιÏÎÏεÏε Ïο Torbutton, ÏηγαίΜεÏε ÏÏα ÎÏγαλεία -> Î ÏÏÏΞεÏα -> Extensions και ÏαÏήÏÏε Ïο ÏλήκÏÏο "ÎÏαίÏεÏη" ÏοÏ
βÏίÏκεÏαι ΎίÏλα αÏÏ Ïο Torbutton.
+torbutton.popup.short_torbrowser = ΣηΌαΜÏική ΠληÏοÏοÏία για Ïο Torbutton!\n\n΀ο Torbutton είΜαι ÏÏÏα ÏÏ
ΜεÏÏÏ ÎµÎœÎµÏγοÏοιηΌÎΜο.\n\nÎια ÏεÏιÏÏÏÏεÏÎµÏ ÏληÏοÏοÏίεÏ, κάΜÏε κλικ ÏÏο Torbutton.
-torbutton.popup.confirm_plugins = Plugins ÏÏÏÏ Ïο Flash ÎŒÏοÏοÏ
Μ Μα βλάÏοÏ
Μ ÏηΜ ÏÏοÏÏαÏία ÏÎ·Ï Î¹ÎŽÎ¹ÏÏÎ¹ÎºÎ®Ï Î¶ÏÎ®Ï ÎºÎ±Î¹ ÏηΜ αΜÏΜÏ
Όία ÏαÏ. \n\nÎÏοÏοÏΜ εÏίÏÎ·Ï ÎœÎ± ÏαÏακάΌÏοÏ
Μ Ïο Tor για Μα αÏοκαλÏÏοÏ
Μ ÏηΜ ÏÏÎÏοÏ
Ïα ΞÎÏη ÏÎ±Ï ÎºÎ±Î¹ Ïη ΎιεÏΞÏ
ΜÏη IP.\n\nÎιÏÏε ÏιγοÏ
ÏÎ¿Ï ÏÏÏ ÎžÎµÎ»ÎµÏε Μα εΜεÏγοÏοιηΞοÏ
Μ αÏ
Ïα Ïα plugins?\n\n
+torbutton.popup.confirm_plugins = Plugins ÏÏÏÏ Ïο Flash ÎŒÏοÏοÏ
Μ Μα βλάÏοÏ
Μ ÏηΜ ÏÏοÏÏαÏία ÏÎ·Ï Î¹ÎŽÎ¹ÏÏÎ¹ÎºÎ®Ï Î¶ÏÎ®Ï ÎºÎ±Î¹ ÏηΜ αΜÏΜÏ
Όία ÏαÏ. \n\nÎÏοÏοÏΜ εÏίÏÎ·Ï ÎœÎ± ÏαÏακάΌÏοÏ
Μ Ïο Tor για Μα αÏοκαλÏÏοÏ
Μ ÏηΜ ÏÏÎÏοÏ
Ïα ΞÎÏη ÏÎ±Ï ÎºÎ±Î¹ Ïη ΎιεÏΞÏ
ΜÏη IP.\n\nÎίÏÏε ÏίγοÏ
ÏÎ¿Ï ÏÏÏ ÎžÎλεÏε Μα εΜεÏγοÏοιηΞοÏΜ αÏ
Ïά Ïα plugins?\n\n
torbutton.popup.never_ask_again = Îα ΌηΜ εÏÏÏÎ·ÎžÏ ÎŸÎ±ÎœÎ¬
torbutton.popup.confirm_newnym = Î Tor Browser Ξα κλείÏει Ïλα Ïα ÏαÏάΞÏ
Ïα και ÏÎ¹Ï ÎºÎ±ÏÏÎλεÏ. ÎÎ»ÎµÏ Î¿Î¹ ÏÏ
ΜεΎÏÎ¯ÎµÏ Î¹ÏÏοÏελιΎÏΜ Ξα ÏαΞοÏΜ.\n\nÎÏαΜεκκίΜηÏη ÏοÏ
Tor Browser για εÏαΜαÏοÏά ÏÎ·Ï ÏαÏ
ÏÏÏηÏÎ¬Ï ÏοÏ
;\n\n
@@ -45,11 +45,16 @@ canvas.neverAccessKey=ε
# Profile/startup error messages. Strings are kept here for ease of translation.
# LOCALIZATION NOTE: %S is the application name.
profileProblemTitle=Î ÏÏβληΌα Î ÏοÏίλ %S
-profileReadOnly=ÎεΜ ÎŒÏοÏείÏε Μα εκÏελÎÏεÏε Ïο %S αÏÏ ÎΜα ÏÏÏÏηΌα αÏÏείÏΜ ÎŒÏΜο για αΜάγΜÏÏη. ΠαÏÎ±ÎºÎ±Î»Ï Î±ÎœÏιγÏάÏÏε Ïο %S Ïε κάÏοια άλλη ÏοÏοΞεÏία ÏÏιΜ ÏÏοÏÏαΞήÏεÏε Μα Ïο ÏÏηÏιΌοÏοιήÏεÏε.
+profileReadOnly=ÎεΜ ÎŒÏοÏείÏε Μα εκÏελÎÏεÏε Ïο %S αÏÏ ÎΜα ÏÏÏÏηΌα αÏÏείÏΜ, αÏÏ Ïο οÏοίο ΎεΜ είΜαι ÎŽÏ
ΜαÏή η εγγÏαÏή αÏÏείÏΜ. ΠαÏÎ±ÎºÎ±Î»Ï Î±ÎœÏιγÏάÏÏε Ïο %S Ïε Όία άλλη ÏοÏοΞεÏία, ÏÏιΜ ÏÏοÏÏαΞήÏεÏε Μα Ïο ÏÏηÏιΌοÏοιήÏεÏε.
profileReadOnlyMac=ÎεΜ ÎŒÏοÏείÏε Μα εκÏελÎÏεÏε Ïο %S αÏÏ ÎΜα ÏÏÏÏηΌα αÏÏείÏΜ ÎŒÏΜο Όε αΜάγΜÏÏη. ΠαÏÎ±ÎºÎ±Î»Ï Î±ÎœÏιγÏάÏÏε Ïο %S ÏÏηΜ εÏιÏάΜεια εÏγαÏÎ¯Î±Ï ÏÎ±Ï Î® ÏÏÎ¹Ï ÎµÏαÏΌογÎÏ ÏÏιΜ ÏÏοÏÏαΞήÏεÏε Μα Ïο ÏÏηÏιΌοÏοιήÏεÏε.
profileAccessDenied=΀ο %S ΎεΜ ÎÏει άΎεια Μα ÏÏοÏÏελάÏει Ïο ÏÏοÏίλ. ΠαÏÎ±ÎºÎ±Î»Ï ÏÏ
ΞΌίÏÏε ÏÎ¹Ï Î¬ÎŽÎµÎ¹ÎµÏ ÏοÏ
ÏÏ
ÏÏήΌαÏÎ¿Ï Î±ÏÏείÏΜ ÏÎ±Ï ÎºÎ±Î¹ ÏÏοÏÏαΞήÏÏε ΟαΜά.
profileMigrationFailed=ΠΌεÏαÏοÏά ÏοÏ
Ï
ÏάÏÏοΜÏÎ¿Ï ÏÏοÏίλ %S αÏÎÏÏ
Ïε.\nÎα ÏÏηÏιΌοÏοιηΞοÏΜ ΜÎÎµÏ ÏÏ
ΞΌίÏειÏ.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
-pageInfo_OnionEncryptionWithBitsAndProtocol=ÎÏÏ
ÏÏογÏαÏηΌÎΜη ÏÏΜΎεÏη (Î¥ÏηÏεÏία Onion, %1$S, %2$S bit keys, %3$S)
+pageInfo_OnionEncryptionWithBitsAndProtocol=ÎÏÏ
ÏÏογÏαÏηΌÎΜη ÏÏΜΎεÏη (Ï
ÏηÏεÏία Onion, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=ÎÏÏ
ÏÏογÏαÏηΌÎΜη ÏÏΜΎεÏη (Ï
ÏηÏεÏία Onion)
diff --git a/src/chrome/locale/es/aboutTBUpdate.dtd b/src/chrome/locale/es/aboutTBUpdate.dtd
index c6b42517..c90e99df 100644
--- a/src/chrome/locale/es/aboutTBUpdate.dtd
+++ b/src/chrome/locale/es/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
-<!ENTITY aboutTBUpdate.title "Actualización del Navegador Tor">
-<!ENTITY aboutTBUpdate.updated "El Navegador Tor ha sido actualizado.">
+<!ENTITY aboutTBUpdate.title "Actualización del Tor Browser">
+<!ENTITY aboutTBUpdate.updated "El Tor Browser ha sido actualizado.">
<!ENTITY aboutTBUpdate.linkPrefix "Para ver la información más actualizada de esta versión, ">
<!ENTITY aboutTBUpdate.linkLabel "visite nuestro sitio web">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/src/chrome/locale/es/aboutTor.dtd b/src/chrome/locale/es/aboutTor.dtd
index c0934bde..f97f5e34 100644
--- a/src/chrome/locale/es/aboutTor.dtd
+++ b/src/chrome/locale/es/aboutTor.dtd
@@ -15,10 +15,10 @@
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "¿Preguntas?">
-<!ENTITY aboutTor.torbrowser_user_manual_link.label "Comprobar nuestro Manual del Navegador Tor">
+<!ENTITY aboutTor.torbrowser_user_manual_link.label "Comprobar nuestro Manual del Tor Browser">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
-<!ENTITY aboutTor.torbrowser_user_manual.label "Manual del Navegador Tor">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Manual del Tor Browser">
<!ENTITY aboutTor.tor_mission.label "El proyecto Tor es una organización sin fines de lucro definida legalmente en Estados Unidos como 501(c)(3), avanzando libertades y derechos humanos mediante la creación y despliegue de tecnologÃas de anonimato y privacidad sin costo y de fuente abierta, apoyando su disponibilidad y uso sin restricciones y ampliando su entendimiento cientÃfico y popular.">
<!ENTITY aboutTor.getInvolved.label "Involúcrate">
diff --git a/src/chrome/locale/es/brand.dtd b/src/chrome/locale/es/brand.dtd
index 125c48a2..a7f0a1eb 100644
--- a/src/chrome/locale/es/brand.dtd
+++ b/src/chrome/locale/es/brand.dtd
@@ -2,9 +2,9 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY brandShorterName "Navegador Tor">
-<!ENTITY brandShortName "Navegador Tor">
-<!ENTITY brandFullName "Navegador Tor">
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
<!ENTITY vendorShortName "Proyecto Tor">
<!ENTITY trademarkInfo.part1 "Firefox y los logotipos de Firefox son marcas registradas de la Mozilla Foundation.">
diff --git a/src/chrome/locale/es/brand.properties b/src/chrome/locale/es/brand.properties
index 5713d26d..87e010b4 100644
--- a/src/chrome/locale/es/brand.properties
+++ b/src/chrome/locale/es/brand.properties
@@ -2,9 +2,9 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=Navegador Tor
-brandShortName=Navegador Tor
-brandFullName=Navegador Tor
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
vendorShortName=Proyecto Tor
homePageSingleStartMain=Inicio de Firefox, una página principal rápida con búsqueda integrada
diff --git a/src/chrome/locale/es/browserOnboarding.properties b/src/chrome/locale/es/browserOnboarding.properties
index a86af461..ded4d46c 100644
--- a/src/chrome/locale/es/browserOnboarding.properties
+++ b/src/chrome/locale/es/browserOnboarding.properties
@@ -4,17 +4,17 @@
onboarding.tour-tor-welcome=Bienvenido/a
onboarding.tour-tor-welcome.title=Estás listo/a.
-onboarding.tour-tor-welcome.description=El Navegador Tor ofrece un alto standar de privacidad y seguridad mientras se navega por la red. Está ahora protegido de rastreadores, vigilancia y censura. Esta rápida introducción te enseñará cómo.
+onboarding.tour-tor-welcome.description=Tor Browser ofrece un alto standar de privacidad y seguridad mientras se navega por la red. Está ahora protegido de rastreadores, vigilancia y censura. Esta rápida introducción te enseñará cómo.
onboarding.tour-tor-welcome.button=Comienza Ahora
onboarding.tour-tor-privacy=Privacidad
onboarding.tour-tor-privacy.title=Rastreadores y espÃas molestos
-onboarding.tour-tor-privacy.description=El Navegador Tor aÃsla las cookies y borra el historial de navegación después de la sesión. Estas modificaciones aseguran que tu privacidad y seguridad sean protegidas en el navegador. Haz click en 'Red Tor' para saber cómo te protegemeos a nivel de red.
+onboarding.tour-tor-privacy.description=Tor Browser aÃsla las cookies y borra el historial de navegación después de la sesión. Estas modificaciones aseguran que tu privacidad y seguridad sean protegidas en el navegador. Haz click en 'Red Tor' para saber cómo te protegemeos a nivel de red.
onboarding.tour-tor-privacy.button=Ir a la red Tor
onboarding.tour-tor-network=Red Tor
onboarding.tour-tor-network.title=Viaja por la red descentralizada.
-onboarding.tour-tor-network.description=El Navegador Tor te conecta con la Red Tor, mantenida por miles de voluntarios alrededor del mundo.\nA diferencia de una VPN, no hay un punto de falla o entidad centralizada en la que necesites confiar para disfrutar de Internet de forma privada.
+onboarding.tour-tor-network.description=Tor Browser te conecta con la Red Tor, mantenida por miles de voluntarios alrededor del mundo.\nA diferencia de una VPN, no hay un punto de falla o entidad centralizada en la que necesites confiar para disfrutar de Internet de forma privada.
onboarding.tour-tor-network.button=Ir a la visualización del circuito
onboarding.tour-tor-circuit-display=Visualización del circuito
diff --git a/src/chrome/locale/es/torbutton.dtd b/src/chrome/locale/es/torbutton.dtd
index 2a95e0b7..3a6c636a 100644
--- a/src/chrome/locale/es/torbutton.dtd
+++ b/src/chrome/locale/es/torbutton.dtd
@@ -6,12 +6,12 @@
<!ENTITY torbutton.context_menu.preferences.key "S">
<!ENTITY torbutton.context_menu.networksettings "Configuración de red Tor...">
<!ENTITY torbutton.context_menu.networksettings.key "R">
-<!ENTITY torbutton.context_menu.downloadUpdate "Comprobar actualización del Navegador Tor...">
+<!ENTITY torbutton.context_menu.downloadUpdate "Comprobar actualización del Tor Browser...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "a">
<!ENTITY torbutton.context_menu.cookieProtections "Protecciones de cookie...">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
<!ENTITY torbutton.button.tooltip "Haga clic para inicializar Torbutton">
-<!ENTITY torbutton.prefs.security_settings "Configuración de seguridad del Navegador Tor">
+<!ENTITY torbutton.prefs.security_settings "Configuración de seguridad del Tor Browser">
<!ENTITY torbutton.prefs.restore_defaults "Restaurar valores predeterminados">
<!ENTITY torbutton.prefs.custom_warning "Tus preferencias personalizadas para el navegador han resultado en una configuración de seguridad inusual. Por motivos de seguridad y privacidad, te recomendamos uno de los de los niveles de seguridad predeterminados.">
<!ENTITY torbutton.cookiedialog.title "Administrar protecciones de cookie">
@@ -28,7 +28,7 @@
<!ENTITY torbutton.prefs.sec_caption "Nivel de seguridad">
<!ENTITY torbutton.prefs.sec_caption_tooltip "El control deslizante del nivel de seguridad te permite deshabilitar ciertas caracterÃsticas del navegador que pueden hacerlo más vulnerable a tentativas de hackeo.">
<!ENTITY torbutton.prefs.sec_standard_label "Estándar">
-<!ENTITY torbutton.prefs.sec_standard_description "Están habilitadas todas las caracterÃsticas de Navegador Tor y sitio web.">
+<!ENTITY torbutton.prefs.sec_standard_description "Están habilitadas todas las caracterÃsticas de Tor Browser y sitio web.">
<!ENTITY torbutton.prefs.sec_safer_label "Más segura">
<!ENTITY torbutton.prefs.sec_safer_description "Deshabilita caracterÃsticas del sitio web que a menudo son peligrosas, lo que causa que algunos sitios pierdan funcionalidad.">
<!ENTITY torbutton.prefs.sec_safer_list_label "En la configuración 'más segura':">
diff --git a/src/chrome/locale/es/torbutton.properties b/src/chrome/locale/es/torbutton.properties
index 7c3d7050..e987e64c 100644
--- a/src/chrome/locale/es/torbutton.properties
+++ b/src/chrome/locale/es/torbutton.properties
@@ -8,33 +8,33 @@ torbutton.circuit_display.unknown_country = PaÃs desconocido
torbutton.circuit_display.guard = Protección
torbutton.circuit_display.guard_note = Tu nodo [de protección] no puede cambiar.
torbutton.circuit_display.learn_more = Conocer más
-torbutton.content_sizer.margin_tooltip = El Navegador Tor añade este margen para hacer el ancho y el alto de tu ventana menos especial, y reducir de esta forma la posibilidad de rastrearte en lÃnea.
+torbutton.content_sizer.margin_tooltip = El Tor Browser añade este margen para hacer el ancho y el alto de tu ventana menos especial, y reducir de esta forma la posibilidad de rastrearte en lÃnea.
torbutton.panel.tooltip.disabled = Haga clic para habilitar Tor
torbutton.panel.tooltip.enabled = Haga clic para deshabilitar Tor
torbutton.panel.label.disabled = Tor deshabilitado
torbutton.panel.label.enabled = Tor habilitado
extensions.torbutton(a)torproject.org.description = Torbutton proporciona un botón para configurar las preferencias de Tor y limpiar rápida y fácilmente los datos de navegación privada.
torbutton.popup.external.title = ¿Descargar un tipo de fichero externo?
-torbutton.popup.external.app = El Navegador Tor no puede mostrar este fichero. Tendrás que abrirlo con otra aplicación.\n\n
+torbutton.popup.external.app = El Tor Browser no puede mostrar este fichero. Tendrás que abrirlo con otra aplicación.\n\n
torbutton.popup.external.note = Algunos tipos de ficheros pueden hacer que ciertas aplicaciones se conecten a Internet sin usar Tor.\n\n
torbutton.popup.external.suggest = Para estar seguro, deberÃas abrir únicamente los archivos descargados cuando no esté conectado, o usar un Live CD (autoarrancable) de Tor como Tails.\n
torbutton.popup.launch = Descargar fichero
torbutton.popup.cancel = Cancelar
torbutton.popup.dontask = Descargar ficheros automáticamente a partir de ahora
-torbutton.popup.no_newnym = Torbutton no puede darle una nueva identidad (instancia de Tor) de forma segura. No tiene acceso al puerto de control de Tor (ControlPort)\n\n¿Está ejecutando el Paquete de Navegador Tor?
+torbutton.popup.no_newnym = Torbutton no puede darte una nueva identidad (instancia de Tor) de forma segura. No tiene acceso al puerto de control de Tor (ControlPort)\n\n¿Estás ejecutando el Tor Browser Bundle?
torbutton.security_settings.menu.title = Configuración de seguridad
torbutton.title.prompt_torbrowser = Información importante sobre Torbutton
-torbutton.popup.prompt_torbrowser = Torbutton ahora funciona de manera diferente: ya no lo podrás apagar. \n \nHicimos este cambio porque no es seguro utilizar Torbutton en un navegador que también se utilice para navegar sin Tor. Hubo tantos fallos con esto que no pudimos arreglarlo de otro modo. \n \nSi quieres seguir usando Firefox normalmente, deberÃas desinstalar Torbutton y descargar el Paquete de Navegador Tor. Las propiedades de privacidad del Navegador Tor son superiores a las de un Firefox normal, incluso cuando se usa Firefox con Torbutton. \n \nPara eliminar Torbutton. vaya a Herramientas->Complementos->Extensiones y haga clic en el botón Eliminar próximo a Torbutton.
+torbutton.popup.prompt_torbrowser = Torbutton ahora funciona de manera diferente: ya no lo podrás apagar. \n \nHicimos este cambio porque no es seguro utilizar Torbutton en un navegador que también se utilice para navegar sin Tor. Hubo tantos fallos con esto que no pudimos arreglarlo de otro modo. \n \nSi quieres seguir usando Firefox normalmente, deberÃas desinstalar Torbutton y descargar el Tor Browser Bundle (paquete). Las propiedades de privacidad del Tor Browser son superiores a las de un Firefox normal, incluso cuando se usa Firefox con Torbutton. \n \nPara eliminar Torbutton. vaya a Herramientas->Complementos->Extensiones y haga clic en el botón Eliminar próximo a Torbutton.
torbutton.popup.short_torbrowser = ¡Información importante sobre Torbutton! \n \nTorbutton ahora está siempre encendido. \n \nHaga clic en (el botón de) Torbutton para más información.
torbutton.popup.confirm_plugins = Complementos (plugins) como Flash pueden dañar tu privacidad y anonimato.\n\nTambién pueden esquivar Tor revelando tu ubicación y dirección IP actuales.\n\n¿Estás seguro de que quieres habilitar los complementos?\n\n
torbutton.popup.never_ask_again = No me vuelvas a preguntar
-torbutton.popup.confirm_newnym = El Navegador Tor cerrará todas las ventanas y pestañas. Todas las sesiones de sitios web se perderán.\n\n¿Reiniciar el Navegador Tor para restablecer su identidad?\n\n
+torbutton.popup.confirm_newnym = El Tor Browser cerrará todas las ventanas y pestañas. Todas las sesiones de sitios web se perderán.\n\n¿Reiniciar el Tor Browser para restablecer su identidad?\n\n
-torbutton.maximize_warning = Maximizar el navegador Tor puede permitir a los sitios web determinar el tamaño de tu monitor, lo que podrÃa usarse para rastrearte. Te recomendamos que dejes las ventanas del navegador Tor en su tamaño predeterminado.
+torbutton.maximize_warning = Maximizar el Tor Browser puede permitir a los sitios web determinar el tamaño de tu monitor, lo que podrÃa usarse para rastrearte. Te recomendamos que dejes las ventanas del Tor Browser en su tamaño predeterminado.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=Este sitio web (%s) intentó extraer datos de imagen de un lienzo HTML5, que podrÃan usarse para identificar de forma única su computadora.\n\n¿Debe permitir el Navegador Tor a este sitio web extraer los datos de imagen de lienzos HTML5?
+canvas.siteprompt=Este sitio web (%s) intentó extraer datos de imagen de un lienzo HTML5, que podrÃan usarse para identificar de forma única su computadora.\n\n¿Debe permitir el Tor Browser a este sitio web extraer los datos de imagen de lienzos HTML5?
canvas.notNow=Ahora no
canvas.notNowAccessKey=N
canvas.allow=Permitir en el futuro
@@ -50,6 +50,11 @@ profileReadOnlyMac=No puede ejecutar %S desde un sistema de ficheros de solo-lec
profileAccessDenied=%S no tiene permiso para acceder al perfil. Ajuste los permisos de su sistema de ficheros e inténtelo de nuevo.
profileMigrationFailed=Ha ocurrido un error en la migración de tu perfil %S. \nSe usarán los nuevos ajustes.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Descargando %S de la actualización
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Conexión cifrada (Servicio cebolla, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Conexión cifrada (Servicio cebolla)
diff --git a/src/chrome/locale/eu/aboutTBUpdate.dtd b/src/chrome/locale/eu/aboutTBUpdate.dtd
index 535b8e39..acaa0da7 100644
--- a/src/chrome/locale/eu/aboutTBUpdate.dtd
+++ b/src/chrome/locale/eu/aboutTBUpdate.dtd
@@ -7,4 +7,4 @@
<!ENTITY aboutTBUpdate.circuitDisplayHeading "New, Redesigned Circuit Display">
<!ENTITY aboutTBUpdate.circuitDisplayDescription "The Tor circuit display has been relocated and improved! Click the Site Identity button (located on the left side of the URL bar) to see the new circuit display.">
-<!ENTITY aboutTBUpdate.learnMore "Learn More">
+<!ENTITY aboutTBUpdate.learnMore "Ikasi gehiago">
diff --git a/src/chrome/locale/eu/aboutTor.dtd b/src/chrome/locale/eu/aboutTor.dtd
index 123091e5..4b9d3ec1 100644
--- a/src/chrome/locale/eu/aboutTor.dtd
+++ b/src/chrome/locale/eu/aboutTor.dtd
@@ -6,23 +6,23 @@
<!ENTITY aboutTor.title "Tori buruz">
-<!ENTITY aboutTor.ready.label "Explore. Privately.">
+<!ENTITY aboutTor.ready.label "Esploratu. Pribatuki.">
<!ENTITY aboutTor.ready2.label "Youâre ready for the worldâs most private browsing experience.">
<!ENTITY aboutTor.failure.label "Zerbait gaizki joan da!">
<!ENTITY aboutTor.failure2.label "Tor ez da nabigatzaile honetan funtzionatzen ari.">
-<!ENTITY aboutTor.search.label "Search with DuckDuckGo">
+<!ENTITY aboutTor.search.label "Bilatu DuckDuckGo erabiliz">
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "Galderarik?">
<!ENTITY aboutTor.torbrowser_user_manual_link.label "Check our Tor Browser Manual »">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
-<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser Manual">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Tor nabigatzailearen eskuliburua">
<!ENTITY aboutTor.tor_mission.label "The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.">
-<!ENTITY aboutTor.getInvolved.label "Get Involved »">
+<!ENTITY aboutTor.getInvolved.label "Hartu parte »">
<!ENTITY aboutTor.getInvolved.link "https://www.torproject.org/getinvolved/volunteer.html.en">
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
-<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
+<!ENTITY aboutTor.newsletter.link_text "Harpidetu Tor berrietara">
diff --git a/src/chrome/locale/eu/browserOnboarding.properties b/src/chrome/locale/eu/browserOnboarding.properties
index a3747409..ae04ee31 100644
--- a/src/chrome/locale/eu/browserOnboarding.properties
+++ b/src/chrome/locale/eu/browserOnboarding.properties
@@ -2,25 +2,25 @@
# See LICENSE for licensing information.
# vim: set sw=2 sts=2 ts=8 et:
-onboarding.tour-tor-welcome=Welcome
-onboarding.tour-tor-welcome.title=Youâre ready.
+onboarding.tour-tor-welcome=Ongi etorri
+onboarding.tour-tor-welcome.title=Prest zaude
onboarding.tour-tor-welcome.description=Tor Browser offers the highest standard of privacy and security while browsing the web. Youâre now protected against tracking, surveillance, and censorship. This quick onboarding will show you how.
-onboarding.tour-tor-welcome.button=Start Now
+onboarding.tour-tor-welcome.button=Hasi orain
onboarding.tour-tor-privacy=Pribatutasuna
onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and deletes your browser history after your session. These modifications ensure your privacy and security are protected in the browser. Click âTor Networkâ to learn how we protect you on the network level.
-onboarding.tour-tor-privacy.button=Go to Tor Network
+onboarding.tour-tor-privacy.button=Joan Tor sarera
-onboarding.tour-tor-network=Tor Network
+onboarding.tour-tor-network=Tor sarea
onboarding.tour-tor-network.title=Travel a decentralized network.
onboarding.tour-tor-network.description=Tor Browser connects you to the Tor network run by thousands of volunteers around the world. Unlike a VPN, thereâs no one point of failure or centralized entity you need to trust in order to enjoy the internet privately.
onboarding.tour-tor-network.button=Go to Circuit Display
onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
+onboarding.tour-tor-circuit-display.title=Ikusi zure bidea.
onboarding.tour-tor-circuit-display.description=For each domain you visit, your traffic is relayed and encrypted in a circuit across three Tor relays around the world. No website knows where you are connecting from. You can request a new circuit by clicking âNew Circuit for this Siteâ on our Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display.button=Ikusi nire bidea
onboarding.tour-tor-security=Segurtasuna
onboarding.tour-tor-security.title=Choose your experience.
@@ -32,7 +32,7 @@ onboarding.tour-tor-expect-differences.title=Expect some differences.
onboarding.tour-tor-expect-differences.description=With all the security and privacy features provided by Tor, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.
onboarding.tour-tor-expect-differences.button=See FAQs
-onboarding.tour-tor-onion-services=Onion Services
+onboarding.tour-tor-onion-services=Onion zerbitzuak
onboarding.tour-tor-onion-services.title=Be extra protected.
onboarding.tour-tor-onion-services.description=Onion services are sites that end with a .onion that provide extra protections to publishers and visitors, including added safeguards against censorship. Onion services allow anyone to provide content and services anonymously. Click below to visit the DuckDuckGo onion site.
onboarding.tour-tor-onion-services.button=Visit an Onion
@@ -40,9 +40,9 @@ onboarding.tour-tor-onion-services.button=Visit an Onion
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=Hurrengoa
onboarding.tor-circuit-display.done=Eginda
-onboarding.tor-circuit-display.one-of-three=1 of 3
-onboarding.tor-circuit-display.two-of-three=2 of 3
-onboarding.tor-circuit-display.three-of-three=3 of 3
+onboarding.tor-circuit-display.one-of-three=1 / 3
+onboarding.tor-circuit-display.two-of-three=2 / 3
+onboarding.tor-circuit-display.three-of-three=3 / 3
onboarding.tor-circuit-display.intro.title=How do circuits work?
onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly assigned relays, which are computers around the world configured to forward Tor traffic. Circuits allow you to browse privately and to connect to onion services.
diff --git a/src/chrome/locale/eu/torbutton.properties b/src/chrome/locale/eu/torbutton.properties
index 328f0414..c86a5785 100644
--- a/src/chrome/locale/eu/torbutton.properties
+++ b/src/chrome/locale/eu/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Ezin duzu %S exekutatu irakurtzeko soilik den fitxategi siste
profileAccessDenied=%S ez du profilera sartzeko baimenik. Mesedez egokitu itzazu zure fitxategi sistemaren baimenak eta berriz saiatu.
profileMigrationFailed=Zure %S profilaren migrazioak huts egin du.\nEzarpen berriak erabiliko dira.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connection Encrypted (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Connection Encrypted (Onion Service)
diff --git a/src/chrome/locale/fa/aboutTBUpdate.dtd b/src/chrome/locale/fa/aboutTBUpdate.dtd
index 9ad06d0b..ab4edbc6 100644
--- a/src/chrome/locale/fa/aboutTBUpdate.dtd
+++ b/src/chrome/locale/fa/aboutTBUpdate.dtd
@@ -5,6 +5,6 @@
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.changeLogHeading "ÙÛØ³Øª تغÛÛØ±Ø§Øª:">
-<!ENTITY aboutTBUpdate.circuitDisplayHeading "New, Redesigned Circuit Display">
-<!ENTITY aboutTBUpdate.circuitDisplayDescription "The Tor circuit display has been relocated and improved! Click the Site Identity button (located on the left side of the URL bar) to see the new circuit display.">
+<!ENTITY aboutTBUpdate.circuitDisplayHeading "ÙÙ
Ø§ÛØŽ Ø¬Ø¯ÛØ¯ Ù Ø¯ÙØšØ§Ø±Ù طراØÛ ؎دÙâÛ Ø¬Ø±ÛØ§Ù">
+<!ENTITY aboutTBUpdate.circuitDisplayDescription "ÙÙ
Ø§ÛØŽ Ø¬Ø±ÛØ§Ù ØªÙØ± ÙÙÙ Ù
Ú©Ø§Ù Ù ØšÙØšÙد ÛØ§Ùت! ؚر رÙÛ Ø¯Ú©Ù
Ù Û ÙÙÛØª Ø³Ø§Ûت Ú©ÙÛÚ© Ú©ÙÛØ¯ (ک٠در سÙ
ت ÚÙŸ ÙÙØ§Ø± آدرس اÛÙØªØ±ÙØªÛ ÙØ±Ø§Ø± دارد) تا ÙÙ
Ø§ÛØŽ Ø¬Ø¯ÛØ¯ Ø¬Ø±ÛØ§Ù را ؚؚÛÙÛØ¯.">
<!ENTITY aboutTBUpdate.learnMore "ØšÛØŽØªØ± ؚداÙÛØ¯">
diff --git a/src/chrome/locale/fa/aboutTor.dtd b/src/chrome/locale/fa/aboutTor.dtd
index a4908b04..85d5ce96 100644
--- a/src/chrome/locale/fa/aboutTor.dtd
+++ b/src/chrome/locale/fa/aboutTor.dtd
@@ -20,7 +20,7 @@
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
<!ENTITY aboutTor.torbrowser_user_manual.label "راÙÙÙ
Ø§Û Ù
Ø±ÙØ±Ú¯Ø± ØªÙØ±">
-<!ENTITY aboutTor.tor_mission.label "The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.">
+<!ENTITY aboutTor.tor_mission.label "ٟرÙÚÙâÛ ØªÙØ± ÛÚ© سازÙ
Ø§Ù ØºÛØ±Ø§ÙØªÙØ§Ø¹Û US 501(c)(3) ØšØ±Ø§Û ÙŸÛØŽØšØ±Ø¯ ØÙÙ٠ؚ؎ر Ù Ø¢Ø²Ø§Ø¯Û ØšØ§ Ø§ÛØ¬Ø§Ø¯ Ù Ø§Ø³ØªÙØ±Ø§Ø± تکÙÙÙÙÚÛâÙØ§Û Ú¯Ù
ÙØ§Ù
Û Ù
ت٠ؚاز Ù ØØ±ÛÙ
Ø®ØµÙØµÛ است ک٠از در دسترس ØšÙØ¯Ù ÙØ§Ù
ØØ¯Ùد Ù Ø§Ø³ØªÙØ§Ø¯Ù Ù ÙŸÛØŽØ±Ùت درک عÙÙ
Û Ù Ø¹Ù
ÙÙ
Û ØšØŽØ± ØÙ
Ø§ÛØª Ù
ÛâÚ©ÙØ¯.">
<!ENTITY aboutTor.getInvolved.label "Ø¯Ø±ÛØ§Ùت Ù
؎ارکت »">
<!ENTITY aboutTor.getInvolved.link "https://www.torproject.org/getinvolved/volunteer.html.en">
diff --git a/src/chrome/locale/fa/browserOnboarding.properties b/src/chrome/locale/fa/browserOnboarding.properties
index 3845e2ee..79111576 100644
--- a/src/chrome/locale/fa/browserOnboarding.properties
+++ b/src/chrome/locale/fa/browserOnboarding.properties
@@ -8,34 +8,34 @@ onboarding.tour-tor-welcome.description=Ù
Ø±ÙØ±Ú¯Ø± ØªÙØ± در ÙÙگاÙ
Ù
ر
onboarding.tour-tor-welcome.button=ÙÙ
ÛÙ ØØ§Ùا ØŽØ±ÙØ¹ Ú©Ù.
onboarding.tour-tor-privacy=ØØ±ÛÙ
Ø®ØµÙØµÛ
-onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
-onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and deletes your browser history after your session. These modifications ensure your privacy and security are protected in the browser. Click âTor Networkâ to learn how we protect you on the network level.
-onboarding.tour-tor-privacy.button=ØšÙ ØŽØšÚ©Ù ØªÙØ± ؚرÙ
+onboarding.tour-tor-privacy.title=ØšÙ Ú©ØŽÙØ¯Ù ÙØ§ Ù Ø¬Ø§Ø³ÙØ³ ÙØ§
+onboarding.tour-tor-privacy.description=Ù
Ø±ÙØ±Ú¯Ø± ØªÙØ± ؚعد از ÙØ± ÙØŽØ³Øª Ú©ÙÙÚÙ ÙØ§ Ù ØªØ§Ø±ÛØ®Ú٠گ؎ت ٠گذار ØŽÙ
ا را ٟاک Ù
ÛÚ©ÙØ¯. اÛÙÚ¯ÙÙÙ Ø§ØµÙØ§ØØ§Øª اÙ
ÙÛØª Ù ØØ±ÛÙ
ØŽØ®ØµÛ ØŽÙ
ا را تضÙ
ÛÙ Ù
ÛÚ©ÙØ¯. ؚر رÙÛ Â«ØŽØšÚ©Ù ÙŸÛØ§Ø²Û» Ú©ÙÛÚ© Ú©ÙÛØ¯ تا ÛØ§Ø¯ØšÚ¯ÛØ±ÛØ¯ Ú©Ù Ù
ا ÚØ·Ùر از ØŽÙ
ا درÙÙ ØŽØšÚ©Ù Ù
ØØ§Ù؞ت Ù
ÛÚ©ÙÛÙ
.
+onboarding.tour-tor-privacy.button=ØšØ±Ù ØšÙ ØŽØšÚ©Ù ØªÙØ±
onboarding.tour-tor-network=ØŽØšÚ©Ù ØªÙØ±
-onboarding.tour-tor-network.title=Travel a decentralized network.
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor network run by thousands of volunteers around the world. Unlike a VPN, thereâs no one point of failure or centralized entity you need to trust in order to enjoy the internet privately.
-onboarding.tour-tor-network.button=Go to Circuit Display
+onboarding.tour-tor-network.title=در ÛÚ© ØŽØšÚ©Ù ØªÙØ¶Ûع ØŽØ¯Ù Ø³ÙØ± Ú©ÙÛØ¯.
+onboarding.tour-tor-network.description=Ù
Ø±ÙØ±Ú¯Ø± ØªÙØ± ØŽÙ
ا را ØšÙ ØŽØšÚ©Ù ØªÙØ± Ù
تص٠Ù
ÛÚ©ÙØ¯ Ú©Ù ØªÙØ³Ø· ÙØ²Ø§Ø±Ø§Ù Ø¯Ø§ÙØ·ÙØš از Ú¯ÙØŽÙ Ú¯ÙØŽÙ Û Ø¬ÙØ§Ù ؚرٟا ؎د٠است. ØšØ±Ø®ÙØ§Ù ÙÛ ÙŸÛ Ø§Ù Ø¯Ø± اÛÙØ¬Ø§ ÙÛÚ ÙÙØ·Ù Ø¢Ø³ÛØš ÙŸØ°ÛØ± Ù
Ø±Ú©Ø²Û Ú©Ù ØšØ§Ø¹Ø« Ø®Ø±Ø§ØšÛ Ø³ÛØ³ØªÙ
ØšØŽÙØ¯ ÛØ§ ÙÛØ§Ø² ؚا؎د ک٠ؚ٠آ٠اعتÙ
اد Ú©ÙÛØ¯ تا از ÙØš ØšÙ Ø·ÙØ± ØŽØ®ØµÛ ÙØ°Øª ØšØšØ±ÛØ¯ ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯.
+onboarding.tour-tor-network.button=ØšÙ ÙÙ
Ø§ÛØŽ Ø¬Ø±ÛØ§Ù ؚرÙÛØ¯
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, your traffic is relayed and encrypted in a circuit across three Tor relays around the world. No website knows where you are connecting from. You can request a new circuit by clicking âNew Circuit for this Siteâ on our Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display=ÙÙ
Ø§ÛØŽ Ø¬Ø±ÛØ§Ù
+onboarding.tour-tor-circuit-display.title=Ù
Ø³ÛØ± Ø®ÙØ¯ را ؚؚÛÙÛØ¯.
+onboarding.tour-tor-circuit-display.description=ØšØ±Ø§Û ÙØ± داÙ
ÙÙ Ú©Ù ØšØ§Ø²Ø¯ÛØ¯ Ù
ÛâÚ©ÙÛØ¯Ø تراÙÛÚ© ØŽÙ
ا در Ø¬Ø±ÛØ§ÙÛ Ø§Ø² س٠رÙÙâÛ ØªÙØ± در سراسر Ø¬ÙØ§Ù رÙ
Ø²Ú¯Ø°Ø§Ø±Û Ù
ÛâØŽÙØ¯. ÙØšØ³Ø§Ûت Ù
ÙØ±Ø¯ ÙØžØ± ÙÙ
ÛâØ¯Ø§ÙØ¯ Ú©Ù ØŽÙ
ا از کجا ارتؚاط را ØšØ±ÙØ±Ø§Ø± کردÙâØ§ÛØ¯. ØŽÙ
ا Ù
ÛâØªÙØ§ÙÛØ¯ Ø¯Ø±Ø®ÙØ§Ø³Øª ÛÚ© Ø¬Ø±ÛØ§Ù Ø¬Ø¯ÛØ¯ را ؚا Ú©ÙÛÚ© ؚر 'Ø¬Ø±ÛØ§Ù Ø¬Ø¯ÛØ¯ ØšØ±Ø§Û Ø§ÛÙ Ø³Ø§ÛØª' در ؚخ؎ ÙÙ
Ø§ÛØŽ Ø¬Ø±ÛØ§Ù Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯.
+onboarding.tour-tor-circuit-display.button=Ù
ØŽØ§ÙØ¯Ù Ù
Ø³ÛØ± Ù
Ù
onboarding.tour-tor-security=اÙ
ÙÛØª
-onboarding.tour-tor-security.title=Choose your experience.
-onboarding.tour-tor-security.description=We also provide you with additional settings for bumping up your browser security. Our Security Settings allow you to block elements that could be used to attack your computer. Click below to see what the different options do.
-onboarding.tour-tor-security.button=Review Settings
+onboarding.tour-tor-security.title=Ø§ÙØªØ®Ø§Øš تجرؚÙâÛ ØŽÙ
ا
+onboarding.tour-tor-security.description=ÙÙ
ÚÙÛÙ Ù
ا ØªÙØžÛÙ
ات اضاÙÛ ØšØ±Ø§Û ØšØ§ÙØ§ ؚرد٠اÙ
ÙÛØª Ù
Ø±ÙØ±Ú¯Ø± ØŽÙ
ا ÙØ±Ø§ÙÙ
کردÙâØ§ÛÙ
. ØªÙØžÛÙ
ات اÙ
ÙÛØª Ù
ا ØšÙ ØŽÙ
ا اجاز٠Ù
ÛâØ¯ÙØ¯ تا اجزاÛÛ Ú©Ù Ù
Ù
ک٠است ØšØ±Ø§Û ØÙ
ÙÙ ØšÙ Ø±Ø§ÛØ§ÙÙ ØŽÙ
ا Ø§Ø³ØªÙØ§Ø¯Ù ØŽÙÙØ¯ را Ù
Ø³Ø¯ÙØ¯ Ú©ÙÛØ¯. ØšØ±Ø§Û Ù
ØŽØ§ÙØ¯ÙâÛ Ú¯Ø²ÛÙÙâÙØ§Û Ù
ختÙÙÛ Ú©Ù ÙØ¬Ùد Ø¯Ø§Ø±Ø¯Ø ÙŸØ§ÛÛ٠را Ú©ÙÛÚ© Ú©ÙÛØ¯.
+onboarding.tour-tor-security.button=Ù
Ø±ÙØ± ØªÙØžÛÙ
ات
-onboarding.tour-tor-expect-differences=Experience Tips
-onboarding.tour-tor-expect-differences.title=Expect some differences.
-onboarding.tour-tor-expect-differences.description=With all the security and privacy features provided by Tor, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.
+onboarding.tour-tor-expect-differences=Ùکات تجرؚÙ
+onboarding.tour-tor-expect-differences.title=Ø§ÙØªØžØ§Ø± ØšØ±Ø®Û ØªÙØ§ÙتâÙØ§ را Ø¯Ø§ØŽØªÙ ØšØ§ØŽÛØ¯.
+onboarding.tour-tor-expect-differences.description=ؚا تÙ
اÙ
اÙ
Ú©Ø§ÙØ§Øª اÙ
ÙÛØª Ù ØØ±ÛÙ
Ø®ØµÙØµÛ Ú©Ù ØªÙØ± ÙØ±Ø§ÙÙ
Ú©Ø±Ø¯ÙØ تجرؚ٠؎Ù
ا در ØØ§Ù Ø§Ø³ØªÙØ§Ø¯Ù از اÛÙØªØ±Ùت Ù
Ù
ک٠است Ú©Ù
Û Ù
ØªÙØ§Ùت ؚا؎د. ÙÙ
Ù ÚÛØ² Ù
Ù
ک٠است Ú©Ù
Û Ø¢ÙØ³ØªÙâØªØ± ؚا؎د Ù ØšØ³ØªÙ ØšÙ Ø³Ø·Ø Ø§Ù
ÙÛØª ØŽÙ
ا ØšØ¹Ø¶Û Ø§Ø¬Ø²Ø§ Ù
Ù
ک٠است کار ÙÚ©ÙÙØ¯ ÛØ§ ØšØ§Ø±Ú¯ÛØ±Û ÙØŽÙÙØ¯. Ù
Ù
ک٠است Ú¯Ø§ÙØ§ از ØŽÙ
ا Ø¯Ø±Ø®ÙØ§Ø³Øª ØŽÙØ¯ Ú©Ù Ø§ÙØ³Ø§Ù ØšÙØ¯Ù ٠رؚات ÙØšÙØ¯Ù Ø®ÙØ¯ را اثؚات Ú©ÙÛØ¯.
onboarding.tour-tor-expect-differences.button=Ù
ØŽØ§ÙØ¯Ù ٟرس؎گاÙ
onboarding.tour-tor-onion-services=خدÙ
ات ÙŸÛØ§Ø²Û
-onboarding.tour-tor-onion-services.title=Be extra protected.
-onboarding.tour-tor-onion-services.description=Onion services are sites that end with a .onion that provide extra protections to publishers and visitors, including added safeguards against censorship. Onion services allow anyone to provide content and services anonymously. Click below to visit the DuckDuckGo onion site.
-onboarding.tour-tor-onion-services.button=Visit an Onion
+onboarding.tour-tor-onion-services.title=ØšÛØŽØªØ± Ù
ØØ§Ù؞ت ØŽÙÛØ¯.
+onboarding.tour-tor-onion-services.description=خدÙ
ات ÙŸÛØ§Ø²Û ÙØšÚ¯Ø§Ù ÙØ§ÛÛ ÙØ³ØªÙد ک٠ؚا ٟسÙÙØ¯ «ÙÙØ·Ù ÙŸÛØ§Ø²Â» ØšÙ ÙŸØ§ÛØ§Ù Ù
ÛØ±Ø³Ùد. اÛÙ ÙØšÚ¯Ø§Ù ÙØ§ Ù
ØØ§Ù؞ت Ù
ضاعÙÛ Ø±Ù Ù
اÙÙØ¯: سٟر Ù
ØØ§ÙØž در ؚراؚر Ø³Ø§ÙØ³Ùر را ØšØ±Ø§Û Ù
ÙØªØŽØ± Ú©ÙÙØ¯Ú¯Ø§Ù Ù ØšØ§Ø²Ø¯ÛØ¯Ú©ÙÙØ¯Ú¯Ø§Ù ÙØ±Ø§ÙÙ
Ù
Û Ú©ÙÙØ¯.\nخدÙ
ات ÙŸÛØ§Ø²Û اÛ٠اجاز٠را ØšÙ ÙØ± Ú©Ø³Û Ù
ÛØ¯ÙÙØ¯ Ú©Ù Ù
ØØªÙا ÛØ§ خدÙ
ت Ø®ÙØ¯ØŽÙÙ Ø±Ù ØšÙ ØµÙØ±Øª ÙØ§ØŽÙاس ارÛÙ Ú©ÙÙØ¯. ؚر رÙÛ ÙŸÛÙÙØ¯ Ø²ÛØ± Ú©ÙÛÚ© Ú©ÙÛØ¯ تا از Ø³Ø§ÛØª DockDockGo ÙŸÛØ§Ø²Û ØšØ§Ø²Ø¯ÛØ¯ Ú©ÙÛØ¯.
+onboarding.tour-tor-onion-services.button=ÛÚ© ÙŸÛØ§Ø² را Ù
ÙØ§Ùات Ú©ÙÛØ¯.
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=ؚعدÛ
@@ -44,11 +44,11 @@ onboarding.tor-circuit-display.one-of-three=۱ از ۳
onboarding.tor-circuit-display.two-of-three=۲ از ۳
onboarding.tor-circuit-display.three-of-three=۳ از ۳
-onboarding.tor-circuit-display.intro.title=How do circuits work?
-onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly assigned relays, which are computers around the world configured to forward Tor traffic. Circuits allow you to browse privately and to connect to onion services.
+onboarding.tor-circuit-display.intro.title=Ù
دار ÙØ§ ÚÚ¯ÙÙ٠کار Ù
ÛâÚ©ÙÙØ¯Ø
+onboarding.tor-circuit-display.intro.msg=Ù
دار ÙØ§ از ؚازٟخ؎ Ú©ÙÙØ¯Ú¯Ø§ÙÛ Ú©Ù ØšÙ Ø·ÙØ± تصادÙÛ Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§ÙØ¯ Ø³Ø§Ø®ØªÙ ØŽØ¯Ù Ø§ÙØ¯. Ø¢ÙÙØ§ کاÙ
ÙŸÛÙØªØ± ÙØ§Û ÙØ³ØªÙد در Ú¯ÙØŽÙ Ú¯ÙØŽÙ Û Ø¯ÙÛØ§ Ú©Ù ØšØ±Ø§Û ØšØ§Ø² ٟخ؎ تراÙÛÚ© Ø·ÙØ± ØªÙØžÛÙ
ØŽØ¯Ù Ø§ÙØ¯. Ù
دار ÙØ§ ØšÙ ØŽÙ
ا اجاز٠Ù
ÛØ¯ÙÙØ¯ Ú©Ù ØšÙ Ø·ÙØ± Ù
ØØ±Ù
اÙ٠ؚ٠گ؎ت ٠گذار ØšÙŸØ±Ø¯Ø§Ø²ÛØ¯ ٠ؚ٠سرÙÛØ³ ÙØ§Û ÙŸÛØ§Ø²Û Ù
تص٠؎ÙÛØ¯.
-onboarding.tor-circuit-display.diagram.title=Circuit Display
-onboarding.tor-circuit-display.diagram.msg=This diagram shows the relays that make up the circuit for this website. To prevent linking of activity across different sites, each website gets a different circuit.
+onboarding.tor-circuit-display.diagram.title=ÙÙ
Ø§ÛØŽ Ø¬Ø±ÛØ§Ù
+onboarding.tor-circuit-display.diagram.msg=اÛÙ ÙÙ
ÙØ¯Ø§Ø± ؚازٟخ؎ Ú©ÙÙØ¯Ú¯Ø§ÙÛ Ú©Ù Ù
دار اتصا٠ؚ٠اÛÙ ÙØšÚ¯Ø§Ù را ت؎کÛÙ Ù
ÛØ¯ÙÙØ¯ را ÙÙ
Ø§ÛØŽ Ù
Û Ø¯ÙØ¯. ØšØ±Ø§Û Ø¬ÙÙ Ú¯ÛØ±Û از درز ÙØ¹Ø§ÙÛØª ÙØ§ در Ø¬Ø§ÙØ§Û Ù
ختÙÙØ ÙØ± ÙØšÚ¯Ø§Ù ÛÚ© Ù
دار Ù
ØªÙØ§Ùت Ø¯Ø±ÛØ§Ùت Ù
ÛÚ©ÙØ¯.
-onboarding.tor-circuit-display.new-circuit.title=Do you need a new circuit?
-onboarding.tor-circuit-display.new-circuit.msg=If you are not able to connect to the website youâre trying to visit or it is not loading properly, then you can use this button to reload the site with a new circuit.
+onboarding.tor-circuit-display.new-circuit.title=Ø¢ÛØ§ Ù
دار Ø¬Ø¯ÛØ¯Û را Ù
Û ØŽÙØ§Ø³ÛدØ
+onboarding.tor-circuit-display.new-circuit.msg=اگر ØŽÙ
ا ÙÙ
Û ØªÙØ§ÙÛØ¯ ØšÙ ÙØšÚ¯Ø§ÙÛ Ú©Ù Ø¯Ø± ØªÙØ§ØŽ ØšØ±Ø§Û Ù
ØŽØ§ÙØ¯Ù Ø¢Ù ÙØ³ØªÛد Ù
تص٠؎ÙÛØ¯ ÛØ§ ÙÙ
Û ØªÙØ§ÙÛØ¯ ØµÙØÙ Ø±Ø§ ØšÙ Ø·ÙØ± کاÙ
Ù ØšØ§Ø±Ú¯ÛØ±Û Ú©ÙÛØ¯Ø Ù
Û ØªÙØ§ÙÛØ¯ ؚر رÙÛ Ø§Û٠دکÙ
Ù Ú©ÙÛÚ© Ú©ÙÛØ¯ تا ØµÙØÙ Ø±Ø§ از Ù
Ø³ÛØ± Ø¬Ø¯ÛØ¯Û ØšØ§Ø±Ú¯ÛØ±Û Ú©ÙÛØ¯.
diff --git a/src/chrome/locale/fa/torbutton.properties b/src/chrome/locale/fa/torbutton.properties
index 3f90df0c..3d49e5e4 100644
--- a/src/chrome/locale/fa/torbutton.properties
+++ b/src/chrome/locale/fa/torbutton.properties
@@ -6,7 +6,7 @@ torbutton.circuit_display.relay = ؚازٟخ؎
torbutton.circuit_display.tor_bridge = ÙŸÙ
torbutton.circuit_display.unknown_country = Ú©ØŽÙØ± ÙØ§ØŽÙاختÙ
torbutton.circuit_display.guard = Ù
ØØ§ÙØž
-torbutton.circuit_display.guard_note = Your [Guard] node may not change.
+torbutton.circuit_display.guard_note = گر٠[گارد] ØŽÙ
ا Ù
Ù
ک٠است تغÛÛØ± ÙÚ©ÙØ¯.
torbutton.circuit_display.learn_more = Ø§Ø·ÙØ§Ø¹Ø§Øª ØšÛØŽØªØ±
torbutton.content_sizer.margin_tooltip = Ù
Ø±ÙØ±Ú¯Ø± Tor اضاÙÙ Ù
Û Ú©ÙØ¯ اÛÙ ØØ§ØŽÛ٠را ؚ٠عرض Ù Ø§Ø±ØªÙØ§Ø¹ ÙŸÙØ¬Ø±Ù ØŽÙ
ا Ú©Ù Ú©Ù
تر Ù
؎خص ØŽÙØ¯Ø ٠در ÙØªÛج٠ؚاعث Ú©Ø§ÙØŽ ØªÙØ§ÙاÛÛ ØšÙ Ø±Ø¯ÛØ§ØšÛ Ø¢ÙÙØ§ÛÙ ØŽÙ
ا ØŽÙØ¯.
torbutton.panel.tooltip.disabled = ØšØ±Ø§Û ÙØ¹Ø§Ù Ú©Ø±Ø¯Ù ØªÙØ± Ú©ÙÙÚ© Ú©ÙÙØ¯
@@ -50,6 +50,11 @@ profileReadOnlyMac=ØŽÙ
ا ÙÙ
Û ØªÙØ§ÙÛØ¯ اجرا %S از ÛÚ© ÙØ§Û٠س
profileAccessDenied=Ùª S Ø§Ø¬Ø§Ø²Ù Ø¯Ø³ØªØ±Ø³Û ØšÙ Ù
؎خصات ÙØ¯Ø§Ø±Ø¯. ÙØ·Ùا Ù
Ø¬ÙØ²ÙØ§Û Ø³ÛØ³ØªÙ
ÙØ§ÛÙ Ø®ÙØ¯ را ØªÙØžÛÙ
Ù Ø¯ÙØšØ§Ø±Ù Ø³Ø¹Û Ú©ÙÛØ¯.
profileMigrationFailed=Ù
ÙØ§Ø¬Ø±Øª ÙØ§Ù
ÙÙ٠از ٟرÙÙØ§ÛÙ %S.\nØªÙØžÛÙ
ات Ø¬Ø¯ÛØ¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø®ÙØ§Ùد ؎د.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
-pageInfo_OnionEncryptionWithBitsAndProtocol=Connection Encrypted (Onion Service, %1$S, %2$S bit keys, %3$S)
+pageInfo_OnionEncryptionWithBitsAndProtocol=ارتؚاط رÙ
Ø²Ú¯Ø°Ø§Ø±Û ØŽØ¯Ù (سرÙÛØ³ Onion, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=ارتؚاط رÙ
Ø²Ú¯Ø°Ø§Ø±Û ØŽØ¯ (سرÙÛØ³ ÙŸÛØ§Ø²Û)
diff --git a/src/chrome/locale/fr/torbutton.properties b/src/chrome/locale/fr/torbutton.properties
index 3e8e860d..02a344d0 100644
--- a/src/chrome/locale/fr/torbutton.properties
+++ b/src/chrome/locale/fr/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Vous ne pouvez pas exécuter %S à partir dâun systÚme de
profileAccessDenied=%S nâa pas le droit dâaccéder au profil. Veuillez ajuster les droits de votre systÚme de fichiers et ressayer.
profileMigrationFailed=La migration de votre profil existant %S a échoué.\nDe nouveaux paramÚtres vont être utilisés.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Téléchargement de la mise à jour de %S
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=La connexion est chiffrée (service onion, %1$S, clés %2$S bits, %3$S)
pageInfo_OnionEncryption=La connexion est chiffrée (service onion)
diff --git a/src/chrome/locale/ga/torbutton.properties b/src/chrome/locale/ga/torbutton.properties
index 4e5ae906..5bb082f9 100644
--- a/src/chrome/locale/ga/torbutton.properties
+++ b/src/chrome/locale/ga/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Nà féidir leat %S a rith ó chóras comhad inléite amháin
profileAccessDenied=NÃl cead rochtana ag %S ar an bpróifÃl. Athraigh na ceadanna ar do chóras comhad agus bain triail eile as.
profileMigrationFailed=NÃorbh fhéidir an phróifÃl %S atá agat a aistriú.\nÃsáidfear socruithe nua.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Ceangal Criptithe (SeirbhÃs Onion, %1$S, eochracha %2$S giotán, %3$S)
pageInfo_OnionEncryption=Ceangal Criptithe (SeirbhÃs Onion)
diff --git a/src/chrome/locale/he/torbutton.properties b/src/chrome/locale/he/torbutton.properties
index 8c2d7a15..90df66ce 100644
--- a/src/chrome/locale/he/torbutton.properties
+++ b/src/chrome/locale/he/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=××× × ×××× ××ך××¥ ×ת %S ××עך×ת ×§×׊××
profileAccessDenied=×-%S ××× ×ךש×× ××× ××שת ×× ×׀ך××€××. ×× × ×ת×× ×ת ×ךש××ת ×עך×ת ××§×׊×× ×©×× ×× ×¡× ×©××.
profileMigrationFailed=××××× ×©× ×׀ך××€×× ××§××× ×©×× %S × ×ש×.\n×××ך×ת ××ש×ת ×××× ×ש×××ש.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=××ך×× ×¢×××× %S
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=××××ך ×××Š×€× (ש×ך×ת ×׊×, %1$S, ×׀ת××ת %2$S ס××××ת, %3$S)
pageInfo_OnionEncryption=××××ך ×××Š×€× (ש×ך×ת ×׊×)
diff --git a/src/chrome/locale/hu/aboutTBUpdate.dtd b/src/chrome/locale/hu/aboutTBUpdate.dtd
index f8378a24..ade14fed 100644
--- a/src/chrome/locale/hu/aboutTBUpdate.dtd
+++ b/src/chrome/locale/hu/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
-<!ENTITY aboutTBUpdate.title "Tor BöngészÅ FrissÃtés">
-<!ENTITY aboutTBUpdate.updated "Tor BöngészÅ frissÃtve.">
+<!ENTITY aboutTBUpdate.title "Tor Browser FrissÃtés">
+<!ENTITY aboutTBUpdate.updated "Tor Browser frissÃtve.">
<!ENTITY aboutTBUpdate.linkPrefix "Az errÅl a kiadásról szóló legfrissebb információkért">
<!ENTITY aboutTBUpdate.linkLabel "látogassa meg weboldalunkat">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/src/chrome/locale/hu/aboutTor.dtd b/src/chrome/locale/hu/aboutTor.dtd
index b5dd867d..8c776575 100644
--- a/src/chrome/locale/hu/aboutTor.dtd
+++ b/src/chrome/locale/hu/aboutTor.dtd
@@ -9,16 +9,16 @@
<!ENTITY aboutTor.ready.label "Fedezzen fel. Privátan.">
<!ENTITY aboutTor.ready2.label "Készen áll a világ legprivátabb böngészési élményére.">
<!ENTITY aboutTor.failure.label "Valami nem jól működik!">
-<!ENTITY aboutTor.failure2.label "A tor nem működik ebben a böngészÅben.">
+<!ENTITY aboutTor.failure2.label "A Tor nem működik ebben a böngészÅben.">
<!ENTITY aboutTor.search.label "Keressen a DuckDuckGo-val">
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "Kérdések?">
-<!ENTITY aboutTor.torbrowser_user_manual_link.label "Tekintse meg a Tor BöngészÅ Ãtmutatónkat">
+<!ENTITY aboutTor.torbrowser_user_manual_link.label "Tekintse meg a Tor Browser Ãtmutatónkat">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
-<!ENTITY aboutTor.torbrowser_user_manual.label "Tor BöngészÅ Ãtmutató">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser Ãtmutató">
<!ENTITY aboutTor.tor_mission.label "A Tor Project egy a US 501(c)(3) szerinti non-profit szervezet, amely az emberi jogokért és szabadságért harcol, nyÃlt forráskódú anonimitás és adatvédelmi technológiák fejlesztésével és terjesztésével, támogatva azok korlátlan elérhetÅségét és használatát, támogassák a tudományos ás általános megértésÃŒket.">
<!ENTITY aboutTor.getInvolved.label "Vegyen részt">
diff --git a/src/chrome/locale/hu/browserOnboarding.properties b/src/chrome/locale/hu/browserOnboarding.properties
index ee790662..9cd03f4b 100644
--- a/src/chrome/locale/hu/browserOnboarding.properties
+++ b/src/chrome/locale/hu/browserOnboarding.properties
@@ -4,12 +4,12 @@
onboarding.tour-tor-welcome=KöszöntjÌk
onboarding.tour-tor-welcome.title=Készen van.
-onboarding.tour-tor-welcome.description=A Tor BöngészÅ a legmagasabb adatvédelmet és biztonágot adja, miközben böngészik. Most védett a követéstÅl, megfigyeléstÅl és cenzorálástól. Ez a rövid áttekintés megmutatja, hogyan.
+onboarding.tour-tor-welcome.description=A Tor Browser a legmagasabb adatvédelmet és biztonságot adja, miközben böngészik. Most védett a követéstÅl, megfigyeléstÅl és cenzúrázástól. Ez a rövid áttekintés megmutatja, hogyan.
onboarding.tour-tor-welcome.button=IndÃtás most
onboarding.tour-tor-privacy=Adatvédelem
onboarding.tour-tor-privacy.title=snub követÅk és figyelÅk.
-onboarding.tour-tor-privacy.description=A Tor BöngészÅ elszigeteli a sÃŒtiket és törli az elÅzményeket az alkalom végén. Ezek a módosÃtások biztosÃtják adatvédelmét és biztonságát a böngészÅben. Kattintson a 'Tor hálózat' pontra, hogy megismerhesse a védelmet hálózati szinten.
+onboarding.tour-tor-privacy.description=A Tor Browser elszigeteli a sÃŒtiket és törli az elÅzményeket az alkalom végén. Ezek a módosÃtások biztosÃtják adatvédelmét és biztonságát a böngészÅben. Kattintson a 'Tor hálózat' pontra, hogy megismerhesse a védelmet hálózati szinten.
onboarding.tour-tor-privacy.button=Irány a Tor Hálózat
onboarding.tour-tor-network=Tor Hálózat
diff --git a/src/chrome/locale/hu/torbutton.dtd b/src/chrome/locale/hu/torbutton.dtd
index 19dd1d72..4e71b100 100644
--- a/src/chrome/locale/hu/torbutton.dtd
+++ b/src/chrome/locale/hu/torbutton.dtd
@@ -13,7 +13,7 @@
<!ENTITY torbutton.button.tooltip "Kattintson a Torbutton inicializálásához">
<!ENTITY torbutton.prefs.security_settings "Tor Browser biztonsági beállÃtások">
<!ENTITY torbutton.prefs.restore_defaults "Alapértelmezések visszaállÃtása">
-<!ENTITY torbutton.prefs.custom_warning "Az általad eszközölt egyéni böngészÅi beállÃtások eredményeképp biztonsági kockázatok merÃŒlhetnek fel. Biztonsági és adatvédelmi szempontokból kérjÃŒk válassz az alapértelmezett biztonsági szintek közÃŒl.">
+<!ENTITY torbutton.prefs.custom_warning "Az Ãn által eszközölt egyéni böngészÅi beállÃtások eredményeképp biztonsági kockázatok merÃŒlhetnek fel. Biztonsági és adatvédelmi szempontokból kérjÃŒk válasszon az alapértelmezett biztonsági szintek közÃŒl.">
<!ENTITY torbutton.cookiedialog.title "SÌti védelem kezelése">
<!ENTITY torbutton.cookiedialog.lockCol "Védett">
<!ENTITY torbutton.cookiedialog.domainCol "Ãllomás">
@@ -28,7 +28,7 @@
<!ENTITY torbutton.prefs.sec_caption "Biztonsági szint">
<!ENTITY torbutton.prefs.sec_caption_tooltip "A Biztonsági Csúszóka lehetÅvé tesz, hogy kikapcsoljon olyan böngészÅ funkcionalitásokat, amik sebezhetÅvé teszik a törési kÃsérletekben.">
<!ENTITY torbutton.prefs.sec_standard_label "Normál">
-<!ENTITY torbutton.prefs.sec_standard_description "Minden Tor BöngészŠés weboldal szolgáltatás engedélyezve.">
+<!ENTITY torbutton.prefs.sec_standard_description "Minden Tor Browser és weboldal szolgáltatás engedélyezve.">
<!ENTITY torbutton.prefs.sec_safer_label "Biztonságosabb">
<!ENTITY torbutton.prefs.sec_safer_description "Azon weboldal szolgáltatások tiltása, amelyek többnyire veszélyesek, ami néhány oldal működésének problémáit okozhatja.">
<!ENTITY torbutton.prefs.sec_safer_list_label "A biztonságosabb beállÃtás után_">
diff --git a/src/chrome/locale/hu/torbutton.properties b/src/chrome/locale/hu/torbutton.properties
index 9f851da7..6ac5d015 100644
--- a/src/chrome/locale/hu/torbutton.properties
+++ b/src/chrome/locale/hu/torbutton.properties
@@ -15,7 +15,7 @@ torbutton.panel.label.disabled = Tor kikapcsolva
torbutton.panel.label.enabled = Tor bekapcsolva
extensions.torbutton(a)torproject.org.description = A Torbutton egy gombot biztosÃt a Tor beállÃtások módosÃtásához és a gyors és könnyű takarÃtásához a privát böngészési adatoknak.
torbutton.popup.external.title = Töltse le a kÃŒlsÅ fájl tÃpust?
-torbutton.popup.external.app = A Tor Browser nem tudja megjelenÃteni ezt a fájlt. Egy másik alkalmazással kell megnyitnod.\n\n
+torbutton.popup.external.app = A Tor Browser nem tudja megjelenÃteni ezt a fájlt. Egy másik alkalmazással kell megnyitnia.\n\n
torbutton.popup.external.note = Néhány fájl képes alkalmazásokat az internethez kapcsódtatni Tor hasznlálata nélkÌl.\n\n
torbutton.popup.external.suggest = Hogy biztonságban legyen, a letöltött fájlokat Csak offlineként vagy Tor Live CD-ami olyan mint a Tail- használatával nyissa meg.\n
torbutton.popup.launch = Fájl letöltése
@@ -45,11 +45,16 @@ canvas.neverAccessKey=S
# Profile/startup error messages. Strings are kept here for ease of translation.
# LOCALIZATION NOTE: %S is the application name.
profileProblemTitle=%S Profile probléma
-profileReadOnly=Nem tudja futtatni a %S -t csak olvasható fájlrendszerrÅl. Kérem másolja %S-t egy másik helyre, mielÅtt használja.
-profileReadOnlyMac=Nem tudja futtatni a %S -t csak olvasható fájlrendszerrÅl. Kérem másolja %S-t az Asztalra, vagy az Alkalmazások mappába, mielÅtt használja.
-profileAccessDenied=%S nem rendelkezik jogosultsággal a profil eléréséhez. Kérem állÃtsa be a fájl rendsze jogosultságokat, majd próbálja újra.
+profileReadOnly=Nem tudja futtatni a %S -t csak olvasható fájlrendszerrÅl. KérjÃŒk másolja %S-t egy másik helyre, mielÅtt használja.
+profileReadOnlyMac=Nem tudja futtatni a %S -t csak olvasható fájlrendszerrÅl. KérjÃŒk másolja %S-t az Asztalra, vagy az Alkalmazások mappába, mielÅtt használja.
+profileAccessDenied=%S nem rendelkezik jogosultsággal a profil eléréséhez. KérjÃŒk állÃtsa be a fájl rendsze jogosultságokat, majd próbálja újra.
profileMigrationFailed=%S létezÅ profil migrációja nem sikerÃŒlt.\nÃj beállÃtásokat fogunk használni.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=TitkosÃtott kapcsolat (Onion szolgáltatás, %1$S, %2$S bites kulcsok, %3$S)
pageInfo_OnionEncryption=TitkosÃtott kapcsolat (Onion szolgáltatás)
diff --git a/src/chrome/locale/id/torbutton.properties b/src/chrome/locale/id/torbutton.properties
index 8f85dc96..89e1813c 100644
--- a/src/chrome/locale/id/torbutton.properties
+++ b/src/chrome/locale/id/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Anda tidak bisa menjalankan %S dari File sistem read-only .
profileAccessDenied=%S tidak memiliki izin untuk mengakses profile .Silakan atur perizinan sistem file anda dan coba lagi .
profileMigrationFailed=Migrasi dari profil %S gagal.\nSetting baru akan digunakan.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Koneksi terenkripsi (Layanan Onion, %1$S, %2$S bit kunci, %3$S)
pageInfo_OnionEncryption=Koneksi terenkripsi (Layanan Onion)
diff --git a/src/chrome/locale/is/torbutton.properties b/src/chrome/locale/is/torbutton.properties
index d275d72c..410615df 100644
--- a/src/chrome/locale/is/torbutton.properties
+++ b/src/chrome/locale/is/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Ãú getur ekki keyrt %S af skrifvörðu kerfi. Afritaðu %S
profileAccessDenied=%S er ekki með heimildir til að fara inn à sniðið. Lagaðu aðgangsheimildir kerfisins og reyndu svo aftur.
profileMigrationFailed=YfirfÊrsla á fyrirliggjandi %S sniðinu ßÃnu mistókst.\nNÜjar stillingar verða notaðar.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Dulrituð tenging (Onion-ßjónusta, %1$S, %2$S bita dulritunarlyklar, %3$S)
pageInfo_OnionEncryption=Dulrituð tenging (Onion-ßjónusta)
diff --git a/src/chrome/locale/it/torbutton.properties b/src/chrome/locale/it/torbutton.properties
index 2b87b4c4..7d4b02cb 100644
--- a/src/chrome/locale/it/torbutton.properties
+++ b/src/chrome/locale/it/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Non puoi avviare %S da un file system di sola lettura. Per fa
profileAccessDenied=%S non ha i permessi per accedere al profilo. Per favore, modifica i permessi del tuo file system e riprova.
profileMigrationFailed=Migrazione del tuo profilo %S esistente fallita.\nVerranno usate nuove impostazioni.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Scaricamento aggiornamento %S
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connessione cifrata (Servizio onion, %1$S, chiavi %2$S bit, %3$S)
pageInfo_OnionEncryption=Connessione cifrata (Servizio onion)
diff --git a/src/chrome/locale/ja/aboutTBUpdate.dtd b/src/chrome/locale/ja/aboutTBUpdate.dtd
index 8be08aa4..184c8a5e 100644
--- a/src/chrome/locale/ja/aboutTBUpdate.dtd
+++ b/src/chrome/locale/ja/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
-<!ENTITY aboutTBUpdate.title "TorBrowserã¢ããããŒã">
-<!ENTITY aboutTBUpdate.updated "TorBrowserã¢ããããŒãå®äº">
+<!ENTITY aboutTBUpdate.title "Tor Browser ã¢ããããŒã">
+<!ENTITY aboutTBUpdate.updated "Tor Browser ã¢ããããŒãå®äº">
<!ENTITY aboutTBUpdate.linkPrefix "ãã®ãªãªãŒã¹ã«ã€ããŠã®ææ°æ
å ±ãå
¥æããããã">
<!ENTITY aboutTBUpdate.linkLabel "æã
ã®ãŠã§ããµã€ããèŠãŠãã ãã">
<!ENTITY aboutTBUpdate.linkSuffix "ã">
diff --git a/src/chrome/locale/ja/aboutTor.dtd b/src/chrome/locale/ja/aboutTor.dtd
index c8963418..1c30c0d0 100644
--- a/src/chrome/locale/ja/aboutTor.dtd
+++ b/src/chrome/locale/ja/aboutTor.dtd
@@ -4,18 +4,18 @@
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
-<!ENTITY aboutTor.title "Torã«ã€ããŠ">
+<!ENTITY aboutTor.title "Tor ã«ã€ããŠ">
<!ENTITY aboutTor.ready.label "æ¢çŽ¢ããã ãã©ã€ããŒãã«ã">
<!ENTITY aboutTor.ready2.label "äžçã§æããã©ã€ããŒããªãã©ãŠãžã³ã°ãäœéšããæºåãæŽããŸããã">
<!ENTITY aboutTor.failure.label "äœããééã£ãŠããŸãïŒ">
-<!ENTITY aboutTor.failure2.label "Torã¯ããã®ãã©ãŠã¶ã§ã¯åäœããŸããã">
+<!ENTITY aboutTor.failure2.label "Tor ã¯ããã®ãã©ãŠã¶ã§ã¯åäœããŸããã">
-<!ENTITY aboutTor.search.label "DuckDuckGoã§æ€çŽ¢">
+<!ENTITY aboutTor.search.label "DuckDuckGo ã§æ€çŽ¢">
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "質åããããŸããïŒ">
-<!ENTITY aboutTor.torbrowser_user_manual_link.label "Check our Tor Browser Manual »">
+<!ENTITY aboutTor.torbrowser_user_manual_link.label "Tor Browser ããã¥ã¢ã«ããã§ã㯠»">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser ããã¥ã¢ã«">
diff --git a/src/chrome/locale/ja/brand.properties b/src/chrome/locale/ja/brand.properties
index 6f4884fc..c971daf1 100644
--- a/src/chrome/locale/ja/brand.properties
+++ b/src/chrome/locale/ja/brand.properties
@@ -2,7 +2,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=Tor ãã©ãŠã¶ãŒ
+brandShorterName=Tor Browser
brandShortName=Tor Browser
brandFullName=Tor Browser
vendorShortName=Tor Project
diff --git a/src/chrome/locale/ja/browserOnboarding.properties b/src/chrome/locale/ja/browserOnboarding.properties
index 230123cf..40cf75b4 100644
--- a/src/chrome/locale/ja/browserOnboarding.properties
+++ b/src/chrome/locale/ja/browserOnboarding.properties
@@ -3,39 +3,39 @@
# vim: set sw=2 sts=2 ts=8 et:
onboarding.tour-tor-welcome=ãããã
-onboarding.tour-tor-welcome.title=æºåã§ããŸããã
-onboarding.tour-tor-welcome.description=Torãã©ãŠã¶ã¯ããŠã§ããã©ãŠãžã³ã°äžã«ãæé«æ°Žæºã®ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ãæäŸããŸããããªãã¯çŸåšããã©ããã³ã°ãç£èŠãããã³æ€é²ããä¿è·ãããŠããŸãããã®ã¯ã€ãã¯ã®ãªã³ããŒãã¯æ¹æ³ãæç€ºããŸãã
+onboarding.tour-tor-welcome.title=æºåãæŽããŸããã
+onboarding.tour-tor-welcome.description=Tor Browser ã¯ããŠã§ããã©ãŠãžã³ã°äžã«ãæé«æ°Žæºã®ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ãæäŸããŸããããªãã¯çŸåšããã©ããã³ã°ãç£èŠãããã³æ€é²ããä¿è·ãããŠããŸãããã®ã¯ã€ãã¯ã®ãªã³ããŒãã¯æ¹æ³ãæç€ºããŸãã
onboarding.tour-tor-welcome.button=ä»ããéå§
onboarding.tour-tor-privacy=ãã©ã€ãã·ãŒ
onboarding.tour-tor-privacy.title=ãã©ãã«ãŒãšã¹ããŒããŒã远ãæãã
-onboarding.tour-tor-privacy.description=Torãã©ãŠã¶ã¯ãcookieãåé¢ããã»ãã·ã§ã³åŸã«ãã©ãŠã¶ã®å±¥æŽãåé€ããŸãããããã®å€æŽã«ãããããªãã®ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ããã©ãŠã¶ã«ãã£ãŠä¿è·ãããŸãããããã¯ãŒã¯ã¬ãã«ã§ã®ä¿è·æ¹æ³ã«ã€ããŠã¯ããTorãããã¯ãŒã¯ããã¯ãªãã¯ããŠãã ããã
-onboarding.tour-tor-privacy.button=Torãããã¯ãŒã¯ãž
+onboarding.tour-tor-privacy.description=Tor Browser ã¯ãCookie ãåé¢ããã»ãã·ã§ã³åŸã«ãã©ãŠã¶ã®å±¥æŽãåé€ããŸãããããã®å€æŽã«ãããããªãã®ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ããã©ãŠã¶ã«ãã£ãŠä¿è·ãããŸãããããã¯ãŒã¯ã¬ãã«ã§ã®ä¿è·æ¹æ³ã«ã€ããŠã¯ããTor ãããã¯ãŒã¯ããã¯ãªãã¯ããŠãã ããã
+onboarding.tour-tor-privacy.button=Tor ãããã¯ãŒã¯ãž
-onboarding.tour-tor-network=Torãããã¯ãŒã¯
-onboarding.tour-tor-network.title=Travel a decentralized network.
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor network run by thousands of volunteers around the world. Unlike a VPN, thereâs no one point of failure or centralized entity you need to trust in order to enjoy the internet privately.
-onboarding.tour-tor-network.button=次ã®ããŒãžãž
+onboarding.tour-tor-network=Tor ãããã¯ãŒã¯
+onboarding.tour-tor-network.title=忣åãããã¯ãŒã¯ãæ
ããã
+onboarding.tour-tor-network.description=Tor Browser ã¯ãäžçäžã®äœå人ãã®ãã©ã³ãã£ã¢ã«ãã£ãŠéå¶ãããŠãã Tor ãããã¯ãŒã¯ã«ããªããæ¥ç¶ããŸãã VPN ãšã¯ç°ãªããã€ã³ã¿ãŒãããããã©ã€ããŒãã«æ¥œããããã«ä¿¡é Œããå¿
èŠãããã®ã¯ã1ã€ã®é害ç¹ã1ã€ã®ååšã§ã¯ãããŸããã
+onboarding.tour-tor-network.button=ãµãŒããããã£ã¹ãã¬ã€ãž
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, your traffic is relayed and encrypted in a circuit across three Tor relays around the world. No website knows where you are connecting from. You can request a new circuit by clicking âNew Circuit for this Siteâ on our Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display=ãµãŒããããã£ã¹ãã¬ã€
+onboarding.tour-tor-circuit-display.title=ããªãã®ãã¹ãèŠãã
+onboarding.tour-tor-circuit-display.description=ã¢ã¯ã»ã¹ãããã¡ã€ã³ããšã«ããã©ãã£ãã¯ã¯äžçäžã®3ã€ã® Tor ãªã¬ãŒéã®ãµãŒãããã§äžç¶ããã³æå·åãããŸããããªããã©ãããæ¥ç¶ããŠãããããŠã§ããµã€ãã¯ç¥ããŸããããµãŒããããã£ã¹ãã¬ã€ã§ããã®ãµã€ãã«æ°ãããµãŒãããã䜿çšããããã¯ãªãã¯ãããšãæ°ãããµãŒãããããªã¯ãšã¹ãããããšãã§ããŸãã
+onboarding.tour-tor-circuit-display.button=ç§ã®ãã¹ãèŠã
onboarding.tour-tor-security=ã»ãã¥ãªãã£
-onboarding.tour-tor-security.title=Choose your experience.
-onboarding.tour-tor-security.description=We also provide you with additional settings for bumping up your browser security. Our Security Settings allow you to block elements that could be used to attack your computer. Click below to see what the different options do.
+onboarding.tour-tor-security.title=ããªãã®äœéšãéžæããã
+onboarding.tour-tor-security.description=ãŸãããã©ãŠã¶ã®ã»ãã¥ãªãã£ã匷åããããã®è¿œå èšå®ãæäŸããŠããŸããç§ãã¡ã®ã»ãã¥ãªãã£èšå®ã§ã¯ãã³ã³ãã¥ãŒã¿ã®æ»æã«äœ¿çšãããå¯èœæ§ã®ããèŠçŽ ããããã¯ããããšãã§ããŸãã以äžãã¯ãªãã¯ããŠãããŸããŸãªèšå®ã®æ©èœã確èªããŠãã ãã
onboarding.tour-tor-security.button=èšå®ã®ç¢ºèª
-onboarding.tour-tor-expect-differences=Experience Tips
-onboarding.tour-tor-expect-differences.title=Expect some differences.
-onboarding.tour-tor-expect-differences.description=With all the security and privacy features provided by Tor, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.
+onboarding.tour-tor-expect-differences=äœéšã®ãã³ãã
+onboarding.tour-tor-expect-differences.title=ããã€ãã®éããçè§£ããã
+onboarding.tour-tor-expect-differences.description=Tor ã«ãã£ãŠæäŸããããã¹ãŠã®ã»ãã¥ãªãã£ãšãã©ã€ãã·ãŒæ©èœã䜿çšãããšãã€ã³ã¿ãŒãããããã©ãŠãžã³ã°ããæã®ãããªãã®äœéšã¯å°ãå€åããå ŽåããããŸããèªã¿èŸŒã¿ã¯å°ãé
ããªããããããªãããããªãã®ã»ãã¥ãªãã£ã¬ãã«ã«ãã£ãŠã¯ãããã€ãã®èŠçŽ ãåäœããªãããèªã¿èŸŒãŸããªããããããŸããããŸããããªãã¯ããããã§ã¯ãªãã人éã§ããããšã蚌æããããã«æ±ããããããšããããããããŸããã
onboarding.tour-tor-expect-differences.button=ãããã質åãèŠã
onboarding.tour-tor-onion-services=Onion ãµãŒãã¹
onboarding.tour-tor-onion-services.title=æŽãªãä¿è·ã
-onboarding.tour-tor-onion-services.description=Onion services are sites that end with a .onion that provide extra protections to publishers and visitors, including added safeguards against censorship. Onion services allow anyone to provide content and services anonymously. Click below to visit the DuckDuckGo onion site.
-onboarding.tour-tor-onion-services.button=Onionãµã€ãã蚪å
+onboarding.tour-tor-onion-services.description=Onion ãµãŒãã¹ã¯ãæ€é²ã«å¯Ÿãã远å ã®ã»ãŒãã¬ãŒããå«ããæäŸè
ãšèšªåè
ãžã®äœåãªä¿è·ãæäŸãã .onion ã§çµãããµã€ãã§ããOnion ãµãŒãã¹ã§ã¯ã誰ã§ãã³ã³ãã³ãããµãŒãã¹ãå¿åã§æäŸã§ããŸããäžã®ãã¿ã³ãã DuckDuckGo Onion ãµã€ãã«ã¢ã¯ã»ã¹ããŠã¿ãŠãã ããã
+onboarding.tour-tor-onion-services.button=Onion ãµã€ãã蚪å
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=次ãž
@@ -44,10 +44,10 @@ onboarding.tor-circuit-display.one-of-three=1 of 3
onboarding.tor-circuit-display.two-of-three=2 of 3
onboarding.tor-circuit-display.three-of-three=3 of 3
-onboarding.tor-circuit-display.intro.title=How do circuits work?
+onboarding.tor-circuit-display.intro.title=ãµãŒãããã¯ã©ã®ããã«æ©èœããŸããïŒ
onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly assigned relays, which are computers around the world configured to forward Tor traffic. Circuits allow you to browse privately and to connect to onion services.
-onboarding.tor-circuit-display.diagram.title=Circuit Display
+onboarding.tor-circuit-display.diagram.title=ãµãŒããããã£ã¹ãã¬ã€
onboarding.tor-circuit-display.diagram.msg=This diagram shows the relays that make up the circuit for this website. To prevent linking of activity across different sites, each website gets a different circuit.
onboarding.tor-circuit-display.new-circuit.title=æ°ãããµãŒããããå¿
èŠã§ãã?
diff --git a/src/chrome/locale/ja/torbutton.dtd b/src/chrome/locale/ja/torbutton.dtd
index fcd714ff..ae495084 100644
--- a/src/chrome/locale/ja/torbutton.dtd
+++ b/src/chrome/locale/ja/torbutton.dtd
@@ -4,9 +4,9 @@
<!ENTITY torbutton.context_menu.new_circuit_key "C">
<!ENTITY torbutton.context_menu.preferences "ã»ãã¥ãªãã£ã®èšå®...">
<!ENTITY torbutton.context_menu.preferences.key "S">
-<!ENTITY torbutton.context_menu.networksettings "Torãããã¯ãŒã¯ã®èšå®...">
+<!ENTITY torbutton.context_menu.networksettings "Tor ãããã¯ãŒã¯ã®èšå®...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "TorBrowserã®ã¢ããããŒãã確èª">
+<!ENTITY torbutton.context_menu.downloadUpdate "Tor Browser ã®ã¢ããããŒãã確èª">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
<!ENTITY torbutton.context_menu.cookieProtections "Cookie ã®é²åŸ¡">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
@@ -28,7 +28,7 @@
<!ENTITY torbutton.prefs.sec_caption "ã»ãã¥ãªãã£ã¬ãã«">
<!ENTITY torbutton.prefs.sec_caption_tooltip "ã»ãã¥ãªãã£ã»ã¹ã©ã€ããŒã䜿ã£ãŠãããªãã®ãã©ãŠã¶ãŒããããã³ã°ã®è©Šã¿ã«å¯ŸããŠããè匱ã«ããå¯èœæ§ã®ãããã©ãŠã¶ãŒã®æ©èœãç¡å¹ã«ã§ããŸãã">
<!ENTITY torbutton.prefs.sec_standard_label "æšæº">
-<!ENTITY torbutton.prefs.sec_standard_description "Tor BrowserãšãŠã§ããµã€ãã®ãã¹ãŠã®æ©èœãæå¹åãããŸãã">
+<!ENTITY torbutton.prefs.sec_standard_description "Tor Browser ãšãŠã§ããµã€ãã®ãã¹ãŠã®æ©èœãæå¹åãããŸãã">
<!ENTITY torbutton.prefs.sec_safer_label "ããå®å
š">
<!ENTITY torbutton.prefs.sec_safer_description "ãŠã§ããµã€ãã®ãã°ãã°å±éºã§ããæ©èœãç¡å¹åããŸãããµã€ãã«ãã£ãŠã¯æ£åžžã«åäœããªããªããŸãã">
<!ENTITY torbutton.prefs.sec_safer_list_label "ãããå®å
šãèšå®ã§ã¯ïŒ">
@@ -36,8 +36,8 @@
<!ENTITY torbutton.prefs.sec_safest_description "éçãªãµã€ããšåºæ¬çãªãµãŒãã¹ã«å¿
èŠãªæ©èœã ããèš±å¯ããŸãããã®å€æŽã¯ç»åãã¡ãã£ã¢ãã¹ã¯ãªããã«åœ±é¿ããŸãã">
<!ENTITY torbutton.prefs.sec_safest_list_label "ãæãå®å
šãèšå®ã§ã¯ïŒ">
<!ENTITY torbutton.prefs.sec_learn_more_label "ããã«ç¥ã">
-<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "HTTPSé察å¿ã®ãµã€ãã§JavaScript ãç¡å¹åãããŸãã">
-<!ENTITY torbutton.prefs.sec_js_disabled "ãã¹ãŠã®ãµã€ãã§JavaScriptãç¡å¹åãããŸãã">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "HTTPSé察å¿ã®ãµã€ãã§ JavaScript ãç¡å¹åãããŸãã">
+<!ENTITY torbutton.prefs.sec_js_disabled "ãã¹ãŠã®ãµã€ãã§ JavaScript ãç¡å¹åãããŸãã">
<!ENTITY torbutton.prefs.sec_limit_typography "ããã€ãã®ãã©ã³ããšæ°åŠèšå·ãç¡å¹åãããŸãã">
<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "ããã€ãã®ã¢ã€ã³ã³ãæ°åŠèšå·ããã³ç»åãç¡å¹åãããŸãã">
<!ENTITY torbutton.prefs.sec_click_to_play_media "ãªãŒãã£ãªãšãããª(HTML5ã¡ãã£ã¢)ã¯ã¯ãªãã¯ãããšåçãããŸãã">
diff --git a/src/chrome/locale/ja/torbutton.properties b/src/chrome/locale/ja/torbutton.properties
index e9623c75..4c7093c1 100644
--- a/src/chrome/locale/ja/torbutton.properties
+++ b/src/chrome/locale/ja/torbutton.properties
@@ -5,8 +5,8 @@ torbutton.circuit_display.this_browser = ãã®ãã©ãŠã¶ãŒ
torbutton.circuit_display.relay = ãªã¬ãŒ
torbutton.circuit_display.tor_bridge = ããªããž
torbutton.circuit_display.unknown_country = äžæãªåœ
-torbutton.circuit_display.guard = Guard
-torbutton.circuit_display.guard_note = Your [Guard] node may not change.
+torbutton.circuit_display.guard = ã¬ãŒã
+torbutton.circuit_display.guard_note = [ã¬ãŒã] ããŒãã¯å€æŽãããªãå ŽåããããŸãã
torbutton.circuit_display.learn_more = ããã«ç¥ã
torbutton.content_sizer.margin_tooltip = Tor Browser ã¯ãŠã£ã³ããŠã®ãµã€ãºãå¹³å¡ã«ããããã«ãã®ããŒãžã³ã远å ããŸããããã«ãããããªãã®ããšããªã³ã©ã€ã³ã§è¿œè·¡ãã«ããããŸãã
torbutton.panel.tooltip.disabled = ã¯ãªãã¯ããŠTorãæå¹ã«ãã
@@ -15,13 +15,13 @@ torbutton.panel.label.disabled = Tor ç¡å¹
torbutton.panel.label.enabled = Tor æå¹
extensions.torbutton(a)torproject.org.description = Torbuttonã¯Torã®èšå®ãæ§æããçŽ æ©ããã€å®¹æã«ãã©ã€ããŒããªé²èЧããŒã¿ãã¯ãªã¢ãããã¿ã³ãæäŸããŸãã
torbutton.popup.external.title = å€éšãã¡ã€ã«çš®å¥ãããŠã³ããŒãããŸãã
-torbutton.popup.external.app = Tor ãã©ãŠã¶ã¯ãã®ãã¡ã€ã«ã衚瀺ã§ããŸãããå¥ã®ã¢ããªã±ãŒã·ã§ã³ã§éãå¿
èŠããããŸãã\n
+torbutton.popup.external.app = Tor Browser ã¯ãã®ãã¡ã€ã«ã衚瀺ã§ããŸãããå¥ã®ã¢ããªã±ãŒã·ã§ã³ã§éãå¿
èŠããããŸãã\n
torbutton.popup.external.note = ãã¡ã€ã«ã®ã¿ã€ãã®äžã«ãã¢ããªã±ãŒã·ã§ã³ã Tor ã䜿çšããã€ã³ã¿ãŒãããã«æ¥ç¶ããåå ãšãªãå¯èœæ§ããããã®ããããŸãã\n
torbutton.popup.external.suggest = å®å
šã§ããããã«ã¯ããªãã©ã€ã³ã®æã®ã¿ããŠã³ããŒããããã¡ã€ã«ãéããã Tails ã®ãã㪠Tor ã®ã©ã€ã CD ã䜿çšãã¹ãã§ãã\n
torbutton.popup.launch = ãã¡ã€ã«ãããŠã³ããŒããã
torbutton.popup.cancel = ãã£ã³ã»ã«
torbutton.popup.dontask = ä»ãããã¡ã€ã«ãèªåçã«ããŠã³ããŒããã
-torbutton.popup.no_newnym = Torã³ã³ãããŒã«ããŒãã«ã¢ã¯ã»ã¹ã§ããŸããã§ãããTorbuttonã¯æ°ããæ¥ç¶çµè·¯ãå®å
šã«çšæããããšãã§ããŸããã\n\nTorãã©ãŠã¶ãã³ãã«ãèµ·åããŠããŸããïŒ
+torbutton.popup.no_newnym = Tor ã³ã³ãããŒã«ããŒãã«ã¢ã¯ã»ã¹ã§ããŸããã§ããã Torbutton ã¯æ°ããæ¥ç¶çµè·¯ãå®å
šã«çšæããããšãã§ããŸããã\n\nTor Browser ãã³ãã«ãèµ·åããŠããŸããïŒ
torbutton.security_settings.menu.title = ã»ãã¥ãªãã£èšå®
torbutton.title.prompt_torbrowser = éèŠãªTorbuttonã®æ
å ±
torbutton.popup.prompt_torbrowser = Torbuttonã¯çŸåšå¥æ§ã«åäœããŠããŸããããæ¢ããããšã¯ã§ããŸããã\n\nç§ãã¡ã¯ãéTorãã©ãŠãžã³ã°ã®ããã«ã䜿ãããŠãããã©ãŠã¶ã§ã®Torbuttonã®äœ¿çšãå®å
šã§ã¯ãªãããããã®å€æŽãè¡ããŸããã ä»ã®æ¹æ³ã§ä¿®æ£ããããšãã§ããªããã°ãå€ãããŸããã\n\næ£åžžã«Firefoxã䜿çšãããå Žåã¯ãTorbuttonãã¢ã³ã€ã³ã¹ããŒã«ããŠãTor Browser BundleãããŠã³ããŒããã¹ãã§ãã Tor Browserã®ãã©ã€ãã·ãŒç¹æ§ã¯FirefoxãTorbuttonãšäœ¿ãããŠããæã§ããéåžžã®Firefoxã®ãããããåªå¢ã§ãã\n\nTorbuttonãåé€ããã«ã¯ãããŒã«->ã¢ããªã³->ãšã¯ã¹ãã³ã·ã§ã³ã«è¡ããããããTorbuttonã®é£ã®åé€ãã¿ã³ãã¯ãªãã¯ããŠãã ããã
@@ -50,6 +50,11 @@ profileReadOnlyMac=èªã¿èŸŒã¿å°çšã®ãã¡ã€ã«ã·ã¹ãã ã§ã¯ %S ãå®
profileAccessDenied=%S ã¯ãããã¡ã€ã«ã«ã¢ã¯ã»ã¹ããæš©éããããŸãããæš©éãèšå®ããŠããããäžåºŠè©ŠããŠã¿ãŠãã ããã
profileMigrationFailed=ååšããŠãããããã¡ã€ã« %S ãžã®ãã€ã°ã¬ãŒã·ã§ã³ã«å€±æããŸããã\næ°ããèšå®ãé©çšãããŸãã
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connection Encrypted (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Connection Encrypted (Onion Service)
diff --git a/src/chrome/locale/ka/aboutTBUpdate.dtd b/src/chrome/locale/ka/aboutTBUpdate.dtd
index f8852666..0f530ef5 100644
--- a/src/chrome/locale/ka/aboutTBUpdate.dtd
+++ b/src/chrome/locale/ka/aboutTBUpdate.dtd
@@ -1,10 +1,10 @@
<!ENTITY aboutTBUpdate.title "Tor-áá áá£ááá áá¡ ááááá®áááá">
<!ENTITY aboutTBUpdate.updated "Tor-áá áá£ááá á ááááá®áááá£ááá.">
-<!ENTITY aboutTBUpdate.linkPrefix "áá ááááášááááá¡ ášáá¡áá®áá á£áá®ááá¡á ááá€áá áááªááá¡ ááá¡ááŠáááá,">
+<!ENTITY aboutTBUpdate.linkPrefix "áá ááááášááááá¡ ášáá¡áá®áá á£áá®ááá¡á ááá€áá áááªááá¡ ááá¡ááŠáááá, ">
<!ENTITY aboutTBUpdate.linkLabel "áá¬áááá á©áááá¡ áááá¡ááá¢á¡">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.changeLogHeading "áªááááááááá:">
<!ENTITY aboutTBUpdate.circuitDisplayHeading "áááášáá áá¡ á¬á áááá¡ áá á ááááá®áááá£áá ááá á¡áá®áá">
-<!ENTITY aboutTBUpdate.circuitDisplayDescription "Tor-áá¡ áááášáá áá¡ á¬á áááá¡ áá áá áááááá ášáááªáááá áá ááá¢áá ááá£áá¯áááá¡áá! ááá¬ááááá á¡ááá¢áá¡ ááááááááááá¡ á¡áááá®áá (ááá¡áááá ááááá¡ ááááá¡ ááá áªá®ááá ááááááá¡ááá£á) áŠáááááá, ááááá®áááá£áá á¬á áááá¡ áá áá¡ ááááá¡áá©áááá.">
+<!ENTITY aboutTBUpdate.circuitDisplayDescription "Tor-áá¡ áááášáá áá¡ á¬á áááá¡ áá áá áááááá ášáááªáááá áá ááá¢áá ááá£áá¯áááá¡ááá£ááá! ááá¬ááááá á¡ááá¢áá¡ ááááááááááá¡ (ááá¡áááá ááááá¡ ááááá¡ ááá áªá®ááá ááááááá¡ááá£á) ááŠáááášáááá ááášáááá, ááááá®áááá£áá á¬á áááá¡ áá áá¡ ááááá¡áá©áááá.">
<!ENTITY aboutTBUpdate.learnMore "áá®áááá áá áªááá">
diff --git a/src/chrome/locale/ka/aboutTor.dtd b/src/chrome/locale/ka/aboutTor.dtd
index ec34af9e..de623ff9 100644
--- a/src/chrome/locale/ka/aboutTor.dtd
+++ b/src/chrome/locale/ka/aboutTor.dtd
@@ -7,7 +7,7 @@
<!ENTITY aboutTor.title "Tor-áá¡ ášáá¡áá®áá">
<!ENTITY aboutTor.ready.label "áááááá®á£ááá. á£á¡áá€á áá®áá.">
-<!ENTITY aboutTor.ready2.label "áá¥ááá áááá á®áá á áá¡áá€áááášá á§áááá ááá¢áá á£á¡áá€á áá®á áá ááá ááá áá áá£ááá áá¡ ááááá§áááááá¡áááá¡.">
+<!ENTITY aboutTor.ready2.label "áá¥ááá áááá á®áá á áá¡áá€áááášá á§áááááá ááá¢áá áááªá£áá áá ááá ááá áá áá£ááá áá¡ ááááá§áááááá¡áááá¡.">
<!ENTITY aboutTor.failure.label "á ááŠá᪠á áááá ááá áá!">
<!ENTITY aboutTor.failure2.label "Tor áá áá£ášáááá¡ áá áá áá£ááá ášá.">
@@ -20,7 +20,7 @@
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "á®">
<!ENTITY aboutTor.torbrowser_user_manual.label "Tor-áá áá£ááá áá¡ á¡áá®áááá«áŠáááááá">
-<!ENTITY aboutTor.tor_mission.label "Tor-áá ááá¥á¢á á¬áá áááááááá¡ 501(c)(3) áá áááááááááá áá áááááááªááá¡, á ááááá᪠á®ááá¡ á£á¬á§ááá¡ ááááááááá¡ á£á€ááááááá¡ áááªááá¡á áá ááááá¡á£á€ááááá¡ á®áá áá¡á®áá¡ ááá£áá¯áááá¡áááá¡, á£á€áá¡á áá áŠáá á¬á§áá áá¡ áá¥ááá, áááááááá¡á áá ááá ááá áááááªáááááá¡ áááááŠááááááá¡ááá áá¡áá ááááááá á¡áášá£áááááááá¡ ášáá¥ááááá áá áááá áªáááááá, ááááá ášáá£ááŠá£áááá á¬áááááá¡á áá ááááá§áááááá¡ á£áá á£ááááá§áá€áá, ášáááááá áá áááááá áááááášáá áá
áá áááªáááá á£áá ááááááá¡á áá á¡ááááááááááá¡ áªáááááá áááá¡ ááááá¡ ááááŠááááá.">
+<!ENTITY aboutTor.tor_mission.label "Tor-áá ááá¥á¢á á¬áá áááááááá¡ 501(c)(3) áá áááááááááá ááá¬áá¡ááá£ááááá¡, á ááááá᪠á®ááá¡ á£á¬á§ááá¡ ááááááááá¡ á£á€ááááááá¡ áááªááá¡á áá ááááá¡á£á€ááááá¡ á®áá áá¡á®áá¡ ááá£áá¯áááá¡áááá¡, á£á€áá¡á áá áŠáá á¬á§áá áá¡ áá¥ááá, áááááááá¡á áá ááá ááá áááááªáááááá¡ áááááŠááááááá¡ááá áá¡áá ááááááá á¡áášá£áááááááá¡ ášáá¥ááááá áá áááá áªáááááá, ááááá ášáá£ááŠá£áááá á¬áááááá¡á áá ááááá§áááááá¡ á£áá á£ááááá§áá€áá, ášáááááá áá áááááá áááááášáá á
ááá áááªáááá á£áá ááááááá¡á áá á¡ááááááááááá¡ áªáááááá áááá¡ ááááá¡ ááááŠááááá.">
<!ENTITY aboutTor.getInvolved.label "ášáááááááá áááá »">
<!ENTITY aboutTor.getInvolved.link "https://www.torproject.org/getinvolved/volunteer.html.en">
diff --git a/src/chrome/locale/ka/torbutton.properties b/src/chrome/locale/ka/torbutton.properties
index e025bfde..f5c6b912 100644
--- a/src/chrome/locale/ka/torbutton.properties
+++ b/src/chrome/locale/ka/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=áá¥ááá ááá ášáá«áááá ááá£áš
profileAccessDenied=%S-á¡ áá áááá©ááá áá áá€ááááá á¬áááááá¡ ááááá ááá. ááá®ááá, á¡áááááááá ááááá ááá áá¥áááá á¡áá€áááá á¡áá¡á¢áááá¡ ááááá ááááá áá á¡áªáááá á®áááá®áá.
profileMigrationFailed=áá¥áááá áá á¡ááá£áá %S áá áá€áááá¡ ááááá¢ááá ááá ááá®áá á®áá.\nááááá§ááááá£áá áá¥áááá áá®ááá ááá áááá¢á ááá.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=á©ááááá¢ááá áááá %S ááááá®áááá
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=áááášáá á ááášáá€á á£ááá (Onion-áááá¡áá®á£á ááá, %1$S, %2$S ááá¢áááá ááá¡ááŠááááá, %3$S)
pageInfo_OnionEncryption=áááášáá á ááášáá€á á£ááá (Onion-áááá¡áá®á£á ááá)
diff --git a/src/chrome/locale/ko/torbutton.properties b/src/chrome/locale/ko/torbutton.properties
index aa7e363a..22c707e7 100644
--- a/src/chrome/locale/ko/torbutton.properties
+++ b/src/chrome/locale/ko/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=ìœêž° ì ì© íìŒ ìì€í
ììë %S륌 ì€íí ì
profileAccessDenied=%Sì íë¡í ì¡ìžì€ ê¶íìŽ ììµëë€. íìŒ ìì€í
ê¶íì ì¡°ì íê³ ë€ì ìëíììì€.
profileMigrationFailed=Ʞ졎 %S íë¡íì ìŽì íì§ ëª»íìµëë€. ìë¡ìŽ ì€ì ìŽ ì¬ì©ë©ëë€.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=ì°ê²°ì ìížííìµëë€ (Onion ìë¹ì€, %1$S, %2$S ë¹íž í€ë€, %3$S)
pageInfo_OnionEncryption=ì°ê²°ì ìížííìµëë€ (Onion ìë¹ì€)
diff --git a/src/chrome/locale/nb/aboutTor.dtd b/src/chrome/locale/nb/aboutTor.dtd
index 89bd5a7f..708d57dc 100644
--- a/src/chrome/locale/nb/aboutTor.dtd
+++ b/src/chrome/locale/nb/aboutTor.dtd
@@ -15,7 +15,7 @@
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "SpÞrsmål?">
-<!ENTITY aboutTor.torbrowser_user_manual_link.label "Check our Tor Browser Manual »">
+<!ENTITY aboutTor.torbrowser_user_manual_link.label "Sjekk vår Tor Browser Manual »">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
<!ENTITY aboutTor.torbrowser_user_manual.label "Tor-nettleseren HÃ¥ndbok">
diff --git a/src/chrome/locale/nb/browserOnboarding.properties b/src/chrome/locale/nb/browserOnboarding.properties
index 09b36334..f37c87b0 100644
--- a/src/chrome/locale/nb/browserOnboarding.properties
+++ b/src/chrome/locale/nb/browserOnboarding.properties
@@ -9,25 +9,25 @@ onboarding.tour-tor-welcome.button=Start nå
onboarding.tour-tor-privacy=Personvern
onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
-onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and deletes your browser history after your session. These modifications ensure your privacy and security are protected in the browser. Click âTor Networkâ to learn how we protect you on the network level.
+onboarding.tour-tor-privacy.description=Tor Browser isolerer informasjonskapsler og sletter nettleserens historie etter Þkten. Disse endringene sikrer at personvernet ditt og sikkerheten er beskyttet i nettleseren. Klikk "Tor Nettverk" for å lÊre hvordan vi beskytter deg på nettverksnivå.
onboarding.tour-tor-privacy.button=GÃ¥ til Tor Nettverk
onboarding.tour-tor-network=Tor Nettverk
-onboarding.tour-tor-network.title=Travel a decentralized network.
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor network run by thousands of volunteers around the world. Unlike a VPN, thereâs no one point of failure or centralized entity you need to trust in order to enjoy the internet privately.
-onboarding.tour-tor-network.button=Go to Circuit Display
+onboarding.tour-tor-network.title=Reis et decentralisert nettverk.
+onboarding.tour-tor-network.description=Tor Browser forbinder deg med Tor-nettet som drives av tusenvis av frivillige rundt om i verden. I motsetning til en VPN er det ingen feilpunkt eller sentralisert enhet du må stole på for å kunne nyte Internettet privat.
+onboarding.tour-tor-network.button=GÃ¥ til Kretsvisning
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, your traffic is relayed and encrypted in a circuit across three Tor relays around the world. No website knows where you are connecting from. You can request a new circuit by clicking âNew Circuit for this Siteâ on our Circuit Display.
+onboarding.tour-tor-circuit-display=Kretsvisning
+onboarding.tour-tor-circuit-display.title=Se din vei.
+onboarding.tour-tor-circuit-display.description=For hvert domene du besÞker, blir trafikken din omdirigert og kryptert i en krets over tre Tor-reléer rundt om i verden. Ingen nettside vet hvor du kobler fra. Du kan be om en ny krets ved å klikke "Ny krets for dette nettstedet" på vår kretsvisning.
onboarding.tour-tor-circuit-display.button=Se Min Vei
onboarding.tour-tor-security=Sikkerhet
onboarding.tour-tor-security.title=Velg din opplevelse.
-onboarding.tour-tor-security.description=We also provide you with additional settings for bumping up your browser security. Our Security Settings allow you to block elements that could be used to attack your computer. Click below to see what the different options do.
-onboarding.tour-tor-security.button=Review Settings
+onboarding.tour-tor-security.description=Vi gir deg også tilleggsinnstillinger for å stÞte på nettleserens sikkerhet. Våre sikkerhetsinnstillinger lar deg blokkere elementer som kan brukes til å angripe datamaskinen din. Klikk nedenfor for å se hva de forskjellige alternativene gjÞr.
+onboarding.tour-tor-security.button=Gjennomgå Innstillinger
-onboarding.tour-tor-expect-differences=Experience Tips
+onboarding.tour-tor-expect-differences=Opplevelsestips
onboarding.tour-tor-expect-differences.title=Forvent noen forskjeller.
onboarding.tour-tor-expect-differences.description=Med alle de sikkerhets og personvernfunksjonene som Tor leverer, kan din erfaring mens du surfer på Internett, vÊre litt annerledes. Det kan vÊre litt tregere, og avhengig av sikkerhetsnivået, kan noen elementer ikke fungere eller lastes. Du kan også bli bedt om å bevise at du er et menneske og ikke en robot.
onboarding.tour-tor-expect-differences.button=se FAQs
@@ -45,10 +45,10 @@ onboarding.tor-circuit-display.two-of-three=2 av 3
onboarding.tor-circuit-display.three-of-three=3 av 3
onboarding.tor-circuit-display.intro.title=Hvordan fungerer kretser?
-onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly assigned relays, which are computers around the world configured to forward Tor traffic. Circuits allow you to browse privately and to connect to onion services.
+onboarding.tor-circuit-display.intro.msg=Kretsene består av tilfeldig tilordnede reléer, som er datamaskiner rundt om i verden, konfigurert til å sende Tor-trafikk. Kretser lar deg bla gjennom privat og koble til lÞktjenester.
-onboarding.tor-circuit-display.diagram.title=Circuit Display
-onboarding.tor-circuit-display.diagram.msg=This diagram shows the relays that make up the circuit for this website. To prevent linking of activity across different sites, each website gets a different circuit.
+onboarding.tor-circuit-display.diagram.title=Kretsvisning
+onboarding.tor-circuit-display.diagram.msg=Dette diagrammet viser reléene som utgjÞr kretsen for denne nettsiden. For å forhindre kobling av aktivitet på forskjellige nettsteder, får hver nettside en annen krets.
onboarding.tor-circuit-display.new-circuit.title=Trenger du en ny krets?
-onboarding.tor-circuit-display.new-circuit.msg=If you are not able to connect to the website youâre trying to visit or it is not loading properly, then you can use this button to reload the site with a new circuit.
+onboarding.tor-circuit-display.new-circuit.msg=Hvis du ikke kan koble til nettstedet du prÞver å besÞke, eller det ikke lastes riktig, kan du bruke denne knappen til å laste siden på nytt med en ny krets.
diff --git a/src/chrome/locale/nb/torbutton.properties b/src/chrome/locale/nb/torbutton.properties
index 873756e4..83defa32 100644
--- a/src/chrome/locale/nb/torbutton.properties
+++ b/src/chrome/locale/nb/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Du kan ikke kjÞre %S fra et filsystem som bare er lesbart. K
profileAccessDenied=%S har ikke tilgang til endring av profilen. Juster filrettighetene og prÞv igjen.
profileMigrationFailed=Migrering av din eksisterende %S-profil mislykkes.\nNye innstillinger vil bli benyttet.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Laster ned %S oppdatering
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Tilkobling kryptert (LÞk Tjeneste, %1$S, %2$S bits nÞkler, %3$S)
pageInfo_OnionEncryption=Tilkobling kryptert (LÞk Tjeneste)
diff --git a/src/chrome/locale/nl/aboutTor.dtd b/src/chrome/locale/nl/aboutTor.dtd
index 822c3548..a66ae026 100644
--- a/src/chrome/locale/nl/aboutTor.dtd
+++ b/src/chrome/locale/nl/aboutTor.dtd
@@ -18,7 +18,7 @@
<!ENTITY aboutTor.torbrowser_user_manual_link.label "Check our Tor Browser Manual »">
<!-- The next two entities are used within the browser's Help menu. -->
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
-<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser Manual">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Tor Browser Gebruikshandleiding">
<!ENTITY aboutTor.tor_mission.label "The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.">
<!ENTITY aboutTor.getInvolved.label "Doe Mee">
diff --git a/src/chrome/locale/nl/torbutton.properties b/src/chrome/locale/nl/torbutton.properties
index b5639c69..2eee0573 100644
--- a/src/chrome/locale/nl/torbutton.properties
+++ b/src/chrome/locale/nl/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Je kan %S niet draaien vanaf een alleen lezen bestands-systee
profileAccessDenied=%S heeft niet de juiste permissies om toegang te krijgen tot het profiel. Pas de bestands-systeem permissies aan en probeer het opnieuw.
profileMigrationFailed=Migreren van uw bestaande %S profiel is mislukt.\nNieuwe instellingen zijn nu van toepassing.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Verbinding versleuteld (Oniondienst, %1$S, %2$S bit sleutels, %3$S)
pageInfo_OnionEncryption=Verbinding versleuteld (Oniondienst)
diff --git a/src/chrome/locale/pl/aboutTBUpdate.dtd b/src/chrome/locale/pl/aboutTBUpdate.dtd
index c227f7d1..b4d70158 100644
--- a/src/chrome/locale/pl/aboutTBUpdate.dtd
+++ b/src/chrome/locale/pl/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
<!ENTITY aboutTBUpdate.title "Aktualizacja przeglÄ
darki Tor">
-<!ENTITY aboutTBUpdate.updated "PrzeglÄ
darka Tor zostaÅa zaktualizowana.">
+<!ENTITY aboutTBUpdate.updated "Tor Browser zostaÅa zaktualizowana.">
<!ENTITY aboutTBUpdate.linkPrefix "Aby uzyskaÄ najbardziej aktualne informacje o tym wydaniu,">
<!ENTITY aboutTBUpdate.linkLabel "odwiedź naszÄ
stronÄ internetowÄ
">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/src/chrome/locale/pl/aboutTor.dtd b/src/chrome/locale/pl/aboutTor.dtd
index fe79cc3d..2e3c73f6 100644
--- a/src/chrome/locale/pl/aboutTor.dtd
+++ b/src/chrome/locale/pl/aboutTor.dtd
@@ -7,7 +7,7 @@
<!ENTITY aboutTor.title "Informacje na temat Tor'a">
<!ENTITY aboutTor.ready.label "Odkrywaj. Prywatnie.">
-<!ENTITY aboutTor.ready2.label "Youâre ready for the worldâs most private browsing experience.">
+<!ENTITY aboutTor.ready2.label "JesteÅ gotowy na najbardziej prywatne doÅwiadczenie przeglÄ
dania na Åwiecie.">
<!ENTITY aboutTor.failure.label "CoÅ poszÅo nie tak!">
<!ENTITY aboutTor.failure2.label "Tor nie dziaÅa w tej przeglÄ
darce.">
@@ -20,9 +20,9 @@
<!ENTITY aboutTor.torbrowser_user_manual.accesskey "M">
<!ENTITY aboutTor.torbrowser_user_manual.label "Instrukcja korzystania z Tor Browser">
-<!ENTITY aboutTor.tor_mission.label "The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.">
-<!ENTITY aboutTor.getInvolved.label "Get Involved »">
+<!ENTITY aboutTor.tor_mission.label "Projekt Tor jest organizacjÄ
non-profit US 501(c)(3), poszerzajÄ
cÄ
prawa czÅowieka i wolnoÅci tworzÄ
c darmowe i open-source technologie anonimowoÅci i prywatnoÅci, wspierajÄ
c ich nierestryktowanÄ
dostÄpnoÅÄ i uÅŒycie i promuje ich naukowe i popularne zrozumienie.">
+<!ENTITY aboutTor.getInvolved.label "ZaangaÅŒuj siÄ Â»">
<!ENTITY aboutTor.getInvolved.link "https://www.torproject.org/getinvolved/volunteer.html.en">
-<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
-<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
+<!ENTITY aboutTor.newsletter.tagline "Otrzymuj najnowsze newsy o Tor, prosto do swojej skrzynki.">
+<!ENTITY aboutTor.newsletter.link_text "Zapisz siÄ na Tor News.">
diff --git a/src/chrome/locale/pl/brand.dtd b/src/chrome/locale/pl/brand.dtd
index 608dab0a..a777445e 100644
--- a/src/chrome/locale/pl/brand.dtd
+++ b/src/chrome/locale/pl/brand.dtd
@@ -3,8 +3,8 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY brandShorterName "Tor Browser">
-<!ENTITY brandShortName "PrzeglÄ
darka Tor">
-<!ENTITY brandFullName "PrzeglÄ
darka Tor">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
<!ENTITY vendorShortName "Project Tor">
<!ENTITY trademarkInfo.part1 "Firefox i jego loga sÄ
znakami towarowymi Mozilla Foundation.">
diff --git a/src/chrome/locale/pl/brand.properties b/src/chrome/locale/pl/brand.properties
index 0381babb..f8070673 100644
--- a/src/chrome/locale/pl/brand.properties
+++ b/src/chrome/locale/pl/brand.properties
@@ -2,9 +2,9 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=PrzeglÄ
darka Tor
-brandShortName=PrzeglÄ
darka Tor
-brandFullName=PrzeglÄ
darka Tor
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
vendorShortName=Project Tor
homePageSingleStartMain=Firefox Start, szybka strona domowa z wbudowana wyszukiwarkÄ
diff --git a/src/chrome/locale/pl/browserOnboarding.properties b/src/chrome/locale/pl/browserOnboarding.properties
index f02655f4..6b63e5cf 100644
--- a/src/chrome/locale/pl/browserOnboarding.properties
+++ b/src/chrome/locale/pl/browserOnboarding.properties
@@ -4,51 +4,51 @@
onboarding.tour-tor-welcome=Witamy
onboarding.tour-tor-welcome.title=JesteÅ gotowy.
-onboarding.tour-tor-welcome.description=Tor Browser offers the highest standard of privacy and security while browsing the web. Youâre now protected against tracking, surveillance, and censorship. This quick onboarding will show you how.
-onboarding.tour-tor-welcome.button=Start Now
+onboarding.tour-tor-welcome.description=Tor Browser oferuje najwyÅŒszy standard prywatoÅci oraz bezpieczeÅstwa przy przÄglÄ
daniu sieci. JesteÅ teraz chroniony przed Åledzeniem, inwigilacjÄ
i cenzurÄ
. To szybkie wdroÅŒenie pokaÅŒe Ci jak.
+onboarding.tour-tor-welcome.button=Zacznij teraz
onboarding.tour-tor-privacy=PrywatnoÅÄ
-onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
-onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and deletes your browser history after your session. These modifications ensure your privacy and security are protected in the browser. Click âTor Networkâ to learn how we protect you on the network level.
-onboarding.tour-tor-privacy.button=Go to Tor Network
+onboarding.tour-tor-privacy.title=Zlekcewarz trackery i snoopery.
+onboarding.tour-tor-privacy.description=Tor Browser izoluje ciasteczka i usuwa twojÄ
historiÄ przeglÄ
dania po kaÅŒdej sesji. Te modyfikacje zapewniajÄ
ÅŒe Twoja prywatnoÅÄ oraz bezpieczeÅstwo sÄ
chronione przez przeglÄ
darkÄ. Kliknij 'SieÄ Tor' aby dowiedzieÄ siÄ jak chronimy CiÄ na poziomie sieciowym.
+onboarding.tour-tor-privacy.button=Przejdź do Sieci Tor
onboarding.tour-tor-network=SieÄ Tor
-onboarding.tour-tor-network.title=Travel a decentralized network.
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor network run by thousands of volunteers around the world. Unlike a VPN, thereâs no one point of failure or centralized entity you need to trust in order to enjoy the internet privately.
-onboarding.tour-tor-network.button=Go to Circuit Display
+onboarding.tour-tor-network.title=Podrózuj po zdecentralizowanej sieci.
+onboarding.tour-tor-network.description=Tor Browser ÅÄ
czy siÄ z SieciÄ
Tor prowadzonÄ
przez tysiÄ
ce wolontariuszy na caÅym Åwiecie. Inaczej niÅŒ w VPN, nie ma jednego punktu niepowodzenia lub scentralizowanej encji której musisz ufaÄ aby korzystaÄ z internetu w prywatnoÅci.
+onboarding.tour-tor-network.button=Przejdź do wyÅwietlacza obwodu
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, your traffic is relayed and encrypted in a circuit across three Tor relays around the world. No website knows where you are connecting from. You can request a new circuit by clicking âNew Circuit for this Siteâ on our Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display=WyÅwietlacz Obwodu
+onboarding.tour-tor-circuit-display.title=Zobacz swojÄ
ÅcieÅŒkÄ.
+onboarding.tour-tor-circuit-display.description=Dla kaÅŒdej domeny którÄ
odwiedzisz, twój ruch jest przekazywany i zaszyfrowany w obwodzie przechodzÄ
cym przez trzy przekaźniki Tor na caÅym Åwiecie. Å»adna strona nie wie skÄ
d siÄ ÅÄ
czysz. MoÅŒesz ÅŒÄ
daÄ o nowy obwód klikajÄ
c 'Nowy obwód dla tej strony' na WyÅwietlaczu Obwodów.
+onboarding.tour-tor-circuit-display.button=Zobacz mojÄ
ÅcieÅŒkÄ
onboarding.tour-tor-security=BezpieczeÅstwo
-onboarding.tour-tor-security.title=Choose your experience.
-onboarding.tour-tor-security.description=We also provide you with additional settings for bumping up your browser security. Our Security Settings allow you to block elements that could be used to attack your computer. Click below to see what the different options do.
-onboarding.tour-tor-security.button=Review Settings
+onboarding.tour-tor-security.title=Wybierz swoje doÅwiadczenie.
+onboarding.tour-tor-security.description=UmoÅŒliwiamy takÅŒe dodatkowe ustawienia dla zwiÄkszenia bezpieczeÅstwa Twojej przeglÄ
darki. Nasze Ustawienia BezpieczeÅstwa pozwalajÄ
Ci blokowaÄ elementy które mogÄ
byÄ uÅŒyte do ataku Twojego komputera. Kliknij poniÅŒej aby zobaczyÄ co róŌne opcje robiÄ
.
+onboarding.tour-tor-security.button=PrzeglÄ
daj ustawienia
-onboarding.tour-tor-expect-differences=Experience Tips
-onboarding.tour-tor-expect-differences.title=Expect some differences.
-onboarding.tour-tor-expect-differences.description=With all the security and privacy features provided by Tor, your experience while browsing the internet may be a little different. Things may be a bit slower, and depending on your security level, some elements may not work or load. You may also be asked to prove you are a human and not a robot.
-onboarding.tour-tor-expect-differences.button=See FAQs
+onboarding.tour-tor-expect-differences=Wskazówki do doÅwiadczenia
+onboarding.tour-tor-expect-differences.title=Spodziewaj siÄ róŌnic.
+onboarding.tour-tor-expect-differences.description=Ze wszystkimi cechami bezpieczeÅstwa i prywatnoÅci dostarczanych przez Tor, Twoje doÅwiadczenie przy przeglÄ
daniu internetu moÅŒe siÄ trochÄ roÅŒniÄ od zwykÅego. Rzeczy mogÄ
byÄ trochÄ wolniejsze i zaleÅŒnie od Twojego poziomu bezpieczeÅstwa, niektóre elementy mogÄ
nie dziaÅaÄ lub siÄ nie ÅadowaÄ. MoÅŒesz takÅŒe byÄ pytany o dowód ÅŒe jesteÅ czÅowiekiem, nie robotem.
+onboarding.tour-tor-expect-differences.button=Zobacz FAQ
onboarding.tour-tor-onion-services=UsÅugi Tor
-onboarding.tour-tor-onion-services.title=Be extra protected.
-onboarding.tour-tor-onion-services.description=Onion services are sites that end with a .onion that provide extra protections to publishers and visitors, including added safeguards against censorship. Onion services allow anyone to provide content and services anonymously. Click below to visit the DuckDuckGo onion site.
-onboarding.tour-tor-onion-services.button=Visit an Onion
+onboarding.tour-tor-onion-services.title=BÄ
dź dodatkowo chroniony.
+onboarding.tour-tor-onion-services.description=UsÅugi Onion to strony koÅczoÅce siÄ z .onion, które dostarczajÄ
dodatkowe zabezpieczenie dla publikujÄ
cych i odwiedzajÄ
cych, wÅÄ
cznie z zabezpieczeniami przeciwko cenzurze. UsÅugi Onion pozwalajÄ
kaÅŒdemu na dostarczanie kontentu oraz usÅug anonimowo. Kliknij poniÅŒej aby odwiedziÄ strone onion DuckDuckGo.
+onboarding.tour-tor-onion-services.button=Odwiedź Onion
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=Dalej
onboarding.tor-circuit-display.done=SkoÅczone
-onboarding.tor-circuit-display.one-of-three=1 of 3
-onboarding.tor-circuit-display.two-of-three=2 of 3
-onboarding.tor-circuit-display.three-of-three=3 of 3
+onboarding.tor-circuit-display.one-of-three=1 z 3
+onboarding.tor-circuit-display.two-of-three=2 z 3
+onboarding.tor-circuit-display.three-of-three=3 z 3
-onboarding.tor-circuit-display.intro.title=How do circuits work?
-onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly assigned relays, which are computers around the world configured to forward Tor traffic. Circuits allow you to browse privately and to connect to onion services.
+onboarding.tor-circuit-display.intro.title=Jak dziaÅajÄ
obwody?
+onboarding.tor-circuit-display.intro.msg=Obwody sÄ
zbudowane z losowy przypisanych przekaźników, które sÄ
komputerami dookoÅa Åwiata, skonfigurowanymi do przekazywania ruchu sieciowego Tor. Obwody pozwalajÄ
Ci przeglÄ
daÄ prywatnie i ÅÄ
czyÄ siÄ z usÅugami onion.
-onboarding.tor-circuit-display.diagram.title=Circuit Display
-onboarding.tor-circuit-display.diagram.msg=This diagram shows the relays that make up the circuit for this website. To prevent linking of activity across different sites, each website gets a different circuit.
+onboarding.tor-circuit-display.diagram.title=WyÅwietlacz Obwodu
+onboarding.tor-circuit-display.diagram.msg=Ten diagram pokazuje przekaźniki tworzÄ
ce obwód dla tej strony. Aby zapobiec wiÄ
zaniu aktywnoÅci pomiÄdzy róŌnymi stronami, kaÅŒda strona dostaje swój obwód.
-onboarding.tor-circuit-display.new-circuit.title=Do you need a new circuit?
-onboarding.tor-circuit-display.new-circuit.msg=If you are not able to connect to the website youâre trying to visit or it is not loading properly, then you can use this button to reload the site with a new circuit.
+onboarding.tor-circuit-display.new-circuit.title=Czy potrzebujesz nowego obwodu?
+onboarding.tor-circuit-display.new-circuit.msg=JeÅli nie jesteÅ w stanie poÅÄ
czyÄ siÄ ze stronÄ
którÄ
próbujesz odwiedziÄ albo nie Åaduje siÄ ona poprawnie, wtedy moÅŒesz uÅŒyc tego przycisku aby odÅwieÅŒyÄ stronÄ z nowym obwodem.
diff --git a/src/chrome/locale/pl/torbutton.properties b/src/chrome/locale/pl/torbutton.properties
index c3983412..864804ba 100644
--- a/src/chrome/locale/pl/torbutton.properties
+++ b/src/chrome/locale/pl/torbutton.properties
@@ -8,7 +8,7 @@ torbutton.circuit_display.unknown_country = Nieznane paÅstwo
torbutton.circuit_display.guard = Guard
torbutton.circuit_display.guard_note = Twój wÄzeÅ [Guard] moÅŒe siÄ nie zmieniÄ.
torbutton.circuit_display.learn_more = Dowiedz siÄ wiÄcej
-torbutton.content_sizer.margin_tooltip = PrzeglÄ
darka Tor dodaje ten margines po to, aby szerokoÅÄ i wysokoÅÄ okna Twojej przeglÄ
darki byÅa mniej charakterystyczna, dziÄki temu zmniejszysz szanse Åledzenia Ciebie online.
+torbutton.content_sizer.margin_tooltip = Tor Browser dodaje ten margines po to, aby szerokoÅÄ i wysokoÅÄ okna Twojej przeglÄ
darki byÅa mniej charakterystyczna, dziÄki temu zmniejszysz szanse Åledzenia Ciebie online.
torbutton.panel.tooltip.disabled = Kliknij tutaj, aby wÅÄ
czyÄ Tora
torbutton.panel.tooltip.enabled = Kliknij tutaj, aby wyÅÄ
czyÄ Tora
torbutton.panel.label.disabled = Tor wyÅÄ
czony
@@ -31,7 +31,7 @@ torbutton.popup.confirm_plugins = Wtyczki takie jak Flash mogÄ
szkodziÄ Twojej
torbutton.popup.never_ask_again = Nie pytaj mnie wiÄcej
torbutton.popup.confirm_newnym = Tor Browser zamknie wszystkie otwarte okna i karty. Wszystkie sesje zostanÄ
utracone.\n\nCzy chcesz zrestartowaÄ Tor Browser teraz, aby zmieniÄ toÅŒsamoÅÄ?\n\n
-torbutton.maximize_warning = ZwiÄkszenie przeglÄ
darki Tor pozwala stronom internetowym ustaliÄ rozmiar ekranu i przez to ÅledziÄ uÅŒytkownika. Polecamy zostawiaÄ przeglÄ
darka Tor w domyÅlnym rozmiarze.
+torbutton.maximize_warning = ZwiÄkszenie przeglÄ
darki Tor pozwala stronom internetowym ustaliÄ rozmiar ekranu i przez to ÅledziÄ uÅŒytkownika. Polecamy zostawiaÄ Tor Browser w domyÅlnym rozmiarze.
# Canvas permission prompt. Strings are kept here for ease of translation.
canvas.siteprompt=Ta strona internetowa (%S) próbowaÅa wydobyÄ HTML5 canvas danych obrazu, które mogÄ
byÄ wykorzystane w celu identyfikacji Twojego komputera.\n\nCzy chcesz, aby Tor Browser pozwoliÅ tej stronie na wydobycie danych obrazu HTML5 canvas?
@@ -50,6 +50,11 @@ profileReadOnlyMac=Nie moÅŒesz uruchomiÄ %S w systemie plików tylko do odczytu
profileAccessDenied=%S nie posiada uprawnieÅ, aby zobaczyÄ ten profil. Prosimy zmieniÄ uprawnienia systemu plików i spróbowaÄ ponownie.
profileMigrationFailed=Migracja Twojego isniejÄ
cego profilu %S nie powiodÅa siÄ.\nNowe ustawienia zostanÄ
uÅŒyte.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=PoÅÄ
czenie zaszyfrowane (usÅuga Onion, %1$S, %2$S klucze bitowe, %3$S)
pageInfo_OnionEncryption=PoÅÄ
czenie zaszyfrowane (usÅuga Onion)
diff --git a/src/chrome/locale/pt-BR/torbutton.properties b/src/chrome/locale/pt-BR/torbutton.properties
index 69885807..df17228b 100644
--- a/src/chrome/locale/pt-BR/torbutton.properties
+++ b/src/chrome/locale/pt-BR/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Não é possÃvel executar %S a partir de um sistema de arqui
profileAccessDenied=%S não possui permissão para acessar o perfil. Por favor, ajuste as suas permissões de arquivo de sistema e tente novamente.
profileMigrationFailed=Migração de seu perfil %S existente falhou.\nNovas configurações serão usadas.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Baixando a atualização %S
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Conexão criptografada (Serviço Onion, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Conexão criptografada (Serviço Onion)
diff --git a/src/chrome/locale/ru/aboutTor.dtd b/src/chrome/locale/ru/aboutTor.dtd
index b3d2f631..611fc80a 100644
--- a/src/chrome/locale/ru/aboutTor.dtd
+++ b/src/chrome/locale/ru/aboutTor.dtd
@@ -11,7 +11,7 @@
<!ENTITY aboutTor.failure.label "ЧÑП-ÑП пПÑлП Ме Ñак!">
<!ENTITY aboutTor.failure2.label "Tor Ме ÑабПÑÐ°ÐµÑ Ð² ÑÑПЌ бÑаÑзеÑе.">
-<!ENTITY aboutTor.search.label "ÐПОÑк ÑеÑез DuckDuckGo">
+<!ENTITY aboutTor.search.label "ÐПОÑк Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÑеÑвОÑа DuckDuckGo">
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "ÐПпÑПÑÑ?">
diff --git a/src/chrome/locale/ru/torbutton.properties b/src/chrome/locale/ru/torbutton.properties
index c18c122b..16e3f38d 100644
--- a/src/chrome/locale/ru/torbutton.properties
+++ b/src/chrome/locale/ru/torbutton.properties
@@ -1,42 +1,42 @@
torbutton.circuit_display.internet = ÐМÑеÑМеÑ
torbutton.circuit_display.ip_unknown = IP МеОзвеÑÑеМ
-torbutton.circuit_display.onion_site = "ÐÑкПвÑй" ÑайÑ
+torbutton.circuit_display.onion_site = Onion ÑайÑ
torbutton.circuit_display.this_browser = ÐÑÐŸÑ Ð±ÑаÑзеÑ
torbutton.circuit_display.relay = РеÑÑаМÑлÑÑПÑ
-torbutton.circuit_display.tor_bridge = РеÑÑаМÑлÑÑПÑ
+torbutton.circuit_display.tor_bridge = ÐПÑÑ
torbutton.circuit_display.unknown_country = ÐеОзвеÑÑÐœÐ°Ñ ÑÑÑаМа
-torbutton.circuit_display.guard = Guard
-torbutton.circuit_display.guard_note = ÐÐ°Ñ [Guard] Ñзел Ме ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœ.
-torbutton.circuit_display.learn_more = ÐПЎÑПбМее
-torbutton.content_sizer.margin_tooltip = Tor Browser ЎПбавлÑÐµÑ ÑÑÐŸÑ ÐŸÑÑÑÑп, ÑÑÐŸÐ±Ñ ÑОÑОМа О вÑÑПÑа ПкМа бÑлО ЌеМее ÑзМаваеЌÑЌО, ÑÑП ÑÑлПжМÑÐµÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÐŸÑÑлеЎОÑÑ ÐÐ°Ñ Ð² ÑеÑО.
+torbutton.circuit_display.guard = СÑПÑПжевПй
+torbutton.circuit_display.guard_note = ÐÐ°Ñ [ÑÑПÑПжевПй] Ñзел Ме ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœ.
+torbutton.circuit_display.learn_more = УзМаÑÑ Ð±ÐŸÐ»ÑÑе
+torbutton.content_sizer.margin_tooltip = Tor Browser ЎПбавлÑÐµÑ ÑÑÐŸÑ ÐŸÑÑÑÑп, ÑÑÐŸÐ±Ñ ÑОÑОМа О вÑÑПÑа ПкМа бÑлО ЌеМее ÑзМаваеЌÑЌО, ÑÑП ÑÑлПжМÑÐµÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÐŸÑÑлеЎОÑÑ Ð²Ð°Ñ Ð² ОМÑеÑМеÑе.
torbutton.panel.tooltip.disabled = ÐажЌОÑе, ÑÑÐŸÐ±Ñ Ð²ÐºÐ»ÑÑОÑÑ Tor
torbutton.panel.tooltip.enabled = ÐажЌОÑе, ÑÑÐŸÐ±Ñ ÐŸÑклÑÑОÑÑ Tor
torbutton.panel.label.disabled = Tor ПÑклÑÑеМ
torbutton.panel.label.enabled = Tor вклÑÑеМ
extensions.torbutton(a)torproject.org.description = Torbutton пÑеЎÑÑЌаÑÑÐžÐ²Ð°ÐµÑ ÐºÐœÐŸÐ¿ÐºÑ, ÑÑÐŸÐ±Ñ ÐœÐ°ÑÑÑПОÑÑ Tor О бÑÑÑÑП О легкП ПÑОÑÑОÑÑ Ð»ÐžÑМÑе ЎаММÑе пÑПÑЌПÑÑа.
torbutton.popup.external.title = СкаÑаÑÑ Ð²ÐœÐµÑМОй Ñайл?
-torbutton.popup.external.app = Tor Browser Ме ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÐºÐ°Ð·Ð°ÑÑ ÑÑÐŸÑ Ñайл. ÐаЌ МеПбÑ
ПЎОЌП ПÑкÑÑÑÑ ÐµÐ³ÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐŽÑÑгПгП пÑОлПжеМОÑ.\n\n
-torbutton.popup.external.note = ÐекПÑПÑÑе ÑÐžÐ¿Ñ ÑайлПв ЌПгÑÑ Ð²ÑзваÑÑ Ð¿ÑОлПжеМОÑ, ÑПеЎОМÑÑÑОеÑÑ Ñ ÑеÑÑÑ Ð±ÐµÐ· ОÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Tor.\n\n
-torbutton.popup.external.suggest = ÐÐ»Ñ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМПÑÑО, ÑекПЌеМЎÑеÑÑÑ ÐŸÑкÑÑваÑÑ ÑÐ°Ð¹Ð»Ñ Ð¿ÑО ПÑклÑÑеММПЌ ОМÑеÑМеÑ-ÑПеЎОМеМОО, ОлО ОÑпПлÑзÑÑ Tor Live CD, МапÑÐžÐŒÐµÑ Tails.\n
-torbutton.popup.launch = СкаÑаÑÑ Ñайл
-torbutton.popup.cancel = ÐÑЌеМОÑÑ
-torbutton.popup.dontask = С ÑÑПгП ЌПЌеМÑа ÑкаÑОваÑÑ ÑÐ°Ð¹Ð»Ñ Ð°Ð²ÑПЌаÑОÑеÑкО
-torbutton.popup.no_newnym = Torbutton Ме ÐŒÐŸÐ¶ÐµÑ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМП ЎаÑÑ Ð²Ð°ÐŒ МПвÑÑ Ð»ÐžÑМПÑÑÑ. ÐМ Ме ÐžÐŒÐµÐµÑ ÐŽÐŸÑÑÑпа к Tor Control Port.\n\nÐÑ ÐžÑпПлÑзÑеÑе Tor Browser Bundle?
+torbutton.popup.external.app = Tor Browser Ме ÐŒÐŸÐ¶ÐµÑ ÐŸÑПбÑазОÑÑ ÑÑÐŸÑ Ñайл. ÐÑжМП ПÑкÑÑÑÑ ÐµÐ³ÐŸ Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐŽÑÑгПгП пÑОлПжеМОÑ.\n\n
+torbutton.popup.external.note = ÐекПÑПÑÑе ÑÐžÐ¿Ñ ÑайлПв ЌПгÑÑ Ð²ÑзÑваÑÑ Ð¿ÐŸÐŽÐºÐ»ÑÑеМОе пÑОлПжеМОй к ОМÑеÑМеÑÑ Ð±ÐµÐ· ОÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ Tor.\n\n
+torbutton.popup.external.suggest = Ð ÑелÑÑ
безПпаÑМПÑÑО ваЌ ÑлеЎÑÐµÑ ÐŸÑкÑÑваÑÑ Ð·Ð°Ð³ÑÑжеММÑе ÑÐ°Ð¹Ð»Ñ ÑПлÑкП в авÑПМПЌМПЌ ÑежОЌе ОлО ОÑпПлÑзПваÑÑ Tor Live CD, МапÑÐžÐŒÐµÑ Tails.\n
+torbutton.popup.launch = ÐагÑÑзОÑÑ Ñайл
+torbutton.popup.cancel = ÐÑЌеМа
+torbutton.popup.dontask = ÐвÑПЌаÑОÑеÑкО загÑÑжаÑÑ ÑÐ°Ð¹Ð»Ñ Ñ ÑÑПгП ЌПЌеМÑа
+torbutton.popup.no_newnym = Torbutton Ме ÐŒÐŸÐ¶ÐµÑ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМП ЎаÑÑ Ð²Ð°ÐŒ МПвÑÑ Ð»ÐžÑМПÑÑÑ. ÐМ Ме ÐžÐŒÐµÐµÑ ÐŽÐŸÑÑÑпа к пПÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐœÐžÑ Tor.\n\nÐÑ ÐžÑпПлÑзÑеÑе Tor Browser Bundle?
torbutton.security_settings.menu.title = ÐаÑÑÑПйкО безПпаÑМПÑÑО
torbutton.title.prompt_torbrowser = ÐÐ°Ð¶ÐœÐ°Ñ ÐžÐœÑПÑЌаÑÐžÑ Torbutton
-torbutton.popup.prompt_torbrowser = Torbutton ÑабПÑÐ°ÐµÑ Ð¿ÐŸ-ÐŽÑÑгПЌÑ. ÐÑ ÐœÐµ ЌПжеÑе вÑклÑÑОÑÑ ÐµÐ³ÐŸ бПлÑÑе â â ÐÑ ÑЎелалО ÑÑП ОзЌеМеМОе, пПÑÐŸÐŒÑ ÑÑП ÑÑП Ме безПпаÑМП ОÑпПлÑзПваÑÑ Torbutton в бÑаÑзеÑе, кПÑПÑÑй Ñакже ОÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ ÐœÐµ-Tor пÑПÑЌПÑÑа. СÑÑеÑÑвПвалО ÑлОÑкПЌ ЌМПгП ПÑОбПк ÑаЌ, ÑÑП ÐŒÑ ÐœÐµ ЌПглО ОÑпÑавОÑÑ ÐœÐžÐºÐ°ÐºÐžÐŒ ÐŽÑÑгОЌ ÑпПÑПбПЌ. â â ÐÑлО Ð²Ñ Ñ
ПÑОÑе пÑПЎПлжаÑÑ ÐžÑпПлÑзПваÑÑ Firefox МПÑЌалÑМП, Ð²Ñ ÐŽÐŸÐ»Ð¶ÐœÑ ÑЎалОÑÑ Torbutton О ÑкаÑаÑÑ Tor Browser Bundle. СвПйÑÑва кПМÑОЎеМÑОалÑМПÑÑО Tor Browser Ñакже пÑевПÑÑ
ПЎÑÑ ÐŸÐ±ÑÑМÑй Firefox, Ўаже еÑлО Firefox ОÑпПлÑзÑеÑÑÑ Ñ Torbutton. â â ЧÑÐŸÐ±Ñ ÑЎалОÑÑ Torbutton, пеÑейЎÐ
žÑе в ÐŒÐµÐœÑ Ð¡ÐµÑвОÑ-> ÐПпПлМеМОÑ-> РаÑÑОÑеМОÑ, а заÑеЌ МажЌОÑе ÐºÐœÐŸÐ¿ÐºÑ Ð£ÐŽÐ°Ð»ÐžÑÑ ÑÑЎПЌ Ñ Torbutton.
-torbutton.popup.short_torbrowser = ÐÐ°Ð¶ÐœÐ°Ñ ÐžÐœÑПÑЌаÑÐžÑ Torbutton! â â Torbutton ÑепеÑÑ Ð²ÑегЎа вклÑÑеМ. â â ÐажЌОÑе Ма Torbutton ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑелÑМПй ОМÑПÑЌаÑОО.
+torbutton.popup.prompt_torbrowser = ТепеÑÑ Torbutton ÑабПÑÐ°ÐµÑ Ð¿ÐŸ-ÐŽÑÑгПЌÑ: вÑклÑÑаÑÑ ÐµÐ³ÐŸ бПлÑÑе МелÑзÑ.\n\nÐÑ Ð²ÐœÐµÑлО ÑÑП ОзЌеМеМОе, пПÑкПлÑÐºÑ ÐœÐµÐ±ÐµÐ·ÐŸÐ¿Ð°ÑМП ОÑпПлÑзПваÑÑ Torbutton в бÑаÑзеÑе, кПÑПÑÑй Ñакже ОÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ Ð¿ÑПÑЌПÑÑа без Tor. ТаЌ бÑлП ÑлОÑкПЌ ЌМПгП ПÑОбПк, кПÑПÑÑе ÐŒÑ ÐœÐµ ЌПглО ОÑпÑавОÑÑ ÐŽÑÑгОЌ ÑпПÑПбПЌ.\n\nÐÑлО Ð²Ñ Ñ
ПÑОÑе пÑПЎПлжаÑÑ ÐžÑпПлÑзПваÑÑ Firefox в ПбÑÑМПЌ ÑежОЌе, ваЌ ÑлеЎÑÐµÑ ÑЎалОÑÑ Torbutton О загÑÑзОÑÑ Tor Browser Bundle. ÐПМÑОЎеМÑОалÑМПÑÑÑ Tor Browser пÑевПÑÑ
ÐŸÐŽÐžÑ ÐŸÐ±ÑÑМÑй Firefox, Ўаже кПгЎа ПМ ОÑпПлÑзÑеÑÑÑ Ñ Torbutton.\n\nЧÑÐŸÐ±Ñ ÑЎалОÑÑ Torbutton, пеÑейЎОÑе в ÐŒÐµÐœÑ ÐеМÑ-> ÐПпПлМеМОÑ->
РаÑÑОÑÐµÐœÐžÑ Ðž МажЌОÑе ÐºÐœÐŸÐ¿ÐºÑ 'УЎалОÑÑ' ÑÑЎПЌ Ñ Torbutton.
+torbutton.popup.short_torbrowser = ÐÐ°Ð¶ÐœÐ°Ñ ÐžÐœÑПÑЌаÑÐžÑ ÐŸ Torbutton!\n\nTorbutton ÑепеÑÑ Ð²ÑегЎа вклÑÑеМ.\n\nÐажЌОÑе Ма Torbutton ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑелÑМПй ОМÑПÑЌаÑОО.
-torbutton.popup.confirm_plugins = ÐÐ»Ð°Ð³ÐžÐœÑ Ð²ÑПЎе Flash ЌПгÑÑ ÐœÐ°ÐœÐµÑÑО вÑеЎ ваÑей кПМÑОЎеМÑОалÑМПÑÑО О аМПМОЌМПÑÑО.\nÐМО Ñакже ЌПгÑÑ ÐŸÐ±Ñ
ПЎОÑÑ Tor, ÑÑÐŸÐ±Ñ ÑаÑкÑÑÑÑ Ð²Ð°Ñе ÑекÑÑее ЌеÑÑПпПлПжеМОе О IP-аЎÑеÑ.\nÐÑ ÑвеÑеМÑ, ÑÑП Ñ
ПÑОÑе вклÑÑОÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÑ?\n
+torbutton.popup.confirm_plugins = ÐлагОМÑ, ÑакОе как Flash, ЌПгÑÑ ÐœÐ°ÐœÐµÑÑО вÑеЎ ваÑей кПМÑОЎеМÑОалÑМПÑÑО О аМПМОЌМПÑÑО.\n\nТакже ПМО ЌПгÑÑ ÐŸÐ±ÐŸÐ¹ÑО Tor, ÑÑÐŸÐ±Ñ ÑзМаÑÑ Ð²Ð°Ñе ÑекÑÑее ЌеÑÑПпПлПжеМОе О IP-аЎÑеÑ.\n\nÐÑ ÑвеÑеМÑ, ÑÑП Ñ
ПÑОÑе вклÑÑОÑÑ Ð¿Ð»Ð°Ð³ÐžÐœÑ?\n\n
torbutton.popup.never_ask_again = ÐПлÑÑе Ме ÑпÑаÑОваÑÑ
-torbutton.popup.confirm_newnym = Tor Browser закÑÐŸÐµÑ Ð²Ñе ПкМа О вклаЎкО. ÐÑе ÑеÑÑОО веб-ÑайÑа бÑÐŽÑÑ Ð¿ÐŸÑеÑÑМÑ.\n\nÐеÑезапÑÑÑОÑÑ ÑейÑÐ°Ñ Tor Browser, ÑÑÐŸÐ±Ñ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÐаÑÑ Ð»ÐžÑМПÑÑÑ?\n\n
+torbutton.popup.confirm_newnym = Tor Browser закÑÐŸÐµÑ Ð²Ñе ПкМа О вклаЎкО. ÐÑе ÑеÑÑОО ÑайÑа бÑÐŽÑÑ Ð¿ÐŸÑеÑÑМÑ.\n\nÐеÑезапÑÑÑОÑÑ Tor Browser ÑейÑаÑ, ÑÑÐŸÐ±Ñ ÑбÑПÑОÑÑ Ð²Ð°ÑÑ Ð»ÐžÑМПÑÑÑ?\n\n
-torbutton.maximize_warning = ÐÑкÑÑÑОе бÑаÑзеÑа Tor Ма ЌакÑОЌалÑМÑÑ Ð²ÐµÐ»ÐžÑÐžÐœÑ ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑÑ Ð²ÐµÐ±-ÑайÑаЌ ПпÑеЎелОÑÑ ÑÐ°Ð·ÐŒÐµÑ ÐаÑегП ЌПМОÑПÑа, ÑÑÐŸÐ±Ñ ÐŸÑÑлеЎОÑÑ ÐаÑ. ÐÑ ÑекПЌеМЎÑеЌ ПÑÑавлÑÑÑ ÐŸÐºÐœÐ° бÑаÑзеÑа в ОÑ
пеÑвПМаÑалÑМПЌ ÑазЌеÑе.
+torbutton.maximize_warning = ÐÑкÑÑÑОе Tor Browser Ма ЌакÑОЌалÑМÑÑ Ð²ÐµÐ»ÐžÑÐžÐœÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð²ÐµÐ±-ÑайÑаЌ ПпÑеЎелÑÑÑ ÑÐ°Ð·ÐŒÐµÑ Ð²Ð°ÑегП ЌПМОÑПÑа, ÑÑП ÐŒÐŸÐ¶ÐµÑ ÐžÑпПлÑзПваÑÑÑÑ ÐŽÐ»Ñ Ð²Ð°ÑегП ПÑÑлежОваМОÑ. ÐÑ ÑекПЌеМЎÑеЌ ПÑÑавлÑÑÑ ÐŸÐºÐœÐ° бÑаÑзеÑа Tor в ОÑ
ОÑÑ
ПЎМПЌ ÑазЌеÑе пП ÑЌПлÑаМОÑ.
# Canvas permission prompt. Strings are kept here for ease of translation.
-canvas.siteprompt=ÐÑÐŸÑ Ð²ÐµÐ±-ÑÐ°Ð¹Ñ (%S) пÑÑаеÑÑÑ ÐžÐ·Ð²Ð»ÐµÑÑ ÐŽÐ°ÐœÐœÑе ОзПбÑÐ°Ð¶ÐµÐœÐžÑ HTML5 canvas, ÑÑП ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑпПлÑзПваМП ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ ÐžÐœÑПÑЌаÑОО П ваÑеЌ кПЌпÑÑÑеÑе.\n\nÐПлжеМ лО Tor Browser ÑазÑеÑОÑÑ ÑÑÐŸÐŒÑ ÑайÑÑ ÐžÐ·Ð²Ð»ÐµÑÑ ÐŽÐ°ÐœÐœÑе ОзПбÑÐ°Ð¶ÐµÐœÐžÑ HTML5 canvas?
+canvas.siteprompt=ÐÑÐŸÑ Ð²ÐµÐ±-ÑÐ°Ð¹Ñ (%S) пПпÑÑалÑÑ ÐžÐ·Ð²Ð»ÐµÑÑ ÐŽÐ°ÐœÐœÑе ОзПбÑÐ°Ð¶ÐµÐœÐžÑ ÐžÐ· HTML5 canvas, ÑÑП ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐžÑпПлÑзПваМП ÐŽÐ»Ñ ÑМОкалÑМПй ОЎеМÑОÑОкаÑОО ваÑегП кПЌпÑÑÑеÑа.\n\nÐПлжеМ лО Tor Browser ÑазÑеÑОÑÑ ÑÑÐŸÐŒÑ ÑайÑÑ ÐžÐ·Ð²Ð»ÐµÐºÐ°ÑÑ ÐŽÐ°ÐœÐœÑе ОзПбÑÐ°Ð¶ÐµÐœÐžÑ HTML5 canvas?
canvas.notNow=Ðе ÑейÑаÑ
-canvas.notNowAccessKey=Ð
+canvas.notNowAccessKey=N
canvas.allow=РазÑеÑОÑÑ Ð² бÑÐŽÑÑеЌ
canvas.allowAccessKey=A
canvas.never=ÐОкПгЎа ÐŽÐ»Ñ ÑÑПгП ÑайÑа (ÑекПЌеМЎÑеÑÑÑ)
@@ -45,10 +45,15 @@ canvas.neverAccessKey=e
# Profile/startup error messages. Strings are kept here for ease of translation.
# LOCALIZATION NOTE: %S is the application name.
profileProblemTitle=ÐÑПблеЌа Ñ Ð¿ÑПÑОлеЌ %S
-profileReadOnly=ÐевПзЌПжМП запÑÑÑОÑÑ %S Оз пПЎ ÑОÑÑÐµÐŒÑ Ñ ÑайлПвПй ÑОÑÑеЌПй "ÑПлÑкП ÐŽÐ»Ñ ÑÑеМОÑ". ÐПжалÑйÑÑа, ÑкПпОÑÑйÑе %S в ÐŽÑÑгПе ЌеÑÑП пеÑеЎ ОÑпПлÑзПваМОеЌ.
-profileReadOnlyMac=ÐевПзЌПжМП запÑÑÑОÑÑ %S Оз ÑайлПвПй ÑОÑÑеЌÑ, ЎПÑÑÑпМПй ÑПлÑкП ÐŽÐ»Ñ ÑÑеМОÑ. ÐПжалÑйÑÑа, ÑкПпОÑÑйÑе %S Ма ÑабПÑОй ÑÑПл ОлО в Ð¿Ð°Ð¿ÐºÑ "ÐÑОлПжеМОÑ" пеÑеЎ ОÑпПлÑзПваМОеЌ.
-profileAccessDenied=У %S ÐœÐµÑ ÑазÑеÑÐµÐœÐžÑ ÐœÐ° ЎПÑÑÑп к пÑПÑОлÑ. ÐПжалÑйÑÑа, ОзЌеМОÑе пÑава ЎПÑÑÑпа О пПпÑПбÑйÑе ÑМПва.
-profileMigrationFailed=ÐеÑеЌеÑеМОе ваÑегП ÑÑÑеÑÑвÑÑÑегП %S пÑПÑÐžÐ»Ñ ÐœÐµ ÑЎалПÑÑ.\nÐÑÐŽÑÑ ÐžÑпПлÑзПваÑÑÑÑ ÐœÐŸÐ²Ñе МаÑÑÑПйкО.
+profileReadOnly=ÐÑ ÐœÐµ ЌПжеÑе запÑÑÑОÑÑ %S Оз ÑайлПвПй ÑОÑÑÐµÐŒÑ ÐŽÐŸÑÑÑпМПй ÑПлÑкП ÐŽÐ»Ñ ÑÑеМОÑ. ÐПжалÑйÑÑа, ÑкПпОÑÑйÑе %S в ÐŽÑÑгПе ЌеÑÑП пеÑеЎ ОÑпПлÑзПваМОеЌ.
+profileReadOnlyMac=ÐÑ ÐœÐµ ЌПжеÑе запÑÑÑОÑÑ %S Оз ÑайлПвПй ÑОÑÑÐµÐŒÑ ÐŽÐŸÑÑÑпМПй ÑПлÑкП ÐŽÐ»Ñ ÑÑеМОÑ. ÐПжалÑйÑÑа, ÑкПпОÑÑйÑе %S Ма ÑабПÑОй ÑÑПл ОлО в Ð¿Ð°Ð¿ÐºÑ ÐÑÐžÐ»ÐŸÐ¶ÐµÐœÐžÑ Ð¿ÐµÑеЎ ОÑпПлÑзПваМОеЌ.
+profileAccessDenied=У %SМе ÐžÐŒÐµÐµÑ Ð¿Ñав ЎПÑÑÑпа к пÑПÑОлÑ. ÐПжалÑйÑÑа, МаÑÑÑПйÑе ÑазÑеÑÐµÐœÐžÑ Ð²Ð°Ñей ÑайлПвПй ÑОÑÑÐµÐŒÑ Ðž пПпÑПбÑйÑе ÑМПва.
+profileMigrationFailed=ÐОгÑаÑÐžÑ Ð²Ð°ÑегП ÑÑÑеÑÑвÑÑÑегП %S пÑПÑÐžÐ»Ñ ÐœÐµ ÑЎалаÑÑ.\nÐÑÐŽÑÑ ÐžÑпПлÑÐ·ÐŸÐ²Ð°ÐœÑ ÐœÐŸÐ²Ñе МаÑÑÑПйкО.
+
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=ÐагÑÑжаеÑÑÑ ÐŸÐ±ÐœÐŸÐ²Ð»ÐµÐœÐžÐµ: %S
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=СПеЎОМеМОе заÑОÑÑПваМП (Onion Service, %1$S, %2$S бОÑМÑе клÑÑО, %3$S)
diff --git a/src/chrome/locale/sv/torbutton.properties b/src/chrome/locale/sv/torbutton.properties
index aaa6856e..465aaf05 100644
--- a/src/chrome/locale/sv/torbutton.properties
+++ b/src/chrome/locale/sv/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Du kan inte köra %S från ett read-only filsystem. Kopiera f
profileAccessDenied=%S har inte rÀttighet att anvÀnda profilen. VÀnligen Àndra dina rÀttigheter i filsystemet och försök igen!
profileMigrationFailed=Migrering av din befintliga %S profil misslyckades.\nNya instÀllningar kommer att anvÀndas.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Anslutning krypterad (Onion-tjÀnst, %1$S, %2$S bit nycklar, %3$S)
pageInfo_OnionEncryption=Anslutning krypterad (Onion-tjÀnst)
diff --git a/src/chrome/locale/tr/torbutton.properties b/src/chrome/locale/tr/torbutton.properties
index 8ac1ecfe..32ff1fed 100644
--- a/src/chrome/locale/tr/torbutton.properties
+++ b/src/chrome/locale/tr/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=%S salt okunur bir dosya sisteminden çalıÅtırılamaz. LÃŒ
profileAccessDenied=%S, profilinize eriÅemiyor. LÃŒtfen dosya sistemi izinlerini ayarlayarak yeniden deneyin.
profileMigrationFailed=Mevcut %S profilinizin taÅınma iÅlemi baÅarısız oldu.\nYeni ayarlar kullanılacak.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=GÃŒncelleme yÃŒkleniyor %S
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=BaÄlantı Åifreli (Onion Hizmeti, %1$S, %2$S bit anahtarlar, %3$S)
pageInfo_OnionEncryption=BaÄlantı Åifreli (Onion Hizmeti)
diff --git a/src/chrome/locale/vi/torbutton.properties b/src/chrome/locale/vi/torbutton.properties
index 6a4f068f..d74c93a9 100644
--- a/src/chrome/locale/vi/torbutton.properties
+++ b/src/chrome/locale/vi/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=Bạn khÃŽng thá» chạy %S từ má»t táºp tin há» thá»n
profileAccessDenied=%S khÃŽng ÄÆ°á»£c phép truy cáºp cấu hình. Vui lòng Äiá»u chá»nh sá»± cho phép cá»§a táºp tin há» thá»ng và thá» lại.
profileMigrationFailed=Viá»c di chuyá»n há» sÆ¡ %S hiá»n tại cá»§a bạn Äã thất bại.\nNhững cà i Äặt má»i sẜ ÄÆ°á»£c sá» dụng.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Äã mã hóa kết ná»i (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Äã mã hóa kết ná»i (Onion Service)
diff --git a/src/chrome/locale/zh-CN/torbutton.properties b/src/chrome/locale/zh-CN/torbutton.properties
index 9b908a0b..e5b87b4f 100644
--- a/src/chrome/locale/zh-CN/torbutton.properties
+++ b/src/chrome/locale/zh-CN/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=æšäžèœåšäžäžªåªè¯»æä»¶ç³»ç»äžè¿è¡ %Sã请åšå°
profileAccessDenied=%S 没ææé访é®é
眮æä»¶ãè¯·è°æŽæšçæä»¶ç³»ç»æéç¶åéè¯ã
profileMigrationFailed=蜬移æšå·²æçé
眮æä»¶ %S 倱莥ã\næ°è®Ÿçœ®å°è¢«äœ¿çšã
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=è¿æ¥å·²ç»è¢«å å¯ïŒæŽè±æå¡ïŒ %1$S, %2$S å¯é¥, %3$SïŒ
pageInfo_OnionEncryption=è¿æ¥å·²ç»è¢«å å¯ïŒæŽè±æå¡ïŒ
diff --git a/src/chrome/locale/zh-TW/torbutton.properties b/src/chrome/locale/zh-TW/torbutton.properties
index f573c90a..b9d1304b 100644
--- a/src/chrome/locale/zh-TW/torbutton.properties
+++ b/src/chrome/locale/zh-TW/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=æšäžèœåšå¯è®çæªæ¡ç³»çµ±äžå·è¡ %SïŒè«å
å° %S
profileAccessDenied=%S æ²æè¶³å€ çå忬éïŒè«éæ°èª¿æŽæšçæªæ¡ç³»çµ±æ¬éåŸåè¡å詊ã
profileMigrationFailed=ç¡æ³èœç§»è³æšçŸåç%Sè³æå€Ÿã\nå°äœ¿çšæ°èšå®ã
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=飿¥å å¯(æŽè¥æå, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=飿¥å å¯ïŒæŽè¥æåïŒ
1
0

[tor-browser-build/master] Bug 29158: Install updated apt packages (CVE-2019-3462)
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit f9cbcb92e13bea3792733dd89d6efab4d62be7e2
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 23 14:01:38 2019 +0100
Bug 29158: Install updated apt packages (CVE-2019-3462)
---
projects/debootstrap-image/config | 79 +++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/projects/debootstrap-image/config b/projects/debootstrap-image/config
index 5ee8c9a..a1d26cb 100644
--- a/projects/debootstrap-image/config
+++ b/projects/debootstrap-image/config
@@ -13,39 +13,102 @@ var:
pre: |
#!/bin/sh
set -e
+ # Bug 29158: install fixed packages for apt vulnerability (CVE-2019-3462)
+ dpkg -i ./apt_1.6.6ubuntu0.1_amd64.deb ./libapt-pkg5.0_1.6.6ubuntu0.1_amd64.deb
apt-get update -y
apt-get install -y debian-archive-keyring ubuntu-keyring debootstrap
debootstrap --arch=[% c("var/container/arch") %] [% c("var/container/debootstrap_opt") %] [% c("var/container/suite") %] base-image [% c("var/container/debootstrap_mirror") %]
+ [% IF c("var/apt_package_filename") || c("var/apt_utils_package_filename") || c("var/libapt_inst_package_filename") || c("var/libapt_pkg_package_filename") -%]
+ mkdir ./base-image/apt-update
+ mv [% c("var/apt_package_filename") %] [% c("var/apt_utils_package_filename") %] \
+ [% c("var/libapt_inst_package_filename") %] [% c("var/libapt_pkg_package_filename") %] \
+ ./base-image/apt-update
+ mount proc ./base-image/proc -t proc
+ mount sysfs ./base-image/sys -t sysfs
+ chroot ./base-image dpkg -i -R /apt-update
+ umount ./base-image/proc
+ umount ./base-image/sys
+ [% END -%]
+ [% IF c("var/minimal_apt_version") -%]
+ apt_version=$(dpkg --admindir=$(pwd)/base-image/var/lib/dpkg -s apt | grep '^Version: ' | cut -d ' ' -f 2)
+ echo "apt version: $apt_version"
+ dpkg --compare-versions "$apt_version" ge '[% c("var/minimal_apt_version") %]'
+ [% END -%]
tar -C ./base-image -czf [% dest_dir %]/[% c("filename") %] .
targets:
wheezy-amd64:
var:
+ minimal_apt_version: '0.9.7.9+deb7u8'
+ # https://deb.freexian.com/extended-lts/updates/ela-76-1-apt/
+ apt_packages_baseurl: http://deb.freexian.com/extended-lts/pool/main/a/apt
+ apt_package_filename: apt_0.9.7.9+deb7u8_amd64.deb
+ apt_package_sha256sum: 83dcdb3f9c11df28b30b85bbb9dec341effbf36ee881a04dece3390082080761
+ apt_utils_package_filename: apt-utils_0.9.7.9+deb7u8_amd64.deb
+ apt_utils_package_sha256sum: 91a4d0ec92a32f13e3acb37f71546d48c51a0df25f3b9eb6a96b73dfc93a11ed
+ libapt_inst_package_filename: libapt-inst1.5_0.9.7.9+deb7u8_amd64.deb
+ libapt_inst_package_sha256sum: 181c9c21e1b33496b251fc76ba8ed04acbb8e23006909d27795bbc287eddd027
+ libapt_pkg_package_filename: libapt-pkg4.12_0.9.7.9+deb7u8_amd64.deb
+ libapt_pkg_package_sha256sum: b360dfb5a65ac2f7b81a2551d8a520ba2265785537d6d669869a159888b81999
+
container:
suite: wheezy
arch: amd64
+
wheezy-i386:
var:
+ # Missing apt packages for i386:
+ # http://deb.freexian.com/extended-lts/pool/main/a/apt/
container:
suite: wheezy
arch: i386
+
jessie-amd64:
var:
+ minimal_apt_version: 1.0.9.8.5
+ # https://lists.debian.org/debian-lts-announce/2019/01/msg00014.html
+ apt_packages_baseurl: http://security.debian.org/debian-security/pool/updates/main/a/apt
+ apt_package_filename: apt_1.0.9.8.5_amd64.deb
+ apt_package_sha256sum: 4078748632abc19836d045f80f9d6933326065ca1d47367909a0cf7f29e7dfe8
+ apt_utils_package_filename: apt-utils_1.0.9.8.5_amd64.deb
+ apt_utils_package_sha256sum: 87c55d9ccadcabd59674873c221357c774020c116afd978fb9df6d2d0303abf2
+ libapt_inst_package_filename: libapt-inst1.5_1.0.9.8.5_amd64.deb
+ libapt_inst_package_sha256sum: f9615532b1577b3d1455fa51839ce91765f2860eb3a6810fb5e0de0c87253030
+ libapt_pkg_package_filename: libapt-pkg4.12_1.0.9.8.5_amd64.deb
+ libapt_pkg_package_sha256sum: 295d9c69854a4cfbcb46001b09b853f5a098a04c986fc5ae01a0124c1c27e6bd
+
container:
suite: jessie
arch: amd64
+
jessie-i386:
var:
+ minimal_apt_version: 1.0.9.8.5
+ # https://lists.debian.org/debian-lts-announce/2019/01/msg00014.html
+ apt_packages_baseurl: http://security.debian.org/debian-security/pool/updates/main/a/apt
+ apt_package_filename: apt_1.0.9.8.5_i386.deb
+ apt_package_sha256sum: 13c230e9c544b1e67a8da413046bf1728526372170533b1a23e70cc99c40a228
+ apt_utils_package_filename: apt-utils_1.0.9.8.5_i386.deb
+ apt_utils_package_sha256sum: 1a74b12c8bb6b3968a721f3aa96739073e4fe2ced9302792c533e21535bc9cf4
+ libapt_inst_package_filename: libapt-inst1.5_1.0.9.8.5_i386.deb
+ libapt_inst_package_sha256sum: 5791661dd4ade72b61086fefdc209bd1f76ac7b7c812d6d4ba951b1a6232f0b9
+ libapt_pkg_package_filename: libapt-pkg4.12_1.0.9.8.5_i386.deb
+ libapt_pkg_package_sha256sum: 201b6cf4625ed175e6a024ac1f7ca6c526ca79d859753c125b02cd69e26c349d
+
container:
suite: jessie
arch: i386
+
buster-amd64:
var:
+ minimal_apt_version: '1.8.0~alpha3.1'
container:
suite: buster
arch: amd64
+
stretch-amd64:
var:
+ minimal_apt_version: 1.4.9
container:
suite: stretch
arch: amd64
@@ -54,3 +117,19 @@ input_files:
- URL: 'http://cdimage.ubuntu.com/ubuntu-base/releases/[% c("var/ubuntu_version") %]/release/ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
filename: 'container-image_ubuntu-base-[% c("var/ubuntu_version") %]-base-amd64.tar.gz'
sha256sum: ed76e649f65548a80b361b68011085ec4dde7bb762d667657acbef87765e1a12
+ - URL: http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.6.6ubuntu0.1_amd64.…
+ sha256sum: df210f9e30cf9deba5fbe815203af854e5e77bdbbe0b96d0d1c0da46a6a8dd0a
+ - URL: http://security.ubuntu.com/ubuntu/pool/main/a/apt/libapt-pkg5.0_1.6.6ubuntu…
+ sha256sum: 0a05a97b1e9b8d52ee8df040a14c5fabdebbb2c2235ac495db29df34f4c8cec3
+ - URL: '[% c("var/apt_packages_baseurl") %]/[% c("var/apt_package_filename") %]'
+ sha256sum: '[% c("var/apt_package_sha256sum") %]'
+ enable: '[% c("var/apt_package_filename") %]'
+ - URL: '[% c("var/apt_packages_baseurl") %]/[% c("var/apt_utils_package_filename") %]'
+ sha256sum: '[% c("var/apt_utils_package_sha256sum") %]'
+ enable: '[% c("var/apt_utils_package_filename") %]'
+ - URL: '[% c("var/apt_packages_baseurl") %]/[% c("var/libapt_inst_package_filename") %]'
+ sha256sum: '[% c("var/libapt_inst_package_sha256sum") %]'
+ enable: '[% c("var/libapt_inst_package_filename") %]'
+ - URL: '[% c("var/apt_packages_baseurl") %]/[% c("var/libapt_pkg_package_filename") %]'
+ sha256sum: '[% c("var/libapt_pkg_package_sha256sum") %]'
+ enable: '[% c("var/libapt_pkg_package_filename") %]'
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_29158_v4'
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit 15e8c5389b76e5fd8634a35c5bff1a5a7192a818
Merge: eb0e8e0 f9cbcb9
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 25 07:58:13 2019 +0000
Merge remote-tracking branch 'boklm/bug_29158_v4'
projects/debootstrap-image/config | 79 +++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
1
0

[tor-browser-build/master] Bug 27503: Adapt mozconfig files to enable accessibility on Windows
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit eb0e8e0d13c4325a7af1e469cce307fed8e122ee
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 22 11:03:53 2019 +0000
Bug 27503: Adapt mozconfig files to enable accessibility on Windows
---
projects/firefox/mozconfig-windows-i686 | 1 -
projects/firefox/mozconfig-windows-x86_64 | 1 -
2 files changed, 2 deletions(-)
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index 4045ce0..3314719 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -26,5 +26,4 @@ ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --disable-tests
ac_add_options --disable-stylo # Bugzilla 1390583
-ac_add_options --disable-accessibility # https://sourceforge.net/p/mingw-w64/bugs/648/
ac_add_options --disable-jemalloc # Bugzilla 1466192
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index 9b757ea..62e32c5 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -26,5 +26,4 @@ ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --disable-tests
ac_add_options --disable-stylo # Bugzilla 1390583
-ac_add_options --disable-accessibility # https://sourceforge.net/p/mingw-w64/bugs/648/
ac_add_options --disable-jemalloc # Bugzilla 1466192
1
0

[tor-browser-build/master] Bug 27503: Adapt mozconfig files to enable accessibility on Windows
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit c4ba9b5e6a38971aad6e6d8331e16e7b3a773f1e
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 22 10:58:41 2019 +0000
Bug 27503: Adapt mozconfig files to enable accessibility on Windows
When bumping mingw-w64 for the crash fix in #28874 we forgot to adapt
our Windows mozconfig files to take into account that we don't need to
define CXXFLAGS anymore. The changes landed in commit
a91a7e405752bbdbe39101f7aaeb1e1d932199db in the mingw-w64 repo.
---
projects/firefox/mozconfig-windows-i686 | 3 ---
projects/firefox/mozconfig-windows-x86_64 | 3 ---
2 files changed, 6 deletions(-)
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index 07e8851..4045ce0 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -1,8 +1,5 @@
CROSS_COMPILE=1
-# https://bugzilla.mozilla.org/show_bug.cgi?id=1411401
-export CXXFLAGS="-DWIDL_EXPLICIT_AGGREGATE_RETURNS"
-
ac_add_options --enable-application=browser
ac_add_options --target=i686-w64-mingw32
ac_add_options --with-toolchain-prefix=i686-w64-mingw32-
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index 1665005..9b757ea 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -1,8 +1,5 @@
CROSS_COMPILE=1
-# https://bugzilla.mozilla.org/show_bug.cgi?id=1411401
-export CXXFLAGS="-DWIDL_EXPLICIT_AGGREGATE_RETURNS"
-
ac_add_options --enable-application=browser
ac_add_options --target=x86_64-w64-mingw32
ac_add_options --with-toolchain-prefix=x86_64-w64-mingw32-
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 12885: Windows Jump Lists fail for Tor Browser
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit f4606d1c1c35eb36edf3c7cd6b2904be01f19f32
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Jan 25 07:51:14 2019 +0000
Bug 12885: Windows Jump Lists fail for Tor Browser
Jumplist entries are stored in a binary file in:
%APPDATA%\\Microsoft\Windows\Recent\CustomDestinations\
and has a name in the form
[a-f0-9]+.customDestinations-ms
The hex at the front is unique per app, and is ultimately derived from
something called the 'App User Model ID' (AUMID) via some unknown
hashing method. The AUMID is provided as a key when programmatically
creating, updating, and deleting a jumplist. The default behaviour in
firefox is for the installer to define an AUMID for an app, and save it
in the registry so that the jumplist data can be removed by the
uninstaller.
However, the Tor Browser does not set this (or any other) regkey during
installation, so this codepath fails and the app's AUMID is left
undefined. As a result the app's AUMID ends up being defined by
windows, but unknowable by Tor Browser. This unknown AUMID is used to
create and modify the jumplist, but the delete API requires that we
provide the app's AUMID explicitly. Since we don't know what the AUMID
is (since the expected regkey where it is normally stored does not
exist) jumplist deletion will fail and we will leave behind a mostly
empty customDestinations-ms file. The name of the file is derived from
the binary path, so an enterprising person could reverse engineer how
that hex name is calculated, and generate the name for Tor Browser's
default Desktop installation path to determine whether a person had
used Tor Browser in the past.
The 'taskbar.grouping.useprofile' option that is enabled by this patch
works around this AUMID problem by having firefox.exe create it's own
AUMID based on the profile path (rather than looking for a regkey). This
way, if a user goes in and enables and disables jumplist entries, the
backing store is properly deleted.
Unfortunately, all windows users currently have this file lurking in
the above mentioned directory and this patch will not remove it since it
was created with an unknown AUMID. However, another patch could be
written which goes to that directory and deletes any item containing the
'Tor Browser' string. See bug 28996.
---
browser/app/profile/000-tor-browser.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 2b238dd87c1b..11027f4c9a3a 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -326,6 +326,18 @@ pref("browser.onboarding.newtour", "welcome,privacy,tor-network,circuit-display,
pref("browser.onboarding.updatetour", "welcome,privacy,tor-network,circuit-display,security,expect-differences,onion-services");
pref("browser.onboarding.skip-tour-button.hide", true);
+// prefs to disable jump-list entries in the taskbar on Windows (see bug #12885)
+#ifdef XP_WIN
+// this pref changes the app's set AUMID to be dependent on the profile path, rather than
+// attempting to read it from the registry; this is necessary so that the file generated
+// by the jumplist system can be properly deleted if it is disabled
+pref("taskbar.grouping.useprofile", true);
+pref("browser.taskbar.lists.enabled", false);
+pref("browser.taskbar.lists.frequent.enabled", false);
+pref("browser.taskbar.lists.tasks.enabled", false);
+pref("browser.taskbar.lists.recent.enabled", false);
+#endif
+
#ifdef TOR_BROWSER_VERSION
#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
#endif
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 27597: Package dom_bindings_test only with tests enabled
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit 2d5a66c40885598133593c641fd8401a0b2f2fac
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Dec 15 19:52:32 2018 +0000
Bug 27597: Package dom_bindings_test only with tests enabled
---
browser/installer/package-manifest.in | 2 +-
mobile/android/installer/package-manifest.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 7c89a4f70b95..fadf205c229c 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -197,7 +197,7 @@
@RESPATH@/components/dom.xpt
@RESPATH@/components/dom_base.xpt
@RESPATH@/components/dom_bindings.xpt
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/dom_bindings_test.xpt
#endif
@RESPATH@/components/dom_file.xpt
diff --git a/mobile/android/installer/package-manifest.in b/mobile/android/installer/package-manifest.in
index 69714f9eca7c..7fe0e97c2d3b 100644
--- a/mobile/android/installer/package-manifest.in
+++ b/mobile/android/installer/package-manifest.in
@@ -118,7 +118,7 @@
@BINPATH@/components/dom.xpt
@BINPATH@/components/dom_base.xpt
@BINPATH@/components/dom_bindings.xpt
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@BINPATH@/components/dom_bindings_test.xpt
#endif
@BINPATH@/components/dom_core.xpt
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] squash! TB3: Tor Browser's official .mozconfigs.
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit b5793205da5fde6035f1bb7c49752fd38a9ed6e9
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Dec 17 06:48:47 2018 +0000
squash! TB3: Tor Browser's official .mozconfigs.
Bug 27597: ASan build option in tor-browser-build is broken
---
.mozconfig-asan | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/.mozconfig-asan b/.mozconfig-asan
index be11dcbd967a..4fde71a0b1e3 100644
--- a/.mozconfig-asan
+++ b/.mozconfig-asan
@@ -1,15 +1,15 @@
. $topsrcdir/browser/config/mozconfig
-export CFLAGS="-fsanitize=address -Dxmalloc=myxmalloc -fwrapv"
-export CXXFLAGS="-fsanitize=address -Dxmalloc=myxmalloc -fwrapv"
+export CFLAGS="-fsanitize=address -Dxmalloc=myxmalloc"
+export CXXFLAGS="-fsanitize=address -Dxmalloc=myxmalloc"
# We need to add -ldl explicitely due to bug 1213698
export LDFLAGS="-fsanitize=address -ldl"
# Define HOST_CFLAGS, etc. to avoid compiling programs such as mbsdiff
# (which is part of mar-tools and is not distributed to end-users) with
# ASan. See bug 17858.
-export HOST_CFLAGS="-fwrapv"
-export HOST_CXXFLAGS="-fwrapv"
+export HOST_CFLAGS=""
+export HOST_CXXFLAGS=""
export HOST_LDFLAGS="-ldl"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 27597: Package layout debugger interface only if tests are enabled
by gk@torproject.org 25 Jan '19
by gk@torproject.org 25 Jan '19
25 Jan '19
commit 3723fd7b92f17ed857cea9bacb26b77fa4d34efc
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Dec 15 19:55:45 2018 +0000
Bug 27597: Package layout debugger interface only if tests are enabled
---
browser/installer/package-manifest.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index fadf205c229c..ede92eca6e58 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -242,7 +242,7 @@
@RESPATH@/components/jsdebugger.xpt
@RESPATH@/browser/components/jsinspector.xpt
@RESPATH@/components/layout_base.xpt
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/layout_debug.xpt
#endif
#ifdef NS_PRINTING
1
0

[tor-browser-build/master] Bug 29143: fix build of obfs4 in nightly builds
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit f27f11201d86b8bb909bad8b4c04f841b5487ddb
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue Jan 22 13:31:23 2019 +0100
Bug 29143: fix build of obfs4 in nightly builds
---
projects/goptlib/config | 5 +++++
projects/goutls/config | 21 +++++++++++++++++++++
projects/goxcrypto/config | 8 +++++++-
projects/goxsys/config | 19 +++++++++++++++++++
projects/goxtext/config | 18 ++++++++++++++++++
projects/obfs4/build | 4 ++++
projects/obfs4/config | 6 ++++++
projects/siphash/config | 2 +-
8 files changed, 81 insertions(+), 2 deletions(-)
diff --git a/projects/goptlib/config b/projects/goptlib/config
index c083763..2fd51f8 100644
--- a/projects/goptlib/config
+++ b/projects/goptlib/config
@@ -13,6 +13,11 @@ var:
use_container: 1
go_lib: git.torproject.org/pluggable-transports/goptlib.git
+targets:
+ nightly:
+ version: master
+ tag_gpg_id: 0
+
input_files:
- project: container-image
- name: go
diff --git a/projects/goutls/config b/projects/goutls/config
new file mode 100644
index 0000000..bdd5273
--- /dev/null
+++ b/projects/goutls/config
@@ -0,0 +1,21 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://github.com/refraction-networking/utls
+git_hash: a89e7e6da482a5a0db02578fc606ace9ccfbea62
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+ container:
+ use_container: 1
+ go_lib: github.com/refraction-networking/utls
+ go_lib_deps:
+ - goxcrypto
+
+input_files:
+ - project: container-image
+ - name: go
+ project: go
+ - name: goxcrypto
+ project: goxcrypto
diff --git a/projects/goxcrypto/config b/projects/goxcrypto/config
index b51b578..fe73f93 100644
--- a/projects/goxcrypto/config
+++ b/projects/goxcrypto/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
git_url: https://go.googlesource.com/crypto
-git_hash: 4ed45ec682102c643324fae5dff8dab085b6c300
+git_hash: ff983b9c42bc9fbf91556e191cc8efb585c16908
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
build: '[% c("projects/go/var/build_go_lib") %]'
@@ -11,9 +11,13 @@ var:
use_container: 1
go_lib: golang.org/x/crypto
go_lib_install:
+ - golang.org/x/crypto/chacha20poly1305
+ - golang.org/x/crypto/cryptobyte
- golang.org/x/crypto/curve25519
- golang.org/x/crypto/hkdf
- golang.org/x/crypto/nacl/secretbox
+ go_lib_deps:
+ - goxsys
targets:
nightly:
@@ -23,3 +27,5 @@ input_files:
- project: container-image
- name: go
project: go
+ - name: goxsys
+ project: goxsys
diff --git a/projects/goxsys/config b/projects/goxsys/config
new file mode 100644
index 0000000..64a7213
--- /dev/null
+++ b/projects/goxsys/config
@@ -0,0 +1,19 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://github.com/golang/sys
+git_hash: 11f53e03133963fb11ae0588e08b5e0b85be8be5
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+ container:
+ use_container: 1
+ go_lib: golang.org/x/sys
+ go_lib_install:
+ - golang.org/x/sys/cpu
+
+input_files:
+ - project: container-image
+ - name: go
+ project: go
diff --git a/projects/goxtext/config b/projects/goxtext/config
new file mode 100644
index 0000000..fba619f
--- /dev/null
+++ b/projects/goxtext/config
@@ -0,0 +1,18 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://github.com/golang/text
+# v0.3.0
+git_hash: f21a4dfb5e38f5895301dc265a8def02365cc3d0
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+ container:
+ use_container: 1
+ go_lib: golang.org/x/text
+
+input_files:
+ - project: container-image
+ - name: go
+ project: go
diff --git a/projects/obfs4/build b/projects/obfs4/build
index 4e42b23..dedd1ef 100644
--- a/projects/obfs4/build
+++ b/projects/obfs4/build
@@ -11,6 +11,10 @@ tar -C /var/tmp/dist -xf [% c('input_files_by_name/siphash') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/uniuri') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/goxcrypto') %]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/goxnet') %]
+[% IF c("var/nightly") -%]
+ tar -C /var/tmp/dist -xf [% c('input_files_by_name/goutls') %]
+ tar -C /var/tmp/dist -xf [% c('input_files_by_name/goxtext') %]
+[% END -%]
mkdir -p /var/tmp/build
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
diff --git a/projects/obfs4/config b/projects/obfs4/config
index 2bae851..2c94f10 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -32,3 +32,9 @@ input_files:
project: goxcrypto
- name: goxnet
project: goxnet
+ - name: goutls
+ project: goutls
+ enable: '[% c("var/nightly") %]'
+ - name: goxtext
+ project: goxtext
+ enable: '[% c("var/nightly") %]'
diff --git a/projects/siphash/config b/projects/siphash/config
index b2cb2a9..7e40bc7 100644
--- a/projects/siphash/config
+++ b/projects/siphash/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
git_url: https://github.com/dchest/siphash.git
-git_hash: 42ba037e748c9062a75e0924705c43b893edefcd
+git_hash: 34f201214d993633bb24f418ba11736ab8b55aa7
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
build: '[% c("projects/go/var/build_go_lib") %]'
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1450449 - Part 3: Starting from Nougat, share images via content:// URIs. r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit d00611cec519373705b83ed2ac89e1db58532fa2
Author: Jan Henning <jh+bugzilla(a)buttercookie.de>
Date: Sat May 12 23:17:38 2018 +0200
Bug 1450449 - Part 3: Starting from Nougat, share images via content:// URIs. r=jchen
For sharing images we download the image to a temporary file in our internal
storage area. This is a perfect use case for granting temporary access to the
file only via a content:// URI instead of directly exposing the real file system
path.
Since support for content:// URIs by arbitrary other apps might be patchy on
older Android versions, though, we only start doing this from Nougat onwards.
MozReview-Commit-ID: E2I1t8dZzKj
--HG--
extra : rebase_source : 84449c39aed622a995e7e009b8e33d21ff02db23
---
.../org/mozilla/gecko/widget/GeckoActionProvider.java | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java b/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
index 056a799f1caa..79854e2931bc 100644
--- a/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
@@ -8,9 +8,11 @@ package org.mozilla.gecko.widget;
import android.app.Activity;
import android.net.Uri;
import android.support.design.widget.Snackbar;
+import android.support.v4.content.FileProvider;
import android.util.Base64;
import android.view.Menu;
+import org.mozilla.gecko.AppConstants;
import org.mozilla.gecko.GeckoApp;
import org.mozilla.gecko.R;
import org.mozilla.gecko.SnackbarBuilder;
@@ -328,7 +330,7 @@ public class GeckoActionProvider {
os.write(buf);
// Only alter the intent when we're sure everything has worked
- intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imageFile));
+ addFileExtra(intent, imageFile);
} else {
InputStream is = null;
try {
@@ -346,7 +348,7 @@ public class GeckoActionProvider {
}
// Only alter the intent when we're sure everything has worked
- intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imageFile));
+ addFileExtra(intent, imageFile);
} finally {
IOUtils.safeStreamClose(is);
}
@@ -357,4 +359,15 @@ public class GeckoActionProvider {
IOUtils.safeStreamClose(os);
}
}
+
+ private void addFileExtra(final Intent intent, final File file) {
+ if (AppConstants.Versions.preN) {
+ intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
+ } else {
+ Uri contentUri = FileProvider.getUriForFile(mContext,
+ AppConstants.MOZ_FILE_PROVIDER_AUTHORITY, file);
+ intent.putExtra(Intent.EXTRA_STREAM, contentUri);
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ }
+ }
}
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1450449 - Part 1: Add FileProvider. r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit e80f96596129a94a39caa8e525affa892077d3b0
Author: Jan Henning <jh+bugzilla(a)buttercookie.de>
Date: Sat May 12 22:19:08 2018 +0200
Bug 1450449 - Part 1: Add FileProvider. r=jchen
In case we change our thinking on launching of downloaded files and start using
content:// URIs for that case as well, we already allow our FileProvider to
generate URIs for the whole file system using <root-path>. This is because users
can in principle move our download directory to an arbitrary location on the
file system as long as it is accessible to Firefox. However not all of these
locations (e.g. on a removable SD card) can be specified through the other
methods of specifying available files for a FileProvider, so only the <root-
path> option remains.
MozReview-Commit-ID: 2UStBlU4JsG
--HG--
extra : rebase_source : 2c1828e063c1b3e772ac20c415fd34d0da1c24a6
---
mobile/android/app/src/main/res/xml/provider_paths.xml | 10 ++++++++++
mobile/android/base/AndroidManifest.xml.in | 10 ++++++++++
mobile/android/base/AppConstants.java.in | 1 +
3 files changed, 21 insertions(+)
diff --git a/mobile/android/app/src/main/res/xml/provider_paths.xml b/mobile/android/app/src/main/res/xml/provider_paths.xml
new file mode 100644
index 000000000000..8bdaaac58a1c
--- /dev/null
+++ b/mobile/android/app/src/main/res/xml/provider_paths.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<paths xmlns:android="http://schemas.android.com/apk/res/android">
+ <root-path
+ name="root"
+ path="." />
+</paths>
diff --git a/mobile/android/base/AndroidManifest.xml.in b/mobile/android/base/AndroidManifest.xml.in
index 0e5f4edaf814..c7c5ead7f82f 100644
--- a/mobile/android/base/AndroidManifest.xml.in
+++ b/mobile/android/base/AndroidManifest.xml.in
@@ -383,6 +383,16 @@
android:authorities="@ANDROID_PACKAGE_NAME@.db.searchhistory"
android:exported="false"/>
+ <provider android:name="android.support.v4.content.FileProvider"
+ tools:replace="android:authorities"
+ android:authorities="@ANDROID_PACKAGE_NAME@.fileprovider"
+ android:exported="false"
+ android:grantUriPermissions="true">
+ <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
+ tools:replace="android:resource"
+ android:resource="@xml/provider_paths" />
+ </provider>
+
<service
android:exported="false"
android:name="org.mozilla.gecko.updater.UpdateService"
diff --git a/mobile/android/base/AppConstants.java.in b/mobile/android/base/AppConstants.java.in
index d676b1e1da12..e16d936b6b0d 100644
--- a/mobile/android/base/AppConstants.java.in
+++ b/mobile/android/base/AppConstants.java.in
@@ -25,6 +25,7 @@ public class AppConstants {
public static final String MANGLED_ANDROID_PACKAGE_NAME = "@MANGLED_ANDROID_PACKAGE_NAME@";
public static final String MOZ_ANDROID_SHARED_FXACCOUNT_TYPE = "@ANDROID_PACKAGE_NAME@_fxaccount";
+ public static final String MOZ_FILE_PROVIDER_AUTHORITY = "@ANDROID_PACKAGE_NAME@.fileprovider";
/**
* Encapsulates access to compile-time version definitions, allowing
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1500906 - Suppress FileUriExposedExceptions when launching helper apps. r=jchen, a=pascalc
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit 394ffba812d69d4b5767376f0f3ff1e303ba26d1
Author: Jan Henning <jh+bitbucket(a)buttercookie.de>
Date: Wed Oct 24 21:02:17 2018 +0200
Bug 1500906 - Suppress FileUriExposedExceptions when launching helper apps. r=jchen, a=pascalc
Sharing tabs with file:// URIs is not possible, but users can still send them to
other apps via the helper app system in the URL bar/context menu. "Intent:Open"
and "Intent:OpenForResult" are both sent from Gecko by HelperApps.jsm.
The same reasoning as in bug 1450449 applies as to why for publicly accessible
files content:// URIs are more trouble than they're worth.
Differential Revision: https://phabricator.services.mozilla.com/D9697
---
.../base/java/org/mozilla/gecko/IntentHelper.java | 23 ++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java b/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
index f2810a92af51..5b7948f79e04 100644
--- a/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
@@ -26,6 +26,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Environment;
+import android.os.StrictMode;
import android.provider.Browser;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
@@ -471,12 +472,18 @@ public final class IntentHelper implements BundleEventListener {
}
private void open(final GeckoBundle message) {
- openUriExternal(message.getString("url", ""),
- message.getString("mime", ""),
- message.getString("packageName", ""),
- message.getString("className", ""),
- message.getString("action", ""),
- message.getString("title", ""), false);
+ final StrictMode.VmPolicy prevPolicy = StrictMode.getVmPolicy();
+ StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX);
+ try {
+ openUriExternal(message.getString("url", ""),
+ message.getString("mime", ""),
+ message.getString("packageName", ""),
+ message.getString("className", ""),
+ message.getString("action", ""),
+ message.getString("title", ""), false);
+ } finally {
+ StrictMode.setVmPolicy(prevPolicy);
+ }
}
private void openForResult(final GeckoBundle message, final EventCallback callback) {
@@ -495,10 +502,14 @@ public final class IntentHelper implements BundleEventListener {
return;
}
final ResultHandler handler = new ResultHandler(callback);
+ final StrictMode.VmPolicy prevPolicy = StrictMode.getVmPolicy();
+ StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX);
try {
ActivityHandlerHelper.startIntentForActivity(activity, intent, handler);
} catch (SecurityException e) {
Log.w(LOGTAG, "Forbidden to launch activity.", e);
+ } finally {
+ StrictMode.setVmPolicy(prevPolicy);
}
}
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1450449 - Part 5: Disable file:// URI checks for downloaded files and launching files from Gecko. r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit ad9b3c0d704dceab75c2b3f6246740c78d8f7c04
Author: Jan Henning <jh+bugzilla(a)buttercookie.de>
Date: Sun May 13 00:07:48 2018 +0200
Bug 1450449 - Part 5: Disable file:// URI checks for downloaded files and launching files from Gecko. r=jchen
This is a case where I disagree with Google's stance about content:// URIs.
They're perfect for granting access to files that might not even be present on
the file system, e.g. virtual files generated on the spot or retrieved from some
database, a cloud storage provider's app granting access to files stored in the
cloud, etc., as well as for being able to selectively grant access to files
conceptually "owned" by a certain app, especially files within the app's private
internal storage.
However when considering files that don't actually "belong" to any specific app
in particular and that are already being stored in a publicly accessible (modulo
the READ_EXTERNAL_STORAGE permission, respectively the user granting access
through the Storage Access Framework) directory somewhere within the external
storage, they also have a number of drawbacks:
- While in practice a number of FileProviders will "leak" the true file system
path through the content:// URI they generate, the problem remains that
there's no way to know for sure whether two content:// URIs received from
different apps are in fact referring to the same file or not.
In case of our downloads for example, content:// URIs all referring to the
same file could in principle be generated
* by Firefox itself
* by the system Downloads app
* by the system file browser app
* by any other third-party file browser or similar app that the user might
have installed
which e.g. will needlessly clutter up any LRU lists other apps might keep.
- content:// URIs obviously depend on the generating app still being installed.
So even if we fixed bug 1280184, so that uninstalling Firefox would no longer
remove the user's downloads, all content:// URIs generated by Firefox re-
ferring to those files would become invalid anyway.
- Even if the actual file is already sitting in a public directory, when
accessing it through the content:// URI the receiving app still needs to
explicitly persist the permissions granted for that URI, and there are some
signs that you can only persist permissions for a limited number of files. For
file:// URIs on the other hand the only limitation on the number of file://
URIS you can remember is the available storage space for storing those URIs,
i.e. for practical purposes more or less unlimited.
- content:// URIs only grant access to a specific file. If we (or possibly an
add-on) started implementing saving of websites as on desktop (i.e. HTML +
associated support files instead of a PDF "copy"), then receiving apps
couldn't properly open those additional support files (images, style sheets,
etc.) when getting a content:// URI to the main HTML file
(see https://issuetracker.google.com/issues/77406791)
Since we do store downloads in the public Downloads folder on the external
storage by default and I believe that conceptually, those files belong to the
user and not Firefox specifically, I propose to continue launching downloaded
files directly through their file:// URI.
To that end, we temporarily disable the corresponding StrictMode restrictions
when required and restore them afterwards.
MozReview-Commit-ID: LuIYIA5FSGf
--HG--
extra : rebase_source : a690b3097fdb03591f25f05a944c9ca3c05ddd04
---
.../org/mozilla/gecko/notifications/NotificationHelper.java | 7 +++++++
.../src/main/java/org/mozilla/gecko/GeckoAppShell.java | 10 +++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/notifications/NotificationHelper.java b/mobile/android/base/java/org/mozilla/gecko/notifications/NotificationHelper.java
index 35366609da49..713e9f9d4b3c 100644
--- a/mobile/android/base/java/org/mozilla/gecko/notifications/NotificationHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/notifications/NotificationHelper.java
@@ -32,6 +32,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.net.Uri;
+import android.os.StrictMode;
import android.support.v4.util.SimpleArrayMap;
import android.util.Log;
@@ -295,8 +296,14 @@ public final class NotificationHelper implements BundleEventListener {
// scheme to prevent Fennec from popping up.
final Intent viewFileIntent = createIntentIfDownloadCompleted(message);
if (builder != null && viewFileIntent != null && mContext != null) {
+ // Bug 1450449 - Downloaded files already are already in a public directory and aren't
+ // really owned exclusively by Firefox, so there's no real benefit to using
+ // content:// URIs here.
+ StrictMode.VmPolicy prevPolicy = StrictMode.getVmPolicy();
+ StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX);
final PendingIntent pIntent = PendingIntent.getActivity(
mContext, 0, viewFileIntent, PendingIntent.FLAG_UPDATE_CURRENT);
+ StrictMode.setVmPolicy(prevPolicy);
builder.setAutoCancel(true);
builder.setContentIntent(pIntent);
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
index 34ba3315f295..3d21d7bb2f56 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
@@ -86,6 +86,7 @@ import android.os.Environment;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
import android.os.PowerManager;
+import android.os.StrictMode;
import android.os.SystemClock;
import android.os.Vibrator;
import android.provider.Settings;
@@ -956,7 +957,14 @@ public class GeckoAppShell
if (geckoInterface == null) {
return false;
}
- return geckoInterface.openUriExternal(targetURI, mimeType, packageName, className, action, title);
+ // Bug 1450449 - Downloaded files already are already in a public directory and aren't
+ // really owned exclusively by Firefox, so there's no real benefit to using
+ // content:// URIs here.
+ StrictMode.VmPolicy prevPolicy = StrictMode.getVmPolicy();
+ StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX);
+ boolean success = geckoInterface.openUriExternal(targetURI, mimeType, packageName, className, action, title);
+ StrictMode.setVmPolicy(prevPolicy);
+ return success;
}
@WrapForJNI(dispatchTo = "gecko")
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1450449 - Part 2: Use content:// URI for capturing images from FilePicker. r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit f74197a8e82b67b0351e91e134138f91ae0173d4
Author: Jan Henning <jh+bugzilla(a)buttercookie.de>
Date: Sat May 12 23:02:19 2018 +0200
Bug 1450449 - Part 2: Use content:// URI for capturing images from FilePicker. r=jchen
Since it is only us and the camera app who have to deal with the content:// URI,
it should be safe enough to use content:// URIs on all supported versions.
MozReview-Commit-ID: JMIhBRlCiA4
--HG--
extra : rebase_source : 7a19ea138459f4a153a931db1500a0b2cb0649da
---
.../base/java/org/mozilla/gecko/FilePicker.java | 4 ++--
.../base/java/org/mozilla/gecko/IntentHelper.java | 19 ++++++++++++++++---
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/FilePicker.java b/mobile/android/base/java/org/mozilla/gecko/FilePicker.java
index 91fcaa16d130..c9ea347e6c88 100644
--- a/mobile/android/base/java/org/mozilla/gecko/FilePicker.java
+++ b/mobile/android/base/java/org/mozilla/gecko/FilePicker.java
@@ -176,7 +176,7 @@ public class FilePicker implements BundleEventListener {
if (mimeType.equals("image/*") &&
hasPermissionsForMimeType(mimeType, availPermissions)) {
// We also add a capture intent
- Intent intent = IntentHelper.getImageCaptureIntent(
+ Intent intent = IntentHelper.getImageCaptureIntent(context,
new File(Environment.getExternalStorageDirectory(),
fileHandler.generateImageName()));
addActivities(intent, intents, baseIntents);
@@ -201,7 +201,7 @@ public class FilePicker implements BundleEventListener {
addActivities(intent, intents, baseIntents);
}
if (hasPermissionsForMimeType("image/*", availPermissions)) {
- intent = IntentHelper.getImageCaptureIntent(
+ intent = IntentHelper.getImageCaptureIntent(context,
new File(Environment.getExternalStorageDirectory(),
fileHandler.generateImageName()));
addActivities(intent, intents, baseIntents);
diff --git a/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java b/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
index 9f6422263bbe..f2810a92af51 100644
--- a/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
+++ b/mobile/android/base/java/org/mozilla/gecko/IntentHelper.java
@@ -19,6 +19,7 @@ import org.mozilla.gecko.widget.ExternalIntentDuringPrivateBrowsingPromptFragmen
import android.annotation.TargetApi;
import android.app.Activity;
+import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -29,6 +30,7 @@ import android.provider.Browser;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
+import android.support.v4.content.FileProvider;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.MimeTypeMap;
@@ -243,10 +245,21 @@ public final class IntentHelper implements BundleEventListener {
return new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
}
- public static Intent getImageCaptureIntent(final File destinationFile) {
+ public static Intent getImageCaptureIntent(final Context context, final File destinationFile) {
final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- intent.putExtra(MediaStore.EXTRA_OUTPUT,
- Uri.fromFile(destinationFile));
+ Uri destination = FileProvider.getUriForFile(context,
+ AppConstants.MOZ_FILE_PROVIDER_AUTHORITY, destinationFile);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, destination);
+
+ if (AppConstants.Versions.preLollipop) {
+ // As per https://github.com/commonsguy/cw-omnibus/blob/master/Camera/FileProvider/
+ // app/src/main/java/com/commonsware/android/camcon/MainActivity.java - at least we
+ // don't have to support anything below Jelly Bean.
+ ClipData clip =
+ ClipData.newUri(context.getContentResolver(), null, destination);
+ intent.setClipData(clip);
+ }
+ intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
return intent;
}
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1484472 - Avoid FileUriExposedException in ExternalIntentDuringPrivateBrowsingPromptFragment. r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit 17314deba4ef021723dbb67d3e31af33790a5147
Author: Jan Henning <jh+bugzilla(a)buttercookie.de>
Date: Wed Aug 22 16:50:04 2018 +0000
Bug 1484472 - Avoid FileUriExposedException in ExternalIntentDuringPrivateBrowsingPromptFragment. r=jchen
The fragment is also used to handle intents launched through GeckoAppShell.
openUriExternal(), such as e.g. when launching downloaded files from
about:downloads.
The synchronous code path when not in private browsing is already covered by the
code added in bug 1450449, but the async path through the fragment when in
private browsing needs to be handled separately.
Differential Revision: https://phabricator.services.mozilla.com/D3916
--HG--
extra : moz-landing-system : lando
---
.../ExternalIntentDuringPrivateBrowsingPromptFragment.java | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/widget/ExternalIntentDuringPrivateBrowsingPromptFragment.java b/mobile/android/base/java/org/mozilla/gecko/widget/ExternalIntentDuringPrivateBrowsingPromptFragment.java
index b4d1e13d9698..6dd8ae92c854 100644
--- a/mobile/android/base/java/org/mozilla/gecko/widget/ExternalIntentDuringPrivateBrowsingPromptFragment.java
+++ b/mobile/android/base/java/org/mozilla/gecko/widget/ExternalIntentDuringPrivateBrowsingPromptFragment.java
@@ -17,6 +17,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
+import android.os.StrictMode;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AlertDialog;
@@ -25,9 +26,9 @@ import android.util.Log;
import java.util.List;
/**
- * A DialogFragment to contain a dialog that appears when the user clicks an Intent:// URI during private browsing. The
- * dialog appears to notify the user that a clicked link will open in an external application, potentially leaking their
- * browsing history.
+ * A DialogFragment to contain a dialog that appears when the user clicks an Intent:// URI or
+ * launches a file during private browsing. The dialog appears to notify the user that a clicked
+ * link will open in an external application, potentially leaking their browsing history.
*/
public class ExternalIntentDuringPrivateBrowsingPromptFragment extends DialogFragment {
private static final String LOGTAG = ExternalIntentDuringPrivateBrowsingPromptFragment.class.getSimpleName();
@@ -50,7 +51,13 @@ public class ExternalIntentDuringPrivateBrowsingPromptFragment extends DialogFra
.setTitle(intent.getDataString())
.setPositiveButton(R.string.button_yes, new DialogInterface.OnClickListener() {
public void onClick(final DialogInterface dialog, final int id) {
+ // Bug 1450449 - Downloaded files are already in a public directory and
+ // aren't really exclusively owned by Firefox, so there's no real benefit
+ // to using content:// URIs here.
+ StrictMode.VmPolicy prevPolicy = StrictMode.getVmPolicy();
+ StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX);
context.startActivity(intent);
+ StrictMode.setVmPolicy(prevPolicy);
}
})
.setNegativeButton(R.string.button_no, null /* we do nothing if the user rejects */ );
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1450449 - Part 4: Starting from Nougat, install updates via content:// URIs. r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit 3b926685447ea2056e73d9b3396ea8d5cbdd349f
Author: Jan Henning <jh+bugzilla(a)buttercookie.de>
Date: Sat May 12 23:34:25 2018 +0200
Bug 1450449 - Part 4: Starting from Nougat, install updates via content:// URIs. r=jchen
We download the update APK into the public downloads directory and normally the
only relevant app consuming that URI should be the system package installer, but
just to be safe we only switch usage from Nougat onward, too.
MozReview-Commit-ID: GtoXMJ7NdJ3
--HG--
extra : rebase_source : 1e85f8352b7a59cb3cd2fd3034a0103c8705ff09
---
.../base/java/org/mozilla/gecko/updater/UpdateService.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java b/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
index 71e1097711d9..d5093efca6d6 100644
--- a/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
@@ -36,6 +36,7 @@ import android.os.Environment;
import android.provider.Settings;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v4.content.ContextCompat;
+import android.support.v4.content.FileProvider;
import android.support.v4.net.ConnectivityManagerCompat;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.Builder;
@@ -707,8 +708,15 @@ public class UpdateService extends IntentService {
}
Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.fromFile(updateFile), "application/vnd.android.package-archive");
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ if (AppConstants.Versions.preN) {
+ intent.setDataAndType(Uri.fromFile(updateFile), "application/vnd.android.package-archive");
+ } else {
+ Uri apkUri = FileProvider.getUriForFile(this,
+ AppConstants.MOZ_FILE_PROVIDER_AUTHORITY, updateFile);
+ intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
+ intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ }
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1480079 - Add REQUEST_INSTALL_PACKAGES permission for all builds; r=jchen
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit 4fe43cba0780a310cea820589ae0dc52837ebef9
Author: Petru Lingurar <petru.lingurar(a)softvision.ro>
Date: Tue Aug 7 16:48:29 2018 +0300
Bug 1480079 - Add REQUEST_INSTALL_PACKAGES permission for all builds; r=jchen
This permission is needed on API26+ to be able to install app updates but also
other downloaded APKs.
MozReview-Commit-ID: Lk0uqBAJ5BH
--HG--
extra : rebase_source : 5f31cfd06c2205cd2a96ac68ba19b697d49ae75c
---
mobile/android/base/FennecManifest_permissions.xml.in | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mobile/android/base/FennecManifest_permissions.xml.in b/mobile/android/base/FennecManifest_permissions.xml.in
index 08c611d0a290..71f07b259135 100644
--- a/mobile/android/base/FennecManifest_permissions.xml.in
+++ b/mobile/android/base/FennecManifest_permissions.xml.in
@@ -45,6 +45,9 @@
#endif
<uses-feature android:name="android.hardware.touchscreen"/>
+ <!-- To be able to install updates and other downloaded APKs on API 26+ -->
+ <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
+
#ifdef MOZ_ANDROID_BEAM
<!-- Android Beam support -->
<uses-permission android:name="android.permission.NFC"/>
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_27531_v2'
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit 74bbaa04f761acd3de775dde0c611e4cb8721b26
Merge: 64ef8a5 f79412d
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 24 08:48:50 2019 +0000
Merge remote-tracking branch 'boklm/bug_27531_v2'
projects/fteproxy/build | 2 ++
projects/fteproxy/config | 2 ++
projects/fteproxy/fteproxy.wrapper | 10 ++++++++++
projects/libfte/build | 4 ++--
.../Bundle-Data/PTConfigs/linux/torrc-defaults-appendix | 2 +-
5 files changed, 17 insertions(+), 3 deletions(-)
1
0

[tor-browser-build/master] Bug 27531: Add separate LD_LIBRARY_PATH for fteproxy
by gk@torproject.org 24 Jan '19
by gk@torproject.org 24 Jan '19
24 Jan '19
commit f79412dffd134cb89d463229a5875e53e4274991
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Mon Jan 14 19:11:20 2019 +0100
Bug 27531: Add separate LD_LIBRARY_PATH for fteproxy
---
projects/fteproxy/build | 2 ++
projects/fteproxy/config | 2 ++
projects/fteproxy/fteproxy.wrapper | 10 ++++++++++
projects/libfte/build | 4 ++--
.../Bundle-Data/PTConfigs/linux/torrc-defaults-appendix | 2 +-
5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/projects/fteproxy/build b/projects/fteproxy/build
index 310c9a5..6b6a82f 100644
--- a/projects/fteproxy/build
+++ b/projects/fteproxy/build
@@ -22,6 +22,8 @@ cd /var/tmp/build/[% project %]-[% c('version') %]
cp -a fteproxy/defs/*.json $PTDIR/fteproxy/defs
rm -Rf $pydir
[% ELSE -%]
+ cp -a $rootdir/fteproxy.wrapper $PTDIR/fteproxy.wrapper
+ chmod +x $PTDIR/fteproxy.wrapper
cp -a bin/fteproxy $PTDIR/fteproxy.bin
cp -ra fteproxy $PTDIR/
[% END -%]
diff --git a/projects/fteproxy/config b/projects/fteproxy/config
index d58095e..06ea149 100644
--- a/projects/fteproxy/config
+++ b/projects/fteproxy/config
@@ -28,3 +28,5 @@ input_files:
- name: '[% c("var/compiler") %]'
project: '[% c("var/compiler") %]'
enable: '[% c("var/windows") %]'
+ - filename: fteproxy.wrapper
+ enable: '[% c("var/linux") %]'
diff --git a/projects/fteproxy/fteproxy.wrapper b/projects/fteproxy/fteproxy.wrapper
new file mode 100644
index 0000000..ca10086
--- /dev/null
+++ b/projects/fteproxy/fteproxy.wrapper
@@ -0,0 +1,10 @@
+#!/bin/sh
+basedir=$(dirname "$0")
+libdir=$(cd "$basedir"/fteproxy-lib ; pwd)
+if test -z "$LD_LIBRARY_PATH"
+then
+ export LD_LIBRARY_PATH="$libdir"
+else
+ export LD_LIBRARY_PATH="$libdir:$LD_LIBRARY_PATH"
+fi
+exec "$basedir/fteproxy.bin" "$@"
diff --git a/projects/libfte/build b/projects/libfte/build
index 4f3455f..5d62453 100644
--- a/projects/libfte/build
+++ b/projects/libfte/build
@@ -28,8 +28,8 @@ tar -C $distdir -xf $rootdir/[% c('input_files_by_name/obfsproxy') %]
export PYTHON=python2
make
cp -ra fte $PTDIR/
- mkdir -p $distdir/TorBrowser/Tor
- cp /var/tmp/dist/gmp/lib/libgmp.so.10 $distdir/TorBrowser/Tor/
+ mkdir -p $PTDIR/fteproxy-lib
+ cp /var/tmp/dist/gmp/lib/libgmp.so.10 $PTDIR/fteproxy-lib
[% END -%]
cp -a {LICENSE,README.md} $DOCSDIR/
cp -a thirdparty/re2/LICENSE $DOCSDIR/LICENSE.re2
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix b/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
index 12b8aad..d9988fb 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
@@ -1,5 +1,5 @@
## fteproxy configuration
-ClientTransportPlugin fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin --managed
+ClientTransportPlugin fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.wrapper --managed
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfs4proxy
1
0
commit 771bcf9f7dcec6ca17cc1f117891d538b8189ffe
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 23 14:49:04 2019 +0000
Using build2 for 8.0.5
---
rbm.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rbm.conf b/rbm.conf
index 4f06501..5e1ec0e 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -16,7 +16,7 @@ buildconf:
var:
torbrowser_version: '8.0.5'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
torbrowser_incremental_from:
- 8.0.4
project_name: tor-browser
1
0

[tor-browser-build/maint-8.0] Bug 29097: Don't try to install python3.6-lxml
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 7355a3cc844aee4c5ec24b07e886d2a9c5481ee7
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 23 14:53:43 2019 +0100
Bug 29097: Don't try to install python3.6-lxml
Remove the python3.6-lxml package for the list of dependencies to build
https-everywhere. This package does not exist anymore in Debian Buster,
and it seems it is not required to build https-everywhere.
---
projects/https-everywhere/config | 1 -
1 file changed, 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index eeef02c..59eb463 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -22,7 +22,6 @@ var:
deps:
- git
- python3.6
- - python3.6-lxml
- libxslt1.1
- libxml2-utils
- sqlite3
1
0

[tor-browser-build/master] Bug 29097: Don't try to install python3.6-lxml
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 64ef8a5de677aac8b3b608ca8997363130690a6e
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Jan 23 14:53:43 2019 +0100
Bug 29097: Don't try to install python3.6-lxml
Remove the python3.6-lxml package for the list of dependencies to build
https-everywhere. This package does not exist anymore in Debian Buster,
and it seems it is not required to build https-everywhere.
---
projects/https-everywhere/config | 1 -
1 file changed, 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index bcd47f2..3b45143 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -22,7 +22,6 @@ var:
deps:
- git
- python3.6
- - python3.6-lxml
- libxslt1.1
- libxml2-utils
- sqlite3
1
0
commit 55556eb3dd1869980fe733d56647e0307dd66fa1
Merge: 031ecd7 cdf65c9
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 23 13:18:40 2019 +0000
Merge branch 'bug_28168_v3'
Which should have been "bug_28618_v3", but the changes are okay at
least...
projects/firefox/1464084.patch | 73 -------------------------------
projects/firefox/1467041.patch | 23 ----------
projects/firefox/build | 2 -
projects/firefox/config | 4 --
projects/firefox/mozconfig-windows-i686 | 1 +
projects/firefox/mozconfig-windows-x86_64 | 1 +
6 files changed, 2 insertions(+), 102 deletions(-)
1
0

[tor-browser-build/master] Revert "Bug 27865: Tor Browser 8.5a2 is crashing on Windows"
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit b019cacb8fba8aef0362dcef4860e51a46394a13
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 17 07:30:02 2019 +0000
Revert "Bug 27865: Tor Browser 8.5a2 is crashing on Windows"
This reverts commit 49eb43da16695c8fce31129f3499a8258761025a.
No longer needed after we bumped the binutils version to 2.32.1 in
bug 26148.
---
projects/firefox/mozconfig-windows-i686 | 1 +
projects/firefox/mozconfig-windows-x86_64 | 1 +
2 files changed, 2 insertions(+)
diff --git a/projects/firefox/mozconfig-windows-i686 b/projects/firefox/mozconfig-windows-i686
index a5e15f1..07e8851 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -10,6 +10,7 @@ ac_add_options --enable-default-toolkit=cairo-windows
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-mingw
mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
mk_add_options MOZILLA_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
ac_add_options --disable-debug
diff --git a/projects/firefox/mozconfig-windows-x86_64 b/projects/firefox/mozconfig-windows-x86_64
index e7f857d..1665005 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -10,6 +10,7 @@ ac_add_options --enable-default-toolkit=cairo-windows
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-mingw
mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
mk_add_options MOZILLA_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
ac_add_options --disable-debug
1
0

[tor-browser-build/master] Bug 28618: Set MOZILLA_OFFICIAL for Windows build
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit cdf65c9b5b0f8533c78b4450e20ba4743a3a0f31
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 17 07:34:19 2019 +0000
Bug 28618: Set MOZILLA_OFFICIAL for Windows build
---
projects/firefox/1464084.patch | 73 ------------------------------------------
projects/firefox/1467041.patch | 23 -------------
projects/firefox/build | 2 --
projects/firefox/config | 4 ---
4 files changed, 102 deletions(-)
diff --git a/projects/firefox/1464084.patch b/projects/firefox/1464084.patch
deleted file mode 100644
index 524cb7f..0000000
--- a/projects/firefox/1464084.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 1a1cc016c8f6ff83ea057ee6fe6838b89c382210 Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk(a)torproject.org>
-Date: Sun, 24 Jun 2018 19:36:35 +0000
-Subject: [PATCH 1/2] Revert "Bug 1464084 - Don't export
- std::thread::_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj,
- a=RyanVM"
-
-This reverts commit 655e5f1d95e0d5ecd037f36dbe533372130e5621.
-
-diff --git a/build/unix/stdc++compat/hide_std.ld b/build/unix/stdc++compat/hide_std.ld
-deleted file mode 100644
-index 4b3400b0f327..000000000000
---- a/build/unix/stdc++compat/hide_std.ld
-+++ /dev/null
-@@ -1,5 +0,0 @@
--hidden {
-- local:
-- # std::thread::_M_start_thread(...)
-- _ZNSt6thread15_M_start_thread*;
--};
-diff --git a/build/unix/stdc++compat/moz.build b/build/unix/stdc++compat/moz.build
-index 4444d0c4f297..20517a1caef5 100644
---- a/build/unix/stdc++compat/moz.build
-+++ b/build/unix/stdc++compat/moz.build
-@@ -23,5 +23,3 @@ COMPILE_FLAGS['CLANG_PLUGIN'] = []
-
- DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_TARGET_VERSION']
- HOST_DEFINES['MOZ_LIBSTDCXX_VERSION'] = CONFIG['MOZ_LIBSTDCXX_HOST_VERSION']
--
--OS_LIBS += ['-Wl,--version-script,%s/hide_std.ld' % SRCDIR]
-diff --git a/python/mozbuild/mozbuild/action/generate_symbols_file.py b/python/mozbuild/mozbuild/action/generate_symbols_file.py
-index bf1ae917a2d0..f118060f47cf 100644
---- a/python/mozbuild/mozbuild/action/generate_symbols_file.py
-+++ b/python/mozbuild/mozbuild/action/generate_symbols_file.py
-@@ -42,8 +42,6 @@ def generate_symbols_file(output, *args):
-
- symbols = [s.strip() for s in pp.out.getvalue().splitlines() if s.strip()]
-
-- libname, ext = os.path.splitext(os.path.basename(output.name))
--
- if buildconfig.substs['OS_TARGET'] == 'WINNT':
- # A def file is generated for MSVC link.exe that looks like the
- # following:
-@@ -68,13 +66,14 @@ def generate_symbols_file(output, *args):
- # those platforms, and to DATA on Windows, so that the "DATA" part
- # is, in fact, part of the symbol name as far as the symbols variable
- # is concerned.
-+ libname, ext = os.path.splitext(os.path.basename(output.name))
- assert ext == '.def'
- output.write('LIBRARY %s\nEXPORTS\n %s\n'
- % (libname, '\n '.join(symbols)))
- elif buildconfig.substs['GCC_USE_GNU_LD']:
- # A linker version script is generated for GNU LD that looks like the
- # following:
-- # liblibrary.so {
-+ # {
- # global:
- # symbol1;
- # symbol2;
-@@ -82,8 +81,8 @@ def generate_symbols_file(output, *args):
- # local:
- # *;
- # };
-- output.write('%s {\nglobal:\n %s;\nlocal:\n *;\n};'
-- % (libname, ';\n '.join(symbols)))
-+ output.write('{\nglobal:\n %s;\nlocal:\n *;\n};'
-+ % ';\n '.join(symbols))
- elif buildconfig.substs['OS_TARGET'] == 'Darwin':
- # A list of symbols is generated for Apple ld that simply lists all
- # symbols, with an underscore prefix.
---
-2.17.1
-
diff --git a/projects/firefox/1467041.patch b/projects/firefox/1467041.patch
deleted file mode 100644
index a31e2e0..0000000
--- a/projects/firefox/1467041.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 8d940fed5975400910c29037a6c575260d3caa22 Mon Sep 17 00:00:00 2001
-From: Georg Koppen <gk(a)torproject.org>
-Date: Sun, 24 Jun 2018 19:37:55 +0000
-Subject: [PATCH 2/2] Revert "Bug 1467041 - Default to --enable-release when
- milestone is beta/release. r=froydnj, a=RyanVM"
-
-This reverts commit b1f09cd8f4a1abf13f85a2353ac1b9711200b0e5.
-
-diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
-index 67007c8dcf7c..a1e443019748 100755
---- a/build/moz.configure/toolchain.configure
-+++ b/build/moz.configure/toolchain.configure
-@@ -1387,7 +1387,6 @@ imply_option('--enable-release', mozilla_official)
- imply_option('--enable-release', depends_if('MOZ_AUTOMATION')(lambda x: True))
-
- js_option('--enable-release',
-- default=milestone.is_release_or_beta,
- help='Build with more conservative, release engineering-oriented '
- 'options. This may slow down builds.')
-
---
-2.17.1
-
diff --git a/projects/firefox/build b/projects/firefox/build
index b9d9d5a..f6f3365 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -151,8 +151,6 @@ fi
[% IF c("var/windows") %]
patch -p1 < $rootdir/nsis-uninstall.patch
- patch -p1 < $rootdir/1464084.patch
- patch -p1 < $rootdir/1467041.patch
[% END -%]
rm -f configure
diff --git a/projects/firefox/config b/projects/firefox/config
index 639d504..0e91d38 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -114,10 +114,6 @@ input_files:
enable: '[% c("var/windows") %]'
- filename: nsis-uninstall.patch
enable: '[% c("var/windows") %]'
- - filename: 1464084.patch
- enable: '[% c("var/windows") %]'
- - filename: 1467041.patch
- enable: '[% c("var/windows") %]'
- project: rust
name: rust
- project: llvm
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Revert "Bug 27865: Fix start-up crashes on Windows"
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 9daf30f059baff3af2f5b26ab6f60853f19516b2
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 17 07:27:24 2019 +0000
Revert "Bug 27865: Fix start-up crashes on Windows"
This reverts commit 59261e53591c159c10bcef78dc39478fbb270f77.
After bug 26148 landed we get the crash fixes in binutils, which are
available starting with 2.27.
---
build/moz.configure/toolchain.configure | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
index 008193c6c945..67007c8dcf7c 100755
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -1382,10 +1382,8 @@ option(env='RUSTFLAGS',
help='Rust compiler flags')
set_config('RUSTFLAGS', depends('RUSTFLAGS')(lambda flags: flags))
-if target.os != 'WINNT':
- imply_option('--enable-release', mozilla_official)
-else:
- imply_option('--enable-release', False)
+
+imply_option('--enable-release', mozilla_official)
imply_option('--enable-release', depends_if('MOZ_AUTOMATION')(lambda x: True))
js_option('--enable-release',
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] squash! Bug 4234: Use the Firefox Update Process for Tor Browser.
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 6a9c962b2316c6ede976faaa36294a97b121e382
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Nov 28 09:56:25 2018 -0500
squash! Bug 4234: Use the Firefox Update Process for Tor Browser.
Also fix #27828: "Check for Tor Browser update" doesn't seem to do anything.
---
toolkit/mozapps/update/nsUpdateService.js | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/toolkit/mozapps/update/nsUpdateService.js b/toolkit/mozapps/update/nsUpdateService.js
index 609f1e19f524..b2a4e82cf241 100644
--- a/toolkit/mozapps/update/nsUpdateService.js
+++ b/toolkit/mozapps/update/nsUpdateService.js
@@ -4011,7 +4011,15 @@ UpdatePrompt.prototype = {
"an update was downloaded. topic: update-downloaded, status: " + update.state);
Services.obs.notifyObservers(update, "update-downloaded", update.state);
- if (Services.prefs.getBoolPref(PREF_APP_UPDATE_DOORHANGER, false)) {
+ if (background && Services.prefs.getBoolPref(PREF_APP_UPDATE_DOORHANGER, false)) {
+ // To fix https://trac.torproject.org/projects/tor/ticket/27828
+ // ("Check for Tor Browser update" doesn't seem to do anything), in
+ // Tor Browser we only return here when the background parameter is
+ // true. This causes the update wizard XUL window to (correctly) be
+ // opened in response to "Check for Tor Browser Update."
+ // This change does not alter the behavior of any existing
+ // update-related UI because all callers of showUpdateDownloaded()
+ // other than Torbutton pass true for the background parameter.
return;
}
1
0

[tor-browser-build/master] Bug 28546: Rebrand Tor Browser's Window's Installer
by boklm@torproject.org 23 Jan '19
by boklm@torproject.org 23 Jan '19
23 Jan '19
commit 031ecd732636c627ea3b6343869d96ccbf3d2df0
Author: Richard Pospesel <richard(a)torproject.org>
Date: Wed Nov 28 16:13:50 2018 -0800
Bug 28546: Rebrand Tor Browser's Window's Installer
This patch passes in the build channel to makensis as a !define so that
the tbb-windows-installer torbrowser.nsi installer script can use
appropriate branding and set branding-specific names and install paths.
---
projects/tbb-windows-installer/config | 2 +-
projects/tor-browser/build | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/projects/tbb-windows-installer/config b/projects/tbb-windows-installer/config
index a990229..0ec7b0a 100644
--- a/projects/tbb-windows-installer/config
+++ b/projects/tbb-windows-installer/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 0.5
+version: 0.6
git_url: https://github.com/moba/tbb-windows-installer.git
git_hash: 'v[% c("version") %]'
tag_gpg_id: 1
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 4661f7a..bc663c2 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -303,7 +303,7 @@ cd $distdir
[% ELSIF c("var/windows") %]
find "$PKG_DIR" -exec [% c("var/touch") %] {} \;
pushd "$PKG_DIR"
- makensis torbrowser.nsi
+ makensis -DCHANNEL=[% c("var/channel") %] torbrowser.nsi
# Working around NSIS braindamage
mv torbrowser-install.exe torbrowser-install-tmp.exe
python $rootdir/pe_checksum_fix.py
@@ -392,7 +392,7 @@ cp $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip "$OUTDIR"/
[% ELSIF c("var/windows") %]
find "[% tbdir %]" -exec [% c("var/touch") %] {} \;
pushd "[% tbdir %]"
- makensis torbrowser.nsi
+ makensis -DCHANNEL=[% c("var/channel") %] torbrowser.nsi
# Working around NSIS braindamage
mv torbrowser-install.exe torbrowser-install-tmp.exe
python $rootdir/pe_checksum_fix.py
1
0

[torbutton/master] Bug 28885: notify users that update is downloading
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 15c369f661fd360c9715b4dd7da147f7aa8f2443
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Jan 16 14:48:35 2019 -0500
Bug 28885: notify users that update is downloading
Add "Downloading update" property string.
---
src/chrome/locale/en-US/torbutton.properties | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/chrome/locale/en-US/torbutton.properties b/src/chrome/locale/en-US/torbutton.properties
index f11fb5bf..ea7a7d63 100644
--- a/src/chrome/locale/en-US/torbutton.properties
+++ b/src/chrome/locale/en-US/torbutton.properties
@@ -50,6 +50,11 @@ profileReadOnlyMac=You cannot run %S from a read-only file system. Please copy
profileAccessDenied=%S does not have permission to access the profile. Please adjust your file system permissions and try again.
profileMigrationFailed=Migration of your existing %S profile failed.\nNew settings will be used.
+# "Downloading update" string for the hamburger menu (see #28885).
+# This string is kept here for ease of translation.
+# LOCALIZATION NOTE: %S is the application name.
+updateDownloadingPanelUILabel=Downloading %S update
+
# .Onion Page Info prompt. Strings are kept here for ease of translation.
pageInfo_OnionEncryptionWithBitsAndProtocol=Connection Encrypted (Onion Service, %1$S, %2$S bit keys, %3$S)
pageInfo_OnionEncryption=Connection Encrypted (Onion Service)
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1473509 - store principal information with the URIs to avoid having to locate documents after the fact, r=mccr8
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 846b2530517793843a0006c41b15ff41b47a6f79
Author: Gijs Kruitbosch <gijskruitbosch(a)gmail.com>
Date: Fri Jul 6 17:27:17 2018 +0100
Bug 1473509 - store principal information with the URIs to avoid having to locate documents after the fact, r=mccr8
The way we currently save resource URIs that we discovered by walking the document
isn't guaranteed to be in-order with when we save the documents they came from.
To deduce the correct principal to use to load these subresources, we need to
store it with the resource in the map of URIs we work with.
MozReview-Commit-ID: GNlNuS6TuVV
--HG--
extra : rebase_source : 99982f91971423730aa8661cf66c2dd14e276780
---
dom/webbrowserpersist/nsWebBrowserPersist.cpp | 33 +++++++++++++--------------
dom/webbrowserpersist/nsWebBrowserPersist.h | 5 +++-
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.cpp b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
index 12e6c41c37d8..68cb08eac0c0 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -84,7 +84,6 @@ struct nsWebBrowserPersist::DocData
nsCOMPtr<nsIURI> mBaseURI;
nsCOMPtr<nsIWebBrowserPersistDocument> mDocument;
nsCOMPtr<nsIURI> mFile;
- nsCOMPtr<nsIPrincipal> mPrincipal;
nsCString mCharset;
};
@@ -101,6 +100,7 @@ struct nsWebBrowserPersist::URIData
nsCOMPtr<nsIURI> mFile;
nsCOMPtr<nsIURI> mDataPath;
nsCOMPtr<nsIURI> mRelativeDocumentURI;
+ nsCOMPtr<nsIPrincipal> mTriggeringPrincipal;
nsCString mRelativePathToData;
nsCString mCharset;
@@ -605,12 +605,6 @@ nsWebBrowserPersist::SerializeNextFile()
}
if (urisToPersist > 0) {
- nsCOMPtr<nsIPrincipal> docPrincipal;
- //XXXgijs I *think* this is already always true, but let's be sure.
- MOZ_ASSERT(mDocList.Length() > 0,
- "Should have the document for any walked URIs to persist!");
- nsresult rv = mDocList.ElementAt(0)->mDocument->
- GetPrincipal(getter_AddRefs(docPrincipal));
NS_ENSURE_SUCCESS_VOID(rv);
// Persist each file in the uri map. The document(s)
// will be saved after the last one of these is saved.
@@ -642,7 +636,7 @@ nsWebBrowserPersist::SerializeNextFile()
// The Referrer Policy doesn't matter here since the referrer is
// nullptr.
- rv = SaveURIInternal(uri, docPrincipal, nullptr, nullptr,
+ rv = SaveURIInternal(uri, data->mTriggeringPrincipal, nullptr, nullptr,
mozilla::net::RP_Unset, nullptr, nullptr,
fileAsURI, true, mIsPrivate);
// If SaveURIInternal fails, then it will have called EndDownload,
@@ -1749,7 +1743,7 @@ NS_IMETHODIMP
nsWebBrowserPersist::OnWalk::VisitResource(nsIWebBrowserPersistDocument* aDoc,
const nsACString& aURI)
{
- return mParent->StoreURI(nsAutoCString(aURI).get());
+ return mParent->StoreURI(nsAutoCString(aURI).get(), aDoc);
}
NS_IMETHODIMP
@@ -1760,14 +1754,14 @@ nsWebBrowserPersist::OnWalk::VisitDocument(nsIWebBrowserPersistDocument* aDoc,
nsAutoCString uriSpec;
nsresult rv = aSubDoc->GetDocumentURI(uriSpec);
NS_ENSURE_SUCCESS(rv, rv);
- rv = mParent->StoreURI(uriSpec.get(), false, &data);
+ rv = mParent->StoreURI(uriSpec.get(), aDoc, false, &data);
NS_ENSURE_SUCCESS(rv, rv);
if (!data) {
// If the URI scheme isn't persistable, then don't persist.
return NS_OK;
}
data->mIsSubFrame = true;
- return mParent->SaveSubframeContent(aSubDoc, uriSpec, data);
+ return mParent->SaveSubframeContent(aSubDoc, aDoc, uriSpec, data);
}
@@ -2513,7 +2507,8 @@ nsWebBrowserPersist::CalcTotalProgress()
nsresult
nsWebBrowserPersist::StoreURI(
- const char *aURI, bool aNeedsPersisting, URIData **aData)
+ const char *aURI, nsIWebBrowserPersistDocument *aDoc,
+ bool aNeedsPersisting, URIData **aData)
{
NS_ENSURE_ARG_POINTER(aURI);
@@ -2524,12 +2519,13 @@ nsWebBrowserPersist::StoreURI(
mCurrentBaseURI);
NS_ENSURE_SUCCESS(rv, rv);
- return StoreURI(uri, aNeedsPersisting, aData);
+ return StoreURI(uri, aDoc, aNeedsPersisting, aData);
}
nsresult
nsWebBrowserPersist::StoreURI(
- nsIURI *aURI, bool aNeedsPersisting, URIData **aData)
+ nsIURI *aURI, nsIWebBrowserPersistDocument *aDoc,
+ bool aNeedsPersisting, URIData **aData)
{
NS_ENSURE_ARG_POINTER(aURI);
if (aData)
@@ -2554,7 +2550,7 @@ nsWebBrowserPersist::StoreURI(
}
URIData *data = nullptr;
- MakeAndStoreLocalFilenameInURIMap(aURI, aNeedsPersisting, &data);
+ MakeAndStoreLocalFilenameInURIMap(aURI, aDoc, aNeedsPersisting, &data);
if (aData)
{
*aData = data;
@@ -2661,6 +2657,7 @@ nsWebBrowserPersist::DocumentEncoderExists(const char *aContentType)
nsresult
nsWebBrowserPersist::SaveSubframeContent(
nsIWebBrowserPersistDocument *aFrameContent,
+ nsIWebBrowserPersistDocument *aParentDocument,
const nsCString& aURISpec,
URIData *aData)
{
@@ -2738,7 +2735,7 @@ nsWebBrowserPersist::SaveSubframeContent(
toWalk->mDataPath = frameDataURI;
mWalkStack.AppendElement(mozilla::Move(toWalk));
} else {
- rv = StoreURI(aURISpec.get());
+ rv = StoreURI(aURISpec.get(), aParentDocument);
}
NS_ENSURE_SUCCESS(rv, rv);
@@ -2772,7 +2769,7 @@ nsWebBrowserPersist::CreateChannelFromURI(nsIURI *aURI, nsIChannel **aChannel)
// we store the current location as the key (absolutized version of domnode's attribute's value)
nsresult
nsWebBrowserPersist::MakeAndStoreLocalFilenameInURIMap(
- nsIURI *aURI, bool aNeedsPersisting, URIData **aData)
+ nsIURI *aURI, nsIWebBrowserPersistDocument *aDoc, bool aNeedsPersisting, URIData **aData)
{
NS_ENSURE_ARG_POINTER(aURI);
@@ -2815,6 +2812,8 @@ nsWebBrowserPersist::MakeAndStoreLocalFilenameInURIMap(
data->mRelativeDocumentURI = mTargetBaseURI;
data->mCharset = mCurrentCharset;
+ aDoc->GetPrincipal(getter_AddRefs(data->mTriggeringPrincipal));
+
if (aNeedsPersisting)
mCurrentThingsToPersist++;
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.h b/dom/webbrowserpersist/nsWebBrowserPersist.h
index b9a2e3da73b6..f2cc91ee336d 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.h
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.h
@@ -94,7 +94,7 @@ private:
static nsresult GetLocalFileFromURI(nsIURI *aURI, nsIFile **aLocalFile);
static nsresult AppendPathToURI(nsIURI *aURI, const nsAString & aPath, nsCOMPtr<nsIURI>& aOutURI);
nsresult MakeAndStoreLocalFilenameInURIMap(
- nsIURI *aURI, bool aNeedsPersisting, URIData **aData);
+ nsIURI *aURI, nsIWebBrowserPersistDocument *aDoc, bool aNeedsPersisting, URIData **aData);
nsresult MakeOutputStream(
nsIURI *aFile, nsIOutputStream **aOutputStream);
nsresult MakeOutputStreamFromFile(
@@ -113,16 +113,19 @@ private:
nsIURI *aURI, nsString &aFilename);
nsresult StoreURI(
const char *aURI,
+ nsIWebBrowserPersistDocument *aDoc,
bool aNeedsPersisting = true,
URIData **aData = nullptr);
nsresult StoreURI(
nsIURI *aURI,
+ nsIWebBrowserPersistDocument *aDoc,
bool aNeedsPersisting = true,
URIData **aData = nullptr);
bool DocumentEncoderExists(const char *aContentType);
nsresult SaveSubframeContent(
nsIWebBrowserPersistDocument *aFrameContent,
+ nsIWebBrowserPersistDocument *aParentDocument,
const nsCString& aURISpec,
URIData *aData);
nsresult SendErrorStatusChange(
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Revert "Bug 22343: Make 'Save Page As' obey first-party isolation"
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 9c9809f628c810e53f428ec565aa8d515908a2b7
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 21 11:28:54 2019 +0000
Revert "Bug 22343: Make 'Save Page As' obey first-party isolation"
This reverts commit 3fe87eec8bc9555ed4d1a59e1a26bc6c6df93f38.
---
browser/base/content/browser.js | 2 +-
browser/base/content/nsContextMenu.js | 39 ++++++++------------------
browser/base/content/pageinfo/pageInfo.js | 5 ++--
browser/base/content/utilityOverlay.js | 6 ++--
dom/webbrowserpersist/nsIWebBrowserPersist.idl | 9 +-----
dom/webbrowserpersist/nsWebBrowserPersist.cpp | 18 ++----------
dom/webbrowserpersist/nsWebBrowserPersist.h | 2 --
mobile/android/chrome/content/browser.js | 6 ++--
netwerk/base/LoadContextInfo.cpp | 18 ++----------
toolkit/components/browser/nsWebBrowser.cpp | 12 --------
toolkit/content/contentAreaUtils.js | 32 ++++++---------------
11 files changed, 34 insertions(+), 115 deletions(-)
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 5eed34e08086..0fc6a72daf66 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -6175,7 +6175,7 @@ function handleLinkClick(event, href, linkNode) {
if (where == "save") {
saveURL(href, linkNode ? gatherTextUnder(linkNode) : "", null, true,
- true, doc.documentURIObject, doc, undefined, doc.nodePrincipal);
+ true, doc.documentURIObject, doc);
event.preventDefault();
return true;
}
diff --git a/browser/base/content/nsContextMenu.js b/browser/base/content/nsContextMenu.js
index 37ebde22ea07..368d0475ac34 100644
--- a/browser/base/content/nsContextMenu.js
+++ b/browser/base/content/nsContextMenu.js
@@ -989,11 +989,9 @@ nsContextMenu.prototype = {
let onMessage = (message) => {
mm.removeMessageListener("ContextMenu:SaveVideoFrameAsImage:Result", onMessage);
let dataURL = message.data.dataURL;
- const principal = Services.scriptSecurityManager.createCodebasePrincipal(
- makeURI(dataURL), this.principal.originAttributes);
saveImageURL(dataURL, name, "SaveImageTitle", true, false,
document.documentURIObject, null, null, null,
- isPrivate, principal);
+ isPrivate);
};
mm.addMessageListener("ContextMenu:SaveVideoFrameAsImage:Result", onMessage);
},
@@ -1065,7 +1063,7 @@ nsContextMenu.prototype = {
// Helper function to wait for appropriate MIME-type headers and
// then prompt the user with a file picker
saveHelper(linkURL, linkText, dialogTitle, bypassCache, doc, docURI,
- windowID, linkDownload, isContentWindowPrivate, contentPrincipal) {
+ windowID, linkDownload, isContentWindowPrivate) {
// canonical def in nsURILoader.h
const NS_ERROR_SAVE_LINK_AS_TIMEOUT = 0x805d0020;
@@ -1118,7 +1116,7 @@ nsContextMenu.prototype = {
// do it the old fashioned way, which will pick the best filename
// it can without waiting.
saveURL(linkURL, linkText, dialogTitle, bypassCache, false, docURI,
- doc, isContentWindowPrivate, contentPrincipal);
+ doc, isContentWindowPrivate);
}
if (this.extListener)
this.extListener.onStopRequest(aRequest, aContext, aStatusCode);
@@ -1158,13 +1156,10 @@ nsContextMenu.prototype = {
}
};
- const principal = Services.scriptSecurityManager.createCodebasePrincipal(
- makeURI(linkURL), this.principal.originAttributes);
-
// setting up a new channel for 'right click - save link as ...'
var channel = NetUtil.newChannel({
uri: makeURI(linkURL),
- loadingPrincipal: principal,
+ loadingPrincipal: this.principal,
contentPolicyType: Ci.nsIContentPolicy.TYPE_SAVEAS_DOWNLOAD,
securityFlags: Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_INHERITS,
});
@@ -1206,17 +1201,14 @@ nsContextMenu.prototype = {
// Save URL of clicked-on link.
saveLink() {
- const principal = Services.scriptSecurityManager.createCodebasePrincipal(
- makeURI(this.linkURL), this.principal.originAttributes);
- urlSecurityCheck(this.linkURL, principal);
+ urlSecurityCheck(this.linkURL, this.principal);
let isContentWindowPrivate = this.isRemote ? this.ownerDoc.isPrivate : undefined;
this.saveHelper(this.linkURL, this.linkTextStr, null, true, this.ownerDoc,
gContextMenuContentData.documentURIObject,
this.frameOuterWindowID,
this.linkDownload,
- isContentWindowPrivate,
- principal);
+ isContentWindowPrivate);
},
// Backwards-compatibility wrapper
@@ -1231,32 +1223,23 @@ nsContextMenu.prototype = {
let isContentWindowPrivate = this.isRemote ? this.ownerDoc.isPrivate : undefined;
let referrerURI = gContextMenuContentData.documentURIObject;
let isPrivate = PrivateBrowsingUtils.isBrowserPrivate(this.browser);
- let thisPrincipal = this.principal;
if (this.onCanvas) {
// Bypass cache, since it's a data: URL.
this._canvasToBlobURL(this.target).then(function(blobURL) {
- const principal = Services.scriptSecurityManager.createCodebasePrincipal(
- makeURI(blobURL), thisPrincipal.originAttributes);
saveImageURL(blobURL, "canvas.png", "SaveImageTitle",
true, false, referrerURI, null, null, null,
- isPrivate, principal);
+ isPrivate);
}, Cu.reportError);
} else if (this.onImage) {
- const principal = Services.scriptSecurityManager.createCodebasePrincipal(
- makeURI(this.mediaURL), thisPrincipal.originAttributes);
- urlSecurityCheck(this.mediaURL, principal);
+ urlSecurityCheck(this.mediaURL, this.principal);
saveImageURL(this.mediaURL, null, "SaveImageTitle", false,
false, referrerURI, null, gContextMenuContentData.contentType,
- gContextMenuContentData.contentDisposition, isPrivate,
- principal);
+ gContextMenuContentData.contentDisposition, isPrivate);
} else if (this.onVideo || this.onAudio) {
- const principal = Services.scriptSecurityManager.createCodebasePrincipal(
- makeURI(this.mediaURL), thisPrincipal.originAttributes);
- urlSecurityCheck(this.mediaURL, principal);
+ urlSecurityCheck(this.mediaURL, this.principal);
var dialogTitle = this.onVideo ? "SaveVideoTitle" : "SaveAudioTitle";
this.saveHelper(this.mediaURL, null, dialogTitle, false, doc, referrerURI,
- this.frameOuterWindowID, "", isContentWindowPrivate,
- principal);
+ this.frameOuterWindowID, "", isContentWindowPrivate);
}
},
diff --git a/browser/base/content/pageinfo/pageInfo.js b/browser/base/content/pageinfo/pageInfo.js
index efe24f7487d9..86f548c74494 100644
--- a/browser/base/content/pageinfo/pageInfo.js
+++ b/browser/base/content/pageinfo/pageInfo.js
@@ -696,7 +696,7 @@ function saveMedia() {
titleKey = "SaveAudioTitle";
saveURL(url, null, titleKey, false, false, makeURI(item.baseURI),
- null, gDocInfo.isContentWindowPrivate, gDocInfo.principal);
+ null, gDocInfo.isContentWindowPrivate);
}
} else {
selectSaveFolder(function(aDirectory) {
@@ -704,8 +704,7 @@ function saveMedia() {
var saveAnImage = function(aURIString, aChosenData, aBaseURI) {
uniqueFile(aChosenData.file);
internalSave(aURIString, null, null, null, null, false, "SaveImageTitle",
- aChosenData, aBaseURI, null, false, null, gDocInfo.isContentWindowPrivate,
- gDocInfo.principal);
+ aChosenData, aBaseURI, null, false, null, gDocInfo.isContentWindowPrivate);
};
for (var i = 0; i < rowArray.length; i++) {
diff --git a/browser/base/content/utilityOverlay.js b/browser/base/content/utilityOverlay.js
index 4cd7d91e4e9a..b73a01a0b0f3 100644
--- a/browser/base/content/utilityOverlay.js
+++ b/browser/base/content/utilityOverlay.js
@@ -258,16 +258,14 @@ function openLinkIn(url, where, params) {
// ContentClick.jsm passes isContentWindowPrivate for saveURL instead of passing a CPOW initiatingDoc
if ("isContentWindowPrivate" in params) {
- saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI,
- null, params.isContentWindowPrivate,
- aPrincipal || aTriggeringPrincipal);
+ saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI, null, params.isContentWindowPrivate);
} else {
if (!aInitiatingDoc) {
Cu.reportError("openUILink/openLinkIn was called with " +
"where == 'save' but without initiatingDoc. See bug 814264.");
return;
}
- saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI, aInitiatingDoc, params.isContentWindowPrivate, aPrincipal || aTriggeringPrincipal);
+ saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI, aInitiatingDoc);
}
return;
}
diff --git a/dom/webbrowserpersist/nsIWebBrowserPersist.idl b/dom/webbrowserpersist/nsIWebBrowserPersist.idl
index 62ac1c1cd7bd..8de84f5e2904 100644
--- a/dom/webbrowserpersist/nsIWebBrowserPersist.idl
+++ b/dom/webbrowserpersist/nsIWebBrowserPersist.idl
@@ -13,12 +13,11 @@ interface nsIWebProgressListener;
interface nsIFile;
interface nsIChannel;
interface nsILoadContext;
-interface nsIPrincipal;
/**
* Interface for persisting DOM documents and URIs to local or remote storage.
*/
-[scriptable, uuid(ccdbc750-be09-4f11-bb01-4e0a4db76c41)]
+[scriptable, uuid(8cd752a4-60b1-42c3-a819-65c7a1138a28)]
interface nsIWebBrowserPersist : nsICancelable
{
/** No special persistence behaviour. */
@@ -113,12 +112,6 @@ interface nsIWebBrowserPersist : nsICancelable
attribute nsIWebProgressListener progressListener;
/**
- * This attribute can be used to set the loading principal
- * of the document or URI to be persisted.
- */
- attribute nsIPrincipal loadingPrincipal;
-
- /**
* Save the specified URI to file.
*
* @param aURI URI to save to file. Some implementations of this interface
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.cpp b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
index 4f49b63475f3..fd6d9d0d9315 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -277,7 +277,6 @@ const char *kWebBrowserPersistStringBundle =
nsWebBrowserPersist::nsWebBrowserPersist() :
mCurrentDataPathIsRelative(false),
mCurrentThingsToPersist(0),
- mLoadingPrincipal(nsContentUtils::GetSystemPrincipal()),
mFirstAndOnlyUse(true),
mSavingDocument(false),
mCancel(false),
@@ -414,19 +413,6 @@ NS_IMETHODIMP nsWebBrowserPersist::SetProgressListener(
return NS_OK;
}
-NS_IMETHODIMP nsWebBrowserPersist::GetLoadingPrincipal(nsIPrincipal** loadingPrincipal)
-{
- *loadingPrincipal = mLoadingPrincipal;
- return NS_OK;
-}
-
-NS_IMETHODIMP nsWebBrowserPersist::SetLoadingPrincipal(nsIPrincipal* loadingPrincipal)
-{
- mLoadingPrincipal = loadingPrincipal ? loadingPrincipal :
- nsContentUtils::GetSystemPrincipal();
- return NS_OK;
-}
-
NS_IMETHODIMP nsWebBrowserPersist::SaveURI(
nsIURI *aURI, nsISupports *aCacheKey,
nsIURI *aReferrer, uint32_t aReferrerPolicy,
@@ -1399,7 +1385,7 @@ nsresult nsWebBrowserPersist::SaveURIInternal(
nsCOMPtr<nsIChannel> inputChannel;
rv = NS_NewChannel(getter_AddRefs(inputChannel),
aURI,
- mLoadingPrincipal,
+ nsContentUtils::GetSystemPrincipal(),
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER,
nullptr, // aPerformanceStorage
@@ -2770,7 +2756,7 @@ nsWebBrowserPersist::CreateChannelFromURI(nsIURI *aURI, nsIChannel **aChannel)
rv = NS_NewChannel(aChannel,
aURI,
- mLoadingPrincipal,
+ nsContentUtils::GetSystemPrincipal(),
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER);
NS_ENSURE_SUCCESS(rv, rv);
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.h b/dom/webbrowserpersist/nsWebBrowserPersist.h
index f95300be12cb..17b570d783e7 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.h
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.h
@@ -147,8 +147,6 @@ private:
nsCOMPtr<nsIMIMEService> mMIMEService;
nsCOMPtr<nsIURI> mURI;
nsCOMPtr<nsIWebProgressListener> mProgressListener;
- nsCOMPtr<nsIPrincipal> mLoadingPrincipal;
-
/**
* Progress listener for 64-bit values; this is the same object as
* mProgressListener, but is a member to avoid having to qi it for each
diff --git a/mobile/android/chrome/content/browser.js b/mobile/android/chrome/content/browser.js
index 3e074009fad9..c3430f5b5a4c 100644
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -886,10 +886,10 @@ var BrowserApp = {
if (!permissionGranted) {
return;
}
- let doc = aTarget.ownerDocument;
+
ContentAreaUtils.saveImageURL(aTarget.currentRequestFinalURI.spec, null, "SaveImageTitle",
- false, true, doc.documentURIObject,
- null, null, null, doc.isPrivate, doc.nodePrincipal);
+ false, true, aTarget.ownerDocument.documentURIObject,
+ aTarget.ownerDocument);
});
});
diff --git a/netwerk/base/LoadContextInfo.cpp b/netwerk/base/LoadContextInfo.cpp
index 1218345b63ed..79f870e8d20d 100644
--- a/netwerk/base/LoadContextInfo.cpp
+++ b/netwerk/base/LoadContextInfo.cpp
@@ -121,6 +121,8 @@ GetLoadContextInfo(nsIChannel * aChannel)
{
nsresult rv;
+ DebugOnly<bool> pb = NS_UsePrivateBrowsing(aChannel);
+
bool anon = false;
nsLoadFlags loadFlags;
rv = aChannel->GetLoadFlags(&loadFlags);
@@ -130,21 +132,7 @@ GetLoadContextInfo(nsIChannel * aChannel)
OriginAttributes oa;
NS_GetOriginAttributes(aChannel, oa);
-
-#ifdef DEBUG
- nsCOMPtr<nsILoadInfo> loadInfo = aChannel->GetLoadInfo();
- if (loadInfo) {
- nsCOMPtr<nsIPrincipal> principal = loadInfo->LoadingPrincipal();
- if (principal) {
- bool chrome;
- principal->GetIsSystemPrincipal(&chrome);
- if (!chrome) {
- bool pb = NS_UsePrivateBrowsing(aChannel);
- MOZ_ASSERT(pb == (oa.mPrivateBrowsingId > 0));
- }
- }
- }
-#endif
+ MOZ_ASSERT(pb == (oa.mPrivateBrowsingId > 0));
return new LoadContextInfo(anon, oa);
}
diff --git a/toolkit/components/browser/nsWebBrowser.cpp b/toolkit/components/browser/nsWebBrowser.cpp
index ff1e728243b4..40ac82210502 100644
--- a/toolkit/components/browser/nsWebBrowser.cpp
+++ b/toolkit/components/browser/nsWebBrowser.cpp
@@ -997,18 +997,6 @@ nsWebBrowser::SetProgressListener(nsIWebProgressListener* aProgressListener)
}
NS_IMETHODIMP
-nsWebBrowser::GetLoadingPrincipal(nsIPrincipal** loadingPrincipal)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
-nsWebBrowser::SetLoadingPrincipal(nsIPrincipal* loadingPrincipal)
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
nsWebBrowser::SaveURI(nsIURI* aURI,
nsISupports* aCacheKey,
nsIURI* aReferrer,
diff --git a/toolkit/content/contentAreaUtils.js b/toolkit/content/contentAreaUtils.js
index e213a0e4333e..48cf448798a5 100644
--- a/toolkit/content/contentAreaUtils.js
+++ b/toolkit/content/contentAreaUtils.js
@@ -62,14 +62,14 @@ function forbidCPOW(arg, func, argname) {
// - A linked document using Alt-click Save Link As...
//
function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
- aSkipPrompt, aReferrer, aSourceDocument, aIsContentWindowPrivate,
- aContentPrincipal) {
+ aSkipPrompt, aReferrer, aSourceDocument, aIsContentWindowPrivate) {
forbidCPOW(aURL, "saveURL", "aURL");
forbidCPOW(aReferrer, "saveURL", "aReferrer");
// Allow aSourceDocument to be a CPOW.
+
internalSave(aURL, null, aFileName, null, null, aShouldBypassCache,
aFilePickerTitleKey, null, aReferrer, aSourceDocument,
- aSkipPrompt, null, aIsContentWindowPrivate, aContentPrincipal);
+ aSkipPrompt, null, aIsContentWindowPrivate);
}
// Just like saveURL, but will get some info off the image before
@@ -109,12 +109,10 @@ const nsISupportsCString = Ci.nsISupportsCString;
* @param aIsContentWindowPrivate (bool)
* Whether or not the containing window is in private browsing mode.
* Does not need to be provided is aDoc is passed.
- * @param aContentPrincipal [optional]
- * The principal to be used for fetching and saving the target URL.
*/
function saveImageURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
aSkipPrompt, aReferrer, aDoc, aContentType, aContentDisp,
- aIsContentWindowPrivate, aContentPrincipal) {
+ aIsContentWindowPrivate) {
forbidCPOW(aURL, "saveImageURL", "aURL");
forbidCPOW(aReferrer, "saveImageURL", "aReferrer");
@@ -158,8 +156,7 @@ function saveImageURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
internalSave(aURL, null, aFileName, aContentDisp, aContentType,
aShouldBypassCache, aFilePickerTitleKey, null, aReferrer,
- null, aSkipPrompt, null, aIsContentWindowPrivate,
- aContentPrincipal);
+ null, aSkipPrompt, null, aIsContentWindowPrivate);
}
// This is like saveDocument, but takes any browser/frame-like element
@@ -173,7 +170,7 @@ function saveBrowser(aBrowser, aSkipPrompt, aOuterWindowID = 0) {
let stack = Components.stack.caller;
persistable.startPersistence(aOuterWindowID, {
onDocumentReady(document) {
- saveDocument(document, aSkipPrompt, aBrowser.contentPrincipal);
+ saveDocument(document, aSkipPrompt);
},
onError(status) {
throw new Components.Exception("saveBrowser failed asynchronously in startPersistence",
@@ -189,9 +186,7 @@ function saveBrowser(aBrowser, aSkipPrompt, aOuterWindowID = 0) {
// case "save as" modes that serialize the document's DOM are
// unavailable. This is a temporary measure for the "Save Frame As"
// command (bug 1141337) and pre-e10s add-ons.
-//
-// aContentPrincipal is the principal for downloading and saving the document.
-function saveDocument(aDocument, aSkipPrompt, aContentPrincipal) {
+function saveDocument(aDocument, aSkipPrompt) {
if (!aDocument)
throw "Must have a document when calling saveDocument";
@@ -246,7 +241,7 @@ function saveDocument(aDocument, aSkipPrompt, aContentPrincipal) {
internalSave(aDocument.documentURI, aDocument, null, contentDisposition,
aDocument.contentType, false, null, null,
aDocument.referrer ? makeURI(aDocument.referrer) : null,
- aDocument, aSkipPrompt, cacheKey, undefined, aContentPrincipal);
+ aDocument, aSkipPrompt, cacheKey);
}
function DownloadListener(win, transfer) {
@@ -355,13 +350,11 @@ XPCOMUtils.defineConstant(this, "kSaveAsType_Text", kSaveAsType_Text);
* This parameter is provided when the aInitiatingDocument is not a
* real document object. Stores whether aInitiatingDocument.defaultView
* was private or not.
- * @param aContentPrincipal [optional]
- * The principal to be used for fetching and saving the target URL.
*/
function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
aContentType, aShouldBypassCache, aFilePickerTitleKey,
aChosenData, aReferrer, aInitiatingDocument, aSkipPrompt,
- aCacheKey, aIsContentWindowPrivate, aContentPrincipal) {
+ aCacheKey, aIsContentWindowPrivate) {
forbidCPOW(aURL, "internalSave", "aURL");
forbidCPOW(aReferrer, "internalSave", "aReferrer");
forbidCPOW(aCacheKey, "internalSave", "aCacheKey");
@@ -430,7 +423,6 @@ function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
let nonCPOWDocument =
aDocument && !Cu.isCrossProcessWrapper(aDocument);
-
let isPrivate = aIsContentWindowPrivate;
if (isPrivate === undefined) {
isPrivate = aInitiatingDocument instanceof Ci.nsIDOMDocument
@@ -448,7 +440,6 @@ function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
sourcePostData: nonCPOWDocument ? getPostData(aDocument) : null,
bypassCache: aShouldBypassCache,
isPrivate,
- loadingPrincipal: aContentPrincipal,
};
// Start the actual save process
@@ -485,15 +476,10 @@ function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
* If true, the document will always be refetched from the server
* @param persistArgs.isPrivate
* Indicates whether this is taking place in a private browsing context.
- * @param persistArgs.loadingPrincipal
- * The principal assigned to the document being saved.
*/
function internalPersist(persistArgs) {
var persist = makeWebBrowserPersist();
- if (["http", "https", "ftp"].includes(persistArgs.sourceURI.scheme)) {
- persist.loadingPrincipal = persistArgs.loadingPrincipal;
- }
// Calculate persist flags.
const nsIWBP = Ci.nsIWebBrowserPersist;
const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES |
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1469916, r=ckerschb, jkt
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 23c6e68b1208d20ea342d3d4693f1ea7c1050661
Author: Gijs Kruitbosch <gijskruitbosch(a)gmail.com>
Date: Fri Jun 22 15:41:39 2018 +0100
Bug 1469916, r=ckerschb,jkt
--HG--
extra : rebase_source : 180442deeef92f0e9202d76c5e4e46b630072d99
extra : source : be11a32900298eb6fd4d18ad21b9a699995254c3
---
browser/base/content/nsContextMenu.js | 22 +++--
browser/base/content/pageinfo/pageInfo.js | 3 +-
browser/base/content/utilityOverlay.js | 3 +-
browser/components/shell/nsMacShellService.cpp | 4 +-
devtools/shared/gcli/commands/screenshot.js | 3 +-
devtools/shim/devtools-startup.js | 22 ++++-
dom/base/nsContentAreaDragDrop.cpp | 8 +-
dom/base/nsContentAreaDragDrop.h | 1 +
dom/tests/browser/browser.ini | 4 +
dom/tests/browser/browser_persist_cookies.js | 94 ++++++++++++++++++++++
dom/tests/browser/mimeme.sjs | 26 ++++++
.../browser/set-samesite-cookies-and-redirect.sjs | 33 ++++++++
.../PWebBrowserPersistDocument.ipdl | 2 +
.../WebBrowserPersistDocumentChild.cpp | 5 ++
.../WebBrowserPersistLocalDocument.cpp | 8 ++
.../WebBrowserPersistRemoteDocument.cpp | 13 +++
.../WebBrowserPersistRemoteDocument.h | 3 +
dom/webbrowserpersist/nsIWebBrowserPersist.idl | 15 ++--
.../nsIWebBrowserPersistDocument.idl | 2 +
dom/webbrowserpersist/nsWebBrowserPersist.cpp | 45 ++++++-----
dom/webbrowserpersist/nsWebBrowserPersist.h | 3 +-
toolkit/components/browser/nsWebBrowser.cpp | 12 ++-
toolkit/components/downloads/test/unit/head.js | 3 +-
.../viewsource/content/viewSourceUtils.js | 6 +-
toolkit/content/contentAreaUtils.js | 28 +++++--
.../content/tests/browser/browser_saveImageURL.js | 3 +-
.../mozapps/extensions/LightweightThemeManager.jsm | 3 +-
27 files changed, 314 insertions(+), 60 deletions(-)
diff --git a/browser/base/content/nsContextMenu.js b/browser/base/content/nsContextMenu.js
index 368d0475ac34..5cebd9c38c56 100644
--- a/browser/base/content/nsContextMenu.js
+++ b/browser/base/content/nsContextMenu.js
@@ -986,12 +986,22 @@ nsContextMenu.prototype = {
target: this.target,
});
+ // Cache this because we fetch the data async
+ let {documentURIObject} = gContextMenuContentData;
+
let onMessage = (message) => {
mm.removeMessageListener("ContextMenu:SaveVideoFrameAsImage:Result", onMessage);
+ // FIXME can we switch this to a blob URL?
let dataURL = message.data.dataURL;
- saveImageURL(dataURL, name, "SaveImageTitle", true, false,
- document.documentURIObject, null, null, null,
- isPrivate);
+ saveImageURL(dataURL, name, "SaveImageTitle",
+ true, // bypass cache
+ false, // don't skip prompt for where to save
+ documentURIObject, // referrer
+ null, // document
+ null, // content type
+ null, // content disposition
+ isPrivate,
+ this.principal);
};
mm.addMessageListener("ContextMenu:SaveVideoFrameAsImage:Result", onMessage);
},
@@ -1228,13 +1238,15 @@ nsContextMenu.prototype = {
this._canvasToBlobURL(this.target).then(function(blobURL) {
saveImageURL(blobURL, "canvas.png", "SaveImageTitle",
true, false, referrerURI, null, null, null,
- isPrivate);
+ isPrivate,
+ document.nodePrincipal /* system, because blob: */);
}, Cu.reportError);
} else if (this.onImage) {
urlSecurityCheck(this.mediaURL, this.principal);
saveImageURL(this.mediaURL, null, "SaveImageTitle", false,
false, referrerURI, null, gContextMenuContentData.contentType,
- gContextMenuContentData.contentDisposition, isPrivate);
+ gContextMenuContentData.contentDisposition, isPrivate,
+ this.principal);
} else if (this.onVideo || this.onAudio) {
urlSecurityCheck(this.mediaURL, this.principal);
var dialogTitle = this.onVideo ? "SaveVideoTitle" : "SaveAudioTitle";
diff --git a/browser/base/content/pageinfo/pageInfo.js b/browser/base/content/pageinfo/pageInfo.js
index 86f548c74494..405b9443342d 100644
--- a/browser/base/content/pageinfo/pageInfo.js
+++ b/browser/base/content/pageinfo/pageInfo.js
@@ -704,7 +704,8 @@ function saveMedia() {
var saveAnImage = function(aURIString, aChosenData, aBaseURI) {
uniqueFile(aChosenData.file);
internalSave(aURIString, null, null, null, null, false, "SaveImageTitle",
- aChosenData, aBaseURI, null, false, null, gDocInfo.isContentWindowPrivate);
+ aChosenData, aBaseURI, null, false, null,
+ gDocInfo.isContentWindowPrivate, gDocInfo.principal);
};
for (var i = 0; i < rowArray.length; i++) {
diff --git a/browser/base/content/utilityOverlay.js b/browser/base/content/utilityOverlay.js
index b73a01a0b0f3..a1ab9ddd1c9b 100644
--- a/browser/base/content/utilityOverlay.js
+++ b/browser/base/content/utilityOverlay.js
@@ -258,7 +258,8 @@ function openLinkIn(url, where, params) {
// ContentClick.jsm passes isContentWindowPrivate for saveURL instead of passing a CPOW initiatingDoc
if ("isContentWindowPrivate" in params) {
- saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI, null, params.isContentWindowPrivate);
+ saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI,
+ null, params.isContentWindowPrivate, aPrincipal);
} else {
if (!aInitiatingDoc) {
Cu.reportError("openUILink/openLinkIn was called with " +
diff --git a/browser/components/shell/nsMacShellService.cpp b/browser/components/shell/nsMacShellService.cpp
index 0a2672d8f84b..9b46fb8eca87 100644
--- a/browser/components/shell/nsMacShellService.cpp
+++ b/browser/components/shell/nsMacShellService.cpp
@@ -155,8 +155,8 @@ nsMacShellService::SetDesktopBackground(nsIDOMElement* aElement,
loadContext = do_QueryInterface(docShell);
}
- return wbp->SaveURI(imageURI, nullptr,
- docURI, content->OwnerDoc()->GetReferrerPolicy(),
+ return wbp->SaveURI(imageURI, aElement->NodePrincipal(), nullptr,
+ docURI, aElement->OwnerDoc()->GetReferrerPolicy(),
nullptr, nullptr,
mBackgroundFile, loadContext);
}
diff --git a/devtools/shared/gcli/commands/screenshot.js b/devtools/shared/gcli/commands/screenshot.js
index fc1383225aa1..a64f6527c4c0 100644
--- a/devtools/shared/gcli/commands/screenshot.js
+++ b/devtools/shared/gcli/commands/screenshot.js
@@ -558,7 +558,6 @@ var saveToFile = Task.async(function* (context, reply) {
// the downloads toolbar button when the save is done.
const nsIWBP = Ci.nsIWebBrowserPersist;
const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES |
- nsIWBP.PERSIST_FLAGS_FORCE_ALLOW_COOKIES |
nsIWBP.PERSIST_FLAGS_BYPASS_CACHE |
nsIWBP.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION;
let isPrivate =
@@ -577,7 +576,9 @@ var saveToFile = Task.async(function* (context, reply) {
isPrivate);
let listener = new DownloadListener(window, tr);
persist.progressListener = listener;
+ const principal = Services.scriptSecurityManager.getSystemPrincipal();
persist.savePrivacyAwareURI(sourceURI,
+ principal,
null,
document.documentURIObject,
Ci.nsIHttpChannel.REFERRER_POLICY_UNSET,
diff --git a/devtools/shim/devtools-startup.js b/devtools/shim/devtools-startup.js
index 9089812048db..3a0211b547a6 100644
--- a/devtools/shim/devtools-startup.js
+++ b/devtools/shim/devtools-startup.js
@@ -43,6 +43,8 @@ ChromeUtils.defineModuleGetter(this, "CustomizableUI",
"resource:///modules/CustomizableUI.jsm");
ChromeUtils.defineModuleGetter(this, "CustomizableWidgets",
"resource:///modules/CustomizableWidgets.jsm");
+ChromeUtils.defineModuleGetter(this, "PrivateBrowsingUtils",
+ "resource://gre/modules/PrivateBrowsingUtils.jsm");
XPCOMUtils.defineLazyGetter(this, "StartupBundle", function () {
const url = "chrome://devtools-shim/locale/startup.properties";
@@ -901,16 +903,32 @@ const JsonView = {
// Save original contents
chrome.saveBrowser(browser);
} else {
+ if (!message.data.startsWith("blob:null") || !browser.contentPrincipal.isNullPrincipal) {
+ Cu.reportError("Got invalid request to save JSON data");
+ return;
+ }
// The following code emulates saveBrowser, but:
// - Uses the given blob URL containing the custom contents to save.
// - Obtains the file name from the URL of the document, not the blob.
+ // - avoids passing the document and explicitly passes system principal.
+ // We have a blob created by a null principal to save, and the null
+ // principal is from the child. Null principals don't survive crossing
+ // over IPC, so there's no other principal that'll work.
let persistable = browser.frameLoader;
persistable.startPersistence(0, {
onDocumentReady(doc) {
let uri = chrome.makeURI(doc.documentURI, doc.characterSet);
let filename = chrome.getDefaultFileName(undefined, uri, doc, null);
- chrome.internalSave(message.data, doc, filename, null, doc.contentType,
- false, null, null, null, doc, false, null, undefined);
+ chrome.internalSave(message.data, null, filename, null, doc.contentType,
+ false /* bypass cache */,
+ null, /* filepicker title key */
+ null, /* file chosen */
+ null, /* referrer */
+ null, /* initiating document */
+ false, /* don't skip prompt for a location */
+ null, /* cache key */
+ PrivateBrowsingUtils.isBrowserPrivate(browser), /* private browsing ? */
+ Services.scriptSecurityManager.getSystemPrincipal());
},
onError(status) {
throw new Error("JSON Viewer's onSave failed in startPersistence");
diff --git a/dom/base/nsContentAreaDragDrop.cpp b/dom/base/nsContentAreaDragDrop.cpp
index 2b315267464d..55ed2d5aa480 100644
--- a/dom/base/nsContentAreaDragDrop.cpp
+++ b/dom/base/nsContentAreaDragDrop.cpp
@@ -146,6 +146,7 @@ NS_IMPL_ISUPPORTS(nsContentAreaDragDropDataProvider, nsIFlavorDataProvider)
// into the file system
nsresult
nsContentAreaDragDropDataProvider::SaveURIToFile(nsIURI* inSourceURI,
+ nsIPrincipal* inTriggeringPrincipal,
nsIFile* inDestFile,
bool isPrivate)
{
@@ -167,7 +168,8 @@ nsContentAreaDragDropDataProvider::SaveURIToFile(nsIURI* inSourceURI,
persist->SetPersistFlags(nsIWebBrowserPersist::PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION);
// referrer policy can be anything since the referrer is nullptr
- return persist->SavePrivacyAwareURI(inSourceURI, nullptr, nullptr,
+ return persist->SavePrivacyAwareURI(inSourceURI,
+ inTriggeringPrincipal, nullptr, nullptr,
mozilla::net::RP_Unset,
nullptr, nullptr,
inDestFile, isPrivate);
@@ -347,7 +349,9 @@ nsContentAreaDragDropDataProvider::GetFlavorData(nsITransferable *aTransferable,
bool isPrivate;
aTransferable->GetIsPrivateData(&isPrivate);
- rv = SaveURIToFile(sourceURI, file, isPrivate);
+ nsCOMPtr<nsIPrincipal> principal;
+ aTransferable->GetRequestingPrincipal(getter_AddRefs(principal));
+ rv = SaveURIToFile(sourceURI, principal, file, isPrivate);
// send back an nsIFile
if (NS_SUCCEEDED(rv)) {
CallQueryInterface(file, aData);
diff --git a/dom/base/nsContentAreaDragDrop.h b/dom/base/nsContentAreaDragDrop.h
index 978e74905414..eb3416dbfbf7 100644
--- a/dom/base/nsContentAreaDragDrop.h
+++ b/dom/base/nsContentAreaDragDrop.h
@@ -77,6 +77,7 @@ public:
NS_DECL_NSIFLAVORDATAPROVIDER
nsresult SaveURIToFile(nsIURI* inSourceURI,
+ nsIPrincipal* inTriggeringPrincipal,
nsIFile* inDestFile, bool isPrivate);
};
diff --git a/dom/tests/browser/browser.ini b/dom/tests/browser/browser.ini
index e1d853f1af5b..11cf9ebf2346 100644
--- a/dom/tests/browser/browser.ini
+++ b/dom/tests/browser/browser.ini
@@ -55,6 +55,10 @@ skip-if = !e10s || (os == "win" && processor == "x86") # Large-Allocation requir
[browser_localStorage_e10s.js]
skip-if = !e10s # This is a test of e10s functionality.
[browser_localStorage_privatestorageevent.js]
+[browser_persist_cookies.js]
+support-files =
+ set-samesite-cookies-and-redirect.sjs
+ mimeme.sjs
[browser_test_focus_after_modal_state.js]
support-files =
focus_after_prompt.html
diff --git a/dom/tests/browser/browser_persist_cookies.js b/dom/tests/browser/browser_persist_cookies.js
new file mode 100644
index 000000000000..78f3966f3bbc
--- /dev/null
+++ b/dom/tests/browser/browser_persist_cookies.js
@@ -0,0 +1,94 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const TEST_PATH = getRootDirectory(gTestPath).replace("chrome://mochitests/content", "https://example.org");
+const TEST_PATH2 = getRootDirectory(gTestPath).replace("chrome://mochitests/content", "https://example.com");
+
+var MockFilePicker = SpecialPowers.MockFilePicker;
+MockFilePicker.init(window);
+
+registerCleanupFunction(async function() {
+ info("Running the cleanup code");
+ MockFilePicker.cleanup();
+ Services.obs.removeObserver(checkRequest, "http-on-modify-request");
+ if (gTestDir && gTestDir.exists()) {
+ // On Windows, sometimes nsIFile.remove() throws, probably because we're
+ // still writing to the directory we're trying to remove, despite
+ // waiting for the download to complete. Just retry a bit later...
+ let succeeded = false;
+ while (!succeeded) {
+ try {
+ gTestDir.remove(true);
+ succeeded = true;
+ } catch (ex) {
+ await new Promise(requestAnimationFrame);
+ }
+ }
+ }
+});
+
+let gTestDir = null;
+
+
+function checkRequest(subject) {
+ let httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
+ let spec = httpChannel.URI.spec;
+ // Ignore initial requests for page that sets cookies and its favicon, which may not have
+ // cookies.
+ if (httpChannel.URI.host == "example.org" && !spec.endsWith("favicon.ico") && !spec.includes("redirect.sjs")) {
+ let cookie = httpChannel.getRequestHeader("cookie");
+ is(cookie.trim(), "normalCookie=true", "Should have correct cookie in request for " + spec);
+ }
+}
+
+function createTemporarySaveDirectory() {
+ var saveDir = Services.dirsvc.get("TmpD", Ci.nsIFile);
+ saveDir.append("testsavedir");
+ if (!saveDir.exists()) {
+ info("create testsavedir!");
+ saveDir.create(Ci.nsIFile.DIRECTORY_TYPE, 0o755);
+ }
+ info("return from createTempSaveDir: " + saveDir.path);
+ return saveDir;
+}
+
+add_task(async function() {
+ await BrowserTestUtils.withNewTab("about:blank", async function(browser) {
+ Services.obs.addObserver(checkRequest, "http-on-modify-request");
+ BrowserTestUtils.loadURI(browser, TEST_PATH + "set-samesite-cookies-and-redirect.sjs");
+ // Test that the original document load doesn't send same-site cookies.
+ await BrowserTestUtils.browserLoaded(browser, true, TEST_PATH2 + "set-samesite-cookies-and-redirect.sjs");
+ // Now check the saved page.
+ // Create the folder the link will be saved into.
+ gTestDir = createTemporarySaveDirectory();
+ let destFile = gTestDir.clone();
+
+ MockFilePicker.displayDirectory = gTestDir;
+ let fileName;
+ MockFilePicker.showCallback = function(fp) {
+ info("showCallback");
+ fileName = fp.defaultString;
+ info("fileName: " + fileName);
+ destFile.append(fileName);
+ info("path: " + destFile.path);
+ MockFilePicker.setFiles([destFile]);
+ MockFilePicker.filterIndex = 0; // kSaveAsType_Complete
+ info("done showCallback");
+ };
+ saveBrowser(browser);
+ await new Promise(async (resolve) => {
+ let dls = await Downloads.getList(Downloads.PUBLIC);
+ dls.addView({
+ onDownloadChanged(download) {
+ if (download.succeeded) {
+ dls.removeView(this);
+ dls.removeFinished();
+ resolve();
+ }
+ }
+ });
+ });
+ });
+});
diff --git a/dom/tests/browser/mimeme.sjs b/dom/tests/browser/mimeme.sjs
new file mode 100644
index 000000000000..9b92548f041d
--- /dev/null
+++ b/dom/tests/browser/mimeme.sjs
@@ -0,0 +1,26 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+function handleRequest(request, response) {
+ let mimeType = request.queryString.match(/type=([a-z]*)/)[1];
+ switch (mimeType) {
+ case "css":
+ response.setHeader("Content-Type", "text/css");
+ response.write("#hi {color: red}");
+ break;
+ case "js":
+ response.setHeader("Content-Type", "application/javascript");
+ response.write("var foo;");
+ break;
+ case "png":
+ response.setHeader("Content-Type", "image/png");
+ response.write("");
+ break;
+ case "html":
+ response.setHeader("Content-Type", "text/html");
+ response.write("<body>I am a subframe</body>");
+ break;
+ }
+}
diff --git a/dom/tests/browser/set-samesite-cookies-and-redirect.sjs b/dom/tests/browser/set-samesite-cookies-and-redirect.sjs
new file mode 100644
index 000000000000..74a494db9dbc
--- /dev/null
+++ b/dom/tests/browser/set-samesite-cookies-and-redirect.sjs
@@ -0,0 +1,33 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+function handleRequest(request, response) {
+ // Set cookies and redirect for .org:
+ if (request.host.endsWith(".org")) {
+ response.setHeader("Set-Cookie", "normalCookie=true; path=/;", true);
+ response.setHeader("Set-Cookie", "laxHeader=true; path=/; SameSite=Lax", true);
+ response.setHeader("Set-Cookie", "strictHeader=true; path=/; SameSite=Strict", true);
+ response.write(`
+ <head>
+ <meta http-equiv='set-cookie' content='laxMeta=true; path=/; SameSite=Lax'>
+ <meta http-equiv='set-cookie' content='strictMeta=true; path=/; SameSite=Strict'>
+ </head>
+ <body>
+ <script>
+ document.cookie = 'laxScript=true; path=/; SameSite=Lax';
+ document.cookie = 'strictScript=true; path=/; SameSite=Strict';
+ location.href = location.href.replace(/\.org/, ".com");
+ </script>
+ </body>`);
+ } else {
+ let baseURI = "https://example.org/" + request.path.replace(/[a-z-]*\.sjs/, "mimeme.sjs?type=");
+ response.write(`
+ <link rel="stylesheet" type="text/css" href="${baseURI}css">
+ <iframe src="${baseURI}html"></iframe>
+ <script src="${baseURI}js"></script>
+ <img src="${baseURI}png">
+ `);
+ }
+}
diff --git a/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl b/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl
index ad6332763e68..7c2fc64c53d2 100644
--- a/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl
+++ b/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl
@@ -10,6 +10,7 @@ include protocol PFileDescriptorSet;
include protocol PChildToParentStream; //FIXME: bug #792908
include protocol PParentToChildStream; //FIXME: bug #792908
+include PBackgroundSharedTypes;
include IPCStream;
namespace mozilla {
@@ -29,6 +30,7 @@ struct WebBrowserPersistDocumentAttrs {
nsString contentDisposition;
uint32_t cacheKey;
uint32_t persistFlags;
+ PrincipalInfo principal;
};
// IPDL doesn't have tuples, so this gives the pair of strings from
diff --git a/dom/webbrowserpersist/WebBrowserPersistDocumentChild.cpp b/dom/webbrowserpersist/WebBrowserPersistDocumentChild.cpp
index 4a8e31b6f4eb..7b893d145f7a 100644
--- a/dom/webbrowserpersist/WebBrowserPersistDocumentChild.cpp
+++ b/dom/webbrowserpersist/WebBrowserPersistDocumentChild.cpp
@@ -41,6 +41,7 @@ WebBrowserPersistDocumentChild::Start(nsIWebBrowserPersistDocument* aDocument)
return;
}
+ nsCOMPtr<nsIPrincipal> principal;
WebBrowserPersistDocumentAttrs attrs;
nsCOMPtr<nsIInputStream> postDataStream;
#define ENSURE(e) do { \
@@ -60,6 +61,10 @@ WebBrowserPersistDocumentChild::Start(nsIWebBrowserPersistDocument* aDocument)
ENSURE(aDocument->GetContentDisposition(attrs.contentDisposition()));
ENSURE(aDocument->GetCacheKey(&(attrs.cacheKey())));
ENSURE(aDocument->GetPersistFlags(&(attrs.persistFlags())));
+
+ ENSURE(aDocument->GetPrincipal(getter_AddRefs(principal)));
+ ENSURE(ipc::PrincipalToPrincipalInfo(principal, &(attrs.principal())));
+
ENSURE(aDocument->GetPostData(getter_AddRefs(postDataStream)));
#undef ENSURE
diff --git a/dom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp b/dom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp
index d6527e47d7ca..6d706c39f1c2 100644
--- a/dom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp
+++ b/dom/webbrowserpersist/WebBrowserPersistLocalDocument.cpp
@@ -199,6 +199,14 @@ WebBrowserPersistLocalDocument::GetPostData(nsIInputStream** aStream)
return history->GetPostData(aStream);
}
+NS_IMETHODIMP
+WebBrowserPersistLocalDocument::GetPrincipal(nsIPrincipal** aPrincipal)
+{
+ nsCOMPtr<nsIPrincipal> nodePrincipal = mDocument->NodePrincipal();
+ nodePrincipal.forget(aPrincipal);
+ return NS_OK;
+}
+
already_AddRefed<nsISHEntry>
WebBrowserPersistLocalDocument::GetHistory()
{
diff --git a/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.cpp b/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.cpp
index c7dcca8619da..cfe831cfb57d 100644
--- a/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.cpp
+++ b/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.cpp
@@ -9,6 +9,9 @@
#include "WebBrowserPersistResourcesParent.h"
#include "WebBrowserPersistSerializeParent.h"
#include "mozilla/Unused.h"
+#include "mozilla/ipc/BackgroundUtils.h"
+
+#include "nsIPrincipal.h"
namespace mozilla {
@@ -23,6 +26,8 @@ WebBrowserPersistRemoteDocument
, mAttrs(aAttrs)
, mPostData(aPostData)
{
+ nsresult rv;
+ mPrincipal = ipc::PrincipalInfoToPrincipal(mAttrs.principal(), &rv);
}
WebBrowserPersistRemoteDocument::~WebBrowserPersistRemoteDocument()
@@ -133,6 +138,14 @@ WebBrowserPersistRemoteDocument::GetPostData(nsIInputStream** aStream)
}
NS_IMETHODIMP
+WebBrowserPersistRemoteDocument::GetPrincipal(nsIPrincipal** aPrincipal)
+{
+ nsCOMPtr<nsIPrincipal> nodePrincipal = mPrincipal;
+ nodePrincipal.forget(aPrincipal);
+ return NS_OK;
+}
+
+NS_IMETHODIMP
WebBrowserPersistRemoteDocument::ReadResources(nsIWebBrowserPersistResourceVisitor* aVisitor)
{
if (!mActor) {
diff --git a/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.h b/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.h
index 08d435903843..2808ac4b53c0 100644
--- a/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.h
+++ b/dom/webbrowserpersist/WebBrowserPersistRemoteDocument.h
@@ -13,6 +13,8 @@
#include "nsIWebBrowserPersistDocument.h"
#include "nsIInputStream.h"
+class nsIPrincipal;
+
// This class is the XPCOM half of the glue between the
// nsIWebBrowserPersistDocument interface and a remote document; it is
// created by WebBrowserPersistDocumentParent when (and if) it
@@ -40,6 +42,7 @@ private:
WebBrowserPersistDocumentParent* mActor;
Attrs mAttrs;
nsCOMPtr<nsIInputStream> mPostData;
+ nsCOMPtr<nsIPrincipal> mPrincipal;
friend class WebBrowserPersistDocumentParent;
WebBrowserPersistRemoteDocument(WebBrowserPersistDocumentParent* aActor,
diff --git a/dom/webbrowserpersist/nsIWebBrowserPersist.idl b/dom/webbrowserpersist/nsIWebBrowserPersist.idl
index 8de84f5e2904..9573a024eebf 100644
--- a/dom/webbrowserpersist/nsIWebBrowserPersist.idl
+++ b/dom/webbrowserpersist/nsIWebBrowserPersist.idl
@@ -13,6 +13,7 @@ interface nsIWebProgressListener;
interface nsIFile;
interface nsIChannel;
interface nsILoadContext;
+interface nsIPrincipal;
/**
* Interface for persisting DOM documents and URIs to local or remote storage.
@@ -67,12 +68,6 @@ interface nsIWebBrowserPersist : nsICancelable
const unsigned long PERSIST_FLAGS_APPEND_TO_FILE = 32768;
/**
- * Force relevant cookies to be sent with this load even if normally they
- * wouldn't be.
- */
- const unsigned long PERSIST_FLAGS_FORCE_ALLOW_COOKIES = 65536;
-
- /**
* Flags governing how data is fetched and saved from the network.
* It is best to set this value explicitly unless you are prepared
* to accept the default values.
@@ -117,6 +112,8 @@ interface nsIWebBrowserPersist : nsICancelable
* @param aURI URI to save to file. Some implementations of this interface
* may also support <CODE>nullptr</CODE> to imply the currently
* loaded URI.
+ * @param aTriggeringPrincipal
+ * The triggering principal for the URI we're saving.
* @param aCacheKey An object representing the URI in the cache or
* <CODE>nullptr</CODE>. This can be a necko cache key,
* an nsIWebPageDescriptor, or the currentDescriptor of an
@@ -146,7 +143,8 @@ interface nsIWebBrowserPersist : nsICancelable
*
* @throws NS_ERROR_INVALID_ARG One or more arguments was invalid.
*/
- void saveURI(in nsIURI aURI, in nsISupports aCacheKey,
+ void saveURI(in nsIURI aURI, in nsIPrincipal aTriggeringPrincipal,
+ in nsISupports aCacheKey,
in nsIURI aReferrer, in unsigned long aReferrerPolicy,
in nsIInputStream aPostData,
in string aExtraHeaders, in nsISupports aFile,
@@ -158,7 +156,8 @@ interface nsIWebBrowserPersist : nsICancelable
* of intermediate data, etc.)
* @see saveURI for all other parameter descriptions
*/
- void savePrivacyAwareURI(in nsIURI aURI, in nsISupports aCacheKey,
+ void savePrivacyAwareURI(in nsIURI aURI,
+ in nsIPrincipal aTriggeringPrincipal, in nsISupports aCacheKey,
in nsIURI aReferrer, in unsigned long aReferrerPolicy,
in nsIInputStream aPostData,
in string aExtraHeaders, in nsISupports aFile,
diff --git a/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl b/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl
index ba5bea8b2906..f7aa146766d0 100644
--- a/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl
+++ b/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl
@@ -9,6 +9,7 @@
interface nsIDOMDocument;
interface nsIInputStream;
interface nsIOutputStream;
+interface nsIPrincipal;
interface nsITabParent;
interface nsIWebBrowserPersistResourceVisitor;
interface nsIWebBrowserPersistWriteCompletion;
@@ -61,6 +62,7 @@ interface nsIWebBrowserPersistDocument : nsISupports
readonly attribute AString referrer;
readonly attribute AString contentDisposition;
readonly attribute nsIInputStream postData;
+ readonly attribute nsIPrincipal principal;
/**
* The cache key. Unlike in nsISHEntry, where it's wrapped in an
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.cpp b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
index fd6d9d0d9315..12e6c41c37d8 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -84,6 +84,7 @@ struct nsWebBrowserPersist::DocData
nsCOMPtr<nsIURI> mBaseURI;
nsCOMPtr<nsIWebBrowserPersistDocument> mDocument;
nsCOMPtr<nsIURI> mFile;
+ nsCOMPtr<nsIPrincipal> mPrincipal;
nsCString mCharset;
};
@@ -414,18 +415,20 @@ NS_IMETHODIMP nsWebBrowserPersist::SetProgressListener(
}
NS_IMETHODIMP nsWebBrowserPersist::SaveURI(
- nsIURI *aURI, nsISupports *aCacheKey,
+ nsIURI *aURI, nsIPrincipal *aPrincipal, nsISupports *aCacheKey,
nsIURI *aReferrer, uint32_t aReferrerPolicy,
nsIInputStream *aPostData, const char *aExtraHeaders,
nsISupports *aFile, nsILoadContext* aPrivacyContext)
{
- return SavePrivacyAwareURI(aURI, aCacheKey, aReferrer, aReferrerPolicy,
- aPostData, aExtraHeaders, aFile,
- aPrivacyContext && aPrivacyContext->UsePrivateBrowsing());
+ bool isPrivate =
+ aPrivacyContext && aPrivacyContext->UsePrivateBrowsing();
+ return SavePrivacyAwareURI(aURI, aPrincipal, aCacheKey,
+ aReferrer, aReferrerPolicy,
+ aPostData, aExtraHeaders, aFile, isPrivate);
}
NS_IMETHODIMP nsWebBrowserPersist::SavePrivacyAwareURI(
- nsIURI *aURI, nsISupports *aCacheKey,
+ nsIURI *aURI, nsIPrincipal *aPrincipal, nsISupports *aCacheKey,
nsIURI *aReferrer, uint32_t aReferrerPolicy,
nsIInputStream *aPostData, const char *aExtraHeaders,
nsISupports *aFile, bool aIsPrivate)
@@ -440,8 +443,10 @@ NS_IMETHODIMP nsWebBrowserPersist::SavePrivacyAwareURI(
// SaveURI doesn't like broken uris.
mPersistFlags |= PERSIST_FLAGS_FAIL_ON_BROKEN_LINKS;
- rv = SaveURIInternal(aURI, aCacheKey, aReferrer, aReferrerPolicy,
- aPostData, aExtraHeaders, fileAsURI, false, aIsPrivate);
+ rv = SaveURIInternal(aURI, aPrincipal, aCacheKey,
+ aReferrer, aReferrerPolicy,
+ aPostData, aExtraHeaders, fileAsURI,
+ false, aIsPrivate);
return NS_FAILED(rv) ? rv : NS_OK;
}
@@ -600,6 +605,13 @@ nsWebBrowserPersist::SerializeNextFile()
}
if (urisToPersist > 0) {
+ nsCOMPtr<nsIPrincipal> docPrincipal;
+ //XXXgijs I *think* this is already always true, but let's be sure.
+ MOZ_ASSERT(mDocList.Length() > 0,
+ "Should have the document for any walked URIs to persist!");
+ nsresult rv = mDocList.ElementAt(0)->mDocument->
+ GetPrincipal(getter_AddRefs(docPrincipal));
+ NS_ENSURE_SUCCESS_VOID(rv);
// Persist each file in the uri map. The document(s)
// will be saved after the last one of these is saved.
for (auto iter = mURIMap.Iter(); !iter.Done(); iter.Next()) {
@@ -609,8 +621,6 @@ nsWebBrowserPersist::SerializeNextFile()
continue;
}
- nsresult rv;
-
// Create a URI from the key.
nsCOMPtr<nsIURI> uri;
rv = NS_NewURI(getter_AddRefs(uri), iter.Key(),
@@ -632,7 +642,7 @@ nsWebBrowserPersist::SerializeNextFile()
// The Referrer Policy doesn't matter here since the referrer is
// nullptr.
- rv = SaveURIInternal(uri, nullptr, nullptr,
+ rv = SaveURIInternal(uri, docPrincipal, nullptr, nullptr,
mozilla::net::RP_Unset, nullptr, nullptr,
fileAsURI, true, mIsPrivate);
// If SaveURIInternal fails, then it will have called EndDownload,
@@ -1329,7 +1339,8 @@ nsWebBrowserPersist::AppendPathToURI(nsIURI *aURI, const nsAString & aPath, nsCO
}
nsresult nsWebBrowserPersist::SaveURIInternal(
- nsIURI *aURI, nsISupports *aCacheKey, nsIURI *aReferrer,
+ nsIURI *aURI, nsIPrincipal* aTriggeringPrincipal,
+ nsISupports *aCacheKey, nsIURI *aReferrer,
uint32_t aReferrerPolicy, nsIInputStream *aPostData,
const char *aExtraHeaders, nsIURI *aFile,
bool aCalcFileExt, bool aIsPrivate)
@@ -1385,7 +1396,7 @@ nsresult nsWebBrowserPersist::SaveURIInternal(
nsCOMPtr<nsIChannel> inputChannel;
rv = NS_NewChannel(getter_AddRefs(inputChannel),
aURI,
- nsContentUtils::GetSystemPrincipal(),
+ aTriggeringPrincipal,
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER,
nullptr, // aPerformanceStorage
@@ -1415,16 +1426,6 @@ nsresult nsWebBrowserPersist::SaveURIInternal(
}
}
- if (mPersistFlags & PERSIST_FLAGS_FORCE_ALLOW_COOKIES)
- {
- nsCOMPtr<nsIHttpChannelInternal> httpChannelInternal =
- do_QueryInterface(inputChannel);
- if (httpChannelInternal) {
- rv = httpChannelInternal->SetThirdPartyFlags(nsIHttpChannelInternal::THIRD_PARTY_FORCE_ALLOW);
- MOZ_ASSERT(NS_SUCCEEDED(rv));
- }
- }
-
// Set the referrer, post data and headers if any
nsCOMPtr<nsIHttpChannel> httpChannel(do_QueryInterface(inputChannel));
if (httpChannel)
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.h b/dom/webbrowserpersist/nsWebBrowserPersist.h
index 17b570d783e7..b9a2e3da73b6 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.h
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.h
@@ -57,7 +57,8 @@ public:
private:
virtual ~nsWebBrowserPersist();
nsresult SaveURIInternal(
- nsIURI *aURI, nsISupports *aCacheKey, nsIURI *aReferrer,
+ nsIURI *aURI, nsIPrincipal* aTriggeringPrincipal,
+ nsISupports *aCacheKey, nsIURI *aReferrer,
uint32_t aReferrerPolicy, nsIInputStream *aPostData,
const char *aExtraHeaders, nsIURI *aFile,
bool aCalcFileExt, bool aIsPrivate);
diff --git a/toolkit/components/browser/nsWebBrowser.cpp b/toolkit/components/browser/nsWebBrowser.cpp
index 40ac82210502..cdc3804fee73 100644
--- a/toolkit/components/browser/nsWebBrowser.cpp
+++ b/toolkit/components/browser/nsWebBrowser.cpp
@@ -998,6 +998,7 @@ nsWebBrowser::SetProgressListener(nsIWebProgressListener* aProgressListener)
NS_IMETHODIMP
nsWebBrowser::SaveURI(nsIURI* aURI,
+ nsIPrincipal* aPrincipal,
nsISupports* aCacheKey,
nsIURI* aReferrer,
uint32_t aReferrerPolicy,
@@ -1007,12 +1008,14 @@ nsWebBrowser::SaveURI(nsIURI* aURI,
nsILoadContext* aPrivacyContext)
{
return SavePrivacyAwareURI(
- aURI, aCacheKey, aReferrer, aReferrerPolicy, aPostData, aExtraHeaders,
- aFile, aPrivacyContext && aPrivacyContext->UsePrivateBrowsing());
+ aURI, aPrincipal, aCacheKey, aReferrer, aReferrerPolicy, aPostData,
+ aExtraHeaders, aFile,
+ aPrivacyContext && aPrivacyContext->UsePrivateBrowsing());
}
NS_IMETHODIMP
nsWebBrowser::SavePrivacyAwareURI(nsIURI* aURI,
+ nsIPrincipal* aPrincipal,
nsISupports* aCacheKey,
nsIURI* aReferrer,
uint32_t aReferrerPolicy,
@@ -1050,8 +1053,9 @@ nsWebBrowser::SavePrivacyAwareURI(nsIURI* aURI,
mPersist->SetPersistFlags(mPersistFlags);
mPersist->GetCurrentState(&mPersistCurrentState);
- rv = mPersist->SavePrivacyAwareURI(uri, aCacheKey, aReferrer, aReferrerPolicy,
- aPostData, aExtraHeaders, aFile, aIsPrivate);
+ rv = mPersist->SavePrivacyAwareURI(uri, aPrincipal, aCacheKey,
+ aReferrer, aReferrerPolicy, aPostData,
+ aExtraHeaders, aFile, aIsPrivate);
if (NS_FAILED(rv)) {
mPersist = nullptr;
}
diff --git a/toolkit/components/downloads/test/unit/head.js b/toolkit/components/downloads/test/unit/head.js
index 63bf2ff884a7..6c5c1b095ada 100644
--- a/toolkit/components/downloads/test/unit/head.js
+++ b/toolkit/components/downloads/test/unit/head.js
@@ -299,7 +299,8 @@ function promiseStartLegacyDownload(aSourceUrl, aOptions) {
// Start the actual download process.
persist.savePrivacyAwareURI(
- sourceURI, null, referrer, Ci.nsIHttpChannel.REFERRER_POLICY_UNSAFE_URL,
+ sourceURI, Services.scriptSecurityManager.getSystemPrincipal(),
+ null, referrer, Ci.nsIHttpChannel.REFERRER_POLICY_UNSAFE_URL,
null, null, targetFile, isPrivate);
}).catch(do_report_unexpected_exception);
diff --git a/toolkit/components/viewsource/content/viewSourceUtils.js b/toolkit/components/viewsource/content/viewSourceUtils.js
index 610667cde3cd..d91f3481f802 100644
--- a/toolkit/components/viewsource/content/viewSourceUtils.js
+++ b/toolkit/components/viewsource/content/viewSourceUtils.js
@@ -228,7 +228,11 @@ var gViewSourceUtils = {
webBrowserPersist.persistFlags = this.mnsIWebBrowserPersist.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
webBrowserPersist.progressListener = this.viewSourceProgressListener;
let referrerPolicy = Ci.nsIHttpChannel.REFERRER_POLICY_NO_REFERRER;
- webBrowserPersist.savePrivacyAwareURI(uri, null, null, referrerPolicy, null, null, file, data.isPrivate);
+ let ssm = Services.scriptSecurityManager;
+ let principal = ssm.createCodebasePrincipal(data.uri,
+ browser.contentPrincipal.originAttributes);
+ webBrowserPersist.savePrivacyAwareURI(uri, principal, null, null,
+ referrerPolicy, null, null, file, data.isPrivate);
let helperService = Cc["@mozilla.org/uriloader/external-helper-app-service;1"]
.getService(Ci.nsPIExternalAppLauncher);
diff --git a/toolkit/content/contentAreaUtils.js b/toolkit/content/contentAreaUtils.js
index 48cf448798a5..fa5a7a56c935 100644
--- a/toolkit/content/contentAreaUtils.js
+++ b/toolkit/content/contentAreaUtils.js
@@ -62,14 +62,15 @@ function forbidCPOW(arg, func, argname) {
// - A linked document using Alt-click Save Link As...
//
function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
- aSkipPrompt, aReferrer, aSourceDocument, aIsContentWindowPrivate) {
+ aSkipPrompt, aReferrer, aSourceDocument,
+ aIsContentWindowPrivate, aPrincipal) {
forbidCPOW(aURL, "saveURL", "aURL");
forbidCPOW(aReferrer, "saveURL", "aReferrer");
// Allow aSourceDocument to be a CPOW.
internalSave(aURL, null, aFileName, null, null, aShouldBypassCache,
aFilePickerTitleKey, null, aReferrer, aSourceDocument,
- aSkipPrompt, null, aIsContentWindowPrivate);
+ aSkipPrompt, null, aIsContentWindowPrivate, aPrincipal);
}
// Just like saveURL, but will get some info off the image before
@@ -112,7 +113,7 @@ const nsISupportsCString = Ci.nsISupportsCString;
*/
function saveImageURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
aSkipPrompt, aReferrer, aDoc, aContentType, aContentDisp,
- aIsContentWindowPrivate) {
+ aIsContentWindowPrivate, aPrincipal) {
forbidCPOW(aURL, "saveImageURL", "aURL");
forbidCPOW(aReferrer, "saveImageURL", "aReferrer");
@@ -156,7 +157,7 @@ function saveImageURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
internalSave(aURL, null, aFileName, aContentDisp, aContentType,
aShouldBypassCache, aFilePickerTitleKey, null, aReferrer,
- null, aSkipPrompt, null, aIsContentWindowPrivate);
+ aDoc, aSkipPrompt, null, aIsContentWindowPrivate, aPrincipal);
}
// This is like saveDocument, but takes any browser/frame-like element
@@ -350,11 +351,15 @@ XPCOMUtils.defineConstant(this, "kSaveAsType_Text", kSaveAsType_Text);
* This parameter is provided when the aInitiatingDocument is not a
* real document object. Stores whether aInitiatingDocument.defaultView
* was private or not.
+ * @param aPrincipal [optional]
+ * This parameter is provided when neither aDocument nor
+ * aInitiatingDocument is provided. Used to determine what level of
+ * privilege to load the URI with.
*/
function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
aContentType, aShouldBypassCache, aFilePickerTitleKey,
aChosenData, aReferrer, aInitiatingDocument, aSkipPrompt,
- aCacheKey, aIsContentWindowPrivate) {
+ aCacheKey, aIsContentWindowPrivate, aPrincipal) {
forbidCPOW(aURL, "internalSave", "aURL");
forbidCPOW(aReferrer, "internalSave", "aReferrer");
forbidCPOW(aCacheKey, "internalSave", "aCacheKey");
@@ -430,8 +435,17 @@ function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
: aInitiatingDocument.isPrivate;
}
+ // We have to cover the cases here where we were either passed an explicit
+ // principal, or a 'real' document (with a nodePrincipal property), or an
+ // nsIWebBrowserPersistDocument which has a principal property.
+ let sourcePrincipal =
+ aPrincipal ||
+ (aDocument && (aDocument.nodePrincipal || aDocument.principal)) ||
+ (aInitiatingDocument && aInitiatingDocument.nodePrincipal);
+
var persistArgs = {
sourceURI,
+ sourcePrincipal,
sourceReferrer: aReferrer,
sourceDocument: useSaveDocument ? aDocument : null,
targetContentType: (saveAsType == kSaveAsType_Text) ? "text/plain" : null,
@@ -482,8 +496,7 @@ function internalPersist(persistArgs) {
// Calculate persist flags.
const nsIWBP = Ci.nsIWebBrowserPersist;
- const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES |
- nsIWBP.PERSIST_FLAGS_FORCE_ALLOW_COOKIES;
+ const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
if (persistArgs.bypassCache)
persist.persistFlags = flags | nsIWBP.PERSIST_FLAGS_BYPASS_CACHE;
else
@@ -530,6 +543,7 @@ function internalPersist(persistArgs) {
persistArgs.targetContentType, encodingFlags, kWrapColumn);
} else {
persist.savePrivacyAwareURI(persistArgs.sourceURI,
+ persistArgs.sourcePrincipal,
persistArgs.sourceCacheKey,
persistArgs.sourceReferrer,
Ci.nsIHttpChannel.REFERRER_POLICY_UNSET,
diff --git a/toolkit/content/tests/browser/browser_saveImageURL.js b/toolkit/content/tests/browser/browser_saveImageURL.js
index 970aaea43ca9..609db2cb2adc 100644
--- a/toolkit/content/tests/browser/browser_saveImageURL.js
+++ b/toolkit/content/tests/browser/browser_saveImageURL.js
@@ -36,7 +36,8 @@ add_task(async function preferred_API() {
return image.href;
});
- saveImageURL(url, "image.jpg", null, true, false, null, null, null, null, false);
+ saveImageURL(url, "image.jpg", null, true, false, null, null, null, null,
+ false, gBrowser.contentPrincipal);
// eslint-disable-next-line mozilla/no-cpows-in-tests
let channel = gBrowser.contentDocumentAsCPOW.docShell.currentDocumentChannel;
if (channel) {
diff --git a/toolkit/mozapps/extensions/LightweightThemeManager.jsm b/toolkit/mozapps/extensions/LightweightThemeManager.jsm
index 720f27b48244..d5efecca0de7 100644
--- a/toolkit/mozapps/extensions/LightweightThemeManager.jsm
+++ b/toolkit/mozapps/extensions/LightweightThemeManager.jsm
@@ -869,7 +869,8 @@ function _persistImage(sourceURL, localFileName, successCallback) {
persist.progressListener = new _persistProgressListener(successCallback);
- persist.saveURI(sourceURI, null,
+ let sourcePrincipal = Services.scriptSecurityManager.createCodebasePrincipal(sourceURI, {});
+ persist.saveURI(sourceURI, sourcePrincipal, null,
null, Ci.nsIHttpChannel.REFERRER_POLICY_UNSET,
null, null, targetURI, null);
}
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1473507 - fix crash in nsILoadInfo::GetOriginAttributes when passing no principal to SavePrivacyAwareURI, r=mccr8
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 11aef302f781e229446fc73251e42efd70c19b38
Author: Gijs Kruitbosch <gijskruitbosch(a)gmail.com>
Date: Thu Jul 5 23:50:45 2018 +0100
Bug 1473507 - fix crash in nsILoadInfo::GetOriginAttributes when passing no principal to SavePrivacyAwareURI, r=mccr8
Enforce that callers pass triggering principals through to any persist APIs,
which all delegate to SaveURIInternal.
Also add the missing principal information to the saveURL call in the page
info dialog code, which was triggering crashes in this way.
MozReview-Commit-ID: L9pNE7BxGws
--HG--
extra : rebase_source : 957d765f965aa4f942532c693cae36addd8b781d
---
browser/base/content/pageinfo/pageInfo.js | 2 +-
dom/webbrowserpersist/nsWebBrowserPersist.cpp | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/browser/base/content/pageinfo/pageInfo.js b/browser/base/content/pageinfo/pageInfo.js
index 405b9443342d..30344b989007 100644
--- a/browser/base/content/pageinfo/pageInfo.js
+++ b/browser/base/content/pageinfo/pageInfo.js
@@ -696,7 +696,7 @@ function saveMedia() {
titleKey = "SaveAudioTitle";
saveURL(url, null, titleKey, false, false, makeURI(item.baseURI),
- null, gDocInfo.isContentWindowPrivate);
+ null, gDocInfo.isContentWindowPrivate, gDocInfo.principal);
}
} else {
selectSaveFolder(function(aDirectory) {
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.cpp b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
index 68cb08eac0c0..97650a4b42a0 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -1341,6 +1341,7 @@ nsresult nsWebBrowserPersist::SaveURIInternal(
{
NS_ENSURE_ARG_POINTER(aURI);
NS_ENSURE_ARG_POINTER(aFile);
+ NS_ENSURE_ARG_POINTER(aTriggeringPrincipal);
nsresult rv = NS_OK;
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1487263 - set requesting principal for macOS drags, r=mstange
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 5cc364bf650ec604043b6394c6d2525789e61f3a
Author: Gijs Kruitbosch <gijskruitbosch(a)gmail.com>
Date: Thu Aug 30 13:56:44 2018 +0000
Bug 1487263 - set requesting principal for macOS drags, r=mstange
The requesting principal is now required for saving content through
nsIWebBrowserPersist, and so drag sessions on macOS need to provide one, just
like drag sessions on Windows already do (see bug 664717).
Differential Revision: https://phabricator.services.mozilla.com/D4673
--HG--
extra : moz-landing-system : lando
---
widget/cocoa/nsDragService.mm | 3 +++
1 file changed, 3 insertions(+)
diff --git a/widget/cocoa/nsDragService.mm b/widget/cocoa/nsDragService.mm
index 8ee0f3edabfc..47eacb5792a2 100644
--- a/widget/cocoa/nsDragService.mm
+++ b/widget/cocoa/nsDragService.mm
@@ -326,6 +326,9 @@ nsDragService::InvokeDragSessionImpl(nsIArray* aTransferableArray,
return NS_ERROR_FAILURE;
}
+ // Assign a principal:
+ currentTransferable->SetRequestingPrincipal(mSourceNode->NodePrincipal());
+
// Transform the transferable to an NSDictionary
NSDictionary* pasteboardOutputDict =
nsClipboard::PasteboardDictFromTransferable(currentTransferable);
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1504159 - use TYPE_SAVEAS_DOWNLOAD for data saved through nsIWebBrowserPersist, r=jkt
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 23d8a9b2966155118ab88ff001771082694fcc40
Author: Gijs Kruitbosch <gijskruitbosch(a)gmail.com>
Date: Fri Nov 9 10:53:40 2018 +0000
Bug 1504159 - use TYPE_SAVEAS_DOWNLOAD for data saved through nsIWebBrowserPersist, r=jkt
Differential Revision: https://phabricator.services.mozilla.com/D11411
--HG--
extra : moz-landing-system : lando
---
dom/webbrowserpersist/nsWebBrowserPersist.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dom/webbrowserpersist/nsWebBrowserPersist.cpp b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
index 97650a4b42a0..9466a1969855 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -1393,7 +1393,7 @@ nsresult nsWebBrowserPersist::SaveURIInternal(
aURI,
aTriggeringPrincipal,
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
- nsIContentPolicy::TYPE_OTHER,
+ nsIContentPolicy::TYPE_SAVEAS_DOWNLOAD,
nullptr, // aPerformanceStorage
nullptr, // aLoadGroup
static_cast<nsIInterfaceRequestor*>(this),
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1504159 - add test to verify we can save a mixed content image from the context menu, r=jkt
by gk@torproject.org 23 Jan '19
by gk@torproject.org 23 Jan '19
23 Jan '19
commit 77b26b69926f7bb93181320084ca8cb9958b3a95
Author: Gijs Kruitbosch <gijskruitbosch(a)gmail.com>
Date: Fri Nov 9 10:59:52 2018 +0000
Bug 1504159 - add test to verify we can save a mixed content image from the context menu, r=jkt
Depends on D11411
Differential Revision: https://phabricator.services.mozilla.com/D11412
--HG--
rename : browser/themes/windows/preferences/saveFile.png => dom/tests/browser/dummy.png
extra : moz-landing-system : lando
---
dom/tests/browser/browser.ini | 4 +
.../browser/browser_persist_mixed_content_image.js | 102 +++++++++++++++++++++
dom/tests/browser/dummy.png | Bin 0 -> 703 bytes
dom/tests/browser/test_mixed_content_image.html | 1 +
4 files changed, 107 insertions(+)
diff --git a/dom/tests/browser/browser.ini b/dom/tests/browser/browser.ini
index 11cf9ebf2346..24d4d5f4fc23 100644
--- a/dom/tests/browser/browser.ini
+++ b/dom/tests/browser/browser.ini
@@ -59,6 +59,10 @@ skip-if = !e10s # This is a test of e10s functionality.
support-files =
set-samesite-cookies-and-redirect.sjs
mimeme.sjs
+[browser_persist_mixed_content_image.js]
+support-files =
+ test_mixed_content_image.html
+ dummy.png
[browser_test_focus_after_modal_state.js]
support-files =
focus_after_prompt.html
diff --git a/dom/tests/browser/browser_persist_mixed_content_image.js b/dom/tests/browser/browser_persist_mixed_content_image.js
new file mode 100644
index 000000000000..f7af5f1790cb
--- /dev/null
+++ b/dom/tests/browser/browser_persist_mixed_content_image.js
@@ -0,0 +1,102 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const TEST_PATH = getRootDirectory(gTestPath).replace("chrome://mochitests/content", "https://example.org");
+
+var MockFilePicker = SpecialPowers.MockFilePicker;
+MockFilePicker.init(window);
+
+registerCleanupFunction(async function() {
+ info("Running the cleanup code");
+ MockFilePicker.cleanup();
+ if (gTestDir && gTestDir.exists()) {
+ // On Windows, sometimes nsIFile.remove() throws, probably because we're
+ // still writing to the directory we're trying to remove, despite
+ // waiting for the download to complete. Just retry a bit later...
+ let succeeded = false;
+ while (!succeeded) {
+ try {
+ gTestDir.remove(true);
+ succeeded = true;
+ } catch (ex) {
+ await new Promise(requestAnimationFrame);
+ }
+ }
+ }
+});
+
+let gTestDir = null;
+
+function createTemporarySaveDirectory() {
+ var saveDir = Services.dirsvc.get("TmpD", Ci.nsIFile);
+ saveDir.append("testsavedir");
+ if (!saveDir.exists()) {
+ info("create testsavedir!");
+ saveDir.create(Ci.nsIFile.DIRECTORY_TYPE, 0o755);
+ }
+ info("return from createTempSaveDir: " + saveDir.path);
+ return saveDir;
+}
+
+
+add_task(async function test_image_download() {
+ await BrowserTestUtils.withNewTab(TEST_PATH + "test_mixed_content_image.html", async (browser) => {
+ // Add the image, and wait for it to load.
+ await ContentTask.spawn(browser, null, function() {
+ let loc = content.document.location.href;
+ let httpRoot = loc.replace("https", "http");
+ let imgloc = new content.URL("dummy.png", httpRoot);
+ let img = content.document.createElement("img");
+ img.src = imgloc;
+ return new Promise(resolve => {
+ img.onload = resolve;
+ content.document.body.appendChild(img);
+ });
+ });
+ gTestDir = createTemporarySaveDirectory();
+
+ let destFile = gTestDir.clone();
+
+ MockFilePicker.displayDirectory = gTestDir;
+ let fileName;
+ MockFilePicker.showCallback = function(fp) {
+ info("showCallback");
+ fileName = fp.defaultString;
+ info("fileName: " + fileName);
+ destFile.append(fileName);
+ info("path: " + destFile.path);
+ MockFilePicker.setFiles([destFile]);
+ MockFilePicker.filterIndex = 0; // just save the file
+ info("done showCallback");
+ };
+ let downloadFinishedPromise = new Promise(async (resolve) => {
+ let dls = await Downloads.getList(Downloads.PUBLIC);
+ dls.addView({
+ onDownloadChanged(download) {
+ info("Download changed!");
+ if (download.succeeded || download.error) {
+ info("Download succeeded or errored");
+ dls.removeView(this);
+ dls.removeFinished();
+ resolve(download);
+ }
+ }
+ });
+ });
+ // open the context menu.
+ let popup = document.getElementById("contentAreaContextMenu");
+ let popupShown = BrowserTestUtils.waitForEvent(popup, "popupshown");
+ BrowserTestUtils.synthesizeMouseAtCenter("img", {type: "contextmenu", button: 2}, browser);
+ await popupShown;
+ let popupHidden = BrowserTestUtils.waitForEvent(popup, "popuphidden");
+ popup.querySelector("#context-saveimage").click();
+ popup.hidePopup();
+ await popupHidden;
+ info("Context menu hidden, waiting for download to finish");
+ let imageDownload = await downloadFinishedPromise;
+ ok(imageDownload.succeeded, "Image should have downloaded successfully");
+ });
+
+});
diff --git a/dom/tests/browser/dummy.png b/dom/tests/browser/dummy.png
new file mode 100644
index 000000000000..a1089af09b9c
Binary files /dev/null and b/dom/tests/browser/dummy.png differ
diff --git a/dom/tests/browser/test_mixed_content_image.html b/dom/tests/browser/test_mixed_content_image.html
new file mode 100644
index 000000000000..c8b7661f4221
--- /dev/null
+++ b/dom/tests/browser/test_mixed_content_image.html
@@ -0,0 +1 @@
+<body></body>
1
0

23 Jan '19
commit 4306713f498584d85e9e7a3e2468d59126f9d3e0
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 13 07:50:53 2018 +0000
Bug 21805: Add click-to-play button for WebGL
---
src/modules/noscript-control.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/modules/noscript-control.js b/src/modules/noscript-control.js
index 275f9dba..895889c8 100644
--- a/src/modules/noscript-control.js
+++ b/src/modules/noscript-control.js
@@ -17,7 +17,7 @@ let log = (level, msg) => logger.log(level, msg);
// ## NoScript settings
// Minimum and maximum capability states as controlled by NoScript.
-const max_caps = ["fetch", "font", "frame", "media", "object", "other", "script", "webgl"];
+const max_caps = ["fetch", "font", "frame", "media", "object", "other", "script"];
const min_caps = ["frame", "other"];
// Untrusted capabilities for [Standard, Safer, Safest] safety levels.
@@ -30,7 +30,7 @@ const untrusted_caps = [
// Default capabilities for [Standard, Safer, Safest] safety levels.
const default_caps = [
max_caps, // standard: both http and https
- ["fetch", "font", "frame", "object", "other", "script", "webgl"], // safer: https only
+ ["fetch", "font", "frame", "object", "other", "script"], // safer: https only
min_caps, // safest: both http and https
];
1
0

23 Jan '19
commit 90fc41be122b0bd59dba5aa5003345e8f227cae5
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 23 07:47:57 2019 +0000
Release preparations for 8.0.5
Changelog update versions bump
---
projects/firefox-langpacks/config | 2 +-
projects/firefox/config | 2 +-
projects/https-everywhere/config | 2 +-
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 15 +++++++++++++++
projects/tor/config | 2 +-
projects/torbutton/config | 2 +-
rbm.conf | 6 +++---
7 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/projects/firefox-langpacks/config b/projects/firefox-langpacks/config
index 04cd7dd..4e42939 100644
--- a/projects/firefox-langpacks/config
+++ b/projects/firefox-langpacks/config
@@ -4,7 +4,7 @@ filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/buil
var:
ff_version: '[% pc("firefox", "var/firefox_version") %]'
- ff_build: build2
+ ff_build: build1
ff_arch: linux-i686
input_filename: 'dl-langpack-[% c("var/ff_arch") %]-[% c("version") %]'
diff --git a/projects/firefox/config b/projects/firefox/config
index 831a5fb..238bc5c 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -7,7 +7,7 @@ git_url: https://git.torproject.org/tor-browser.git
gpg_keyring: torbutton.gpg
var:
- firefox_platform_version: 60.4.0
+ firefox_platform_version: 60.5.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 8.0
torbrowser_update_channel: alpha
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index bcd47f2..eeef02c 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2018.10.31
+version: 2019.1.7
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 156b812..cc51f85 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,18 @@
+Tor Browser 8.0.5 -- January 29 2019
+ * All platforms
+ * Update Firefox to 60.5.0esr
+ * Update Tor to 0.3.5.7
+ * Update Torbutton to 2.0.10
+ * Bug 29035: Clean up our donation campaign and add newsletter sign-up link
+ * Bug 27175: Add pref to allow users to persist custom noscript settings
+ * Update HTTPS Everywhere to 2019.1.7
+ * Update NoScript to 10.2.1
+ * Bug 28873: Cascading of permissions is broken
+ * Bug 28720: Some videos are blocked outright on higher security levels
+ * Bug 26540: Enabling pdfjs disableRange option prevents pdfs from loading
+ * Bug 28740: Adapt Windows navigator.platform value on 64-bit systems
+ * Bug 28695: Set default security.pki.name_matching_mode to enforce (3)
+
Tor Browser 8.0.4 -- December 11 2018
* All platforms
* Update Firefox to 60.4.0esr
diff --git a/projects/tor/config b/projects/tor/config
index 5dd5206..f5e2515 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]'
-version: 0.3.4.9
+version: 0.3.5.7
git_hash: 'tor-[% c("version") %]'
git_url: https://git.torproject.org/tor.git
git_submodule: 1
diff --git a/projects/torbutton/config b/projects/torbutton/config
index 168584a..c262950 100644
--- a/projects/torbutton/config
+++ b/projects/torbutton/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2.0.9
+version: 2.0.10
git_url: https://git.torproject.org/torbutton.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
diff --git a/rbm.conf b/rbm.conf
index 1df185a..4f06501 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -15,10 +15,10 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '8.0.4'
- torbrowser_build: 'build2'
+ torbrowser_version: '8.0.5'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 8.0.3
+ - 8.0.4
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0
commit d275f4fc566920abcf7795be6913d4dd81db15f8
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 23 07:13:33 2019 +0000
Release preparations for 2.0.10
Version bump and CHANGELOG update
---
src/CHANGELOG | 4 ++++
src/install.rdf | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 361795c2..2b0d2db0 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,7 @@
+2.0.10
+ * Bug 29035: Clean up our donation campaign and add newsletter sign-up link
+ * Bug 27175: Add pref to allow users to persist custom noscript settings
+
2.0.9
* Bug 28540: Use new text for 2018 donation banner
* Bug 28515: Use en-US for english Torbutton strings
diff --git a/src/install.rdf b/src/install.rdf
index df90703b..c39fbfb8 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Mike Perry</em:creator>
<em:id>torbutton(a)torproject.org</em:id>
- <em:version>2.0.9</em:version>
+ <em:version>2.0.10</em:version>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:iconURL>chrome://torbutton/skin/tor.png</em:iconURL>
1
0

22 Jan '19
commit fcbc57dc246ff38d7b04618ccab589c6cf33bad3
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 18 09:14:52 2019 +0000
Bug 29035: Post-YE campaign clean-up 2018
Removing the donation banner.
---
src/chrome/content/aboutTor/aboutTor-content.js | 30 ++-----
src/chrome/content/aboutTor/aboutTor.xhtml | 55 +++---------
src/chrome/content/torbutton.js | 18 ++--
src/chrome/locale/ar/aboutTor.dtd | 19 ----
src/chrome/locale/bn-BD/aboutTor.dtd | 19 ----
src/chrome/locale/ca/aboutTor.dtd | 19 ----
src/chrome/locale/cs/aboutTor.dtd | 19 ----
src/chrome/locale/da/aboutTor.dtd | 19 ----
src/chrome/locale/de/aboutTor.dtd | 19 ----
src/chrome/locale/el/aboutTor.dtd | 19 ----
src/chrome/locale/en-US/aboutTor.dtd | 19 ----
src/chrome/locale/es-AR/aboutTor.dtd | 14 ---
src/chrome/locale/es/aboutTor.dtd | 19 ----
src/chrome/locale/eu/aboutTor.dtd | 19 ----
src/chrome/locale/fa/aboutTor.dtd | 19 ----
src/chrome/locale/fr/aboutTor.dtd | 19 ----
src/chrome/locale/ga/aboutTor.dtd | 19 ----
src/chrome/locale/he/aboutTor.dtd | 19 ----
src/chrome/locale/hu/aboutTor.dtd | 19 ----
src/chrome/locale/id/aboutTor.dtd | 19 ----
src/chrome/locale/is/aboutTor.dtd | 19 ----
src/chrome/locale/it/aboutTor.dtd | 19 ----
src/chrome/locale/ja/aboutTor.dtd | 19 ----
src/chrome/locale/ka/aboutTor.dtd | 19 ----
src/chrome/locale/ko/aboutTor.dtd | 19 ----
src/chrome/locale/nb/aboutTor.dtd | 19 ----
src/chrome/locale/nl/aboutTor.dtd | 19 ----
src/chrome/locale/pl/aboutTor.dtd | 19 ----
src/chrome/locale/pt-BR/aboutTor.dtd | 19 ----
src/chrome/locale/ru/aboutTor.dtd | 19 ----
src/chrome/locale/sv/aboutTor.dtd | 19 ----
src/chrome/locale/tr/aboutTor.dtd | 19 ----
src/chrome/locale/vi/aboutTor.dtd | 19 ----
src/chrome/locale/zh-CN/aboutTor.dtd | 19 ----
src/chrome/locale/zh-TW/aboutTor.dtd | 19 ----
src/chrome/skin/aboutTor.css | 114 +++++++-----------------
src/chrome/skin/donation_banner_image_3x.png | Bin 71927 -> 0 bytes
src/chrome/skin/newsletter_3x.png | Bin 0 -> 6735 bytes
src/defaults/preferences/preferences.js | 2 +-
39 files changed, 61 insertions(+), 761 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index ccb9139d..ff5a970b 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -24,7 +24,7 @@ let { bindPrefAndInit, show_torbrowser_manual } = Cu.import("resource://torbutto
var AboutTorListener = {
kAboutTorLoadedMessage: "AboutTor:Loaded",
kAboutTorChromeDataMessage: "AboutTor:ChromeData",
- kAboutTorHideDonationBanner: "AboutTor:HideDonationBanner",
+ kAboutTorHideTorNewsBanner: "AboutTor:HideTorNewsBanner",
get isAboutTor() {
return content.document.documentURI.toLowerCase() == "about:tor";
@@ -61,24 +61,20 @@ var AboutTorListener = {
setupBannerClosing: function () {
let that = this;
- let closer = content.document.getElementById("donation-banner-closer");
+ let closer = content.document.getElementById("tornews-banner-closer");
closer.addEventListener("click", function () {
- sendAsyncMessage(that.kAboutTorHideDonationBanner);
+ sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
});
- let button = content.document.getElementById("donation-banner-button");
- button.addEventListener("click", function () {
+ let link = content.document.querySelector("#tornews-banner-message a");
+ link.addEventListener("click", function () {
// Wait until page unloads so we don't hide banner before that.
content.addEventListener("unload", function () {
- sendAsyncMessage(that.kAboutTorHideDonationBanner);
+ sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
});
});
- bindPrefAndInit("extensions.torbutton.donation_banner_countdown2",
- countdown => {
- if (content.document && content.document.body) {
- content.document.body.setAttribute(
- "show-donation-banner", countdown > 0);
- }
- });
+ bindPrefAndInit("extensions.torbutton.tornews_banner_countdown",
+ countdown => content.document.body.setAttribute(
+ "show-tornews-banner", countdown > 0));
},
onPageLoad: function() {
@@ -128,14 +124,6 @@ var AboutTorListener = {
content.document.getElementById("manualLink").href =
"https://tb-manual.torproject.org/" + aLocale;
- // Don't use "Count Me In" phrase in non-en-US locales
- if (!aLocale.startsWith("en")) {
- let button = content.document.getElementById("donation-banner-button");
- button.innerHTML = button.getAttribute("data-0");
- let theURL = button.getAttribute("href");
- button.setAttribute("href", theURL.slice(0,-2));
- }
-
// Display the Tor Browser product name and version.
try {
const kBrandBundle = "chrome://branding/locale/brand.properties";
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 52fab695..87fe8307 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -31,54 +31,21 @@ window.addEventListener("pageshow", function() {
</script>
</head>
<body dir="&locale.dir;">
- <div id="donation-banner">
- <div id="donation-banner-image"></div>
- <div id="donation-banner-lines">
- <div id="donation-banner-line1">&aboutTor.donationBanner.line1;</div>
- <div id="donation-banner-line2"
- data-6="&aboutTor.donationBanner.line2e;"
- data-7="&aboutTor.donationBanner.line2f;"
- data-8="&aboutTor.donationBanner.line2g;"
- data-9="&aboutTor.donationBanner.line2h;"
- data-10="&aboutTor.donationBanner.line2i;"
- data-11="&aboutTor.donationBanner.line2j;">
- &aboutTor.donationBanner.line2e;
+ <div id="tornews-banner">
+ <div><!--EMPTY SPACER DIV--></div>
+ <div id="tornews-banner-message">
+ <div id="tornews-banner-icon"></div>
+ <div>&aboutTor.newsletter.tagline;
+ <a href="https://newsletter.torproject.org">
+ &aboutTor.newsletter.link_text;
+ </a>
</div>
- <div id="donation-banner-line3"
- data-b="&aboutTor.donationBanner.line3b;">
- &aboutTor.donationBanner.line3;</div>
- <a id="donation-banner-button"
- href="https://www.torproject.org/donate/donate-sin-tbd0-0"
- type="button"
- data-0="&aboutTor.donationBanner.buttonA;"
- data-1="&aboutTor.donationBanner.buttonB;">
- &aboutTor.donationBanner.buttonA;
- </a>
</div>
- <div id="donation-banner-closer">×</div>
+ <div id="tornews-banner-closer">×</div>
</div>
-<script type="text/javascript">
- <![CDATA[
- let lineChoice = 6 + Math.floor(Math.random() * 6);
- let line2 = document.getElementById("donation-banner-line2");
- let line2text = line2.getAttribute(`data-${lineChoice}`);
- let line2pieces = line2text.split(" ");
- let line2end = '<span>' + line2pieces.pop() + '</span>';
- line2pieces.push(line2end);
- line2.innerHTML = line2pieces.join(" ");
- line3 = document.getElementById("donation-banner-line3");
- if (lineChoice === 11) {
- line3.innerHTML = line3.getAttribute("data-b");
- }
- let buttonChoice = Math.floor(Math.random() * 2);
- let button = document.getElementById("donation-banner-button");
- button.innerHTML = button.getAttribute(`data-${buttonChoice}`);
- button.setAttribute("href",
- `https://www.torproject.org/donate/donate-sin-tbd${lineChoice}-${buttonChoice}`);
-]]>
-</script>
- <div id="torstatus-version"/>
+
<div class="torcontent-container">
+ <div id="torstatus-version"/>
<div id="torstatus" class="top">
<div id="torstatus-on-container" class="hideIfTorOff torstatus-container">
<div class="heading1">&aboutTor.ready.label;</div>
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 864d1d2e..03dc3563 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -19,7 +19,7 @@ const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion"
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
const k_tb_last_update_check_pref = "extensions.torbutton.lastUpdateCheck";
const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
-const k_tb_donation_banner_countdown = "extensions.torbutton.donation_banner_countdown2";
+const k_tb_tornews_banner_countdown = "extensions.torbutton.tornews_banner_countdown";
var m_tb_prefs = Services.prefs;
@@ -233,10 +233,10 @@ function torbutton_init_toolbutton()
}
// Show the Sign Up for Tor News banner a finite number of times.
-function torbutton_donation_banner_countdown() {
- let count = m_tb_prefs.getIntPref(k_tb_donation_banner_countdown, 0);
+function torbutton_tornews_banner_countdown() {
+ let count = m_tb_prefs.getIntPref(k_tb_tornews_banner_countdown, 0);
if (count > 0) {
- m_tb_prefs.setIntPref(k_tb_donation_banner_countdown, count - 1);
+ m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, count - 1);
}
}
@@ -348,10 +348,10 @@ function torbutton_init() {
// Add about:tor IPC message listener.
window.messageManager.addMessageListener("AboutTor:Loaded",
torbutton_abouttor_message_handler);
- window.messageManager.addMessageListener("AboutTor:HideDonationBanner",
+ window.messageManager.addMessageListener("AboutTor:HideTorNewsBanner",
torbutton_abouttor_message_handler);
- torbutton_donation_banner_countdown();
+ torbutton_tornews_banner_countdown();
setupPreferencesForMobile();
@@ -431,9 +431,9 @@ var torbutton_abouttor_message_handler = {
aMessage.target.messageManager.sendAsyncMessage("AboutTor:ChromeData",
this.chromeData);
break;
- case "AboutTor:HideDonationBanner":
- torbutton_log(5, "message AboutTor:HideDonationBanner received");
- m_tb_prefs.setIntPref(k_tb_donation_banner_countdown, 0);
+ case "AboutTor:HideTorNewsBanner":
+ torbutton_log(5, "message AboutTor:HideTorNewsBanner received");
+ m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, 0);
break;
}
},
diff --git a/src/chrome/locale/ar/aboutTor.dtd b/src/chrome/locale/ar/aboutTor.dtd
index 7fda4740..878d860e 100644
--- a/src/chrome/locale/ar/aboutTor.dtd
+++ b/src/chrome/locale/ar/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "احصل على آخر أخبار تور مباشرة على بريدك">
<!ENTITY aboutTor.newsletter.link_text "اشترك للحصول على أخبار تور.">
-
-<!ENTITY aboutTor.donationBanner.line1 "تور: نقاط القوة">
-
-<!ENTITY aboutTor.donationBanner.line2a "المجهولية تحتاج لصحبة.">
-<!ENTITY aboutTor.donationBanner.line2b "ساعد في تقدم حقوق الإنسان.">
-<!ENTITY aboutTor.donationBanner.line2c "انتصر للحرية.">
-<!ENTITY aboutTor.donationBanner.line2d "احم خصوصية الملايين.">
-<!ENTITY aboutTor.donationBanner.line2e "حافظ على قوة تور.">
-<!ENTITY aboutTor.donationBanner.line2f "نحتاج دعمك.">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "تبرع اليوم، وستجاريك موزيلا وتبرع بنفس المبلغ.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "تبرع الآن">
-<!ENTITY aboutTor.donationBanner.buttonB "سأشارك">
diff --git a/src/chrome/locale/bn-BD/aboutTor.dtd b/src/chrome/locale/bn-BD/aboutTor.dtd
index fdac71be..0896f075 100644
--- a/src/chrome/locale/bn-BD/aboutTor.dtd
+++ b/src/chrome/locale/bn-BD/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "টর থেকে সর্বশেষ খবর নিন সোজা আপনার ইনবক্সে ।">
<!ENTITY aboutTor.newsletter.link_text "টর নিউজ-এর জন্য সাইন আপ করুন ।">
-
-<!ENTITY aboutTor.donationBanner.line1 "টর: সংখ্যাই শক্তি">
-
-<!ENTITY aboutTor.donationBanner.line2a "ছদ্মনাম বেশী ব্যবহারকারীর মধ্যে কার্যকরী।">
-<!ENTITY aboutTor.donationBanner.line2b "সার্বজনীন মানবাধিকারকে এগিয়ে নিন। ">
-<!ENTITY aboutTor.donationBanner.line2c "স্বাধীনতার জন্য এগিয়ে আসুন ">
-<!ENTITY aboutTor.donationBanner.line2d "লাখো লোকের ব্যক্তিগত গোপনীয়তা রক্ষা করুন। ">
-<!ENTITY aboutTor.donationBanner.line2e "টরকে শক্তিশালী রাখুন। ">
-<!ENTITY aboutTor.donationBanner.line2f "আপনাদের সাহায্য দরকার! ">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "অর্থ সাহায্য করুন, এবং মজিলা সমপরিমাণ সাহায্য করবে। ">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "এখুনি দান করুন! ">
-<!ENTITY aboutTor.donationBanner.buttonB "আমাকেও সাথে নিন">
diff --git a/src/chrome/locale/ca/aboutTor.dtd b/src/chrome/locale/ca/aboutTor.dtd
index 878ce7ad..ca8aee1c 100644
--- a/src/chrome/locale/ca/aboutTor.dtd
+++ b/src/chrome/locale/ca/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Obteniu les darreres novetats de Tor directament a la safata d'entrada.">
<!ENTITY aboutTor.newsletter.link_text "Inscriviu-vos a les noticies de Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Avançats drets humans universals.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protegeix la privacitat de milions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "Necessitem el teu suport!">
-<!ENTITY aboutTor.donationBanner.line2g "Recolça la llibertat a internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Defensa la web oberta.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Compta amb mi">
diff --git a/src/chrome/locale/cs/aboutTor.dtd b/src/chrome/locale/cs/aboutTor.dtd
index 31ccf6bd..2c29d50d 100644
--- a/src/chrome/locale/cs/aboutTor.dtd
+++ b/src/chrome/locale/cs/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Nechte si posílat nejnovější informace o Toru.">
<!ENTITY aboutTor.newsletter.link_text "Přihlaste se k odběru zpravodaje Toru.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Síla je v počtu">
-
-<!ENTITY aboutTor.donationBanner.line2a "Společnost se zálibou v anonymitě.">
-<!ENTITY aboutTor.donationBanner.line2b "Posílení všeobecných lidských práv.">
-<!ENTITY aboutTor.donationBanner.line2c "Postavte se za svobodu.">
-<!ENTITY aboutTor.donationBanner.line2d "Chráníme soukromí milionů lidí.">
-<!ENTITY aboutTor.donationBanner.line2e "Pomozte Toru sílit.">
-<!ENTITY aboutTor.donationBanner.line2f "Potřebujeme vaši podporu!">
-<!ENTITY aboutTor.donationBanner.line2g "Podpořte svobodu internetu.">
-<!ENTITY aboutTor.donationBanner.line2h "Braňte otevřený web.">
-<!ENTITY aboutTor.donationBanner.line2i "Podpořte online soukromí a svobodu.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla dorovná každý příspěvek až do začátku roku 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Přispějte hned a Mozilla vás dar zdvojnásobí.">
-<!ENTITY aboutTor.donationBanner.line3b "Pošlete příspěvek a ten se zdvojnásobí.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Přispějte">
-<!ENTITY aboutTor.donationBanner.buttonB "Jdu do toho">
diff --git a/src/chrome/locale/da/aboutTor.dtd b/src/chrome/locale/da/aboutTor.dtd
index bc06d980..902a84fa 100644
--- a/src/chrome/locale/da/aboutTor.dtd
+++ b/src/chrome/locale/da/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Få de seneste nyheder fra Tor direkte i din indbakke.">
<!ENTITY aboutTor.newsletter.link_text "Tilmeld Tor-nyheder.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Styrke i antal">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymitet elsker selskab.">
-<!ENTITY aboutTor.donationBanner.line2b "Avancerede universelle menneskerettigheder.">
-<!ENTITY aboutTor.donationBanner.line2c "Slå et slag for frihed.">
-<!ENTITY aboutTor.donationBanner.line2d "Beskyt privatlivet af millioner.">
-<!ENTITY aboutTor.donationBanner.line2e "Hold Tor stærk.">
-<!ENTITY aboutTor.donationBanner.line2f "Vi har brug for din støtte!">
-<!ENTITY aboutTor.donationBanner.line2g "Støt internetfrihed.">
-<!ENTITY aboutTor.donationBanner.line2h "Forsvar det åbne web.">
-<!ENTITY aboutTor.donationBanner.line2i "Støt privatliv og frihed online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla matcher hver donation frem til 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Giv i dag, og Mozilla vil matche din donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Giv nu og din gave bliver dobbelt så stærk.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donér nu">
-<!ENTITY aboutTor.donationBanner.buttonB "Jeg er med">
diff --git a/src/chrome/locale/de/aboutTor.dtd b/src/chrome/locale/de/aboutTor.dtd
index 0ffc979f..6bd2e164 100644
--- a/src/chrome/locale/de/aboutTor.dtd
+++ b/src/chrome/locale/de/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Erhalte die neuesten Nachrichten von Tor direkt in den Posteingang.">
<!ENTITY aboutTor.newsletter.link_text "Tor-Nachrichten abonnieren.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Stärke in Zahlen">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymität liebt Gemeinschaft">
-<!ENTITY aboutTor.donationBanner.line2b "Verbessere die Menschenrechte">
-<!ENTITY aboutTor.donationBanner.line2c "Setz dich ein für Freiheit.">
-<!ENTITY aboutTor.donationBanner.line2d "Schütze die Privatsphäre von Millionen Menschen.">
-<!ENTITY aboutTor.donationBanner.line2e "Mache Tor stark.">
-<!ENTITY aboutTor.donationBanner.line2f "Wir brauchen deine Unterstützung.">
-<!ENTITY aboutTor.donationBanner.line2g "Unterstütze Internetfreiheit.">
-<!ENTITY aboutTor.donationBanner.line2h "Verteidige das offene Netz.">
-<!ENTITY aboutTor.donationBanner.line2i "Unterstütze Datenschutz und Freiheit im Internet.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla unterstützt jede Spende bis 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Gib noch heute, und Mozilla wird deiner Spende entsprechen.">
-<!ENTITY aboutTor.donationBanner.line3b "Spende jetzt, und dein Geschenk wird doppelt so stark.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Spende jetzt">
-<!ENTITY aboutTor.donationBanner.buttonB "Zähl mich mit">
diff --git a/src/chrome/locale/el/aboutTor.dtd b/src/chrome/locale/el/aboutTor.dtd
index d93a5a5a..dbddba88 100644
--- a/src/chrome/locale/el/aboutTor.dtd
+++ b/src/chrome/locale/el/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Λάβετε τα τελευταία νέα του Tor κατευθείαν στα εισερχόμενα σας.">
<!ENTITY aboutTor.newsletter.link_text "Εγγραφτείτε για τα νέα του Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Ισχύς εν τη ενώσει.">
-
-<!ENTITY aboutTor.donationBanner.line2a "Η ανωνυμία αγαπά την παρέα.">
-<!ENTITY aboutTor.donationBanner.line2b "Προωθήστε τα ανθρώπινα δικαιώματα παγκοσμίως.">
-<!ENTITY aboutTor.donationBanner.line2c "Υπερασπιστείτε την ελευθερία ">
-<!ENTITY aboutTor.donationBanner.line2d "Προστατέψτε την ιδιωτικότητα εκατομμυρίων.">
-<!ENTITY aboutTor.donationBanner.line2e "Διατηρήστε το Tor ισχυρό.">
-<!ENTITY aboutTor.donationBanner.line2f "Χρειαζόμαστε την υποστήριξη σας!">
-<!ENTITY aboutTor.donationBanner.line2g "Στηρίξτε την ελευθερία στο διαδίκτυο.">
-<!ENTITY aboutTor.donationBanner.line2h "Υπερασπιστείτε τον ανοιχτό ιστό.">
-<!ENTITY aboutTor.donationBanner.line2i "Στηρίξτε την ιδιωτικότητα και την ελευθερία στο διαδίκτυο.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Δωρίστε σήμερα και το Mozilla θα δωρίσει το ίδιο ποσό!">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Κάντε μια δωρεά τώρα!">
-<!ENTITY aboutTor.donationBanner.buttonB "Υπολογίστε με">
diff --git a/src/chrome/locale/en-US/aboutTor.dtd b/src/chrome/locale/en-US/aboutTor.dtd
index a36d812c..1400d7b5 100644
--- a/src/chrome/locale/en-US/aboutTor.dtd
+++ b/src/chrome/locale/en-US/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/es-AR/aboutTor.dtd b/src/chrome/locale/es-AR/aboutTor.dtd
index fcb78004..1bb03e95 100644
--- a/src/chrome/locale/es-AR/aboutTor.dtd
+++ b/src/chrome/locale/es-AR/aboutTor.dtd
@@ -26,17 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Recibí las últimas noticias de Tor derecho en tu bandeja de entrada.">
<!ENTITY aboutTor.newsletter.link_text "Registrate en Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Fortaleza en Canidad">
-
-<!ENTITY aboutTor.donationBanner.line2a "El anonimato ama la compañía.">
-<!ENTITY aboutTor.donationBanner.line2b "Avanzar los derechos humanos universales.">
-<!ENTITY aboutTor.donationBanner.line2c "Plantarse por la libertad.">
-<!ENTITY aboutTor.donationBanner.line2d "Proteger la privacidad de millones.">
-<!ENTITY aboutTor.donationBanner.line2e "Mantener fuerte a Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "¡Necesitamos tu apoyo!">
-
-<!ENTITY aboutTor.donationBanner.line3 "Dá hoy, y Mozilla emparejará tu donación.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Doná ahora">
-<!ENTITY aboutTor.donationBanner.buttonB "Contá conmigo">
diff --git a/src/chrome/locale/es/aboutTor.dtd b/src/chrome/locale/es/aboutTor.dtd
index 2bb31865..c0934bde 100644
--- a/src/chrome/locale/es/aboutTor.dtd
+++ b/src/chrome/locale/es/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Recibe las últimas noticias de Tor directamente en tu bandeja de entrada.">
<!ENTITY aboutTor.newsletter.link_text "Inscríbete en Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: La fuerza en la cantidad">
-
-<!ENTITY aboutTor.donationBanner.line2a "El anonimato ama la compañía.">
-<!ENTITY aboutTor.donationBanner.line2b "Promover los derechos humanos universales.">
-<!ENTITY aboutTor.donationBanner.line2c "Defiende la libertad.">
-<!ENTITY aboutTor.donationBanner.line2d "Protege la privacidad de millones de personas.">
-<!ENTITY aboutTor.donationBanner.line2e "Mantén fuerte a Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Necesitamos tu apoyo.">
-<!ENTITY aboutTor.donationBanner.line2g "Apoya la libertad en internet">
-<!ENTITY aboutTor.donationBanner.line2h "Defiende la web abierta">
-<!ENTITY aboutTor.donationBanner.line2i "Apoya la privacidad y la libertad en línea.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla donará una cantidad idéntica a cada donación hasta 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Dona hoy, y Mozilla igualará tu donación.">
-<!ENTITY aboutTor.donationBanner.line3b "Dona ahora, y tu donación se duplicará.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Dona ahora.">
-<!ENTITY aboutTor.donationBanner.buttonB "Cuenta conmigo.">
diff --git a/src/chrome/locale/eu/aboutTor.dtd b/src/chrome/locale/eu/aboutTor.dtd
index 9f1224bb..123091e5 100644
--- a/src/chrome/locale/eu/aboutTor.dtd
+++ b/src/chrome/locale/eu/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/fa/aboutTor.dtd b/src/chrome/locale/fa/aboutTor.dtd
index 2f572883..a4908b04 100644
--- a/src/chrome/locale/fa/aboutTor.dtd
+++ b/src/chrome/locale/fa/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "آخرین اخبار تور را در صندوق ورودی خود دریافت کنید.">
<!ENTITY aboutTor.newsletter.link_text "ثبتنام برای اخبار تور.">
-
-<!ENTITY aboutTor.donationBanner.line1 "تور: قدرت در اعداد">
-
-<!ENTITY aboutTor.donationBanner.line2a "شرکت گمنامیت را دوست دارد.">
-<!ENTITY aboutTor.donationBanner.line2b "حمایت از حقوق بشر جهانی.">
-<!ENTITY aboutTor.donationBanner.line2c "برای آزادی ایستادگی کنید.">
-<!ENTITY aboutTor.donationBanner.line2d "از حریم خصوصی میلیونها محافظت کنید">
-<!ENTITY aboutTor.donationBanner.line2e "تور را محکم نگه دارید.">
-<!ENTITY aboutTor.donationBanner.line2f "ما به حمایت شما نیاز داریم!">
-<!ENTITY aboutTor.donationBanner.line2g "از آزادی اینترنت پشتیبانی کنید.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "از حریم شخصی و آزادی برخط دفاع کنید.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "اکنون اهداء کنید">
-<!ENTITY aboutTor.donationBanner.buttonB "روی من حساب کن">
diff --git a/src/chrome/locale/fr/aboutTor.dtd b/src/chrome/locale/fr/aboutTor.dtd
index 0df6622d..6ae2392d 100644
--- a/src/chrome/locale/fr/aboutTor.dtd
+++ b/src/chrome/locale/fr/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Obtenez les dernières nouvelles au sujet de Tor directement dans votre boîte de réception.">
<!ENTITY aboutTor.newsletter.link_text "Inscrivez-vous aux nouvelles de Tor">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor : l’union fait la force">
-
-<!ENTITY aboutTor.donationBanner.line2a "L’anonymat est contagieux.">
-<!ENTITY aboutTor.donationBanner.line2b "Promouvez les droits universels de la personne.">
-<!ENTITY aboutTor.donationBanner.line2c "Défendez la liberté.">
-<!ENTITY aboutTor.donationBanner.line2d "Protégez la vie privée de millions de personnes.">
-<!ENTITY aboutTor.donationBanner.line2e "Assurez la robustesse de Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Nous avons besoin de votre soutien !">
-<!ENTITY aboutTor.donationBanner.line2g "Soutenez la liberté sur Internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Défendez le Web ouvert.">
-<!ENTITY aboutTor.donationBanner.line2i "Soutenez la vie privé et la liberté en ligne.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla versera un montant équivalent à chaque don jusqu’en 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Faites un don aujourd’hui et Mozilla fera un don équivalent.">
-<!ENTITY aboutTor.donationBanner.line3b "Faites un don maintenant et sa force en sera doublée.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Faites un don maintenant">
-<!ENTITY aboutTor.donationBanner.buttonB "Comptez sur moi">
diff --git a/src/chrome/locale/ga/aboutTor.dtd b/src/chrome/locale/ga/aboutTor.dtd
index 1978847e..ce6fe3f5 100644
--- a/src/chrome/locale/ga/aboutTor.dtd
+++ b/src/chrome/locale/ga/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Faigh an nuacht is déanaí maidir le Tor i do bhosca isteach.">
<!ENTITY aboutTor.newsletter.link_text "Cláraigh le Nuachtlitir Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Ní neart go cur le chéile">
-
-<!ENTITY aboutTor.donationBanner.line2a "Dul i bhfolach sa slua.">
-<!ENTITY aboutTor.donationBanner.line2b "Cuir cearta daonna chun cinn.">
-<!ENTITY aboutTor.donationBanner.line2c "Seas an fód ar son na saoirse.">
-<!ENTITY aboutTor.donationBanner.line2d "Cosain príobháideachas na milliún duine.">
-<!ENTITY aboutTor.donationBanner.line2e "Cuir taca le Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Tá do chúnamh de dhíth orainn!">
-<!ENTITY aboutTor.donationBanner.line2g "Tacaigh le saoirse ar an idirlíon.">
-<!ENTITY aboutTor.donationBanner.line2h "Seas an fód ar son an Ghréasáin oscailte">
-<!ENTITY aboutTor.donationBanner.line2i "Tacaigh le príobháideachas agus le saoirse ar líne.">
-<!ENTITY aboutTor.donationBanner.line2j "Tá Mozilla ag meaitseáil gach euro a bhronntar orainn go dtí 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Tabhair síntiús airgid inniu agus tabharfaidh Mozilla an méid céanna arís dúinn.">
-<!ENTITY aboutTor.donationBanner.line3b "Beidh do bhronntanas airgid dhá uair níos láidre.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Tabhair síntiús airgid anois">
-<!ENTITY aboutTor.donationBanner.buttonB "Cuir mise san áireamh">
diff --git a/src/chrome/locale/he/aboutTor.dtd b/src/chrome/locale/he/aboutTor.dtd
index 81a4386f..6d988035 100644
--- a/src/chrome/locale/he/aboutTor.dtd
+++ b/src/chrome/locale/he/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "קבל את החדשות האחרונות מאת Tor ישירות לתיבה הנכנסת שלך.">
<!ENTITY aboutTor.newsletter.link_text "הירשם עבור חדשות Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: חוזק במספרים">
-
-<!ENTITY aboutTor.donationBanner.line2a "אלמוניות אוהבת חברה.">
-<!ENTITY aboutTor.donationBanner.line2b "זכויות אדם קדומות יקומיות.">
-<!ENTITY aboutTor.donationBanner.line2c "סנגר על חירות.">
-<!ENTITY aboutTor.donationBanner.line2d "הגן על פרטיותם של מיליונים.">
-<!ENTITY aboutTor.donationBanner.line2e "שמור על Tor חזק.">
-<!ENTITY aboutTor.donationBanner.line2f "אנחנו צריכים את תמיכתך!">
-<!ENTITY aboutTor.donationBanner.line2g "תמוך בחירות אינטרנט.">
-<!ENTITY aboutTor.donationBanner.line2h "הגן על הרשת הפתוחה.">
-<!ENTITY aboutTor.donationBanner.line2i "תמוך בפרטיות ובחירות באופן מקוון.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla משווה כל תרומה עד 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "תן היום, ו־Mozilla תשווה את תרומתך.">
-<!ENTITY aboutTor.donationBanner.line3b "תן עכשיו, והמתנה שלך הופכת לחזקה פי שניים.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "תרום עכשיו">
-<!ENTITY aboutTor.donationBanner.buttonB "החשב אותי">
diff --git a/src/chrome/locale/hu/aboutTor.dtd b/src/chrome/locale/hu/aboutTor.dtd
index cbc0c571..b5dd867d 100644
--- a/src/chrome/locale/hu/aboutTor.dtd
+++ b/src/chrome/locale/hu/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Kapja meg a legfrissebb Tor híreket közvetlenül email fiókjába.">
<!ENTITY aboutTor.newsletter.link_text "Iratkozzon fel a Tor hírekhez.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Erősség a számokban">
-
-<!ENTITY aboutTor.donationBanner.line2a "Az anonimitás szereti a cégeket.">
-<!ENTITY aboutTor.donationBanner.line2b "Általánosan növeli az emberi jogokat.">
-<!ENTITY aboutTor.donationBanner.line2c "Kiáll a szabadságért.">
-<!ENTITY aboutTor.donationBanner.line2d "Védi milliók magánéletét.">
-<!ENTITY aboutTor.donationBanner.line2e "Tartsuk a Tor-t erősnek.">
-<!ENTITY aboutTor.donationBanner.line2f "Szükségünk van a támogatására!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Adjon ma és a Mozilla is annyival támogat.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Támogasson most">
-<!ENTITY aboutTor.donationBanner.buttonB "Számítsatok bele">
diff --git a/src/chrome/locale/id/aboutTor.dtd b/src/chrome/locale/id/aboutTor.dtd
index 9370e3ad..3a4e3a27 100644
--- a/src/chrome/locale/id/aboutTor.dtd
+++ b/src/chrome/locale/id/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Dapatkan berita Tor terbaru langsung ke inbox Anda.">
<!ENTITY aboutTor.newsletter.link_text "Daftar untuk mendapatkan Berita Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/is/aboutTor.dtd b/src/chrome/locale/is/aboutTor.dtd
index 0fd4f643..0a259108 100644
--- a/src/chrome/locale/is/aboutTor.dtd
+++ b/src/chrome/locale/is/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Fáðu nýjustu fréttir af Tor beint í pósthólfið þitt.">
<!ENTITY aboutTor.newsletter.link_text "Skráðu þig til að fá Tor-fréttir.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Styrkur í fjöldanum">
-
-<!ENTITY aboutTor.donationBanner.line2a "Nafnleysi krefst félagsskapar.">
-<!ENTITY aboutTor.donationBanner.line2b "Setjum mannréttindi á oddinn.">
-<!ENTITY aboutTor.donationBanner.line2c "Stöndum saman með frelsinu.">
-<!ENTITY aboutTor.donationBanner.line2d "Verndum friðhelgi milljóna manna.">
-<!ENTITY aboutTor.donationBanner.line2e "Höldum Tor sterku">
-<!ENTITY aboutTor.donationBanner.line2f "Við þörfnumst stuðnings þíns!">
-<!ENTITY aboutTor.donationBanner.line2g "Stattu með frelsi á netinu.">
-<!ENTITY aboutTor.donationBanner.line2h "Verðu hinn opna vef.">
-<!ENTITY aboutTor.donationBanner.line2i "Verðu rétt þinn til einkalífs og frelsis á netinu.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla jafnar upp hvert fjárframlag allt til 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Gefðu í dag - og Mozilla mun jafna framlag þitt.">
-<!ENTITY aboutTor.donationBanner.line3b "Gefðu upphæð núna - og gjöfin þín mun tvöfaldast.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Styrkja núna">
-<!ENTITY aboutTor.donationBanner.buttonB "Reiknið með mér">
diff --git a/src/chrome/locale/it/aboutTor.dtd b/src/chrome/locale/it/aboutTor.dtd
index daad7130..b9687c45 100644
--- a/src/chrome/locale/it/aboutTor.dtd
+++ b/src/chrome/locale/it/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Ottieni le ultime info da Tor direttamente nella tua casella di posta elettronica.">
<!ENTITY aboutTor.newsletter.link_text "Registrati alle Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: la Forza in Numeri">
-
-<!ENTITY aboutTor.donationBanner.line2a "L'anonimato ama l'azienda.">
-<!ENTITY aboutTor.donationBanner.line2b "Migliora i diritti universali dell'uomo.">
-<!ENTITY aboutTor.donationBanner.line2c "Difendi la libertà.">
-<!ENTITY aboutTor.donationBanner.line2d "Protegge la privacy di milioni.">
-<!ENTITY aboutTor.donationBanner.line2e "Mantieni Tor forte.">
-<!ENTITY aboutTor.donationBanner.line2f "Abbiamo bisogno del tuo supporto!">
-<!ENTITY aboutTor.donationBanner.line2g "Supporta la libertà di internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Difendi il web aperto.">
-<!ENTITY aboutTor.donationBanner.line2i "Sostieni la privacy e la libertà online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla corrisponderà tutte le donazioni fino al 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Dai oggi, e Mozilla ricambierà la tua donazione.">
-<!ENTITY aboutTor.donationBanner.line3b "Dona ora e il tuo regalo diventerà due volte più valoroso.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Dona Ora">
-<!ENTITY aboutTor.donationBanner.buttonB "Contami">
diff --git a/src/chrome/locale/ja/aboutTor.dtd b/src/chrome/locale/ja/aboutTor.dtd
index e5c0d7ea..c8963418 100644
--- a/src/chrome/locale/ja/aboutTor.dtd
+++ b/src/chrome/locale/ja/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "自由のために立ち上がる。">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "我々にはあなたのサポートが必要です!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "今すぐ寄付">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/ka/aboutTor.dtd b/src/chrome/locale/ka/aboutTor.dtd
index 3b5bdad3..ec34af9e 100644
--- a/src/chrome/locale/ka/aboutTor.dtd
+++ b/src/chrome/locale/ka/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "მიიღეთ სიახლეები Tor-ისგან, პირდაპირ თქვენს საფოსტო ყუთში.">
<!ENTITY aboutTor.newsletter.link_text "გამოიწერეთ Tor-ის სიახლეები.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: სიძლიერე ციფრებში">
-
-<!ENTITY aboutTor.donationBanner.line2a "ვინაობის გამჟღავნებისგან დაცვა საჭიროებს ხალხის სიმრავლეს.">
-<!ENTITY aboutTor.donationBanner.line2b "გააუმჯობესეთ ადამიანის უფლებების დაცვა.">
-<!ENTITY aboutTor.donationBanner.line2c "მხარი დაუჭირეთ თავისუფლებას.">
-<!ENTITY aboutTor.donationBanner.line2d "დაიცავით მილიონობით ადამიანის პირადი მონაცემები.">
-<!ENTITY aboutTor.donationBanner.line2e "შეინარჩუნეთ Tor ძლიერი.">
-<!ENTITY aboutTor.donationBanner.line2f "ჩვენ გვესაჭიროება თქვენი გვერდში დგომა!">
-<!ENTITY aboutTor.donationBanner.line2g "მხარი დაუჭირეთ თავისუფალ ინტერნეტს.">
-<!ENTITY aboutTor.donationBanner.line2h "დაიცავით ინტერნეტის ღიაობა.">
-<!ENTITY aboutTor.donationBanner.line2i "მხარი დაუჭირეთ პირადი მონაცემების ხელშეუხებლობისა და თავისუფლების უზრუნველყოფას ინტერნეტსივრცეში.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla გააორმაგებს თითოეულ შემოწირულ შენატანს 2019 წლამდე.">
-
-<!ENTITY aboutTor.donationBanner.line3 "გაეცით დღესვე და Mozilla გააორმაგებს თქვენს შემოწირულობას.">
-<!ENTITY aboutTor.donationBanner.line3b "გაეცით თანხა ახლავე და თქვენი შემოწირულობა ორჯერ მეტად მძლავრი იქნება.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "თანხის გაღება ახლავე">
-<!ENTITY aboutTor.donationBanner.buttonB "ჩემი წვლილის აღნიშვნა">
diff --git a/src/chrome/locale/ko/aboutTor.dtd b/src/chrome/locale/ko/aboutTor.dtd
index cf8143ab..984b53af 100644
--- a/src/chrome/locale/ko/aboutTor.dtd
+++ b/src/chrome/locale/ko/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "최신의 Tor 뉴스를 받은 편지함에 곧장 받으십시오.">
<!ENTITY aboutTor.newsletter.link_text "Tor 뉴스를 구독.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/nb/aboutTor.dtd b/src/chrome/locale/nb/aboutTor.dtd
index a5e61845..89bd5a7f 100644
--- a/src/chrome/locale/nb/aboutTor.dtd
+++ b/src/chrome/locale/nb/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Få de siste nyhetene fra Tor rett til innboksen din.">
<!ENTITY aboutTor.newsletter.link_text "Registrer deg for Tor Nyheter.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/nl/aboutTor.dtd b/src/chrome/locale/nl/aboutTor.dtd
index 8929fc65..822c3548 100644
--- a/src/chrome/locale/nl/aboutTor.dtd
+++ b/src/chrome/locale/nl/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Krijg het laatste Tor nieuws regelrecht in jouw inbox.">
<!ENTITY aboutTor.newsletter.link_text "Meld je aan voor Tor Nieuws.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Kracht in Nummers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Universele rechten van de mens bevorderen.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Bescherm de privacy van miljoenen.">
-<!ENTITY aboutTor.donationBanner.line2e "Houdt Tor sterk.">
-<!ENTITY aboutTor.donationBanner.line2f "We hebben jouw ondersteuning nodig!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Geef vandaag, en Mozilla geeft hetzelfde bedrag.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Geef Nu">
-<!ENTITY aboutTor.donationBanner.buttonB "Ik Doe Mee">
diff --git a/src/chrome/locale/pl/aboutTor.dtd b/src/chrome/locale/pl/aboutTor.dtd
index b523d30d..fe79cc3d 100644
--- a/src/chrome/locale/pl/aboutTor.dtd
+++ b/src/chrome/locale/pl/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Siła w liczbach">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/pt-BR/aboutTor.dtd b/src/chrome/locale/pt-BR/aboutTor.dtd
index 02a848a7..130f2b13 100644
--- a/src/chrome/locale/pt-BR/aboutTor.dtd
+++ b/src/chrome/locale/pt-BR/aboutTor.dtd
@@ -27,22 +27,3 @@
<!ENTITY aboutTor.newsletter.tagline "Receba as últimas notícias do Tor diretamente na sua caixa de e-mail.">
<!ENTITY aboutTor.newsletter.link_text "Inscreva-se para receber Notícias do Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Nossa Força em Números">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonimidade adora companhia ">
-<!ENTITY aboutTor.donationBanner.line2b "Avançar os direitos humanos universais.">
-<!ENTITY aboutTor.donationBanner.line2c "Defender a liberdade.">
-<!ENTITY aboutTor.donationBanner.line2d "Proteger a privacidade de milhões de pessoas.">
-<!ENTITY aboutTor.donationBanner.line2e "Manter a força do Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Precisamos do seu apoio!">
-<!ENTITY aboutTor.donationBanner.line2g "Apóie a liberdade na internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Defenda a web aberta.">
-<!ENTITY aboutTor.donationBanner.line2i "Apóie a privacidade e liberdade online.">
-<!ENTITY aboutTor.donationBanner.line2j "A Mozilla está combinando cada doação até 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Doe hoje, e a Mozilla duplicará a sua doação.">
-<!ENTITY aboutTor.donationBanner.line3b "Dê agora, e seu presente se torna duas vezes mais forte.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Doar Agora">
-<!ENTITY aboutTor.donationBanner.buttonB "Estou dentro">
diff --git a/src/chrome/locale/ru/aboutTor.dtd b/src/chrome/locale/ru/aboutTor.dtd
index 1bc187b8..b3d2f631 100644
--- a/src/chrome/locale/ru/aboutTor.dtd
+++ b/src/chrome/locale/ru/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Получайте последние новости Tor прямо на ваш почтовый ящик.">
<!ENTITY aboutTor.newsletter.link_text "Подпишитесь на новости Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Сила в цифрах">
-
-<!ENTITY aboutTor.donationBanner.line2a "Анонимность уважает компании.">
-<!ENTITY aboutTor.donationBanner.line2b "Продвижение всеобщих прав человека.">
-<!ENTITY aboutTor.donationBanner.line2c "Встаньте на свободу.">
-<!ENTITY aboutTor.donationBanner.line2d "Обеспечиваем конфиденциальность миллионам людей.">
-<!ENTITY aboutTor.donationBanner.line2e "Сохраните Tor сильным.">
-<!ENTITY aboutTor.donationBanner.line2f "Нам нужна твоя поддержка!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Пожертвуйте сегодня и Mozilla удвоит Ваше пожертвование.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Пожертвовать">
-<!ENTITY aboutTor.donationBanner.buttonB "Посчитайте">
diff --git a/src/chrome/locale/sv/aboutTor.dtd b/src/chrome/locale/sv/aboutTor.dtd
index f2938e54..423d6e96 100644
--- a/src/chrome/locale/sv/aboutTor.dtd
+++ b/src/chrome/locale/sv/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Få de senaste nyheterna från Tor direkt till din inkorg.">
<!ENTITY aboutTor.newsletter.link_text "Anmäl dig till Tor-nyheter.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Styrka i antal">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymitet älskar sällskap.">
-<!ENTITY aboutTor.donationBanner.line2b "Främja universella mänskliga rättigheter.">
-<!ENTITY aboutTor.donationBanner.line2c "Stå upp för frihet.">
-<!ENTITY aboutTor.donationBanner.line2d "Skydda miljontals privatliv.">
-<!ENTITY aboutTor.donationBanner.line2e "Håll Tor stark.">
-<!ENTITY aboutTor.donationBanner.line2f "Vi behöver ert stöd!">
-<!ENTITY aboutTor.donationBanner.line2g "Stöd internetfrihet.">
-<!ENTITY aboutTor.donationBanner.line2h "Försvara den öppna webben.">
-<!ENTITY aboutTor.donationBanner.line2i "Stöd integritet och frihet på nätet.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla matchar varje donation fram till 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Ge idag, och Mozilla kommer att matcha din donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Ge nu, och din gåva blir dubbelt så stark.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donera nu">
-<!ENTITY aboutTor.donationBanner.buttonB "Räkna med mig">
diff --git a/src/chrome/locale/tr/aboutTor.dtd b/src/chrome/locale/tr/aboutTor.dtd
index 789e3d81..ce8761f2 100644
--- a/src/chrome/locale/tr/aboutTor.dtd
+++ b/src/chrome/locale/tr/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Tor ile ilgili son gelişmeler doğrudan e-posta kutunuza gelsin.">
<!ENTITY aboutTor.newsletter.link_text "Tor Haber Bültenine Abone Olun">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Birlikten Kuvvet Doğar">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonimlik birlikteliği sever.">
-<!ENTITY aboutTor.donationBanner.line2b "Evrensel insan haklarını geliştir.">
-<!ENTITY aboutTor.donationBanner.line2c "Özgürlüğü savun.">
-<!ENTITY aboutTor.donationBanner.line2d "Milyonların gizliliğini koru.">
-<!ENTITY aboutTor.donationBanner.line2e "Tor uygulamasının gücünü koru.">
-<!ENTITY aboutTor.donationBanner.line2f "Desteğinize ihtiyacımız var!">
-<!ENTITY aboutTor.donationBanner.line2g "İnternet özgürlüğünü destekleyin">
-<!ENTITY aboutTor.donationBanner.line2h "Açık web düşüncesini savunun.">
-<!ENTITY aboutTor.donationBanner.line2i "Kişisel gizliliği ve çevrimiçi özgürlüğü destekleyin.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla 2019 yılına kadar yapılan her bağışa karşılık veriyor.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Bugün yaptığınız her bağış kadar Mozilla da bağış yapacak.">
-<!ENTITY aboutTor.donationBanner.line3b "Bağış yapın ve hediyeniz iki kat güzel olsun.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Şimdi Bağış Yapın">
-<!ENTITY aboutTor.donationBanner.buttonB "Ben de Varım">
diff --git a/src/chrome/locale/vi/aboutTor.dtd b/src/chrome/locale/vi/aboutTor.dtd
index 09c26101..f8bc3896 100644
--- a/src/chrome/locale/vi/aboutTor.dtd
+++ b/src/chrome/locale/vi/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Nhận thông tin mới nhất từ Tor được gửi tới hộp thư của bạn.">
<!ENTITY aboutTor.newsletter.link_text "Đăng kí nhận tin tức từ Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Sức mạnh nằm ở Số lượng người tham gia mạng lưới">
-
-<!ENTITY aboutTor.donationBanner.line2a "Việc ẩn danh cần sự đồng hành của cộng đồng">
-<!ENTITY aboutTor.donationBanner.line2b "Nâng cao phổ biến nhân quyền.">
-<!ENTITY aboutTor.donationBanner.line2c "Đứng lên vì tự do.">
-<!ENTITY aboutTor.donationBanner.line2d "Bảo vệ sự riêng tư của hàng triệu người.">
-<!ENTITY aboutTor.donationBanner.line2e "Giữ cho Tor trở nên mạnh mẽ.">
-<!ENTITY aboutTor.donationBanner.line2f "Chúng tôi cần sự hỗ trợ của bạn!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Hãy đóng góp ngay hôm nay, và Mozilla sẽ đóng góp tương ứng với phần của bạn.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Đóng góp Ngay bây giờ">
-<!ENTITY aboutTor.donationBanner.buttonB "Hãy cho tôi tham gia">
diff --git a/src/chrome/locale/zh-CN/aboutTor.dtd b/src/chrome/locale/zh-CN/aboutTor.dtd
index 2707eb0a..36e9b9a5 100644
--- a/src/chrome/locale/zh-CN/aboutTor.dtd
+++ b/src/chrome/locale/zh-CN/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "通过邮件获取 Tor 的最新消息。">
<!ENTITY aboutTor.newsletter.link_text "注册 Tor 新闻列表">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor:众人拾柴火焰高">
-
-<!ENTITY aboutTor.donationBanner.line2a "匿名的表示对公司的爱意。">
-<!ENTITY aboutTor.donationBanner.line2b "推进基本人权。">
-<!ENTITY aboutTor.donationBanner.line2c "为自由呐喊。">
-<!ENTITY aboutTor.donationBanner.line2d "保护数百万人的隐私。">
-<!ENTITY aboutTor.donationBanner.line2e "让 Tor 网络保持健壮。">
-<!ENTITY aboutTor.donationBanner.line2f "我们需要你的帮助!">
-<!ENTITY aboutTor.donationBanner.line2g "支持互联网自由。">
-<!ENTITY aboutTor.donationBanner.line2h "捍卫互联网的开放。">
-<!ENTITY aboutTor.donationBanner.line2i "保障隐私和网络自由。">
-<!ENTITY aboutTor.donationBanner.line2j "直到2019年,Mozilla 将匹配所有捐赠。">
-
-<!ENTITY aboutTor.donationBanner.line3 "现在捐款, Mozilla 也能从你的捐赠中受益。">
-<!ENTITY aboutTor.donationBanner.line3b "现在捐赠,您的支持将化作双倍的力量。">
-
-<!ENTITY aboutTor.donationBanner.buttonA "现在就捐助">
-<!ENTITY aboutTor.donationBanner.buttonB "算我一个">
diff --git a/src/chrome/locale/zh-TW/aboutTor.dtd b/src/chrome/locale/zh-TW/aboutTor.dtd
index bcbec612..bd5fa14d 100644
--- a/src/chrome/locale/zh-TW/aboutTor.dtd
+++ b/src/chrome/locale/zh-TW/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "將 Tor 的最新消息直接傳送到您的收件匣。">
<!ENTITY aboutTor.newsletter.link_text "訂閱 Tor 的新資訊。">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "我們需要您的支援!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "今日您捐款,Mozilla 也會捐出相同數額。">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "立刻捐款">
-<!ENTITY aboutTor.donationBanner.buttonB "我也要加入!">
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 9f195cfd..ce0a2f29 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -272,126 +272,74 @@ body:not([showmanual]) .showForManual {
border-radius: 50px 50px 0 0;
}
-/* Donation Banner
+/* Tor News Signup Banner
* While this banner is present, we need to
* offset the elements normally at the top of
* the window.
*/
-#donation-banner {
+#tornews-banner {
display: flex;
- align-items: stretch;
+ align-items: center;
background-color: white;
color: var(--abouttor-bg-toron-color);
font-size: 16px;
- height: 200px;
- justify-content: center;
+ height: 60px;
+ justify-content: space-between;
left: 0px;
right: 0px;
top: 0px;
- position: absolute;
- transform: translateY(-200px);
+ transform: translateY(-60px);
transition: transform 200ms;
- z-index: 1;
}
-body[show-donation-banner="true"] #donation-banner {
+body[show-tornews-banner="true"] #tornews-banner {
transform: translateY(0px);
transition: transform 0ms;
}
-#donation-banner-image {
- background: url('chrome://torbutton/skin/donation_banner_image_3x.png') no-repeat center center;
- background-size: contain;
- height: 190px;
- margin: 10px 10px 0px 0px;
- width: 400px;
+#tornews-banner-message {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+
+#tornews-banner-message a {
+ color: var(--abouttor-bg-toron-color);
+}
+
+#tornews-banner-icon {
+ background: url('chrome://torbutton/skin/newsletter_3x.png') no-repeat center center;
+ background-size: cover;
+ height: 32px;
+ margin: 0px 16px;
+ width: 32px;
}
-#donation-banner-closer {
+#tornews-banner-closer {
display: flex;
align-items: center;
font-size: 20px;
height: 22px;
justify-content: center;
- margin: 4px;
+ margin: 4px 20px;
padding: 4px;
- position: absolute;
- offset-inline-end: 0px;
- top: 0px;
width: 22px;
-moz-user-select: none;
}
-#donation-banner-closer:hover {
+#tornews-banner-closer:hover {
background-color: gray;
cursor: pointer;
}
-#donation-banner-lines {
- align-items: start;
- display: flex;
- flex-direction: column;
- justify-content: space-around;
- padding: 20px 0px;
-}
-
-#donation-banner-line1 {
- font-size: 11px;
- font-weight: bold;
- text-transform: uppercase;
-}
-
-#donation-banner-line2 {
- font-size: 20px;
- font-weight: bold;
-}
-
-#donation-banner-line2 span {
- background-color: #a9fef8;
-}
-
-#donation-banner-line3 {
- font-size: 14px;
-}
-
-#donation-banner-button {
- background-color: var(--abouttor-bg-toron-color);
- border-radius: 3px;
- border: 0px;
- color: white;
- font-size: 14px;
- font-weight: bold;
- margin: 10px 0px;
- padding: 10px 24px;
- text-decoration: none;
-}
-
-#donation-banner-button:hover {
- background-color: #683d7d;
- cursor: pointer;
-}
-
-body[show-donation-banner="false"] .torcontent-container,
-body[show-donation-banner="false"] .onion-pattern-container,
-body[show-donation-banner="false"] #torstatus-version,
-body[show-donation-banner="false"] #onboarding-overlay-button {
+body[show-tornews-banner="false"] #torstatus-version,
+body[show-tornews-banner="false"] #onboarding-overlay-button {
transition: transform 200ms;
}
-body[show-donation-banner="true"] .torcontent-container,
-body[show-donation-banner="true"] .onion-pattern-container {
- transform: translateY(80px);
+body[show-tornews-banner="true"] #torstatus-version,
+body[show-tornews-banner="true"] #onboarding-overlay-button {
+ transform: translateY(60px);
transition: transform 0ms;
}
-
-body[show-donation-banner="true"] .onion-pattern-container {
- position: fixed;
-}
-
-body[show-donation-banner="true"] #torstatus-version,
-body[show-donation-banner="true"] #onboarding-overlay-button {
- transform: translateY(200px);
- transition: transform 0ms;
- position: absolute;
-}
diff --git a/src/chrome/skin/donation_banner_image_3x.png b/src/chrome/skin/donation_banner_image_3x.png
deleted file mode 100644
index 6eb7fbbb..00000000
Binary files a/src/chrome/skin/donation_banner_image_3x.png and /dev/null differ
diff --git a/src/chrome/skin/newsletter_3x.png b/src/chrome/skin/newsletter_3x.png
new file mode 100644
index 00000000..821572fa
Binary files /dev/null and b/src/chrome/skin/newsletter_3x.png differ
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index eb055a65..45b60ce8 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -6,7 +6,7 @@ pref("extensions.torbutton.logmethod",1); // 0=stdout, 1=errorconsole, 2=debuglo
pref("extensions.torbutton.display_circuit", true);
pref("extensions.torbutton(a)torproject.org.description", "chrome://torbutton/locale/torbutton.properties");
pref("extensions.torbutton.updateNeeded", false);
-pref("extensions.torbutton.donation_banner_countdown2", 12);
+pref("extensions.torbutton.tornews_banner_countdown", 4);
// Tor check and proxy prefs
pref("extensions.torbutton.test_enabled",true);
1
0

22 Jan '19
commit ad06d1ca99f2dfd110ca10349db6c4a889f67d48
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 22 08:00:28 2019 +0000
Bug 29035: Add link for newsletter sign-up
Patch based on a version written by Arthur Edelstein
---
src/chrome/content/aboutTor/aboutTor.xhtml | 7 +++++--
src/chrome/skin/aboutTor.css | 13 +++++++++++++
src/chrome/skin/icon-newsletter.png | Bin 0 -> 649 bytes
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 6082db0c..a4ba2a84 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -60,9 +60,12 @@ window.addEventListener("pageshow", function() {
</div>
<div id="bottom">
- <p class="showForManual moreInfoLink">&aboutTor.torbrowser_user_manual_questions.label;
+ <p id="manual" class="showForManual moreInfoLink">&aboutTor.torbrowser_user_manual_questions.label;
<a id="manualLink" target="_blank">&aboutTor.torbrowser_user_manual_link.label;</a></p>
- <p>&aboutTor.tor_mission.label;
+ <p id="newsletter" class="moreInfoLink"><img class="imageStyle" src="resource://torbutton-assets/icon-newsletter.png"/><br/>&aboutTor.newsletter.tagline;<br/>
+ <a href="https://newsletter.torproject.org">&aboutTor.newsletter.link_text; »</a>
+ </p>
+ <p id="mission">&aboutTor.tor_mission.label;
<a href="&aboutTor.getInvolved.link;">&aboutTor.getInvolved.label;</a></p>
</div>
</div>
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index d53860a5..4c495b8c 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -144,6 +144,19 @@ body:not([showmanual]) .showForManual {
font-size: 15px;
}
+#bottom img.imageStyle {
+ padding-inline-end: 10px;
+}
+
+/* Hide the linebreaks on large enough screens (desktops, laptops, and
+ * tablets).
+ */
+@media only screen and (min-width: 768px) {
+ #bottom br {
+ display: none;
+ }
+}
+
.searchbox form {
width: 500px;
margin: 39px auto 0px auto;
diff --git a/src/chrome/skin/icon-newsletter.png b/src/chrome/skin/icon-newsletter.png
new file mode 100644
index 00000000..7532ba9c
Binary files /dev/null and b/src/chrome/skin/icon-newsletter.png differ
1
0
commit 75ab7ad9c1450d5c93ed94b6b140cc7144d2460c
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 22 07:56:32 2019 +0000
Adjusting copyright year to 2019
---
src/chrome/content/aboutTor/aboutTor-content.js | 2 +-
src/chrome/content/aboutTor/aboutTor.xhtml | 2 +-
src/chrome/skin/aboutTor.css | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index ae20505e..0b3eb93d 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -1,5 +1,5 @@
/*************************************************************************
- * Copyright (c) 2017, The Tor Project, Inc.
+ * Copyright (c) 2019, The Tor Project, Inc.
* See LICENSE for licensing information.
*
* vim: set sw=2 sts=2 ts=8 et syntax=javascript:
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index ecdd0f85..6082db0c 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- - Copyright (c) 2018, The Tor Project, Inc.
+ - Copyright (c) 2019, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 2e6bab75..d53860a5 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, The Tor Project, Inc.
+ * Copyright (c) 2019, The Tor Project, Inc.
* See LICENSE for licensing information.
*
* vim: set sw=2 sts=2 ts=8 et syntax=css:
1
0

22 Jan '19
commit 7a67c517617376f296612a5641e58e024b0aa0cc
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 18 09:18:26 2019 +0000
Bug 29035: Post-YE campaign clean-up 2018
Removing the newsletter signup banner
---
src/chrome/content/aboutTor/aboutTor-content.js | 21 -------
src/chrome/content/aboutTor/aboutTor.xhtml | 13 -----
src/chrome/content/torbutton.js | 17 ------
src/chrome/skin/aboutTor.css | 72 ------------------------
src/chrome/skin/newsletter_3x.png | Bin 6735 -> 0 bytes
src/defaults/preferences/preferences.js | 1 -
6 files changed, 124 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index ff5a970b..ae20505e 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -24,7 +24,6 @@ let { bindPrefAndInit, show_torbrowser_manual } = Cu.import("resource://torbutto
var AboutTorListener = {
kAboutTorLoadedMessage: "AboutTor:Loaded",
kAboutTorChromeDataMessage: "AboutTor:ChromeData",
- kAboutTorHideTorNewsBanner: "AboutTor:HideTorNewsBanner",
get isAboutTor() {
return content.document.documentURI.toLowerCase() == "about:tor";
@@ -59,24 +58,6 @@ var AboutTorListener = {
}
},
- setupBannerClosing: function () {
- let that = this;
- let closer = content.document.getElementById("tornews-banner-closer");
- closer.addEventListener("click", function () {
- sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
- });
- let link = content.document.querySelector("#tornews-banner-message a");
- link.addEventListener("click", function () {
- // Wait until page unloads so we don't hide banner before that.
- content.addEventListener("unload", function () {
- sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
- });
- });
- bindPrefAndInit("extensions.torbutton.tornews_banner_countdown",
- countdown => content.document.body.setAttribute(
- "show-tornews-banner", countdown > 0));
- },
-
onPageLoad: function() {
// Arrange to update localized text and links.
bindPrefAndInit("intl.locale.requested", aNewVal => {
@@ -85,8 +66,6 @@ var AboutTorListener = {
}
});
- this.setupBannerClosing();
-
// Add message and event listeners.
addMessageListener(this.kAboutTorChromeDataMessage, this);
addEventListener("pagehide", this, false);
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 87fe8307..ecdd0f85 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -31,19 +31,6 @@ window.addEventListener("pageshow", function() {
</script>
</head>
<body dir="&locale.dir;">
- <div id="tornews-banner">
- <div><!--EMPTY SPACER DIV--></div>
- <div id="tornews-banner-message">
- <div id="tornews-banner-icon"></div>
- <div>&aboutTor.newsletter.tagline;
- <a href="https://newsletter.torproject.org">
- &aboutTor.newsletter.link_text;
- </a>
- </div>
- </div>
- <div id="tornews-banner-closer">×</div>
- </div>
-
<div class="torcontent-container">
<div id="torstatus-version"/>
<div id="torstatus" class="top">
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 03dc3563..9f6ba898 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -19,7 +19,6 @@ const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion"
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
const k_tb_last_update_check_pref = "extensions.torbutton.lastUpdateCheck";
const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
-const k_tb_tornews_banner_countdown = "extensions.torbutton.tornews_banner_countdown";
var m_tb_prefs = Services.prefs;
@@ -232,14 +231,6 @@ function torbutton_init_toolbutton()
}
}
-// Show the Sign Up for Tor News banner a finite number of times.
-function torbutton_tornews_banner_countdown() {
- let count = m_tb_prefs.getIntPref(k_tb_tornews_banner_countdown, 0);
- if (count > 0) {
- m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, count - 1);
- }
-}
-
// Bug 1506 P2-P4: This code sets some version variables that are irrelevant.
// It does read out some important environment variables, though. It is
// called once per browser window.. This might belong in a component.
@@ -348,10 +339,6 @@ function torbutton_init() {
// Add about:tor IPC message listener.
window.messageManager.addMessageListener("AboutTor:Loaded",
torbutton_abouttor_message_handler);
- window.messageManager.addMessageListener("AboutTor:HideTorNewsBanner",
- torbutton_abouttor_message_handler);
-
- torbutton_tornews_banner_countdown();
setupPreferencesForMobile();
@@ -431,10 +418,6 @@ var torbutton_abouttor_message_handler = {
aMessage.target.messageManager.sendAsyncMessage("AboutTor:ChromeData",
this.chromeData);
break;
- case "AboutTor:HideTorNewsBanner":
- torbutton_log(5, "message AboutTor:HideTorNewsBanner received");
- m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, 0);
- break;
}
},
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index ce0a2f29..2e6bab75 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -271,75 +271,3 @@ body:not([showmanual]) .showForManual {
height: 50px;
border-radius: 50px 50px 0 0;
}
-
-/* Tor News Signup Banner
- * While this banner is present, we need to
- * offset the elements normally at the top of
- * the window.
- */
-
-#tornews-banner {
- display: flex;
- align-items: center;
- background-color: white;
- color: var(--abouttor-bg-toron-color);
- font-size: 16px;
- height: 60px;
- justify-content: space-between;
- left: 0px;
- right: 0px;
- top: 0px;
- transform: translateY(-60px);
- transition: transform 200ms;
-}
-
-body[show-tornews-banner="true"] #tornews-banner {
- transform: translateY(0px);
- transition: transform 0ms;
-}
-
-#tornews-banner-message {
- align-items: center;
- display: flex;
- justify-content: center;
-}
-
-#tornews-banner-message a {
- color: var(--abouttor-bg-toron-color);
-}
-
-#tornews-banner-icon {
- background: url('chrome://torbutton/skin/newsletter_3x.png') no-repeat center center;
- background-size: cover;
- height: 32px;
- margin: 0px 16px;
- width: 32px;
-}
-
-#tornews-banner-closer {
- display: flex;
- align-items: center;
- font-size: 20px;
- height: 22px;
- justify-content: center;
- margin: 4px 20px;
- padding: 4px;
- width: 22px;
- -moz-user-select: none;
-}
-
-#tornews-banner-closer:hover {
- background-color: gray;
- cursor: pointer;
-}
-
-body[show-tornews-banner="false"] #torstatus-version,
-body[show-tornews-banner="false"] #onboarding-overlay-button {
- transition: transform 200ms;
-}
-
-body[show-tornews-banner="true"] #torstatus-version,
-body[show-tornews-banner="true"] #onboarding-overlay-button {
- transform: translateY(60px);
- transition: transform 0ms;
-}
diff --git a/src/chrome/skin/newsletter_3x.png b/src/chrome/skin/newsletter_3x.png
deleted file mode 100644
index 821572fa..00000000
Binary files a/src/chrome/skin/newsletter_3x.png and /dev/null differ
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index 45b60ce8..270131d2 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -6,7 +6,6 @@ pref("extensions.torbutton.logmethod",1); // 0=stdout, 1=errorconsole, 2=debuglo
pref("extensions.torbutton.display_circuit", true);
pref("extensions.torbutton(a)torproject.org.description", "chrome://torbutton/locale/torbutton.properties");
pref("extensions.torbutton.updateNeeded", false);
-pref("extensions.torbutton.tornews_banner_countdown", 4);
// Tor check and proxy prefs
pref("extensions.torbutton.test_enabled",true);
1
0

22 Jan '19
commit 648b643cf9bc828e409cd07e7633f2c226b6ce7f
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 18 09:14:52 2019 +0000
Bug 29035: Post-YE campaign clean-up 2018
Removing the donation banner.
---
src/chrome/content/aboutTor/aboutTor-content.js | 30 ++----
src/chrome/content/aboutTor/aboutTor.xhtml | 55 ++--------
src/chrome/content/torbutton.js | 18 ++--
src/chrome/locale/ar/aboutTor.dtd | 19 ----
src/chrome/locale/bn-BD/aboutTor.dtd | 19 ----
src/chrome/locale/ca/aboutTor.dtd | 19 ----
src/chrome/locale/cs/aboutTor.dtd | 19 ----
src/chrome/locale/da/aboutTor.dtd | 19 ----
src/chrome/locale/de/aboutTor.dtd | 19 ----
src/chrome/locale/el/aboutTor.dtd | 19 ----
src/chrome/locale/en-US/aboutTor.dtd | 19 ----
src/chrome/locale/es-AR/aboutTor.dtd | 14 ---
src/chrome/locale/es/aboutTor.dtd | 19 ----
src/chrome/locale/eu/aboutTor.dtd | 19 ----
src/chrome/locale/fa/aboutTor.dtd | 19 ----
src/chrome/locale/fr/aboutTor.dtd | 19 ----
src/chrome/locale/ga/aboutTor.dtd | 19 ----
src/chrome/locale/he/aboutTor.dtd | 19 ----
src/chrome/locale/hu/aboutTor.dtd | 19 ----
src/chrome/locale/id/aboutTor.dtd | 19 ----
src/chrome/locale/is/aboutTor.dtd | 19 ----
src/chrome/locale/it/aboutTor.dtd | 19 ----
src/chrome/locale/ja/aboutTor.dtd | 19 ----
src/chrome/locale/ka/aboutTor.dtd | 19 ----
src/chrome/locale/ko/aboutTor.dtd | 19 ----
src/chrome/locale/nb/aboutTor.dtd | 19 ----
src/chrome/locale/nl/aboutTor.dtd | 19 ----
src/chrome/locale/pl/aboutTor.dtd | 19 ----
src/chrome/locale/pt-BR/aboutTor.dtd | 19 ----
src/chrome/locale/ru/aboutTor.dtd | 19 ----
src/chrome/locale/sv/aboutTor.dtd | 19 ----
src/chrome/locale/tr/aboutTor.dtd | 19 ----
src/chrome/locale/vi/aboutTor.dtd | 19 ----
src/chrome/locale/zh-CN/aboutTor.dtd | 19 ----
src/chrome/locale/zh-TW/aboutTor.dtd | 19 ----
src/chrome/skin/aboutTor.css | 137 ++++++------------------
src/chrome/skin/donation_banner_image_3x.png | Bin 71927 -> 0 bytes
src/chrome/skin/newsletter_3x.png | Bin 0 -> 6735 bytes
src/defaults/preferences/preferences.js | 2 +-
39 files changed, 61 insertions(+), 784 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index e53266bd..e2167de0 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -24,7 +24,7 @@ let { bindPrefAndInit, show_torbrowser_manual } = Cu.import("resource://torbutto
var AboutTorListener = {
kAboutTorLoadedMessage: "AboutTor:Loaded",
kAboutTorChromeDataMessage: "AboutTor:ChromeData",
- kAboutTorHideDonationBanner: "AboutTor:HideDonationBanner",
+ kAboutTorHideTorNewsBanner: "AboutTor:HideTorNewsBanner",
get isAboutTor() {
return content.document.documentURI.toLowerCase() == "about:tor";
@@ -61,24 +61,20 @@ var AboutTorListener = {
setupBannerClosing: function () {
let that = this;
- let closer = content.document.getElementById("donation-banner-closer");
+ let closer = content.document.getElementById("tornews-banner-closer");
closer.addEventListener("click", function () {
- sendAsyncMessage(that.kAboutTorHideDonationBanner);
+ sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
});
- let button = content.document.getElementById("donation-banner-button");
- button.addEventListener("click", function () {
+ let link = content.document.querySelector("#tornews-banner-message a");
+ link.addEventListener("click", function () {
// Wait until page unloads so we don't hide banner before that.
content.addEventListener("unload", function () {
- sendAsyncMessage(that.kAboutTorHideDonationBanner);
+ sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
});
});
- bindPrefAndInit("extensions.torbutton.donation_banner_countdown2",
- countdown => {
- if (content.document && content.document.body) {
- content.document.body.setAttribute(
- "show-donation-banner", countdown > 0);
- }
- });
+ bindPrefAndInit("extensions.torbutton.tornews_banner_countdown",
+ countdown => content.document.body.setAttribute(
+ "show-tornews-banner", countdown > 0));
},
onPageLoad: function() {
@@ -131,14 +127,6 @@ var AboutTorListener = {
content.document.getElementById("manualLink").href =
"https://tb-manual.torproject.org/" + aLocale;
- // Don't use "Count Me In" phrase in non-en-US locales
- if (!aLocale.startsWith("en")) {
- let button = content.document.getElementById("donation-banner-button");
- button.innerHTML = button.getAttribute("data-0");
- let theURL = button.getAttribute("href");
- button.setAttribute("href", theURL.slice(0,-2));
- }
-
// Display the Tor Browser product name and version.
try {
const kBrandBundle = "chrome://branding/locale/brand.properties";
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 1a9c701e..a34d0220 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -32,54 +32,21 @@ window.addEventListener("pageshow", function() {
</script>
</head>
<body dir="&locale.dir;">
- <div id="donation-banner">
- <div id="donation-banner-image"></div>
- <div id="donation-banner-lines">
- <div id="donation-banner-line1">&aboutTor.donationBanner.line1;</div>
- <div id="donation-banner-line2"
- data-6="&aboutTor.donationBanner.line2e;"
- data-7="&aboutTor.donationBanner.line2f;"
- data-8="&aboutTor.donationBanner.line2g;"
- data-9="&aboutTor.donationBanner.line2h;"
- data-10="&aboutTor.donationBanner.line2i;"
- data-11="&aboutTor.donationBanner.line2j;">
- &aboutTor.donationBanner.line2e;
+ <div id="tornews-banner">
+ <div><!--EMPTY SPACER DIV--></div>
+ <div id="tornews-banner-message">
+ <div id="tornews-banner-icon"></div>
+ <div>&aboutTor.newsletter.tagline;
+ <a href="https://newsletter.torproject.org">
+ &aboutTor.newsletter.link_text;
+ </a>
</div>
- <div id="donation-banner-line3"
- data-b="&aboutTor.donationBanner.line3b;">
- &aboutTor.donationBanner.line3;</div>
- <a id="donation-banner-button"
- href="https://www.torproject.org/donate/donate-sin-tbd0-0"
- type="button"
- data-0="&aboutTor.donationBanner.buttonA;"
- data-1="&aboutTor.donationBanner.buttonB;">
- &aboutTor.donationBanner.buttonA;
- </a>
</div>
- <div id="donation-banner-closer">×</div>
+ <div id="tornews-banner-closer">×</div>
</div>
-<script type="text/javascript">
- <![CDATA[
- let lineChoice = 6 + Math.floor(Math.random() * 6);
- let line2 = document.getElementById("donation-banner-line2");
- let line2text = line2.getAttribute(`data-${lineChoice}`);
- let line2pieces = line2text.split(" ");
- let line2end = '<span>' + line2pieces.pop() + '</span>';
- line2pieces.push(line2end);
- line2.innerHTML = line2pieces.join(" ");
- line3 = document.getElementById("donation-banner-line3");
- if (lineChoice === 11) {
- line3.innerHTML = line3.getAttribute("data-b");
- }
- let buttonChoice = Math.floor(Math.random() * 2);
- let button = document.getElementById("donation-banner-button");
- button.innerHTML = button.getAttribute(`data-${buttonChoice}`);
- button.setAttribute("href",
- `https://www.torproject.org/donate/donate-sin-tbd${lineChoice}-${buttonChoice}`);
-]]>
-</script>
- <div id="torstatus-version"/>
+
<div class="torcontent-container">
+ <div id="torstatus-version"/>
<img class="torcontent-logo" src="resource://torbutton-assets/torbrowser_mobile_logo.png"/>
<div id="torstatus" class="top">
<div id="torstatus-on-container" class="hideIfTorOff torstatus-container">
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 35ae2acb..dc8d9d97 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -17,7 +17,7 @@ const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion"
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
const k_tb_last_update_check_pref = "extensions.torbutton.lastUpdateCheck";
const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
-const k_tb_donation_banner_countdown = "extensions.torbutton.donation_banner_countdown2";
+const k_tb_tornews_banner_countdown = "extensions.torbutton.tornews_banner_countdown";
var m_tb_prefs = Services.prefs;
@@ -223,10 +223,10 @@ function torbutton_init_toolbutton()
}
// Show the Sign Up for Tor News banner a finite number of times.
-function torbutton_donation_banner_countdown() {
- let count = m_tb_prefs.getIntPref(k_tb_donation_banner_countdown, 0);
+function torbutton_tornews_banner_countdown() {
+ let count = m_tb_prefs.getIntPref(k_tb_tornews_banner_countdown, 0);
if (count > 0) {
- m_tb_prefs.setIntPref(k_tb_donation_banner_countdown, count - 1);
+ m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, count - 1);
}
}
@@ -342,10 +342,10 @@ function torbutton_init() {
// Add about:tor IPC message listener.
window.messageManager.addMessageListener("AboutTor:Loaded",
torbutton_abouttor_message_handler);
- window.messageManager.addMessageListener("AboutTor:HideDonationBanner",
+ window.messageManager.addMessageListener("AboutTor:HideTorNewsBanner",
torbutton_abouttor_message_handler);
- torbutton_donation_banner_countdown();
+ torbutton_tornews_banner_countdown();
setupPreferencesForMobile();
@@ -433,9 +433,9 @@ var torbutton_abouttor_message_handler = {
aMessage.target.messageManager.sendAsyncMessage("AboutTor:ChromeData",
this.chromeData);
break;
- case "AboutTor:HideDonationBanner":
- torbutton_log(5, "message AboutTor:HideDonationBanner received");
- m_tb_prefs.setIntPref(k_tb_donation_banner_countdown, 0);
+ case "AboutTor:HideTorNewsBanner":
+ torbutton_log(5, "message AboutTor:HideTorNewsBanner received");
+ m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, 0);
break;
}
},
diff --git a/src/chrome/locale/ar/aboutTor.dtd b/src/chrome/locale/ar/aboutTor.dtd
index 7fda4740..878d860e 100644
--- a/src/chrome/locale/ar/aboutTor.dtd
+++ b/src/chrome/locale/ar/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "احصل على آخر أخبار تور مباشرة على بريدك">
<!ENTITY aboutTor.newsletter.link_text "اشترك للحصول على أخبار تور.">
-
-<!ENTITY aboutTor.donationBanner.line1 "تور: نقاط القوة">
-
-<!ENTITY aboutTor.donationBanner.line2a "المجهولية تحتاج لصحبة.">
-<!ENTITY aboutTor.donationBanner.line2b "ساعد في تقدم حقوق الإنسان.">
-<!ENTITY aboutTor.donationBanner.line2c "انتصر للحرية.">
-<!ENTITY aboutTor.donationBanner.line2d "احم خصوصية الملايين.">
-<!ENTITY aboutTor.donationBanner.line2e "حافظ على قوة تور.">
-<!ENTITY aboutTor.donationBanner.line2f "نحتاج دعمك.">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "تبرع اليوم، وستجاريك موزيلا وتبرع بنفس المبلغ.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "تبرع الآن">
-<!ENTITY aboutTor.donationBanner.buttonB "سأشارك">
diff --git a/src/chrome/locale/bn-BD/aboutTor.dtd b/src/chrome/locale/bn-BD/aboutTor.dtd
index fdac71be..0896f075 100644
--- a/src/chrome/locale/bn-BD/aboutTor.dtd
+++ b/src/chrome/locale/bn-BD/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "টর থেকে সর্বশেষ খবর নিন সোজা আপনার ইনবক্সে ।">
<!ENTITY aboutTor.newsletter.link_text "টর নিউজ-এর জন্য সাইন আপ করুন ।">
-
-<!ENTITY aboutTor.donationBanner.line1 "টর: সংখ্যাই শক্তি">
-
-<!ENTITY aboutTor.donationBanner.line2a "ছদ্মনাম বেশী ব্যবহারকারীর মধ্যে কার্যকরী।">
-<!ENTITY aboutTor.donationBanner.line2b "সার্বজনীন মানবাধিকারকে এগিয়ে নিন। ">
-<!ENTITY aboutTor.donationBanner.line2c "স্বাধীনতার জন্য এগিয়ে আসুন ">
-<!ENTITY aboutTor.donationBanner.line2d "লাখো লোকের ব্যক্তিগত গোপনীয়তা রক্ষা করুন। ">
-<!ENTITY aboutTor.donationBanner.line2e "টরকে শক্তিশালী রাখুন। ">
-<!ENTITY aboutTor.donationBanner.line2f "আপনাদের সাহায্য দরকার! ">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "অর্থ সাহায্য করুন, এবং মজিলা সমপরিমাণ সাহায্য করবে। ">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "এখুনি দান করুন! ">
-<!ENTITY aboutTor.donationBanner.buttonB "আমাকেও সাথে নিন">
diff --git a/src/chrome/locale/ca/aboutTor.dtd b/src/chrome/locale/ca/aboutTor.dtd
index 878ce7ad..ca8aee1c 100644
--- a/src/chrome/locale/ca/aboutTor.dtd
+++ b/src/chrome/locale/ca/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Obteniu les darreres novetats de Tor directament a la safata d'entrada.">
<!ENTITY aboutTor.newsletter.link_text "Inscriviu-vos a les noticies de Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Avançats drets humans universals.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protegeix la privacitat de milions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "Necessitem el teu suport!">
-<!ENTITY aboutTor.donationBanner.line2g "Recolça la llibertat a internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Defensa la web oberta.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Compta amb mi">
diff --git a/src/chrome/locale/cs/aboutTor.dtd b/src/chrome/locale/cs/aboutTor.dtd
index 31ccf6bd..2c29d50d 100644
--- a/src/chrome/locale/cs/aboutTor.dtd
+++ b/src/chrome/locale/cs/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Nechte si posílat nejnovější informace o Toru.">
<!ENTITY aboutTor.newsletter.link_text "Přihlaste se k odběru zpravodaje Toru.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Síla je v počtu">
-
-<!ENTITY aboutTor.donationBanner.line2a "Společnost se zálibou v anonymitě.">
-<!ENTITY aboutTor.donationBanner.line2b "Posílení všeobecných lidských práv.">
-<!ENTITY aboutTor.donationBanner.line2c "Postavte se za svobodu.">
-<!ENTITY aboutTor.donationBanner.line2d "Chráníme soukromí milionů lidí.">
-<!ENTITY aboutTor.donationBanner.line2e "Pomozte Toru sílit.">
-<!ENTITY aboutTor.donationBanner.line2f "Potřebujeme vaši podporu!">
-<!ENTITY aboutTor.donationBanner.line2g "Podpořte svobodu internetu.">
-<!ENTITY aboutTor.donationBanner.line2h "Braňte otevřený web.">
-<!ENTITY aboutTor.donationBanner.line2i "Podpořte online soukromí a svobodu.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla dorovná každý příspěvek až do začátku roku 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Přispějte hned a Mozilla vás dar zdvojnásobí.">
-<!ENTITY aboutTor.donationBanner.line3b "Pošlete příspěvek a ten se zdvojnásobí.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Přispějte">
-<!ENTITY aboutTor.donationBanner.buttonB "Jdu do toho">
diff --git a/src/chrome/locale/da/aboutTor.dtd b/src/chrome/locale/da/aboutTor.dtd
index bc06d980..902a84fa 100644
--- a/src/chrome/locale/da/aboutTor.dtd
+++ b/src/chrome/locale/da/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Få de seneste nyheder fra Tor direkte i din indbakke.">
<!ENTITY aboutTor.newsletter.link_text "Tilmeld Tor-nyheder.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Styrke i antal">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymitet elsker selskab.">
-<!ENTITY aboutTor.donationBanner.line2b "Avancerede universelle menneskerettigheder.">
-<!ENTITY aboutTor.donationBanner.line2c "Slå et slag for frihed.">
-<!ENTITY aboutTor.donationBanner.line2d "Beskyt privatlivet af millioner.">
-<!ENTITY aboutTor.donationBanner.line2e "Hold Tor stærk.">
-<!ENTITY aboutTor.donationBanner.line2f "Vi har brug for din støtte!">
-<!ENTITY aboutTor.donationBanner.line2g "Støt internetfrihed.">
-<!ENTITY aboutTor.donationBanner.line2h "Forsvar det åbne web.">
-<!ENTITY aboutTor.donationBanner.line2i "Støt privatliv og frihed online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla matcher hver donation frem til 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Giv i dag, og Mozilla vil matche din donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Giv nu og din gave bliver dobbelt så stærk.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donér nu">
-<!ENTITY aboutTor.donationBanner.buttonB "Jeg er med">
diff --git a/src/chrome/locale/de/aboutTor.dtd b/src/chrome/locale/de/aboutTor.dtd
index 0ffc979f..6bd2e164 100644
--- a/src/chrome/locale/de/aboutTor.dtd
+++ b/src/chrome/locale/de/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Erhalte die neuesten Nachrichten von Tor direkt in den Posteingang.">
<!ENTITY aboutTor.newsletter.link_text "Tor-Nachrichten abonnieren.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Stärke in Zahlen">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymität liebt Gemeinschaft">
-<!ENTITY aboutTor.donationBanner.line2b "Verbessere die Menschenrechte">
-<!ENTITY aboutTor.donationBanner.line2c "Setz dich ein für Freiheit.">
-<!ENTITY aboutTor.donationBanner.line2d "Schütze die Privatsphäre von Millionen Menschen.">
-<!ENTITY aboutTor.donationBanner.line2e "Mache Tor stark.">
-<!ENTITY aboutTor.donationBanner.line2f "Wir brauchen deine Unterstützung.">
-<!ENTITY aboutTor.donationBanner.line2g "Unterstütze Internetfreiheit.">
-<!ENTITY aboutTor.donationBanner.line2h "Verteidige das offene Netz.">
-<!ENTITY aboutTor.donationBanner.line2i "Unterstütze Datenschutz und Freiheit im Internet.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla unterstützt jede Spende bis 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Gib noch heute, und Mozilla wird deiner Spende entsprechen.">
-<!ENTITY aboutTor.donationBanner.line3b "Spende jetzt, und dein Geschenk wird doppelt so stark.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Spende jetzt">
-<!ENTITY aboutTor.donationBanner.buttonB "Zähl mich mit">
diff --git a/src/chrome/locale/el/aboutTor.dtd b/src/chrome/locale/el/aboutTor.dtd
index d93a5a5a..dbddba88 100644
--- a/src/chrome/locale/el/aboutTor.dtd
+++ b/src/chrome/locale/el/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Λάβετε τα τελευταία νέα του Tor κατευθείαν στα εισερχόμενα σας.">
<!ENTITY aboutTor.newsletter.link_text "Εγγραφτείτε για τα νέα του Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Ισχύς εν τη ενώσει.">
-
-<!ENTITY aboutTor.donationBanner.line2a "Η ανωνυμία αγαπά την παρέα.">
-<!ENTITY aboutTor.donationBanner.line2b "Προωθήστε τα ανθρώπινα δικαιώματα παγκοσμίως.">
-<!ENTITY aboutTor.donationBanner.line2c "Υπερασπιστείτε την ελευθερία ">
-<!ENTITY aboutTor.donationBanner.line2d "Προστατέψτε την ιδιωτικότητα εκατομμυρίων.">
-<!ENTITY aboutTor.donationBanner.line2e "Διατηρήστε το Tor ισχυρό.">
-<!ENTITY aboutTor.donationBanner.line2f "Χρειαζόμαστε την υποστήριξη σας!">
-<!ENTITY aboutTor.donationBanner.line2g "Στηρίξτε την ελευθερία στο διαδίκτυο.">
-<!ENTITY aboutTor.donationBanner.line2h "Υπερασπιστείτε τον ανοιχτό ιστό.">
-<!ENTITY aboutTor.donationBanner.line2i "Στηρίξτε την ιδιωτικότητα και την ελευθερία στο διαδίκτυο.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Δωρίστε σήμερα και το Mozilla θα δωρίσει το ίδιο ποσό!">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Κάντε μια δωρεά τώρα!">
-<!ENTITY aboutTor.donationBanner.buttonB "Υπολογίστε με">
diff --git a/src/chrome/locale/en-US/aboutTor.dtd b/src/chrome/locale/en-US/aboutTor.dtd
index a36d812c..1400d7b5 100644
--- a/src/chrome/locale/en-US/aboutTor.dtd
+++ b/src/chrome/locale/en-US/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/es-AR/aboutTor.dtd b/src/chrome/locale/es-AR/aboutTor.dtd
index fcb78004..1bb03e95 100644
--- a/src/chrome/locale/es-AR/aboutTor.dtd
+++ b/src/chrome/locale/es-AR/aboutTor.dtd
@@ -26,17 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Recibí las últimas noticias de Tor derecho en tu bandeja de entrada.">
<!ENTITY aboutTor.newsletter.link_text "Registrate en Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Fortaleza en Canidad">
-
-<!ENTITY aboutTor.donationBanner.line2a "El anonimato ama la compañía.">
-<!ENTITY aboutTor.donationBanner.line2b "Avanzar los derechos humanos universales.">
-<!ENTITY aboutTor.donationBanner.line2c "Plantarse por la libertad.">
-<!ENTITY aboutTor.donationBanner.line2d "Proteger la privacidad de millones.">
-<!ENTITY aboutTor.donationBanner.line2e "Mantener fuerte a Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "¡Necesitamos tu apoyo!">
-
-<!ENTITY aboutTor.donationBanner.line3 "Dá hoy, y Mozilla emparejará tu donación.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Doná ahora">
-<!ENTITY aboutTor.donationBanner.buttonB "Contá conmigo">
diff --git a/src/chrome/locale/es/aboutTor.dtd b/src/chrome/locale/es/aboutTor.dtd
index 2bb31865..c0934bde 100644
--- a/src/chrome/locale/es/aboutTor.dtd
+++ b/src/chrome/locale/es/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Recibe las últimas noticias de Tor directamente en tu bandeja de entrada.">
<!ENTITY aboutTor.newsletter.link_text "Inscríbete en Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: La fuerza en la cantidad">
-
-<!ENTITY aboutTor.donationBanner.line2a "El anonimato ama la compañía.">
-<!ENTITY aboutTor.donationBanner.line2b "Promover los derechos humanos universales.">
-<!ENTITY aboutTor.donationBanner.line2c "Defiende la libertad.">
-<!ENTITY aboutTor.donationBanner.line2d "Protege la privacidad de millones de personas.">
-<!ENTITY aboutTor.donationBanner.line2e "Mantén fuerte a Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Necesitamos tu apoyo.">
-<!ENTITY aboutTor.donationBanner.line2g "Apoya la libertad en internet">
-<!ENTITY aboutTor.donationBanner.line2h "Defiende la web abierta">
-<!ENTITY aboutTor.donationBanner.line2i "Apoya la privacidad y la libertad en línea.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla donará una cantidad idéntica a cada donación hasta 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Dona hoy, y Mozilla igualará tu donación.">
-<!ENTITY aboutTor.donationBanner.line3b "Dona ahora, y tu donación se duplicará.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Dona ahora.">
-<!ENTITY aboutTor.donationBanner.buttonB "Cuenta conmigo.">
diff --git a/src/chrome/locale/eu/aboutTor.dtd b/src/chrome/locale/eu/aboutTor.dtd
index 9f1224bb..123091e5 100644
--- a/src/chrome/locale/eu/aboutTor.dtd
+++ b/src/chrome/locale/eu/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/fa/aboutTor.dtd b/src/chrome/locale/fa/aboutTor.dtd
index 2f572883..a4908b04 100644
--- a/src/chrome/locale/fa/aboutTor.dtd
+++ b/src/chrome/locale/fa/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "آخرین اخبار تور را در صندوق ورودی خود دریافت کنید.">
<!ENTITY aboutTor.newsletter.link_text "ثبتنام برای اخبار تور.">
-
-<!ENTITY aboutTor.donationBanner.line1 "تور: قدرت در اعداد">
-
-<!ENTITY aboutTor.donationBanner.line2a "شرکت گمنامیت را دوست دارد.">
-<!ENTITY aboutTor.donationBanner.line2b "حمایت از حقوق بشر جهانی.">
-<!ENTITY aboutTor.donationBanner.line2c "برای آزادی ایستادگی کنید.">
-<!ENTITY aboutTor.donationBanner.line2d "از حریم خصوصی میلیونها محافظت کنید">
-<!ENTITY aboutTor.donationBanner.line2e "تور را محکم نگه دارید.">
-<!ENTITY aboutTor.donationBanner.line2f "ما به حمایت شما نیاز داریم!">
-<!ENTITY aboutTor.donationBanner.line2g "از آزادی اینترنت پشتیبانی کنید.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "از حریم شخصی و آزادی برخط دفاع کنید.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "اکنون اهداء کنید">
-<!ENTITY aboutTor.donationBanner.buttonB "روی من حساب کن">
diff --git a/src/chrome/locale/fr/aboutTor.dtd b/src/chrome/locale/fr/aboutTor.dtd
index 0df6622d..6ae2392d 100644
--- a/src/chrome/locale/fr/aboutTor.dtd
+++ b/src/chrome/locale/fr/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Obtenez les dernières nouvelles au sujet de Tor directement dans votre boîte de réception.">
<!ENTITY aboutTor.newsletter.link_text "Inscrivez-vous aux nouvelles de Tor">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor : l’union fait la force">
-
-<!ENTITY aboutTor.donationBanner.line2a "L’anonymat est contagieux.">
-<!ENTITY aboutTor.donationBanner.line2b "Promouvez les droits universels de la personne.">
-<!ENTITY aboutTor.donationBanner.line2c "Défendez la liberté.">
-<!ENTITY aboutTor.donationBanner.line2d "Protégez la vie privée de millions de personnes.">
-<!ENTITY aboutTor.donationBanner.line2e "Assurez la robustesse de Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Nous avons besoin de votre soutien !">
-<!ENTITY aboutTor.donationBanner.line2g "Soutenez la liberté sur Internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Défendez le Web ouvert.">
-<!ENTITY aboutTor.donationBanner.line2i "Soutenez la vie privé et la liberté en ligne.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla versera un montant équivalent à chaque don jusqu’en 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Faites un don aujourd’hui et Mozilla fera un don équivalent.">
-<!ENTITY aboutTor.donationBanner.line3b "Faites un don maintenant et sa force en sera doublée.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Faites un don maintenant">
-<!ENTITY aboutTor.donationBanner.buttonB "Comptez sur moi">
diff --git a/src/chrome/locale/ga/aboutTor.dtd b/src/chrome/locale/ga/aboutTor.dtd
index 1978847e..ce6fe3f5 100644
--- a/src/chrome/locale/ga/aboutTor.dtd
+++ b/src/chrome/locale/ga/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Faigh an nuacht is déanaí maidir le Tor i do bhosca isteach.">
<!ENTITY aboutTor.newsletter.link_text "Cláraigh le Nuachtlitir Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Ní neart go cur le chéile">
-
-<!ENTITY aboutTor.donationBanner.line2a "Dul i bhfolach sa slua.">
-<!ENTITY aboutTor.donationBanner.line2b "Cuir cearta daonna chun cinn.">
-<!ENTITY aboutTor.donationBanner.line2c "Seas an fód ar son na saoirse.">
-<!ENTITY aboutTor.donationBanner.line2d "Cosain príobháideachas na milliún duine.">
-<!ENTITY aboutTor.donationBanner.line2e "Cuir taca le Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Tá do chúnamh de dhíth orainn!">
-<!ENTITY aboutTor.donationBanner.line2g "Tacaigh le saoirse ar an idirlíon.">
-<!ENTITY aboutTor.donationBanner.line2h "Seas an fód ar son an Ghréasáin oscailte">
-<!ENTITY aboutTor.donationBanner.line2i "Tacaigh le príobháideachas agus le saoirse ar líne.">
-<!ENTITY aboutTor.donationBanner.line2j "Tá Mozilla ag meaitseáil gach euro a bhronntar orainn go dtí 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Tabhair síntiús airgid inniu agus tabharfaidh Mozilla an méid céanna arís dúinn.">
-<!ENTITY aboutTor.donationBanner.line3b "Beidh do bhronntanas airgid dhá uair níos láidre.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Tabhair síntiús airgid anois">
-<!ENTITY aboutTor.donationBanner.buttonB "Cuir mise san áireamh">
diff --git a/src/chrome/locale/he/aboutTor.dtd b/src/chrome/locale/he/aboutTor.dtd
index 81a4386f..6d988035 100644
--- a/src/chrome/locale/he/aboutTor.dtd
+++ b/src/chrome/locale/he/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "קבל את החדשות האחרונות מאת Tor ישירות לתיבה הנכנסת שלך.">
<!ENTITY aboutTor.newsletter.link_text "הירשם עבור חדשות Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: חוזק במספרים">
-
-<!ENTITY aboutTor.donationBanner.line2a "אלמוניות אוהבת חברה.">
-<!ENTITY aboutTor.donationBanner.line2b "זכויות אדם קדומות יקומיות.">
-<!ENTITY aboutTor.donationBanner.line2c "סנגר על חירות.">
-<!ENTITY aboutTor.donationBanner.line2d "הגן על פרטיותם של מיליונים.">
-<!ENTITY aboutTor.donationBanner.line2e "שמור על Tor חזק.">
-<!ENTITY aboutTor.donationBanner.line2f "אנחנו צריכים את תמיכתך!">
-<!ENTITY aboutTor.donationBanner.line2g "תמוך בחירות אינטרנט.">
-<!ENTITY aboutTor.donationBanner.line2h "הגן על הרשת הפתוחה.">
-<!ENTITY aboutTor.donationBanner.line2i "תמוך בפרטיות ובחירות באופן מקוון.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla משווה כל תרומה עד 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "תן היום, ו־Mozilla תשווה את תרומתך.">
-<!ENTITY aboutTor.donationBanner.line3b "תן עכשיו, והמתנה שלך הופכת לחזקה פי שניים.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "תרום עכשיו">
-<!ENTITY aboutTor.donationBanner.buttonB "החשב אותי">
diff --git a/src/chrome/locale/hu/aboutTor.dtd b/src/chrome/locale/hu/aboutTor.dtd
index cbc0c571..b5dd867d 100644
--- a/src/chrome/locale/hu/aboutTor.dtd
+++ b/src/chrome/locale/hu/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Kapja meg a legfrissebb Tor híreket közvetlenül email fiókjába.">
<!ENTITY aboutTor.newsletter.link_text "Iratkozzon fel a Tor hírekhez.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Erősség a számokban">
-
-<!ENTITY aboutTor.donationBanner.line2a "Az anonimitás szereti a cégeket.">
-<!ENTITY aboutTor.donationBanner.line2b "Általánosan növeli az emberi jogokat.">
-<!ENTITY aboutTor.donationBanner.line2c "Kiáll a szabadságért.">
-<!ENTITY aboutTor.donationBanner.line2d "Védi milliók magánéletét.">
-<!ENTITY aboutTor.donationBanner.line2e "Tartsuk a Tor-t erősnek.">
-<!ENTITY aboutTor.donationBanner.line2f "Szükségünk van a támogatására!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Adjon ma és a Mozilla is annyival támogat.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Támogasson most">
-<!ENTITY aboutTor.donationBanner.buttonB "Számítsatok bele">
diff --git a/src/chrome/locale/id/aboutTor.dtd b/src/chrome/locale/id/aboutTor.dtd
index 9370e3ad..3a4e3a27 100644
--- a/src/chrome/locale/id/aboutTor.dtd
+++ b/src/chrome/locale/id/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Dapatkan berita Tor terbaru langsung ke inbox Anda.">
<!ENTITY aboutTor.newsletter.link_text "Daftar untuk mendapatkan Berita Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/is/aboutTor.dtd b/src/chrome/locale/is/aboutTor.dtd
index 0fd4f643..0a259108 100644
--- a/src/chrome/locale/is/aboutTor.dtd
+++ b/src/chrome/locale/is/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Fáðu nýjustu fréttir af Tor beint í pósthólfið þitt.">
<!ENTITY aboutTor.newsletter.link_text "Skráðu þig til að fá Tor-fréttir.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Styrkur í fjöldanum">
-
-<!ENTITY aboutTor.donationBanner.line2a "Nafnleysi krefst félagsskapar.">
-<!ENTITY aboutTor.donationBanner.line2b "Setjum mannréttindi á oddinn.">
-<!ENTITY aboutTor.donationBanner.line2c "Stöndum saman með frelsinu.">
-<!ENTITY aboutTor.donationBanner.line2d "Verndum friðhelgi milljóna manna.">
-<!ENTITY aboutTor.donationBanner.line2e "Höldum Tor sterku">
-<!ENTITY aboutTor.donationBanner.line2f "Við þörfnumst stuðnings þíns!">
-<!ENTITY aboutTor.donationBanner.line2g "Stattu með frelsi á netinu.">
-<!ENTITY aboutTor.donationBanner.line2h "Verðu hinn opna vef.">
-<!ENTITY aboutTor.donationBanner.line2i "Verðu rétt þinn til einkalífs og frelsis á netinu.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla jafnar upp hvert fjárframlag allt til 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Gefðu í dag - og Mozilla mun jafna framlag þitt.">
-<!ENTITY aboutTor.donationBanner.line3b "Gefðu upphæð núna - og gjöfin þín mun tvöfaldast.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Styrkja núna">
-<!ENTITY aboutTor.donationBanner.buttonB "Reiknið með mér">
diff --git a/src/chrome/locale/it/aboutTor.dtd b/src/chrome/locale/it/aboutTor.dtd
index daad7130..b9687c45 100644
--- a/src/chrome/locale/it/aboutTor.dtd
+++ b/src/chrome/locale/it/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Ottieni le ultime info da Tor direttamente nella tua casella di posta elettronica.">
<!ENTITY aboutTor.newsletter.link_text "Registrati alle Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: la Forza in Numeri">
-
-<!ENTITY aboutTor.donationBanner.line2a "L'anonimato ama l'azienda.">
-<!ENTITY aboutTor.donationBanner.line2b "Migliora i diritti universali dell'uomo.">
-<!ENTITY aboutTor.donationBanner.line2c "Difendi la libertà.">
-<!ENTITY aboutTor.donationBanner.line2d "Protegge la privacy di milioni.">
-<!ENTITY aboutTor.donationBanner.line2e "Mantieni Tor forte.">
-<!ENTITY aboutTor.donationBanner.line2f "Abbiamo bisogno del tuo supporto!">
-<!ENTITY aboutTor.donationBanner.line2g "Supporta la libertà di internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Difendi il web aperto.">
-<!ENTITY aboutTor.donationBanner.line2i "Sostieni la privacy e la libertà online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla corrisponderà tutte le donazioni fino al 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Dai oggi, e Mozilla ricambierà la tua donazione.">
-<!ENTITY aboutTor.donationBanner.line3b "Dona ora e il tuo regalo diventerà due volte più valoroso.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Dona Ora">
-<!ENTITY aboutTor.donationBanner.buttonB "Contami">
diff --git a/src/chrome/locale/ja/aboutTor.dtd b/src/chrome/locale/ja/aboutTor.dtd
index e5c0d7ea..c8963418 100644
--- a/src/chrome/locale/ja/aboutTor.dtd
+++ b/src/chrome/locale/ja/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "自由のために立ち上がる。">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "我々にはあなたのサポートが必要です!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "今すぐ寄付">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/ka/aboutTor.dtd b/src/chrome/locale/ka/aboutTor.dtd
index 3b5bdad3..ec34af9e 100644
--- a/src/chrome/locale/ka/aboutTor.dtd
+++ b/src/chrome/locale/ka/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "მიიღეთ სიახლეები Tor-ისგან, პირდაპირ თქვენს საფოსტო ყუთში.">
<!ENTITY aboutTor.newsletter.link_text "გამოიწერეთ Tor-ის სიახლეები.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: სიძლიერე ციფრებში">
-
-<!ENTITY aboutTor.donationBanner.line2a "ვინაობის გამჟღავნებისგან დაცვა საჭიროებს ხალხის სიმრავლეს.">
-<!ENTITY aboutTor.donationBanner.line2b "გააუმჯობესეთ ადამიანის უფლებების დაცვა.">
-<!ENTITY aboutTor.donationBanner.line2c "მხარი დაუჭირეთ თავისუფლებას.">
-<!ENTITY aboutTor.donationBanner.line2d "დაიცავით მილიონობით ადამიანის პირადი მონაცემები.">
-<!ENTITY aboutTor.donationBanner.line2e "შეინარჩუნეთ Tor ძლიერი.">
-<!ENTITY aboutTor.donationBanner.line2f "ჩვენ გვესაჭიროება თქვენი გვერდში დგომა!">
-<!ENTITY aboutTor.donationBanner.line2g "მხარი დაუჭირეთ თავისუფალ ინტერნეტს.">
-<!ENTITY aboutTor.donationBanner.line2h "დაიცავით ინტერნეტის ღიაობა.">
-<!ENTITY aboutTor.donationBanner.line2i "მხარი დაუჭირეთ პირადი მონაცემების ხელშეუხებლობისა და თავისუფლების უზრუნველყოფას ინტერნეტსივრცეში.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla გააორმაგებს თითოეულ შემოწირულ შენატანს 2019 წლამდე.">
-
-<!ENTITY aboutTor.donationBanner.line3 "გაეცით დღესვე და Mozilla გააორმაგებს თქვენს შემოწირულობას.">
-<!ENTITY aboutTor.donationBanner.line3b "გაეცით თანხა ახლავე და თქვენი შემოწირულობა ორჯერ მეტად მძლავრი იქნება.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "თანხის გაღება ახლავე">
-<!ENTITY aboutTor.donationBanner.buttonB "ჩემი წვლილის აღნიშვნა">
diff --git a/src/chrome/locale/ko/aboutTor.dtd b/src/chrome/locale/ko/aboutTor.dtd
index cf8143ab..984b53af 100644
--- a/src/chrome/locale/ko/aboutTor.dtd
+++ b/src/chrome/locale/ko/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "최신의 Tor 뉴스를 받은 편지함에 곧장 받으십시오.">
<!ENTITY aboutTor.newsletter.link_text "Tor 뉴스를 구독.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/nb/aboutTor.dtd b/src/chrome/locale/nb/aboutTor.dtd
index a5e61845..89bd5a7f 100644
--- a/src/chrome/locale/nb/aboutTor.dtd
+++ b/src/chrome/locale/nb/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Få de siste nyhetene fra Tor rett til innboksen din.">
<!ENTITY aboutTor.newsletter.link_text "Registrer deg for Tor Nyheter.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/nl/aboutTor.dtd b/src/chrome/locale/nl/aboutTor.dtd
index 8929fc65..822c3548 100644
--- a/src/chrome/locale/nl/aboutTor.dtd
+++ b/src/chrome/locale/nl/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Krijg het laatste Tor nieuws regelrecht in jouw inbox.">
<!ENTITY aboutTor.newsletter.link_text "Meld je aan voor Tor Nieuws.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Kracht in Nummers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Universele rechten van de mens bevorderen.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Bescherm de privacy van miljoenen.">
-<!ENTITY aboutTor.donationBanner.line2e "Houdt Tor sterk.">
-<!ENTITY aboutTor.donationBanner.line2f "We hebben jouw ondersteuning nodig!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Geef vandaag, en Mozilla geeft hetzelfde bedrag.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Geef Nu">
-<!ENTITY aboutTor.donationBanner.buttonB "Ik Doe Mee">
diff --git a/src/chrome/locale/pl/aboutTor.dtd b/src/chrome/locale/pl/aboutTor.dtd
index b523d30d..fe79cc3d 100644
--- a/src/chrome/locale/pl/aboutTor.dtd
+++ b/src/chrome/locale/pl/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Siła w liczbach">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "We need your support!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Give today, and Mozilla will match your donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
-<!ENTITY aboutTor.donationBanner.buttonB "Count Me In">
diff --git a/src/chrome/locale/pt-BR/aboutTor.dtd b/src/chrome/locale/pt-BR/aboutTor.dtd
index 02a848a7..130f2b13 100644
--- a/src/chrome/locale/pt-BR/aboutTor.dtd
+++ b/src/chrome/locale/pt-BR/aboutTor.dtd
@@ -27,22 +27,3 @@
<!ENTITY aboutTor.newsletter.tagline "Receba as últimas notícias do Tor diretamente na sua caixa de e-mail.">
<!ENTITY aboutTor.newsletter.link_text "Inscreva-se para receber Notícias do Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Nossa Força em Números">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonimidade adora companhia ">
-<!ENTITY aboutTor.donationBanner.line2b "Avançar os direitos humanos universais.">
-<!ENTITY aboutTor.donationBanner.line2c "Defender a liberdade.">
-<!ENTITY aboutTor.donationBanner.line2d "Proteger a privacidade de milhões de pessoas.">
-<!ENTITY aboutTor.donationBanner.line2e "Manter a força do Tor.">
-<!ENTITY aboutTor.donationBanner.line2f "Precisamos do seu apoio!">
-<!ENTITY aboutTor.donationBanner.line2g "Apóie a liberdade na internet.">
-<!ENTITY aboutTor.donationBanner.line2h "Defenda a web aberta.">
-<!ENTITY aboutTor.donationBanner.line2i "Apóie a privacidade e liberdade online.">
-<!ENTITY aboutTor.donationBanner.line2j "A Mozilla está combinando cada doação até 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Doe hoje, e a Mozilla duplicará a sua doação.">
-<!ENTITY aboutTor.donationBanner.line3b "Dê agora, e seu presente se torna duas vezes mais forte.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Doar Agora">
-<!ENTITY aboutTor.donationBanner.buttonB "Estou dentro">
diff --git a/src/chrome/locale/ru/aboutTor.dtd b/src/chrome/locale/ru/aboutTor.dtd
index 1bc187b8..b3d2f631 100644
--- a/src/chrome/locale/ru/aboutTor.dtd
+++ b/src/chrome/locale/ru/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Получайте последние новости Tor прямо на ваш почтовый ящик.">
<!ENTITY aboutTor.newsletter.link_text "Подпишитесь на новости Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Сила в цифрах">
-
-<!ENTITY aboutTor.donationBanner.line2a "Анонимность уважает компании.">
-<!ENTITY aboutTor.donationBanner.line2b "Продвижение всеобщих прав человека.">
-<!ENTITY aboutTor.donationBanner.line2c "Встаньте на свободу.">
-<!ENTITY aboutTor.donationBanner.line2d "Обеспечиваем конфиденциальность миллионам людей.">
-<!ENTITY aboutTor.donationBanner.line2e "Сохраните Tor сильным.">
-<!ENTITY aboutTor.donationBanner.line2f "Нам нужна твоя поддержка!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Пожертвуйте сегодня и Mozilla удвоит Ваше пожертвование.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Пожертвовать">
-<!ENTITY aboutTor.donationBanner.buttonB "Посчитайте">
diff --git a/src/chrome/locale/sv/aboutTor.dtd b/src/chrome/locale/sv/aboutTor.dtd
index f2938e54..423d6e96 100644
--- a/src/chrome/locale/sv/aboutTor.dtd
+++ b/src/chrome/locale/sv/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Få de senaste nyheterna från Tor direkt till din inkorg.">
<!ENTITY aboutTor.newsletter.link_text "Anmäl dig till Tor-nyheter.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Styrka i antal">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymitet älskar sällskap.">
-<!ENTITY aboutTor.donationBanner.line2b "Främja universella mänskliga rättigheter.">
-<!ENTITY aboutTor.donationBanner.line2c "Stå upp för frihet.">
-<!ENTITY aboutTor.donationBanner.line2d "Skydda miljontals privatliv.">
-<!ENTITY aboutTor.donationBanner.line2e "Håll Tor stark.">
-<!ENTITY aboutTor.donationBanner.line2f "Vi behöver ert stöd!">
-<!ENTITY aboutTor.donationBanner.line2g "Stöd internetfrihet.">
-<!ENTITY aboutTor.donationBanner.line2h "Försvara den öppna webben.">
-<!ENTITY aboutTor.donationBanner.line2i "Stöd integritet och frihet på nätet.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla matchar varje donation fram till 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Ge idag, och Mozilla kommer att matcha din donation.">
-<!ENTITY aboutTor.donationBanner.line3b "Ge nu, och din gåva blir dubbelt så stark.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Donera nu">
-<!ENTITY aboutTor.donationBanner.buttonB "Räkna med mig">
diff --git a/src/chrome/locale/tr/aboutTor.dtd b/src/chrome/locale/tr/aboutTor.dtd
index 789e3d81..ce8761f2 100644
--- a/src/chrome/locale/tr/aboutTor.dtd
+++ b/src/chrome/locale/tr/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Tor ile ilgili son gelişmeler doğrudan e-posta kutunuza gelsin.">
<!ENTITY aboutTor.newsletter.link_text "Tor Haber Bültenine Abone Olun">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Birlikten Kuvvet Doğar">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonimlik birlikteliği sever.">
-<!ENTITY aboutTor.donationBanner.line2b "Evrensel insan haklarını geliştir.">
-<!ENTITY aboutTor.donationBanner.line2c "Özgürlüğü savun.">
-<!ENTITY aboutTor.donationBanner.line2d "Milyonların gizliliğini koru.">
-<!ENTITY aboutTor.donationBanner.line2e "Tor uygulamasının gücünü koru.">
-<!ENTITY aboutTor.donationBanner.line2f "Desteğinize ihtiyacımız var!">
-<!ENTITY aboutTor.donationBanner.line2g "İnternet özgürlüğünü destekleyin">
-<!ENTITY aboutTor.donationBanner.line2h "Açık web düşüncesini savunun.">
-<!ENTITY aboutTor.donationBanner.line2i "Kişisel gizliliği ve çevrimiçi özgürlüğü destekleyin.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla 2019 yılına kadar yapılan her bağışa karşılık veriyor.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Bugün yaptığınız her bağış kadar Mozilla da bağış yapacak.">
-<!ENTITY aboutTor.donationBanner.line3b "Bağış yapın ve hediyeniz iki kat güzel olsun.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Şimdi Bağış Yapın">
-<!ENTITY aboutTor.donationBanner.buttonB "Ben de Varım">
diff --git a/src/chrome/locale/vi/aboutTor.dtd b/src/chrome/locale/vi/aboutTor.dtd
index 09c26101..f8bc3896 100644
--- a/src/chrome/locale/vi/aboutTor.dtd
+++ b/src/chrome/locale/vi/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "Nhận thông tin mới nhất từ Tor được gửi tới hộp thư của bạn.">
<!ENTITY aboutTor.newsletter.link_text "Đăng kí nhận tin tức từ Tor.">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Sức mạnh nằm ở Số lượng người tham gia mạng lưới">
-
-<!ENTITY aboutTor.donationBanner.line2a "Việc ẩn danh cần sự đồng hành của cộng đồng">
-<!ENTITY aboutTor.donationBanner.line2b "Nâng cao phổ biến nhân quyền.">
-<!ENTITY aboutTor.donationBanner.line2c "Đứng lên vì tự do.">
-<!ENTITY aboutTor.donationBanner.line2d "Bảo vệ sự riêng tư của hàng triệu người.">
-<!ENTITY aboutTor.donationBanner.line2e "Giữ cho Tor trở nên mạnh mẽ.">
-<!ENTITY aboutTor.donationBanner.line2f "Chúng tôi cần sự hỗ trợ của bạn!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "Hãy đóng góp ngay hôm nay, và Mozilla sẽ đóng góp tương ứng với phần của bạn.">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "Đóng góp Ngay bây giờ">
-<!ENTITY aboutTor.donationBanner.buttonB "Hãy cho tôi tham gia">
diff --git a/src/chrome/locale/zh-CN/aboutTor.dtd b/src/chrome/locale/zh-CN/aboutTor.dtd
index 2707eb0a..36e9b9a5 100644
--- a/src/chrome/locale/zh-CN/aboutTor.dtd
+++ b/src/chrome/locale/zh-CN/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "通过邮件获取 Tor 的最新消息。">
<!ENTITY aboutTor.newsletter.link_text "注册 Tor 新闻列表">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor:众人拾柴火焰高">
-
-<!ENTITY aboutTor.donationBanner.line2a "匿名的表示对公司的爱意。">
-<!ENTITY aboutTor.donationBanner.line2b "推进基本人权。">
-<!ENTITY aboutTor.donationBanner.line2c "为自由呐喊。">
-<!ENTITY aboutTor.donationBanner.line2d "保护数百万人的隐私。">
-<!ENTITY aboutTor.donationBanner.line2e "让 Tor 网络保持健壮。">
-<!ENTITY aboutTor.donationBanner.line2f "我们需要你的帮助!">
-<!ENTITY aboutTor.donationBanner.line2g "支持互联网自由。">
-<!ENTITY aboutTor.donationBanner.line2h "捍卫互联网的开放。">
-<!ENTITY aboutTor.donationBanner.line2i "保障隐私和网络自由。">
-<!ENTITY aboutTor.donationBanner.line2j "直到2019年,Mozilla 将匹配所有捐赠。">
-
-<!ENTITY aboutTor.donationBanner.line3 "现在捐款, Mozilla 也能从你的捐赠中受益。">
-<!ENTITY aboutTor.donationBanner.line3b "现在捐赠,您的支持将化作双倍的力量。">
-
-<!ENTITY aboutTor.donationBanner.buttonA "现在就捐助">
-<!ENTITY aboutTor.donationBanner.buttonB "算我一个">
diff --git a/src/chrome/locale/zh-TW/aboutTor.dtd b/src/chrome/locale/zh-TW/aboutTor.dtd
index bcbec612..bd5fa14d 100644
--- a/src/chrome/locale/zh-TW/aboutTor.dtd
+++ b/src/chrome/locale/zh-TW/aboutTor.dtd
@@ -26,22 +26,3 @@
<!ENTITY aboutTor.newsletter.tagline "將 Tor 的最新消息直接傳送到您的收件匣。">
<!ENTITY aboutTor.newsletter.link_text "訂閱 Tor 的新資訊。">
-
-<!ENTITY aboutTor.donationBanner.line1 "Tor: Strength in Numbers">
-
-<!ENTITY aboutTor.donationBanner.line2a "Anonymity loves company.">
-<!ENTITY aboutTor.donationBanner.line2b "Advance universal human rights.">
-<!ENTITY aboutTor.donationBanner.line2c "Stand up for freedom.">
-<!ENTITY aboutTor.donationBanner.line2d "Protect the privacy of millions.">
-<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
-<!ENTITY aboutTor.donationBanner.line2f "我們需要您的支援!">
-<!ENTITY aboutTor.donationBanner.line2g "Support internet freedom.">
-<!ENTITY aboutTor.donationBanner.line2h "Defend the open web.">
-<!ENTITY aboutTor.donationBanner.line2i "Support privacy and freedom online.">
-<!ENTITY aboutTor.donationBanner.line2j "Mozilla is matching every donation until 2019.">
-
-<!ENTITY aboutTor.donationBanner.line3 "今日您捐款,Mozilla 也會捐出相同數額。">
-<!ENTITY aboutTor.donationBanner.line3b "Give now, and your gift becomes twice as strong.">
-
-<!ENTITY aboutTor.donationBanner.buttonA "立刻捐款">
-<!ENTITY aboutTor.donationBanner.buttonB "我也要加入!">
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 02d18b78..8560124b 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -282,126 +282,78 @@ body:not([showmanual]) .showForManual {
border-radius: 50px 50px 0 0;
}
-/* Donation Banner
+/* Tor News Signup Banner
* While this banner is present, we need to
* offset the elements normally at the top of
* the window.
*/
-#donation-banner {
+#tornews-banner {
display: flex;
- align-items: stretch;
+ align-items: center;
background-color: white;
color: var(--abouttor-bg-toron-color);
font-size: 16px;
- height: 200px;
- justify-content: center;
+ height: 60px;
+ justify-content: space-between;
left: 0px;
right: 0px;
top: 0px;
- position: absolute;
- transform: translateY(-200px);
+ transform: translateY(-60px);
transition: transform 200ms;
- z-index: 1;
}
-body[show-donation-banner="true"] #donation-banner {
+body[show-tornews-banner="true"] #tornews-banner {
transform: translateY(0px);
transition: transform 0ms;
}
-#donation-banner-image {
- background: url('chrome://torbutton/skin/donation_banner_image_3x.png') no-repeat center center;
- background-size: contain;
- height: 190px;
- margin: 10px 10px 0px 0px;
- width: 400px;
+#tornews-banner-message {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+
+#tornews-banner-message a {
+ color: var(--abouttor-bg-toron-color);
+}
+
+#tornews-banner-icon {
+ background: url('chrome://torbutton/skin/newsletter_3x.png') no-repeat center center;
+ background-size: cover;
+ height: 32px;
+ margin: 0px 16px;
+ width: 32px;
}
-#donation-banner-closer {
+#tornews-banner-closer {
display: flex;
align-items: center;
font-size: 20px;
height: 22px;
justify-content: center;
- margin: 4px;
+ margin: 4px 20px;
padding: 4px;
- position: absolute;
- offset-inline-end: 0px;
- top: 0px;
width: 22px;
-moz-user-select: none;
}
-#donation-banner-closer:hover {
+#tornews-banner-closer:hover {
background-color: gray;
cursor: pointer;
}
-#donation-banner-lines {
- align-items: start;
- display: flex;
- flex-direction: column;
- justify-content: space-around;
- padding: 20px 0px;
-}
-
-#donation-banner-line1 {
- font-size: 11px;
- font-weight: bold;
- text-transform: uppercase;
-}
-
-#donation-banner-line2 {
- font-size: 20px;
- font-weight: bold;
-}
-
-#donation-banner-line2 span {
- background-color: #a9fef8;
-}
-
-#donation-banner-line3 {
- font-size: 14px;
-}
-
-#donation-banner-button {
- background-color: var(--abouttor-bg-toron-color);
- border-radius: 3px;
- border: 0px;
- color: white;
- font-size: 14px;
- font-weight: bold;
- margin: 10px 0px;
- padding: 10px 24px;
- text-decoration: none;
-}
-
-#donation-banner-button:hover {
- background-color: #683d7d;
- cursor: pointer;
-}
-
-body[show-donation-banner="false"] .torcontent-container,
-body[show-donation-banner="false"] .onion-pattern-container,
-body[show-donation-banner="false"] #torstatus-version,
-body[show-donation-banner="false"] #onboarding-overlay-button {
+body[show-tornews-banner="false"] #torstatus-version,
+body[show-tornews-banner="false"] #onboarding-overlay-button {
transition: transform 200ms;
}
-body[show-donation-banner="true"] .torcontent-container,
-body[show-donation-banner="true"] .onion-pattern-container {
- transform: translateY(80px);
+body[show-tornews-banner="true"] #torstatus-version,
+body[show-tornews-banner="true"] #onboarding-overlay-button {
+ transform: translateY(60px);
transition: transform 0ms;
}
-body[show-donation-banner="true"] #torstatus-version,
-body[show-donation-banner="true"] #onboarding-overlay-button {
- transform: translateY(200px);
- transition: transform 0ms;
- position: absolute;
-}
-
/*
* Mobile specific css
*/
@@ -442,30 +394,3 @@ body[mobile] .onion-pattern-container {
position: absolute;
bottom: 0px;
}
-
-body[mobile] #donation-banner {
- position: static;
-}
-
-body[mobile][show-donation-banner="true"] .torcontent-container,
-body[mobile][show-donation-banner="true"] .onion-pattern-container {
- transform: none;
-}
-
-body[mobile][show-donation-banner="false"] .torcontent-container {
- transform: translateY(-200px);
-}
-
-@media only screen and (max-width: 480px) {
- #donation-banner-image {
- display: none;
- }
-
- #donation-banner-lines {
- align-items: stretch;
- }
-
- #donation-banner-button {
- text-align: center;
- }
-}
diff --git a/src/chrome/skin/donation_banner_image_3x.png b/src/chrome/skin/donation_banner_image_3x.png
deleted file mode 100644
index 6eb7fbbb..00000000
Binary files a/src/chrome/skin/donation_banner_image_3x.png and /dev/null differ
diff --git a/src/chrome/skin/newsletter_3x.png b/src/chrome/skin/newsletter_3x.png
new file mode 100644
index 00000000..821572fa
Binary files /dev/null and b/src/chrome/skin/newsletter_3x.png differ
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index eb055a65..45b60ce8 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -6,7 +6,7 @@ pref("extensions.torbutton.logmethod",1); // 0=stdout, 1=errorconsole, 2=debuglo
pref("extensions.torbutton.display_circuit", true);
pref("extensions.torbutton(a)torproject.org.description", "chrome://torbutton/locale/torbutton.properties");
pref("extensions.torbutton.updateNeeded", false);
-pref("extensions.torbutton.donation_banner_countdown2", 12);
+pref("extensions.torbutton.tornews_banner_countdown", 4);
// Tor check and proxy prefs
pref("extensions.torbutton.test_enabled",true);
1
0

22 Jan '19
commit c097649928aebba435f0379151c25388c924f3cb
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 18 09:29:21 2019 +0000
Bug 29035: Add link for newsletter sign-up
Patch based on a version written by Arthur Edelstein
---
src/chrome/content/aboutTor/aboutTor.xhtml | 7 +++++--
src/chrome/skin/aboutTor.css | 16 +++++++++++++++-
src/chrome/skin/icon-newsletter.png | Bin 0 -> 649 bytes
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 5ddf6ab9..639c2fca 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -62,9 +62,12 @@ window.addEventListener("pageshow", function() {
</div>
<div id="bottom">
- <p class="showForManual moreInfoLink">&aboutTor.torbrowser_user_manual_questions.label;
+ <p id="manual" class="showForManual moreInfoLink">&aboutTor.torbrowser_user_manual_questions.label;
<a id="manualLink" target="_blank">&aboutTor.torbrowser_user_manual_link.label;</a></p>
- <p>&aboutTor.tor_mission.label;
+ <p id="newsletter" class="moreInfoLink"><img class="imageStyle" src="resource://torbutton-assets/icon-newsletter.png"/><br/>&aboutTor.newsletter.tagline;<br/>
+ <a href="https://newsletter.torproject.org">&aboutTor.newsletter.link_text; »</a>
+ </p>
+ <p id="mission">&aboutTor.tor_mission.label;
<a href="&aboutTor.getInvolved.link;">&aboutTor.getInvolved.label;</a></p>
</div>
</div>
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 982b147a..1bdf301d 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -149,6 +149,19 @@ body:not([showmanual]) .showForManual {
font-size: 15px;
}
+#bottom img.imageStyle {
+ padding-inline-end: 10px;
+}
+
+/* Hide the linebreaks on large enough screens (desktops, laptops, and
+ * tablets).
+ */
+@media only screen and (min-width: 768px) {
+ #bottom br {
+ display: none;
+ }
+}
+
.searchbox form {
width: 500px;
margin: 39px auto 0px auto;
@@ -293,7 +306,8 @@ body:not([showmanual]) .showForManual {
body[mobile] #torstatus-version,
body[mobile] .searchbox,
body[mobile] .top .heading2,
-body[mobile] #bottom {
+body[mobile] #manual,
+body[mobile] #mission {
display: none;
}
diff --git a/src/chrome/skin/icon-newsletter.png b/src/chrome/skin/icon-newsletter.png
new file mode 100644
index 00000000..7532ba9c
Binary files /dev/null and b/src/chrome/skin/icon-newsletter.png differ
1
0
commit 3edfe4d54f22d81c61b68c3760cc8320ce45fe42
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 18 09:23:03 2019 +0000
Adjusting copyright year to 2019
---
src/chrome/content/aboutTor/aboutTor-content.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index 94ecefe5..b91fd17d 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -1,5 +1,5 @@
/*************************************************************************
- * Copyright (c) 2017, The Tor Project, Inc.
+ * Copyright (c) 2019, The Tor Project, Inc.
* See LICENSE for licensing information.
*
* vim: set sw=2 sts=2 ts=8 et syntax=javascript:
1
0

22 Jan '19
commit 4f8bf590850eb72dc95a2c83b7cb78f03ef67f49
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 18 09:18:26 2019 +0000
Bug 29035: Post-YE campaign clean-up 2018
Removing the newsletter signup banner
---
src/chrome/content/aboutTor/aboutTor-content.js | 21 -------
src/chrome/content/aboutTor/aboutTor.xhtml | 13 -----
src/chrome/content/torbutton.js | 17 ------
src/chrome/skin/aboutTor.css | 72 ------------------------
src/chrome/skin/newsletter_3x.png | Bin 6735 -> 0 bytes
src/defaults/preferences/preferences.js | 1 -
6 files changed, 124 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js
index e2167de0..94ecefe5 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -24,7 +24,6 @@ let { bindPrefAndInit, show_torbrowser_manual } = Cu.import("resource://torbutto
var AboutTorListener = {
kAboutTorLoadedMessage: "AboutTor:Loaded",
kAboutTorChromeDataMessage: "AboutTor:ChromeData",
- kAboutTorHideTorNewsBanner: "AboutTor:HideTorNewsBanner",
get isAboutTor() {
return content.document.documentURI.toLowerCase() == "about:tor";
@@ -59,24 +58,6 @@ var AboutTorListener = {
}
},
- setupBannerClosing: function () {
- let that = this;
- let closer = content.document.getElementById("tornews-banner-closer");
- closer.addEventListener("click", function () {
- sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
- });
- let link = content.document.querySelector("#tornews-banner-message a");
- link.addEventListener("click", function () {
- // Wait until page unloads so we don't hide banner before that.
- content.addEventListener("unload", function () {
- sendAsyncMessage(that.kAboutTorHideTorNewsBanner);
- });
- });
- bindPrefAndInit("extensions.torbutton.tornews_banner_countdown",
- countdown => content.document.body.setAttribute(
- "show-tornews-banner", countdown > 0));
- },
-
onPageLoad: function() {
// Arrange to update localized text and links.
bindPrefAndInit("intl.locale.requested", aNewVal => {
@@ -85,8 +66,6 @@ var AboutTorListener = {
}
});
- this.setupBannerClosing();
-
// Add message and event listeners.
addMessageListener(this.kAboutTorChromeDataMessage, this);
addEventListener("pagehide", this, false);
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index a34d0220..5ddf6ab9 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -32,19 +32,6 @@ window.addEventListener("pageshow", function() {
</script>
</head>
<body dir="&locale.dir;">
- <div id="tornews-banner">
- <div><!--EMPTY SPACER DIV--></div>
- <div id="tornews-banner-message">
- <div id="tornews-banner-icon"></div>
- <div>&aboutTor.newsletter.tagline;
- <a href="https://newsletter.torproject.org">
- &aboutTor.newsletter.link_text;
- </a>
- </div>
- </div>
- <div id="tornews-banner-closer">×</div>
- </div>
-
<div class="torcontent-container">
<div id="torstatus-version"/>
<img class="torcontent-logo" src="resource://torbutton-assets/torbrowser_mobile_logo.png"/>
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index dc8d9d97..f99be5b0 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -17,7 +17,6 @@ const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion"
const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded";
const k_tb_last_update_check_pref = "extensions.torbutton.lastUpdateCheck";
const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
-const k_tb_tornews_banner_countdown = "extensions.torbutton.tornews_banner_countdown";
var m_tb_prefs = Services.prefs;
@@ -222,14 +221,6 @@ function torbutton_init_toolbutton()
}
}
-// Show the Sign Up for Tor News banner a finite number of times.
-function torbutton_tornews_banner_countdown() {
- let count = m_tb_prefs.getIntPref(k_tb_tornews_banner_countdown, 0);
- if (count > 0) {
- m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, count - 1);
- }
-}
-
function torbutton_is_mobile() {
return Services.appinfo.OS === "Android";
}
@@ -342,10 +333,6 @@ function torbutton_init() {
// Add about:tor IPC message listener.
window.messageManager.addMessageListener("AboutTor:Loaded",
torbutton_abouttor_message_handler);
- window.messageManager.addMessageListener("AboutTor:HideTorNewsBanner",
- torbutton_abouttor_message_handler);
-
- torbutton_tornews_banner_countdown();
setupPreferencesForMobile();
@@ -433,10 +420,6 @@ var torbutton_abouttor_message_handler = {
aMessage.target.messageManager.sendAsyncMessage("AboutTor:ChromeData",
this.chromeData);
break;
- case "AboutTor:HideTorNewsBanner":
- torbutton_log(5, "message AboutTor:HideTorNewsBanner received");
- m_tb_prefs.setIntPref(k_tb_tornews_banner_countdown, 0);
- break;
}
},
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 8560124b..982b147a 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -282,78 +282,6 @@ body:not([showmanual]) .showForManual {
border-radius: 50px 50px 0 0;
}
-/* Tor News Signup Banner
- * While this banner is present, we need to
- * offset the elements normally at the top of
- * the window.
- */
-
-#tornews-banner {
- display: flex;
- align-items: center;
- background-color: white;
- color: var(--abouttor-bg-toron-color);
- font-size: 16px;
- height: 60px;
- justify-content: space-between;
- left: 0px;
- right: 0px;
- top: 0px;
- transform: translateY(-60px);
- transition: transform 200ms;
-}
-
-body[show-tornews-banner="true"] #tornews-banner {
- transform: translateY(0px);
- transition: transform 0ms;
-}
-
-#tornews-banner-message {
- align-items: center;
- display: flex;
- justify-content: center;
-}
-
-#tornews-banner-message a {
- color: var(--abouttor-bg-toron-color);
-}
-
-#tornews-banner-icon {
- background: url('chrome://torbutton/skin/newsletter_3x.png') no-repeat center center;
- background-size: cover;
- height: 32px;
- margin: 0px 16px;
- width: 32px;
-}
-
-#tornews-banner-closer {
- display: flex;
- align-items: center;
- font-size: 20px;
- height: 22px;
- justify-content: center;
- margin: 4px 20px;
- padding: 4px;
- width: 22px;
- -moz-user-select: none;
-}
-
-#tornews-banner-closer:hover {
- background-color: gray;
- cursor: pointer;
-}
-
-body[show-tornews-banner="false"] #torstatus-version,
-body[show-tornews-banner="false"] #onboarding-overlay-button {
- transition: transform 200ms;
-}
-
-body[show-tornews-banner="true"] #torstatus-version,
-body[show-tornews-banner="true"] #onboarding-overlay-button {
- transform: translateY(60px);
- transition: transform 0ms;
-}
-
/*
* Mobile specific css
*/
diff --git a/src/chrome/skin/newsletter_3x.png b/src/chrome/skin/newsletter_3x.png
deleted file mode 100644
index 821572fa..00000000
Binary files a/src/chrome/skin/newsletter_3x.png and /dev/null differ
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index 45b60ce8..270131d2 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -6,7 +6,6 @@ pref("extensions.torbutton.logmethod",1); // 0=stdout, 1=errorconsole, 2=debuglo
pref("extensions.torbutton.display_circuit", true);
pref("extensions.torbutton(a)torproject.org.description", "chrome://torbutton/locale/torbutton.properties");
pref("extensions.torbutton.updateNeeded", false);
-pref("extensions.torbutton.tornews_banner_countdown", 4);
// Tor check and proxy prefs
pref("extensions.torbutton.test_enabled",true);
1
0

[torbutton/maint-2.0] Bug 27175: Add pref to allow users to persist custom noscript settings
by gk@torproject.org 22 Jan '19
by gk@torproject.org 22 Jan '19
22 Jan '19
commit d0adb5ad47e97e2143bac6595084a33e6355acb8
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Sep 17 23:03:26 2018 -0700
Bug 27175: Add pref to allow users to persist custom noscript settings
The pref is called "extensions.torbutton.noscript_persist".
Warning! It is dangerous and could reveal what sites you have visited
in the past.
(We also use a pref named "extensions.torbutton.noscript_inited" to keep
track of the first run.)
---
src/defaults/preferences/preferences.js | 3 +++
src/modules/noscript-control.js | 31 +++++++++++++++++++++++--------
2 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index b991a3ae..eb055a65 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -48,6 +48,9 @@ pref("extensions.torbutton.prompt_torbrowser", true);
pref("extensions.torbutton.confirm_plugins", true);
pref("extensions.torbutton.confirm_newnym", true);
+pref("extensions.torbutton.noscript_inited", false);
+pref("extensions.torbutton.noscript_persist", false);
+
// Browser home page:
pref("browser.startup.homepage", "chrome://torbutton/content/locale/non-localized.properties");
diff --git a/src/modules/noscript-control.js b/src/modules/noscript-control.js
index 621f2b7f..275f9dba 100644
--- a/src/modules/noscript-control.js
+++ b/src/modules/noscript-control.js
@@ -5,9 +5,10 @@
// ## Utilities
const { utils: Cu } = Components;
+const { Services } = Cu.import("resource://gre/modules/Services.jsm", {});
const { LegacyExtensionContext } =
Cu.import("resource://gre/modules/LegacyExtensionsUtils.jsm", {});
-const { bindPrefAndInit } =
+const { bindPref } =
Cu.import("resource://torbutton/modules/utils.js", {});
let logger = Components.classes["@torproject.org/torbutton-logger;1"]
.getService(Components.interfaces.nsISupports).wrappedJSObject;
@@ -128,14 +129,28 @@ var initialize = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
let messageListener = (a,b,c) => {
- log(3, `Message received from NoScript: ${JSON.stringify([a,b,c])}`);
- if (!["started", "pageshow"].includes(a.__meta.name)) {
- return;
+ try {
+ log(3, `Message received from NoScript: ${JSON.stringify([a,b,c])}`);
+ if (!["started", "pageshow"].includes(a.__meta.name)) {
+ return;
+ }
+ extensionContext.api.browser.runtime.onMessage.removeListener(messageListener);
+ let noscriptPersist = Services.prefs.getBoolPref("extensions.torbutton.noscript_persist", false);
+ let noscriptInited = Services.prefs.getBoolPref("extensions.torbutton.noscript_inited", false);
+ // Set the noscript safety level once if we have never run noscript
+ // before, or if we are not allowing noscript per-site settings to be
+ // persisted between browser sessions. Otherwise make sure that the
+ // security slider position, if changed, will rewrite the noscript
+ // settings.
+ bindPref("extensions.torbutton.security_slider",
+ sliderState => setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
+ !noscriptPersist || !noscriptInited);
+ if (!noscriptInited) {
+ Services.prefs.setBoolPref("extensions.torbutton.noscript_inited", true);
+ }
+ } catch (e) {
+ log(5, e.message);
}
- extensionContext.api.browser.runtime.onMessage.removeListener(messageListener);
- bindPrefAndInit(
- "extensions.torbutton.security_slider",
- sliderState => setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)));
};
extensionContext.api.browser.runtime.onMessage.addListener(messageListener);
log(3, "Listening for message from NoScript.");
1
0

[tor-browser/tor-browser-60.4.0esr-8.0-1] Bug 26540: Enabling pdfjs disableRange option prevents pdfs from loading
by gk@torproject.org 22 Jan '19
by gk@torproject.org 22 Jan '19
22 Jan '19
commit 65efe12e32275e12ede3746c253d03e6a7ca34ae
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Nov 6 15:47:31 2018 -0800
Bug 26540: Enabling pdfjs disableRange option prevents pdfs from loading
Large pdf files download in parts via range-based requests so that users
can begin reading before the entire file has finished downloading. This
is implemented using XMLHttpRequests. However, since these requests are
created in the chrome, they are given the System Principal and lack the
correct firstPartyDomain associated with the parent window.
This patch manually sets the XMLHttpRequest's originAttributes to the
one provided by the real owning window cached in the RangedChromeActions
object. This is done via the chrome-only setOriginAttributes method.
The method is called in the xhr_onreadystatechanged() callback rather
than directly after construction in getXhr() because the
setOriginAttributes implementation requires the internal nsIChannel
object to have been created but not used. Fortunately, the
XMLHttpRequest object fires the readStateChangedEvent precisely after
the channel has been created in the XmlHttpRequest's Open() method.
The nsIChannel's nsILoadInfo's OriginAttributes are now overwritten
with the known OriginAttributes of the parent window before anything
else has had a chance to use it.
---
browser/extensions/pdfjs/content/PdfStreamConverter.jsm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/browser/extensions/pdfjs/content/PdfStreamConverter.jsm b/browser/extensions/pdfjs/content/PdfStreamConverter.jsm
index a2ebec9450d4..a9978f7e7863 100644
--- a/browser/extensions/pdfjs/content/PdfStreamConverter.jsm
+++ b/browser/extensions/pdfjs/content/PdfStreamConverter.jsm
@@ -233,6 +233,15 @@ class ChromeActions {
return PrivateBrowsingUtils.isContentWindowPrivate(this.domWindow);
}
+ getWindowOriginAttributes()
+ {
+ try {
+ return this.domWindow.document.nodePrincipal.originAttributes;
+ } catch(err) {
+ return {};
+ }
+ }
+
download(data, sendResponse) {
var self = this;
var originalUrl = data.originalUrl;
@@ -591,6 +600,9 @@ class RangedChromeActions extends ChromeActions {
var self = this;
var xhr_onreadystatechange = function xhr_onreadystatechange() {
if (this.readyState === 1) { // LOADING
+ // override this XMLHttpRequest's OriginAttributes with our cached parent window's
+ // OriginAttributes, as we are currently running under the SystemPrincipal
+ this.setOriginAttributes(self.getWindowOriginAttributes());
var netChannel = this.channel;
if ("nsIPrivateBrowsingChannel" in Ci &&
netChannel instanceof Ci.nsIPrivateBrowsingChannel) {
1
0

[tor-browser/tor-browser-60.4.0esr-8.0-1] Bug 1463936 - Set default security.pki.name_matching_mode to enforce (3) for all builds. r=jcj
by gk@torproject.org 22 Jan '19
by gk@torproject.org 22 Jan '19
22 Jan '19
commit acd09ddc7ea5fe3c3cc195a7a1b6e3722f8758e6
Author: Dipen Patel <bugzilla(a)pansara.org>
Date: Mon Jun 11 14:52:07 2018 -0700
Bug 1463936 - Set default security.pki.name_matching_mode to enforce (3) for all builds. r=jcj
MozReview-Commit-ID: CK3zoKfGfEr
--HG--
extra : rebase_source : fe20f240a66d809177d30043fd9f41682073cd34
---
security/manager/ssl/security-prefs.js | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/security/manager/ssl/security-prefs.js b/security/manager/ssl/security-prefs.js
index cf492478b279..72af0ee99938 100644
--- a/security/manager/ssl/security-prefs.js
+++ b/security/manager/ssl/security-prefs.js
@@ -90,11 +90,7 @@ pref("security.signed_app_signatures.policy", 2);
// 2: fall back to the subject common name for certificates valid before 23
// August 2015 if necessary
// 3: only use name information from the subject alternative name extension
-#ifdef RELEASE_OR_BETA
-pref("security.pki.name_matching_mode", 1);
-#else
-pref("security.pki.name_matching_mode", 2);
-#endif
+pref("security.pki.name_matching_mode", 3);
// security.pki.netscape_step_up_policy controls how the platform handles the
// id-Netscape-stepUp OID in extended key usage extensions of CA certificates.
1
0

[tor-browser/tor-browser-60.4.0esr-8.0-1] Bug 1472618 - Make navigator.platform return "Win32", even on Win64 OS. r=peterv
by gk@torproject.org 22 Jan '19
by gk@torproject.org 22 Jan '19
22 Jan '19
commit a102f8b853fb04db32bcd0f924fd6391cd3d40da
Author: Chris Peterson <cpeterson(a)mozilla.com>
Date: Mon Jul 2 11:02:23 2018 -0700
Bug 1472618 - Make navigator.platform return "Win32", even on Win64 OS. r=peterv
navigator.platform returns "Win64" in 64-bit Firefox and IE, but "Win32" in 64-bit Chrome and Edge. "Win32" appears to be the de facto platform value for Windows. This change doesn't hide the OS architecture from web content because navigator.userAgent still mentions "Win64; x64" in 64-bit Firefox, Chrome, Edge, and IE.
MozReview-Commit-ID: CplYnGDQgTe
--HG--
extra : rebase_source : c00a1a7462ea91d44700dd0581c88c1c4cad2346
extra : source : 1976c327f251702be255a9d0769121c6bc5303a1
This fixes our bug 28740.
---
.../components/resistfingerprinting/test/browser/browser_navigator.js | 2 +-
dom/base/Navigator.cpp | 4 +---
toolkit/components/resistfingerprinting/nsRFPService.h | 2 +-
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/browser/components/resistfingerprinting/test/browser/browser_navigator.js b/browser/components/resistfingerprinting/test/browser/browser_navigator.js
index e0aaf6fb27fe..3736fcd33ce5 100644
--- a/browser/components/resistfingerprinting/test/browser/browser_navigator.js
+++ b/browser/components/resistfingerprinting/test/browser/browser_navigator.js
@@ -24,7 +24,7 @@ const SPOOFED_APPVERSION = {
};
const SPOOFED_PLATFORM = {
linux: "Linux x86_64",
- win: "Win64",
+ win: "Win32",
macosx: "MacIntel",
android: "Linux armv7l",
other: "Linux x86_64",
diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp
index 33563ad65ccb..55d1f7a0474b 100644
--- a/dom/base/Navigator.cpp
+++ b/dom/base/Navigator.cpp
@@ -1653,9 +1653,7 @@ Navigator::GetPlatform(nsAString& aPlatform, bool aUsePrefOverriddenValue)
// Sorry for the #if platform ugliness, but Communicator is likewise
// hardcoded and we are seeking backward compatibility here (bug 47080).
-#if defined(_WIN64)
- aPlatform.AssignLiteral("Win64");
-#elif defined(WIN32)
+#if defined(WIN32)
aPlatform.AssignLiteral("Win32");
#elif defined(XP_MACOSX) && defined(__ppc__)
aPlatform.AssignLiteral("MacPPC");
diff --git a/toolkit/components/resistfingerprinting/nsRFPService.h b/toolkit/components/resistfingerprinting/nsRFPService.h
index da79da8de948..4ed0c1d4cfaf 100644
--- a/toolkit/components/resistfingerprinting/nsRFPService.h
+++ b/toolkit/components/resistfingerprinting/nsRFPService.h
@@ -25,7 +25,7 @@
#define SPOOFED_UA_OS "Windows NT 6.1; Win64; x64"
#define SPOOFED_APPVERSION "5.0 (Windows)"
#define SPOOFED_OSCPU "Windows NT 6.1; Win64; x64"
-#define SPOOFED_PLATFORM "Win64"
+#define SPOOFED_PLATFORM "Win32"
#elif defined(XP_MACOSX)
#define SPOOFED_UA_OS "Macintosh; Intel Mac OS X 10.13"
#define SPOOFED_APPVERSION "5.0 (Macintosh)"
1
0

[tor-browser-build/master] Bug 25702: Activity 1.1 Update Tor Browser icon to follow design guidelines
by gk@torproject.org 21 Jan '19
by gk@torproject.org 21 Jan '19
21 Jan '19
commit 1f83faba6016d988303a125abcee67aff63a7142
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Nov 20 17:15:29 2018 -0800
Bug 25702: Activity 1.1 Update Tor Browser icon to follow design guidelines
Updated firefox build and config to pass appropriate path for
tor-browser branding using the --with-branding ./mach configure flag.
---
projects/firefox/build | 2 +-
projects/firefox/config | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index b9d9d5a..6252686 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -158,7 +158,7 @@ fi
rm -f configure
rm -f js/src/configure
-./mach configure --with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/torbrowser_update_channel") %] --enable-bundled-fonts
+./mach configure --with-tor-browser-version=[% c("var/torbrowser_version") %] --with-distribution-id=org.torproject --enable-update-channel=[% c("var/torbrowser_update_channel") %] --enable-bundled-fonts --with-branding=[% c("var/branding_directory") %]
./mach build --verbose
[% IF c("var/android") %]
diff --git a/projects/firefox/config b/projects/firefox/config
index 639d504..ed63979 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -12,6 +12,7 @@ var:
firefox_version: '[% c("var/firefox_platform_version") %]esr'
torbrowser_branch: 8.5
torbrowser_update_channel: alpha
+ branding_directory: browser/branding/alpha
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
deps:
- build-essential
@@ -31,12 +32,14 @@ targets:
release:
var:
torbrowser_update_channel: release
+ branding_directory: browser/branding/official
nightly:
git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1'
tag_gpg_id: 0
var:
torbrowser_update_channel: default
+ branding_directory: browser/branding/nightly
android-armv7:
var:
1
0

[torbutton/master] Bug 25702: Update Tor Browser icon to follow design guidelines
by gk@torproject.org 21 Jan '19
by gk@torproject.org 21 Jan '19
21 Jan '19
commit 0c52aa0a90de3c98938d583c2faae0a9f8a11c58
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Nov 20 17:11:10 2018 -0800
Bug 25702: Update Tor Browser icon to follow design guidelines
Updated aboutDialog.css to point to the branded default256.png icon now
stored in the firefox jar. Removed old default256.png from torbutton.
---
src/chrome/skin/aboutDialog.css | 2 +-
src/chrome/skin/default256.png | Bin 48898 -> 0 bytes
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/chrome/skin/aboutDialog.css b/src/chrome/skin/aboutDialog.css
index 89eff534..981d68e2 100644
--- a/src/chrome/skin/aboutDialog.css
+++ b/src/chrome/skin/aboutDialog.css
@@ -1,5 +1,5 @@
#leftBox {
- background-image: url('chrome://torbutton/skin/default256.png');
+ background-image: url('chrome://branding/content/icon256.png');
background-position: right top;
background-size: 180px;
}
diff --git a/src/chrome/skin/default256.png b/src/chrome/skin/default256.png
deleted file mode 100644
index 3d440fb5..00000000
Binary files a/src/chrome/skin/default256.png and /dev/null differ
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 25702: Update Tor Browser icon to follow design guidelines
by gk@torproject.org 21 Jan '19
by gk@torproject.org 21 Jan '19
21 Jan '19
commit 7f7a40f907f74a531642a5cb4982f2d762316d38
Author: Richard Pospesel <richard(a)torproject.org>
Date: Fri Jan 11 16:08:47 2019 -0800
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Updated content/identity-icons-brand.svg with Tor Browser icon (fixes #28111)
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
---
.../base/content/abouttbupdate/aboutTBUpdate.css | 2 +-
.../content/abouttbupdate/aboutTBUpdateLogo.png | Bin 23266 -> 0 bytes
browser/base/jar.mn | 1 -
browser/branding/alpha/VisualElements_150.png | Bin 0 -> 8412 bytes
browser/branding/alpha/VisualElements_70.png | Bin 0 -> 3496 bytes
browser/branding/alpha/background.png | Bin 0 -> 9347 bytes
browser/branding/alpha/bgstub.jpg | Bin 0 -> 12506 bytes
browser/branding/alpha/bgstub_2x.jpg | Bin 0 -> 49771 bytes
browser/branding/alpha/branding.nsi | 47 ++++++++++++++++++++
browser/branding/alpha/configure.sh | 5 +++
browser/branding/alpha/content/about-logo.png | Bin 0 -> 21173 bytes
browser/branding/alpha/content/about-logo(a)2x.png | Bin 0 -> 51309 bytes
browser/branding/alpha/content/about-wordmark.svg | 36 ++++++++++++++++
browser/branding/alpha/content/about.png | Bin 0 -> 18520 bytes
browser/branding/alpha/content/aboutDialog.css | 45 +++++++++++++++++++
.../alpha/content/identity-icons-brand.svg | 25 +++++++++++
browser/branding/alpha/content/jar.mn | 19 ++++++++
browser/branding/alpha/content/moz.build | 7 +++
browser/branding/alpha/default128.png | Bin 0 -> 9397 bytes
browser/branding/alpha/default16.png | Bin 0 -> 811 bytes
browser/branding/alpha/default256.png | Bin 0 -> 20481 bytes
browser/branding/alpha/default32.png | Bin 0 -> 1956 bytes
browser/branding/alpha/default48.png | Bin 0 -> 3067 bytes
browser/branding/alpha/default512.png | Bin 0 -> 44907 bytes
browser/branding/alpha/default64.png | Bin 0 -> 4318 bytes
browser/branding/alpha/disk.icns | Bin 0 -> 1548786 bytes
browser/branding/alpha/document.icns | Bin 0 -> 564054 bytes
browser/branding/alpha/document.ico | Bin 0 -> 119671 bytes
browser/branding/alpha/dsstore | Bin 0 -> 14340 bytes
.../alpha/firefox.VisualElementsManifest.xml | 8 ++++
browser/branding/alpha/firefox.icns | Bin 0 -> 30823 bytes
browser/branding/alpha/firefox.ico | Bin 0 -> 119941 bytes
browser/branding/alpha/firefox.svg | 25 +++++++++++
browser/branding/alpha/firefox64.ico | Bin 0 -> 119941 bytes
.../alpha/locales/browserconfig.properties | 6 +++
browser/branding/alpha/locales/en-US/brand.dtd | 9 ++++
browser/branding/alpha/locales/en-US/brand.ftl | 15 +++++++
.../branding/alpha/locales/en-US/brand.properties | 10 +++++
.../alpha/locales/en-US/tor-browser-brand.ftl | 5 +++
browser/branding/alpha/locales/jar.mn | 13 ++++++
browser/branding/alpha/locales/moz.build | 7 +++
browser/branding/alpha/moz.build | 13 ++++++
browser/branding/alpha/newtab.ico | Bin 0 -> 6518 bytes
browser/branding/alpha/newwindow.ico | Bin 0 -> 6518 bytes
browser/branding/alpha/pbmode.ico | Bin 0 -> 6518 bytes
browser/branding/alpha/pref/firefox-branding.js | 37 ++++++++++++++++
browser/branding/alpha/wizHeader.bmp | Bin 0 -> 34254 bytes
browser/branding/alpha/wizHeaderRTL.bmp | Bin 0 -> 34254 bytes
browser/branding/alpha/wizWatermark.bmp | Bin 0 -> 206038 bytes
browser/branding/branding-common.mozbuild | 2 +
browser/branding/nightly/VisualElements_150.png | Bin 21725 -> 11666 bytes
browser/branding/nightly/VisualElements_70.png | Bin 8636 -> 4273 bytes
browser/branding/nightly/configure.sh | 3 +-
.../nightly/content/identity-icons-brand.svg | 39 ++++++++++++-----
browser/branding/nightly/content/jar.mn | 2 +
browser/branding/nightly/default128.png | Bin 12923 -> 13686 bytes
browser/branding/nightly/default16.png | Bin 783 -> 891 bytes
browser/branding/nightly/default256.png | Bin 0 -> 33587 bytes
browser/branding/nightly/default32.png | Bin 2137 -> 2254 bytes
browser/branding/nightly/default48.png | Bin 3578 -> 3789 bytes
browser/branding/nightly/default512.png | Bin 0 -> 87830 bytes
browser/branding/nightly/default64.png | Bin 5262 -> 5426 bytes
browser/branding/nightly/document.icns | Bin 463531 -> 689723 bytes
browser/branding/nightly/document.ico | Bin 45441 -> 124422 bytes
.../nightly/firefox.VisualElementsManifest.xml | 2 +-
browser/branding/nightly/firefox.icns | Bin 834324 -> 41613 bytes
browser/branding/nightly/firefox.ico | Bin 68763 -> 131711 bytes
browser/branding/nightly/firefox.svg | 29 +++++++++++++
browser/branding/nightly/firefox64.ico | Bin 38630 -> 131711 bytes
browser/branding/nightly/locales/en-US/brand.dtd | 10 ++---
.../nightly/locales/en-US/brand.properties | 8 ++--
.../nightly/locales/en-US/tor-browser-brand.ftl | 5 +++
browser/branding/nightly/locales/jar.mn | 7 ++-
browser/branding/nightly/locales/moz.build | 2 -
browser/branding/nightly/pref/firefox-branding.js | 31 ++++++-------
browser/branding/nightly/wizHeader.bmp | Bin 25820 -> 34254 bytes
browser/branding/nightly/wizHeaderRTL.bmp | Bin 25820 -> 34254 bytes
browser/branding/nightly/wizWatermark.bmp | Bin 154544 -> 206038 bytes
browser/branding/official/VisualElements_150.png | Bin 21353 -> 7949 bytes
browser/branding/official/VisualElements_70.png | Bin 8532 -> 3374 bytes
.../official/content/identity-icons-brand.svg | 48 +++++++++++++--------
browser/branding/official/content/jar.mn | 2 +
browser/branding/official/default128.png | Bin 20445 -> 9007 bytes
browser/branding/official/default16.png | Bin 1413 -> 839 bytes
browser/branding/official/default22.png | Bin 1740 -> 0 bytes
browser/branding/official/default24.png | Bin 1969 -> 0 bytes
browser/branding/official/default256.png | Bin 48401 -> 19136 bytes
browser/branding/official/default32.png | Bin 2907 -> 1965 bytes
browser/branding/official/default48.png | Bin 5190 -> 3074 bytes
browser/branding/official/default512.png | Bin 0 -> 40438 bytes
browser/branding/official/default64.png | Bin 7805 -> 4196 bytes
browser/branding/official/document.icns | Bin 195435 -> 509227 bytes
browser/branding/official/document.ico | Bin 54601 -> 119916 bytes
.../official/firefox.VisualElementsManifest.xml | 2 +-
browser/branding/official/firefox.icns | Bin 242224 -> 31329 bytes
browser/branding/official/firefox.ico | Bin 75112 -> 118595 bytes
browser/branding/official/firefox.svg | 31 +++++++++++++
browser/branding/official/firefox64.ico | Bin 75112 -> 118595 bytes
browser/branding/official/mozicon128.png | Bin 19033 -> 0 bytes
.../onboarding/content/img/tor-watermark.png | Bin 5705 -> 3064 bytes
.../onboarding/content/img/tor-watermark.svg | 6 +++
.../shared/identity-block/identity-block.inc.css | 10 ++++-
102 files changed, 510 insertions(+), 64 deletions(-)
diff --git a/browser/base/content/abouttbupdate/aboutTBUpdate.css b/browser/base/content/abouttbupdate/aboutTBUpdate.css
index 7ec1950e1474..dc42f8ff5f9e 100644
--- a/browser/base/content/abouttbupdate/aboutTBUpdate.css
+++ b/browser/base/content/abouttbupdate/aboutTBUpdate.css
@@ -36,7 +36,7 @@ a {
}
#logo {
- background-image: url("chrome://browser/content/abouttbupdate/aboutTBUpdateLogo.png");
+ background-image: url("chrome://branding/content/icon128.png");
height: 128px;
width: 128px;
margin: 20px;
diff --git a/browser/base/content/abouttbupdate/aboutTBUpdateLogo.png b/browser/base/content/abouttbupdate/aboutTBUpdateLogo.png
deleted file mode 100644
index be5cae93fa96..000000000000
Binary files a/browser/base/content/abouttbupdate/aboutTBUpdateLogo.png and /dev/null differ
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
index 1f7e132beb04..182c1711e422 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -48,7 +48,6 @@ browser.jar:
content/browser/abouttbupdate/aboutTBUpdate.xhtml (content/abouttbupdate/aboutTBUpdate.xhtml)
content/browser/abouttbupdate/aboutTBUpdate.js (content/abouttbupdate/aboutTBUpdate.js)
content/browser/abouttbupdate/aboutTBUpdate.css (content/abouttbupdate/aboutTBUpdate.css)
- content/browser/abouttbupdate/aboutTBUpdateLogo.png (content/abouttbupdate/aboutTBUpdateLogo.png)
#endif
* content/browser/browser.css (content/browser.css)
content/browser/browser.js (content/browser.js)
diff --git a/browser/branding/alpha/VisualElements_150.png b/browser/branding/alpha/VisualElements_150.png
new file mode 100644
index 000000000000..fbf4af94d813
Binary files /dev/null and b/browser/branding/alpha/VisualElements_150.png differ
diff --git a/browser/branding/alpha/VisualElements_70.png b/browser/branding/alpha/VisualElements_70.png
new file mode 100644
index 000000000000..1add6b0e77ff
Binary files /dev/null and b/browser/branding/alpha/VisualElements_70.png differ
diff --git a/browser/branding/alpha/background.png b/browser/branding/alpha/background.png
new file mode 100644
index 000000000000..a30b7d488b02
Binary files /dev/null and b/browser/branding/alpha/background.png differ
diff --git a/browser/branding/alpha/bgstub.jpg b/browser/branding/alpha/bgstub.jpg
new file mode 100644
index 000000000000..3b78c9498c93
Binary files /dev/null and b/browser/branding/alpha/bgstub.jpg differ
diff --git a/browser/branding/alpha/bgstub_2x.jpg b/browser/branding/alpha/bgstub_2x.jpg
new file mode 100644
index 000000000000..c724d1803c26
Binary files /dev/null and b/browser/branding/alpha/bgstub_2x.jpg differ
diff --git a/browser/branding/alpha/branding.nsi b/browser/branding/alpha/branding.nsi
new file mode 100644
index 000000000000..84d6d910b69d
--- /dev/null
+++ b/browser/branding/alpha/branding.nsi
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# NSIS branding defines for nightly builds.
+# The official release build branding.nsi is located in other-license/branding/firefox/
+# The unofficial build branding.nsi is located in browser/branding/unofficial/
+
+# BrandFullNameInternal is used for some registry and file system values
+# instead of BrandFullName and typically should not be modified.
+!define BrandFullNameInternal "Nightly"
+!define BrandFullName "Firefox Nightly"
+!define CompanyName "mozilla.org"
+!define URLInfoAbout "https://www.mozilla.org"
+!define HelpLink "https://support.mozilla.org"
+
+!define URLStubDownload32 "https://download.mozilla.org/?os=win&lang=${AB_CD}&product=firefox-nightly-…"
+!define URLStubDownload64 "https://download.mozilla.org/?os=win64&lang=${AB_CD}&product=firefox-nightl…"
+!define URLManualDownload "https://www.mozilla.org/${AB_CD}/firefox/installer-help/?channel=nightly&in…"
+!define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/"
+!define Channel "nightly"
+
+# The installer's certificate name and issuer expected by the stub installer
+!define CertNameDownload "Mozilla Corporation"
+!define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA"
+
+# Dialog units are used so the UI displays correctly with the system's DPI
+# settings.
+# The dialog units for the bitmap's dimensions should match exactly with the
+# bitmap's width and height in pixels.
+!define APPNAME_BMP_WIDTH_DU 159u
+!define APPNAME_BMP_HEIGHT_DU 28u
+!define INTRO_BLURB_WIDTH_DU "230u"
+!define INTRO_BLURB_EDGE_DU "198u"
+!define INTRO_BLURB_LTR_TOP_DU "16u"
+!define INTRO_BLURB_RTL_TOP_DU "11u"
+
+# UI Colors that can be customized for each channel
+!define FOOTER_CONTROL_TEXT_COLOR_NORMAL 0x000000
+!define FOOTER_CONTROL_TEXT_COLOR_FADED 0x999999
+!define FOOTER_BKGRD_COLOR 0xFFFFFF
+!define INTRO_BLURB_TEXT_COLOR 0xFFFFFF
+!define INSTALL_BLURB_TEXT_COLOR 0xFFFFFF
+!define INSTALL_PROGRESS_TEXT_COLOR_NORMAL 0xFFFFFF
+!define COMMON_TEXT_COLOR_NORMAL 0xFFFFFF
+!define COMMON_TEXT_COLOR_FADED 0xA1AAB3
+!define COMMON_BKGRD_COLOR 0x0F1B26
diff --git a/browser/branding/alpha/configure.sh b/browser/branding/alpha/configure.sh
new file mode 100644
index 000000000000..243091484f75
--- /dev/null
+++ b/browser/branding/alpha/configure.sh
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MOZ_APP_DISPLAYNAME="Tor Browser"
diff --git a/browser/branding/alpha/content/about-logo.png b/browser/branding/alpha/content/about-logo.png
new file mode 100644
index 000000000000..7d705be61dfd
Binary files /dev/null and b/browser/branding/alpha/content/about-logo.png differ
diff --git a/browser/branding/alpha/content/about-logo(a)2x.png b/browser/branding/alpha/content/about-logo(a)2x.png
new file mode 100644
index 000000000000..193c856f3e8c
Binary files /dev/null and b/browser/branding/alpha/content/about-logo(a)2x.png differ
diff --git a/browser/branding/alpha/content/about-wordmark.svg b/browser/branding/alpha/content/about-wordmark.svg
new file mode 100644
index 000000000000..6f71130b417d
--- /dev/null
+++ b/browser/branding/alpha/content/about-wordmark.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="270px" height="48px" viewBox="0 0 270 48">
+ <path fill="#fff" d="M75.5,11.8V7.9c0-2.2,1.2-3.5,3.1-3.5c1,0,1.8,0.3,3,0.9l1.8-3.5c-1.7-1-3.5-1.4-5.7-1.4
+ C73.2,0.3,70,2.8,70,8c0,2.3,0.2,3.7,0.2,3.7h-2.5v3.8H70V37h5.4V15.6h5.1l1.4-3.8H75.5z M92.3,11.2c-6.7,0-11,5.2-11,13.3
+ c0,8.1,4.3,13.2,11.1,13.2c6.8,0,11.2-5,11.2-13.2C103.6,16.5,99.5,11.2,92.3,11.2z M92.5,33.6c-3.3,0-5.1-2.1-5.1-9.5
+ c0-6.1,1.5-8.8,5-8.8c3.2,0,5.2,2.1,5.2,9.3C97.6,30.9,95.8,33.6,92.5,33.6z M43.7,11.1c-2.5,0-4.4,1.3-6.4,4c0-1.4-0.3-2.8-0.9-4
+ l-5,1.3c0.6,1.6,0.9,3.6,0.9,6.8V37h5.5V19.9c0.5-2,2.4-3.7,4.7-3.7c0.6,0,1,0.1,1.6,0.4l1.7-5.1C45,11.2,44.5,11.1,43.7,11.1z
+ M0,37h5.7V21.2h9.6v-4.6H5.7V7.2h11.8l0.7-4.7H0V37z M21.4,37h5.5V11.2l-5.5,1V37z M24.2,0.7c-2,0-3.6,1.6-3.6,3.7
+ c0,2,1.5,3.6,3.5,3.6c2,0,3.7-1.6,3.7-3.6C27.8,2.3,26.2,0.7,24.2,0.7z M125.2,11.8h-6.4c-0.7,1.1-3.3,6.1-4,7.7
+ c-1.2-2.3-3.4-6.3-4.6-8.2l-5.9,1.2l7.3,10.8L102.2,37h6.9c0.9-1.4,4.5-7.5,5.5-9.4c0.5,0.9,4.6,8,5.5,9.4h6.9l-9.2-13.8L125.2,11.8
+ z M62.7,13.8c-2.1-1.9-4.4-2.6-6.9-2.6c-3.2,0-5.7,1-7.7,3.4C45.9,17.1,45,20,45,24.5c0,8.1,4.5,13.2,11.6,13.2
+ c3.4,0,6.4-1.1,9.1-3.3L63.4,31c-1.9,1.6-3.9,2.5-6.3,2.5c-4.9,0-6.2-3.7-6.2-7.2v-0.4H66v-1.2C66,18.9,64.9,15.8,62.7,13.8z
+ M51,21.8c0-4.1,1.7-6.5,4.8-6.5c2.8,0,4.5,2.4,4.5,6.5H51z M198.5,14.3l-2.4-2.4c-1.2,0.8-2.2,1.1-3.5,1.1c-3,0-3.8-1.4-7.6-1.4
+ c-5.4,0-9.2,3.4-9.2,8.4c0,3.3,2.2,6.1,5.6,7.2c-3.4,1-4.5,2.2-4.5,4.3c0,2.2,1.8,3.6,4.7,3.6h3.8c2.5,0,3.9,0.2,4.9,0.9
+ c0.9,0.6,1.4,1.6,1.4,3c0,3.1-2.2,4.4-6,4.4c-2,0-3.8-0.5-5.1-1.2c-0.9-0.6-1.5-1.6-1.5-2.9c0-0.8,0.3-1.7,0.7-2.2l-4.1,0.4
+ c-0.3,1-0.5,1.7-0.5,2.6c0,3.5,3,6.4,10.8,6.4c6.1,0,9.9-2.5,9.9-7.9c0-2.1-0.8-3.9-2.7-5.3c-1.5-1.1-3.1-1.4-6-1.4h-4
+ c-1.3,0-2-0.5-2-1.2c0-0.8,1.1-1.7,4.5-2.9c1.8,0,3.4-0.3,4.7-1.1c2.3-1.4,3.7-4.1,3.7-6.8c0-1.6-0.5-3-1.5-4.3
+ c0.4,0.2,1.1,0.3,1.7,0.3C195.8,15.8,196.9,15.4,198.5,14.3z M185,24.8c-3.1,0-4.8-1.7-4.8-4.8c0-3.5,1.6-5.1,4.7-5.1
+ c3.3,0,4.6,1.5,4.6,4.9C189.5,23.1,188,24.8,185,24.8z M168.6,1.3c-1.7,0-3,1.4-3,3.1c0,1.7,1.4,3,3,3c1.7,0,3.1-1.3,3.1-3
+ C171.6,2.7,170.3,1.3,168.6,1.3z M245.7,34.5c-1.1,0-1.4-0.6-1.4-2.5V6.5c0-3.8-0.6-5.9-0.6-5.9l-3.9,0.8c0,0,0.6,1.9,0.6,5.1v26.4
+ c0,1.8,0.4,2.8,1.2,3.5c0.7,0.7,1.7,1,2.9,1c1,0,1.5-0.1,2.5-0.5l-0.8-2.5C246.2,34.4,245.8,34.5,245.7,34.5z M212.7,11.6
+ c-3.2,0-6.1,1.8-8.3,3.9c0,0,0.2-1.8,0.2-3.4V6.3c0-3.8-0.7-5.9-0.7-5.9L200,1.1c0,0,0.7,1.9,0.7,5.1V37h3.9V19.3
+ c2.1-2.7,4.9-4.2,7.2-4.2c1.3,0,2.3,0.4,2.9,1c0.7,0.7,0.9,1.8,0.9,3.7V37h3.8V19.1c0-1.8-0.1-2.6-0.4-3.6
+ C218.4,13.2,215.7,11.6,212.7,11.6z M265.4,12.1l-4.9,16.4c-0.6,2-1.6,5.2-1.6,5.2s-0.7-3.9-1.5-6.2l-5.1-16.2l-3.9,1.3l5.4,15.6
+ c0.8,2.5,2.2,7.4,2.5,9l1.6-0.3c-1.3,5.1-2.5,6.7-5.7,7.6l1.2,2.7c4.4-1,6.4-4.3,8-9.3l8.6-25.8H265.4z M234.9,15l1.2-2.9h-6.2
+ c0-3.3,0.5-7.2,0.5-7.2l-4.1,0.9c0,0-0.4,3.9-0.4,6.3h-3.2V15h3.2v17.1c0,2.5,0.7,4.1,2.4,5c0.9,0.4,1.9,0.7,3.3,0.7
+ c1.8,0,3.1-0.4,4.4-1l-0.6-2.5c-0.7,0.3-1.3,0.5-2.4,0.5c-2.4,0-3.2-0.9-3.2-3.7V15H234.9z M166.5,37h4.1V11.5l-4.1,0.6V37z
+ M156.8,21.3c0,5,0.4,10.5,0.4,10.5s-1.4-3.8-3.2-7.2L142.7,2.7h-4.8V37h4.2l-0.2-19.9c0-4.5-0.4-9.3-0.4-9.3s1.7,4.1,3.9,8.2l11,21
+ h4.3V2.7h-4L156.8,21.3z M128.3,12.9c-0.3-0.1-0.7-0.1-1-0.1v2.3h0.3v-1c0.3,0,0.7,1,0.7,1s0.2,0,0.4,0c-0.2-0.3-0.3-0.7-0.6-1
+ C128.8,14.1,128.9,13.1,128.3,12.9z M127.6,13.8v-0.7c0,0,0.7,0,0.7,0.3C128.3,13.9,127.8,13.9,127.6,13.8z M128,12
+ c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S129.1,12,128,12z M128,15.5c-0.8,0-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5s1.5,0.7,1.5,1.5
+ S128.8,15.5,128,15.5z"/>
+</svg>
diff --git a/browser/branding/alpha/content/about.png b/browser/branding/alpha/content/about.png
new file mode 100644
index 000000000000..3b93625ddd70
Binary files /dev/null and b/browser/branding/alpha/content/about.png differ
diff --git a/browser/branding/alpha/content/aboutDialog.css b/browser/branding/alpha/content/aboutDialog.css
new file mode 100644
index 000000000000..450a3b2783c1
--- /dev/null
+++ b/browser/branding/alpha/content/aboutDialog.css
@@ -0,0 +1,45 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#aboutDialogContainer {
+ background-color: #000f40;
+ color: #fff;
+}
+
+#leftBox {
+ background-image: url("chrome://branding/content/about-logo.png");
+ background-repeat: no-repeat;
+ background-size: 192px auto;
+ background-position: center 20%;
+ /* min-width and min-height create room for the logo */
+ min-width: 210px;
+ min-height: 210px;
+ margin-top: 20px;
+ margin-inline-start: 30px;
+}
+
+@media (min-resolution: 2dppx) {
+ #leftBox {
+ background-image: url("chrome://branding/content/about-logo@2x.png");
+ }
+}
+
+.text-link {
+ color: #fff !important;
+ text-decoration: underline;
+}
+
+.text-link:-moz-focusring {
+ border-color: #fff;
+}
+
+#rightBox {
+ margin-left: 30px;
+ margin-right: 30px;
+}
+
+#bottomBox {
+ background-color: #0f1126;
+ padding: 15px 10px 15px;
+}
diff --git a/browser/branding/alpha/content/identity-icons-brand.svg b/browser/branding/alpha/content/identity-icons-brand.svg
new file mode 100644
index 000000000000..9bfa43842e2d
--- /dev/null
+++ b/browser/branding/alpha/content/identity-icons-brand.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="-17 -17 546 546" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="3.27248873%" x2="50%" y2="97.1599968%" id="linearGradient-1">
+ <stop stop-color="#00FEFF" offset="0%"></stop>
+ <stop stop-color="#0BE67D" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,25 C152.50841,25 255.874399,127.979815 255.874399,255.011855 C255.874399,382.043895 152.50841,485.02371 25,485.02371 L25,25 Z" id="path-2"></path>
+ <filter x="-20.8%" y="-8.7%" width="134.7%" height="117.4%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="12" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.0872579578 0 0 0 0 0.00490370801 0 0 0 0 0.234933036 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Alpha" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g>
+ <circle id="background" fill-opacity="0.9" fill="#030004" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384044,2.842170
94e-14 256,2.84217094e-14 C114.60886,2.84217094e-14 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.437200, 255.011855) scale(-1, 1) translate(-140.437200, -255.011855) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/alpha/content/jar.mn b/browser/branding/alpha/content/jar.mn
new file mode 100644
index 000000000000..512af80a55de
--- /dev/null
+++ b/browser/branding/alpha/content/jar.mn
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+browser.jar:
+% content branding %content/branding/ contentaccessible=yes
+ content/branding/about.png
+ content/branding/about-logo.png
+ content/branding/about-logo(a)2x.png
+ content/branding/about-wordmark.svg
+ content/branding/icon16.png (../default16.png)
+ content/branding/icon32.png (../default32.png)
+ content/branding/icon48.png (../default48.png)
+ content/branding/icon64.png (../default64.png)
+ content/branding/icon128.png (../default128.png)
+ content/branding/icon256.png (../default256.png)
+ content/branding/icon512.png (../default512.png)
+ content/branding/identity-icons-brand.svg
+ content/branding/aboutDialog.css
diff --git a/browser/branding/alpha/content/moz.build b/browser/branding/alpha/content/moz.build
new file mode 100644
index 000000000000..eb4454d28f88
--- /dev/null
+++ b/browser/branding/alpha/content/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/browser/branding/alpha/default128.png b/browser/branding/alpha/default128.png
new file mode 100644
index 000000000000..fbc27b91d118
Binary files /dev/null and b/browser/branding/alpha/default128.png differ
diff --git a/browser/branding/alpha/default16.png b/browser/branding/alpha/default16.png
new file mode 100644
index 000000000000..3a4e1b679b27
Binary files /dev/null and b/browser/branding/alpha/default16.png differ
diff --git a/browser/branding/alpha/default256.png b/browser/branding/alpha/default256.png
new file mode 100644
index 000000000000..844f1a0323ee
Binary files /dev/null and b/browser/branding/alpha/default256.png differ
diff --git a/browser/branding/alpha/default32.png b/browser/branding/alpha/default32.png
new file mode 100644
index 000000000000..679f5f9db43f
Binary files /dev/null and b/browser/branding/alpha/default32.png differ
diff --git a/browser/branding/alpha/default48.png b/browser/branding/alpha/default48.png
new file mode 100644
index 000000000000..85f0253d88ca
Binary files /dev/null and b/browser/branding/alpha/default48.png differ
diff --git a/browser/branding/alpha/default512.png b/browser/branding/alpha/default512.png
new file mode 100644
index 000000000000..b12f58b88bb4
Binary files /dev/null and b/browser/branding/alpha/default512.png differ
diff --git a/browser/branding/alpha/default64.png b/browser/branding/alpha/default64.png
new file mode 100644
index 000000000000..c48f1c5bf4ee
Binary files /dev/null and b/browser/branding/alpha/default64.png differ
diff --git a/browser/branding/alpha/disk.icns b/browser/branding/alpha/disk.icns
new file mode 100644
index 000000000000..866d93a43bc8
Binary files /dev/null and b/browser/branding/alpha/disk.icns differ
diff --git a/browser/branding/alpha/document.icns b/browser/branding/alpha/document.icns
new file mode 100644
index 000000000000..7fbfffe2228e
Binary files /dev/null and b/browser/branding/alpha/document.icns differ
diff --git a/browser/branding/alpha/document.ico b/browser/branding/alpha/document.ico
new file mode 100644
index 000000000000..45aa08bb1658
Binary files /dev/null and b/browser/branding/alpha/document.ico differ
diff --git a/browser/branding/alpha/dsstore b/browser/branding/alpha/dsstore
new file mode 100644
index 000000000000..6b82c923a662
Binary files /dev/null and b/browser/branding/alpha/dsstore differ
diff --git a/browser/branding/alpha/firefox.VisualElementsManifest.xml b/browser/branding/alpha/firefox.VisualElementsManifest.xml
new file mode 100644
index 000000000000..15e2690fdd04
--- /dev/null
+++ b/browser/branding/alpha/firefox.VisualElementsManifest.xml
@@ -0,0 +1,8 @@
+<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
+ <VisualElements
+ ShowNameOnSquare150x150Logo='on'
+ Square150x150Logo='browser\VisualElements\VisualElements_150.png'
+ Square70x70Logo='browser\VisualElements\VisualElements_70.png'
+ ForegroundText='light'
+ BackgroundColor='#1c191d'/>
+</Application>
diff --git a/browser/branding/alpha/firefox.icns b/browser/branding/alpha/firefox.icns
new file mode 100644
index 000000000000..174fb21dd662
Binary files /dev/null and b/browser/branding/alpha/firefox.icns differ
diff --git a/browser/branding/alpha/firefox.ico b/browser/branding/alpha/firefox.ico
new file mode 100644
index 000000000000..e25514996d37
Binary files /dev/null and b/browser/branding/alpha/firefox.ico differ
diff --git a/browser/branding/alpha/firefox.svg b/browser/branding/alpha/firefox.svg
new file mode 100644
index 000000000000..250c7adea0d6
--- /dev/null
+++ b/browser/branding/alpha/firefox.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="3.27248873%" x2="50%" y2="97.1599968%" id="linearGradient-1">
+ <stop stop-color="#00FEFF" offset="0%"></stop>
+ <stop stop-color="#0BE67D" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,25 C152.50841,25 255.874399,127.979815 255.874399,255.011855 C255.874399,382.043895 152.50841,485.02371 25,485.02371 L25,25 Z" id="path-2"></path>
+ <filter x="-20.8%" y="-8.7%" width="134.7%" height="117.4%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="12" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.0872579578 0 0 0 0 0.00490370801 0 0 0 0 0.234933036 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Alpha" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g>
+ <circle id="background" fill-opacity="0.9" fill="#030004" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384044,2.842170
94e-14 256,2.84217094e-14 C114.60886,2.84217094e-14 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.437200, 255.011855) scale(-1, 1) translate(-140.437200, -255.011855) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/alpha/firefox64.ico b/browser/branding/alpha/firefox64.ico
new file mode 100644
index 000000000000..e25514996d37
Binary files /dev/null and b/browser/branding/alpha/firefox64.ico differ
diff --git a/browser/branding/alpha/locales/browserconfig.properties b/browser/branding/alpha/locales/browserconfig.properties
new file mode 100644
index 000000000000..06cefece3b1e
--- /dev/null
+++ b/browser/branding/alpha/locales/browserconfig.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Do NOT localize or otherwise change these values
+browser.startup.homepage=about:home
diff --git a/browser/branding/alpha/locales/en-US/brand.dtd b/browser/branding/alpha/locales/en-US/brand.dtd
new file mode 100644
index 000000000000..aac10c9a47ac
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/brand.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
+<!ENTITY vendorShortName "Tor Project">
+<!ENTITY trademarkInfo.part1 "Firefox and the Firefox logos are trademarks of the Mozilla Foundation.">
diff --git a/browser/branding/alpha/locales/en-US/brand.ftl b/browser/branding/alpha/locales/en-US/brand.ftl
new file mode 100644
index 000000000000..a695ba5a0006
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/brand.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Firefox Brand
+##
+## Firefox must be treated as a brand, and kept in English.
+## It cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-short-name = Alpha
diff --git a/browser/branding/alpha/locales/en-US/brand.properties b/browser/branding/alpha/locales/en-US/brand.properties
new file mode 100644
index 000000000000..1ac8467474dc
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/brand.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
+vendorShortName=Tor Project
+
+syncBrandShortName=Sync
diff --git a/browser/branding/alpha/locales/en-US/tor-browser-brand.ftl b/browser/branding/alpha/locales/en-US/tor-browser-brand.ftl
new file mode 100644
index 000000000000..7fecf9eccb5f
--- /dev/null
+++ b/browser/branding/alpha/locales/en-US/tor-browser-brand.ftl
@@ -0,0 +1,5 @@
+# For Tor Browser, we use a new file (different than the brand.ftl file
+# that is used by Firefox) to avoid picking up the -brand-short-name values
+# that Mozilla includes in the Firefox language packs.
+
+-brand-short-name = Tor Browser Alpha
diff --git a/browser/branding/alpha/locales/jar.mn b/browser/branding/alpha/locales/jar.mn
new file mode 100644
index 000000000000..c78c82947acd
--- /dev/null
+++ b/browser/branding/alpha/locales/jar.mn
@@ -0,0 +1,13 @@
+#filter substitution
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+[localization] @AB_CD@.jar:
+ branding (%*.ftl)
+
+@AB_CD@.jar:
+% locale branding @AB_CD@ %locale/branding/
+ locale/branding/brand.dtd (%brand.dtd)
+ locale/branding/brand.properties (%brand.properties)
+ locale/branding/browserconfig.properties
diff --git a/browser/branding/alpha/locales/moz.build b/browser/branding/alpha/locales/moz.build
new file mode 100644
index 000000000000..eb4454d28f88
--- /dev/null
+++ b/browser/branding/alpha/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/browser/branding/alpha/moz.build b/browser/branding/alpha/moz.build
new file mode 100644
index 000000000000..9045cee11bb8
--- /dev/null
+++ b/browser/branding/alpha/moz.build
@@ -0,0 +1,13 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['content', 'locales']
+
+DIST_SUBDIR = 'browser'
+export('DIST_SUBDIR')
+
+include('../branding-common.mozbuild')
+FirefoxBranding()
diff --git a/browser/branding/alpha/newtab.ico b/browser/branding/alpha/newtab.ico
new file mode 100644
index 000000000000..a9b37c08c6e1
Binary files /dev/null and b/browser/branding/alpha/newtab.ico differ
diff --git a/browser/branding/alpha/newwindow.ico b/browser/branding/alpha/newwindow.ico
new file mode 100644
index 000000000000..55372077102c
Binary files /dev/null and b/browser/branding/alpha/newwindow.ico differ
diff --git a/browser/branding/alpha/pbmode.ico b/browser/branding/alpha/pbmode.ico
new file mode 100644
index 000000000000..47677c13fba6
Binary files /dev/null and b/browser/branding/alpha/pbmode.ico differ
diff --git a/browser/branding/alpha/pref/firefox-branding.js b/browser/branding/alpha/pref/firefox-branding.js
new file mode 100644
index 000000000000..682da69ffce8
--- /dev/null
+++ b/browser/branding/alpha/pref/firefox-branding.js
@@ -0,0 +1,37 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+pref("startup.homepage_override_url", "");
+pref("startup.homepage_welcome_url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/firstrun/");
+pref("startup.homepage_welcome_url.additional", "");
+// Interval: Time between checks for a new version (in seconds)
+pref("app.update.interval", 43200); // 12 hours
+// The time interval between the downloading of mar file chunks in the
+// background (in seconds)
+// 0 means "download everything at once"
+pref("app.update.download.backgroundInterval", 0);
+// Give the user x seconds to react before showing the big UI. default=1 hour
+pref("app.update.promptWaitTime", 3600);
+// app.update.url.manual: URL user can browse to manually if for some reason
+// all update installation attempts fail.
+// app.update.url.details: a default value for the "More information about this
+// update" link supplied in the "An update is available" page of the update
+// wizard.
+pref("app.update.url.manual", "https://www.torproject.org/download/download-easy.html");
+pref("app.update.url.details", "https://www.torproject.org/projects/torbrowser.html");
+
+//pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…");
+
+// The number of days a binary is permitted to be old
+// without checking for an update. This assumes that
+// app.update.checkInstallTime is true.
+pref("app.update.checkInstallTime.days", 63);
+
+// Give the user x seconds to reboot before showing a badge on the hamburger
+// button. default=immediately
+pref("app.update.badgeWaitTime", 0);
+
+// Number of usages of the web console or scratchpad.
+// If this is less than 5, then pasting code into the web console or scratchpad is disabled
+pref("devtools.selfxss.count", 0);
diff --git a/browser/branding/alpha/wizHeader.bmp b/browser/branding/alpha/wizHeader.bmp
new file mode 100644
index 000000000000..a754d2db1e11
Binary files /dev/null and b/browser/branding/alpha/wizHeader.bmp differ
diff --git a/browser/branding/alpha/wizHeaderRTL.bmp b/browser/branding/alpha/wizHeaderRTL.bmp
new file mode 100644
index 000000000000..c944205be23f
Binary files /dev/null and b/browser/branding/alpha/wizHeaderRTL.bmp differ
diff --git a/browser/branding/alpha/wizWatermark.bmp b/browser/branding/alpha/wizWatermark.bmp
new file mode 100644
index 000000000000..9e523b5fa196
Binary files /dev/null and b/browser/branding/alpha/wizWatermark.bmp differ
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
index c810138754d7..5d56361a0446 100644
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
@@ -22,7 +22,9 @@ def FirefoxBranding():
FINAL_TARGET_FILES.chrome.icons.default += [
'default128.png',
'default16.png',
+ 'default256.png',
'default32.png',
'default48.png',
+ 'default512.png',
'default64.png',
]
diff --git a/browser/branding/nightly/VisualElements_150.png b/browser/branding/nightly/VisualElements_150.png
index d92384ef8274..a29d863d1766 100644
Binary files a/browser/branding/nightly/VisualElements_150.png and b/browser/branding/nightly/VisualElements_150.png differ
diff --git a/browser/branding/nightly/VisualElements_70.png b/browser/branding/nightly/VisualElements_70.png
index ff20e5d105ff..ccd90b8cf748 100644
Binary files a/browser/branding/nightly/VisualElements_70.png and b/browser/branding/nightly/VisualElements_70.png differ
diff --git a/browser/branding/nightly/configure.sh b/browser/branding/nightly/configure.sh
index 7c7f2cf8c820..243091484f75 100644
--- a/browser/branding/nightly/configure.sh
+++ b/browser/branding/nightly/configure.sh
@@ -2,5 +2,4 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-MOZ_APP_DISPLAYNAME="Firefox Nightly"
-MOZ_MACBUNDLE_ID=nightly
+MOZ_APP_DISPLAYNAME="Tor Browser"
diff --git a/browser/branding/nightly/content/identity-icons-brand.svg b/browser/branding/nightly/content/identity-icons-brand.svg
index a7d2c6723945..fc1d9c997aeb 100644
--- a/browser/branding/nightly/content/identity-icons-brand.svg
+++ b/browser/branding/nightly/content/identity-icons-brand.svg
@@ -1,10 +1,29 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
- <defs>
- <linearGradient id="gradient" x1="32" x2="0" y2="32" gradientUnits="userSpaceOnUse">
- <stop offset="0" stop-color="#00c8d7"/>
- <stop offset=".85" stop-color="#a238ff"/>
- <stop offset="1" stop-color="#ff1ad9"/>
- </linearGradient>
- </defs>
- <path d="M31.4 14.627c-.044-.289-.088-.46-.088-.46s-.113.131-.3.379a10.807 10.807 0 0 0-.375-2.04 13.885 13.885 0 0 0-.94-2.418 10.077 10.077 0 0 0-.859-1.473q-.177-.264-.36-.512c-.571-.934-1.227-1.5-1.986-2.583a7.827 7.827 0 0 1-.992-2.692 10.88 10.88 0 0 0-.477 1.761c-.779-.786-1.458-1.345-1.866-1.726C21.133.978 21.367 0 21.367 0s-3.773 4.209-2.137 8.6a8.43 8.43 0 0 0 2.81 3.744c1.581 1.3 3.283 2.33 4.18 4.952a8.4 8.4 0 0 0-3.154-3.327 7.593 7.593 0 0 1 .6 3.006 7.145 7.145 0 0 1-8.736 6.96 6.576 6.576 0 0 1-1.77-.6 7.2 7.2 0 0 1-2.121-1.96l-.01-.017.126.046a6.516 6.516 0 0 0 .9.242 5.644 5.644 0 0 0 3.594-.424c1.129-.627 1.813-1.091 2.367-.908h.01c.542.172.969-.353.581-.9a2.949 2.949 0 0 0-2.846-1.114c-1.131.165-2.167.968-3.648.19a3.151 3.151 0 0 1-.278-.163c-.1-.058.318.088.221.022a7.342 7.342 0 0 1-.931-.555c-.022-.018.224.07.2.052a3.592 3.592 0 0 1-.971-.982 1.746 1.746 0 0 1-.066-1.559 1.376 1.376 0 0 1 .6-.566.7.7 0 0 1 .175-.079.254.254 0 0 1 .038-.009l.073.026c.146.067.3
65.177.542.275a4.5 4.5 0 0 1 .477.43 2.14 2.14 0 0 0 .294-1.122 5.173 5.173 0 0 0-.061-.751.118.118 0 0 1 .094.048.977.977 0 0 0-.079-.239v-.008s.053-.069.078-.095a1.437 1.437 0 0 1 .216-.176 10 10 0 0 1 1.469-.749c.416-.181.759-.32.83-.36a2.287 2.287 0 0 0 .294-.226 1.973 1.973 0 0 0 .661-1.143 1.6 1.6 0 0 0 .017-.178v-.105c-.06-.226-.449-.395-2.483-.586a1.778 1.778 0 0 1-1.454-1.364v.009-.016a5.153 5.153 0 0 1 1.992-2.474c.052-.042-.208.011-.156-.032a5.18 5.18 0 0 1 .532-.225c.072-.03-.21-.146-.539-.175a3.5 3.5 0 0 0-1.87.221 4.75 4.75 0 0 0-1.821 1.218 6.3 6.3 0 0 0-3.5-.291l-.01-.009h.012a2.951 2.951 0 0 1-.627-.7l-.008-.012-.014-.021a5.48 5.48 0 0 1-.237-.388 5.527 5.527 0 0 1-.176-.339c0-.008-.009-.011-.013-.012-.024 0-.041.111-.061.082v-.006a4.321 4.321 0 0 1-.304-1.698s-.685.271-1.5 2.1a8.109 8.109 0 0 0-.6 2.793c-.008.112-.011.2-.01.257v.107a6.637 6.637 0 0 0-.817 1.1 15.65 15.65 0 0 0-1.736 4.24 10.378 10.378 0 0 1 .928-1.626 15.04 15.04 0 0 0-1.049 5.514 14.257 14.257 0 0
1 .451-1.634 13.847 13.847 0 0 0 1.25 6.489 15.08 15.08 0 0 0 5.968 6.768 13.058 13.058 0 0 0 3.478 1.667c.163.059.327.117.5.173-.053-.021-.1-.044-.153-.067a15.752 15.752 0 0 0 4.506.659c5.41 0 7.2-2.06 7.36-2.266a2.738 2.738 0 0 0 .639-.858q.156-.064.316-.137l.067-.03.122-.057a11.347 11.347 0 0 0 2.284-1.43 5.511 5.511 0 0 0 2.129-3.11 1.944 1.944 0 0 0 .029-1.433q.083-.132.171-.28a12.743 12.743 0 0 0 1.913-6.2v-.184a7.762 7.762 0 0 0-.115-1.388z" fill="url(#gradient)"/>
-</svg>
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="-17 -17 546 546" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="25.1281738%" y1="5.44281006%" x2="54.3792725%" y2="100%" id="linearGradient-1">
+ <stop stop-color="#00E1E8" offset="0%"></stop>
+ <stop stop-color="#3500FF" offset="100%"></stop>
+ </linearGradient>
+ <linearGradient x1="25.1281738%" y1="5.44281006%" x2="54.3792725%" y2="100%" id="linearGradient-2">
+ <stop stop-color="#00E1E8" offset="0%"></stop>
+ <stop stop-color="#3500FF" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,25 C152.50841,25 255.874399,127.979815 255.874399,255.011855 C255.874399,382.043895 152.50841,485.02371 25,485.02371 L25,25 Z" id="path-3"></path>
+ <filter x="-20.8%" y="-8.7%" width="134.7%" height="117.4%" filterUnits="objectBoundingBox" id="filter-4">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="12" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.0872579578 0 0 0 0 0.00490370801 0 0 0 0 0.234933036 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Nightly" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g>
+ <circle id="background" fill-opacity="0.9" fill="#030004" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384044,2.842170
94e-14 256,2.84217094e-14 C114.60886,2.84217094e-14 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.437200, 255.011855) scale(-1, 1) translate(-140.437200, -255.011855) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
+ <use fill="url(#linearGradient-2)" fill-rule="evenodd" xlink:href="#path-3"></use>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/nightly/content/jar.mn b/browser/branding/nightly/content/jar.mn
index 40e013ec50b8..512af80a55de 100644
--- a/browser/branding/nightly/content/jar.mn
+++ b/browser/branding/nightly/content/jar.mn
@@ -13,5 +13,7 @@ browser.jar:
content/branding/icon48.png (../default48.png)
content/branding/icon64.png (../default64.png)
content/branding/icon128.png (../default128.png)
+ content/branding/icon256.png (../default256.png)
+ content/branding/icon512.png (../default512.png)
content/branding/identity-icons-brand.svg
content/branding/aboutDialog.css
diff --git a/browser/branding/nightly/default128.png b/browser/branding/nightly/default128.png
index b0f7bcb52cd2..12998ed018a7 100644
Binary files a/browser/branding/nightly/default128.png and b/browser/branding/nightly/default128.png differ
diff --git a/browser/branding/nightly/default16.png b/browser/branding/nightly/default16.png
index 7dcbad9c0e63..737ade977a6b 100644
Binary files a/browser/branding/nightly/default16.png and b/browser/branding/nightly/default16.png differ
diff --git a/browser/branding/nightly/default256.png b/browser/branding/nightly/default256.png
new file mode 100644
index 000000000000..f619aecbc6e3
Binary files /dev/null and b/browser/branding/nightly/default256.png differ
diff --git a/browser/branding/nightly/default32.png b/browser/branding/nightly/default32.png
index fd31fa0b97f5..499bc8ff7fc9 100644
Binary files a/browser/branding/nightly/default32.png and b/browser/branding/nightly/default32.png differ
diff --git a/browser/branding/nightly/default48.png b/browser/branding/nightly/default48.png
index 08f1f757590e..fc99e3829d5f 100644
Binary files a/browser/branding/nightly/default48.png and b/browser/branding/nightly/default48.png differ
diff --git a/browser/branding/nightly/default512.png b/browser/branding/nightly/default512.png
new file mode 100644
index 000000000000..4ff5f7fa3495
Binary files /dev/null and b/browser/branding/nightly/default512.png differ
diff --git a/browser/branding/nightly/default64.png b/browser/branding/nightly/default64.png
index 91aadf680cd6..5a84a5384942 100644
Binary files a/browser/branding/nightly/default64.png and b/browser/branding/nightly/default64.png differ
diff --git a/browser/branding/nightly/document.icns b/browser/branding/nightly/document.icns
index 85af9dacdedc..4acf7a5d1a4b 100644
Binary files a/browser/branding/nightly/document.icns and b/browser/branding/nightly/document.icns differ
diff --git a/browser/branding/nightly/document.ico b/browser/branding/nightly/document.ico
index d61e21e1a11b..ecb8e3dc6c73 100644
Binary files a/browser/branding/nightly/document.ico and b/browser/branding/nightly/document.ico differ
diff --git a/browser/branding/nightly/firefox.VisualElementsManifest.xml b/browser/branding/nightly/firefox.VisualElementsManifest.xml
index 16e932c60e45..15e2690fdd04 100644
--- a/browser/branding/nightly/firefox.VisualElementsManifest.xml
+++ b/browser/branding/nightly/firefox.VisualElementsManifest.xml
@@ -4,5 +4,5 @@
Square150x150Logo='browser\VisualElements\VisualElements_150.png'
Square70x70Logo='browser\VisualElements\VisualElements_70.png'
ForegroundText='light'
- BackgroundColor='#000f40'/>
+ BackgroundColor='#1c191d'/>
</Application>
diff --git a/browser/branding/nightly/firefox.icns b/browser/branding/nightly/firefox.icns
index 371152101582..5223801d095a 100644
Binary files a/browser/branding/nightly/firefox.icns and b/browser/branding/nightly/firefox.icns differ
diff --git a/browser/branding/nightly/firefox.ico b/browser/branding/nightly/firefox.ico
index 0155b3e800ed..eb28c93ab25f 100644
Binary files a/browser/branding/nightly/firefox.ico and b/browser/branding/nightly/firefox.ico differ
diff --git a/browser/branding/nightly/firefox.svg b/browser/branding/nightly/firefox.svg
new file mode 100644
index 000000000000..c11b568b8553
--- /dev/null
+++ b/browser/branding/nightly/firefox.svg
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="25.1281738%" y1="5.44281006%" x2="54.3792725%" y2="100%" id="linearGradient-1">
+ <stop stop-color="#00E1E8" offset="0%"></stop>
+ <stop stop-color="#3500FF" offset="100%"></stop>
+ </linearGradient>
+ <linearGradient x1="25.1281738%" y1="5.44281006%" x2="54.3792725%" y2="100%" id="linearGradient-2">
+ <stop stop-color="#00E1E8" offset="0%"></stop>
+ <stop stop-color="#3500FF" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,25 C152.50841,25 255.874399,127.979815 255.874399,255.011855 C255.874399,382.043895 152.50841,485.02371 25,485.02371 L25,25 Z" id="path-3"></path>
+ <filter x="-20.8%" y="-8.7%" width="134.7%" height="117.4%" filterUnits="objectBoundingBox" id="filter-4">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="12" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.0872579578 0 0 0 0 0.00490370801 0 0 0 0 0.234933036 0 0 0 0.5 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Nightly" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g>
+ <circle id="background" fill-opacity="0.9" fill="#030004" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384044,2.842170
94e-14 256,2.84217094e-14 C114.60886,2.84217094e-14 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.437200, 255.011855) scale(-1, 1) translate(-140.437200, -255.011855) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-3"></use>
+ <use fill="url(#linearGradient-2)" fill-rule="evenodd" xlink:href="#path-3"></use>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/nightly/firefox64.ico b/browser/branding/nightly/firefox64.ico
index 1dfd0c2ab58e..eb28c93ab25f 100644
Binary files a/browser/branding/nightly/firefox64.ico and b/browser/branding/nightly/firefox64.ico differ
diff --git a/browser/branding/nightly/locales/en-US/brand.dtd b/browser/branding/nightly/locales/en-US/brand.dtd
index 30e706782882..aac10c9a47ac 100644
--- a/browser/branding/nightly/locales/en-US/brand.dtd
+++ b/browser/branding/nightly/locales/en-US/brand.dtd
@@ -2,8 +2,8 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY brandShorterName "Nightly">
-<!ENTITY brandShortName "Nightly">
-<!ENTITY brandFullName "Firefox Nightly">
-<!ENTITY vendorShortName "Mozilla">
-<!ENTITY trademarkInfo.part1 " ">
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
+<!ENTITY vendorShortName "Tor Project">
+<!ENTITY trademarkInfo.part1 "Firefox and the Firefox logos are trademarks of the Mozilla Foundation.">
diff --git a/browser/branding/nightly/locales/en-US/brand.properties b/browser/branding/nightly/locales/en-US/brand.properties
index 3e05923ec937..1ac8467474dc 100644
--- a/browser/branding/nightly/locales/en-US/brand.properties
+++ b/browser/branding/nightly/locales/en-US/brand.properties
@@ -2,9 +2,9 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=Nightly
-brandShortName=Nightly
-brandFullName=Firefox Nightly
-vendorShortName=Mozilla
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
+vendorShortName=Tor Project
syncBrandShortName=Sync
diff --git a/browser/branding/nightly/locales/en-US/tor-browser-brand.ftl b/browser/branding/nightly/locales/en-US/tor-browser-brand.ftl
new file mode 100644
index 000000000000..91af3397a178
--- /dev/null
+++ b/browser/branding/nightly/locales/en-US/tor-browser-brand.ftl
@@ -0,0 +1,5 @@
+# For Tor Browser, we use a new file (different than the brand.ftl file
+# that is used by Firefox) to avoid picking up the -brand-short-name values
+# that Mozilla includes in the Firefox language packs.
+
+-brand-short-name = Tor Browser Nightly
diff --git a/browser/branding/nightly/locales/jar.mn b/browser/branding/nightly/locales/jar.mn
index b58100a6da47..c78c82947acd 100644
--- a/browser/branding/nightly/locales/jar.mn
+++ b/browser/branding/nightly/locales/jar.mn
@@ -4,11 +4,10 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
[localization] @AB_CD@.jar:
- branding (en-US/**/*.ftl)
+ branding (%*.ftl)
@AB_CD@.jar:
% locale branding @AB_CD@ %locale/branding/
-# Nightly branding only exists in en-US
- locale/branding/brand.dtd (en-US/brand.dtd)
- locale/branding/brand.properties (en-US/brand.properties)
+ locale/branding/brand.dtd (%brand.dtd)
+ locale/branding/brand.properties (%brand.properties)
locale/branding/browserconfig.properties
diff --git a/browser/branding/nightly/locales/moz.build b/browser/branding/nightly/locales/moz.build
index 8bad13124d5a..eb4454d28f88 100644
--- a/browser/branding/nightly/locales/moz.build
+++ b/browser/branding/nightly/locales/moz.build
@@ -4,6 +4,4 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-DEFINES['MOZ_DISTRIBUTION_ID_UNQUOTED'] = CONFIG['MOZ_DISTRIBUTION_ID']
-
JAR_MANIFESTS += ['jar.mn']
\ No newline at end of file
diff --git a/browser/branding/nightly/pref/firefox-branding.js b/browser/branding/nightly/pref/firefox-branding.js
index 183244f348fd..682da69ffce8 100644
--- a/browser/branding/nightly/pref/firefox-branding.js
+++ b/browser/branding/nightly/pref/firefox-branding.js
@@ -2,30 +2,31 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-pref("startup.homepage_override_url", "https://www.mozilla.org/projects/firefox/%VERSION%/whatsnew/?oldversion=%OL…");
-pref("startup.homepage_welcome_url", "https://www.mozilla.org/projects/firefox/%VERSION%/firstrun/");
+pref("startup.homepage_override_url", "");
+pref("startup.homepage_welcome_url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/firstrun/");
pref("startup.homepage_welcome_url.additional", "");
-// The time interval between checks for a new version (in seconds)
-pref("app.update.interval", 7200); // 2 hours
+// Interval: Time between checks for a new version (in seconds)
+pref("app.update.interval", 43200); // 12 hours
// The time interval between the downloading of mar file chunks in the
// background (in seconds)
// 0 means "download everything at once"
pref("app.update.download.backgroundInterval", 0);
-// Give the user x seconds to react before showing the big UI. default=12 hours
-pref("app.update.promptWaitTime", 43200);
-// URL user can browse to manually if for some reason all update installation
-// attempts fail.
-pref("app.update.url.manual", "https://www.mozilla.org/%LOCALE%/firefox/nightly/");
-// A default value for the "More information about this update" link
-// supplied in the "An update is available" page of the update wizard.
-pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/nightly/notes/");
+// Give the user x seconds to react before showing the big UI. default=1 hour
+pref("app.update.promptWaitTime", 3600);
+// app.update.url.manual: URL user can browse to manually if for some reason
+// all update installation attempts fail.
+// app.update.url.details: a default value for the "More information about this
+// update" link supplied in the "An update is available" page of the update
+// wizard.
+pref("app.update.url.manual", "https://www.torproject.org/download/download-easy.html");
+pref("app.update.url.details", "https://www.torproject.org/projects/torbrowser.html");
-pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…");
+//pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/?utm_source…");
// The number of days a binary is permitted to be old
// without checking for an update. This assumes that
// app.update.checkInstallTime is true.
-pref("app.update.checkInstallTime.days", 2);
+pref("app.update.checkInstallTime.days", 63);
// Give the user x seconds to reboot before showing a badge on the hamburger
// button. default=immediately
@@ -33,4 +34,4 @@ pref("app.update.badgeWaitTime", 0);
// Number of usages of the web console or scratchpad.
// If this is less than 5, then pasting code into the web console or scratchpad is disabled
-pref("devtools.selfxss.count", 5);
+pref("devtools.selfxss.count", 0);
diff --git a/browser/branding/nightly/wizHeader.bmp b/browser/branding/nightly/wizHeader.bmp
index a771b4da41dd..a754d2db1e11 100644
Binary files a/browser/branding/nightly/wizHeader.bmp and b/browser/branding/nightly/wizHeader.bmp differ
diff --git a/browser/branding/nightly/wizHeaderRTL.bmp b/browser/branding/nightly/wizHeaderRTL.bmp
index 0b2264100ad1..c944205be23f 100644
Binary files a/browser/branding/nightly/wizHeaderRTL.bmp and b/browser/branding/nightly/wizHeaderRTL.bmp differ
diff --git a/browser/branding/nightly/wizWatermark.bmp b/browser/branding/nightly/wizWatermark.bmp
index 6dd11b809955..9e523b5fa196 100644
Binary files a/browser/branding/nightly/wizWatermark.bmp and b/browser/branding/nightly/wizWatermark.bmp differ
diff --git a/browser/branding/official/VisualElements_150.png b/browser/branding/official/VisualElements_150.png
index 401521d8da55..acc02c97d827 100644
Binary files a/browser/branding/official/VisualElements_150.png and b/browser/branding/official/VisualElements_150.png differ
diff --git a/browser/branding/official/VisualElements_70.png b/browser/branding/official/VisualElements_70.png
index 64170c27ec07..890a227e251a 100644
Binary files a/browser/branding/official/VisualElements_70.png and b/browser/branding/official/VisualElements_70.png differ
diff --git a/browser/branding/official/content/identity-icons-brand.svg b/browser/branding/official/content/identity-icons-brand.svg
index be779300d04b..62472ad1826e 100644
--- a/browser/branding/official/content/identity-icons-brand.svg
+++ b/browser/branding/official/content/identity-icons-brand.svg
@@ -1,17 +1,31 @@
-<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
- <defs>
- <linearGradient id="a" x1="31.36" y1="-.127" x2="4.307" y2="27.635" gradientUnits="userSpaceOnUse">
- <stop offset="0" stop-color="#ffea00"/>
- <stop offset=".108" stop-color="#ffde00"/>
- <stop offset=".3" stop-color="#ffbf00"/>
- <stop offset=".552" stop-color="#ff8e00"/>
- <stop offset=".816" stop-color="#ff272d"/>
- <stop offset=".848" stop-color="#fb2532"/>
- <stop offset=".887" stop-color="#ee1e40"/>
- <stop offset=".928" stop-color="#d81358"/>
- <stop offset=".971" stop-color="#ba0379"/>
- <stop offset=".978" stop-color="#b5007f"/>
- </linearGradient>
- </defs>
- <path d="M31.4 14.627c-.044-.289-.088-.46-.088-.46s-.113.131-.3.379a10.8 10.8 0 0 0-.375-2.04 13.883 13.883 0 0 0-.94-2.418 10.078 10.078 0 0 0-.858-1.473q-.177-.264-.36-.512c-.571-.934-1.227-1.5-1.986-2.583a7.826 7.826 0 0 1-.993-2.692 10.88 10.88 0 0 0-.477 1.761c-.779-.786-1.458-1.345-1.866-1.726C21.133.978 21.367 0 21.367 0s-3.773 4.209-2.137 8.6a8.43 8.43 0 0 0 2.81 3.744c1.581 1.3 3.283 2.33 4.18 4.952a8.4 8.4 0 0 0-3.154-3.327 7.593 7.593 0 0 1 .6 3.006 7.145 7.145 0 0 1-8.736 6.96 6.576 6.576 0 0 1-1.77-.6 7.2 7.2 0 0 1-2.121-1.96l-.01-.017.126.046a6.517 6.517 0 0 0 .9.242 5.644 5.644 0 0 0 3.594-.424c1.129-.626 1.813-1.091 2.367-.908h.01c.542.172.969-.353.581-.9a2.949 2.949 0 0 0-2.846-1.114c-1.131.165-2.167.968-3.648.19a3.13 3.13 0 0 1-.278-.163c-.1-.058.317.088.221.022a7.351 7.351 0 0 1-.931-.555c-.022-.018.224.07.2.052a3.591 3.591 0 0 1-.971-.982 1.746 1.746 0 0 1-.066-1.559 1.376 1.376 0 0 1 .6-.566c.192.095.31.166.31.166s-.087-.16-.135-.244c.017-.006.032 0 .049-.011.
168.073.539.261.734.376a1.018 1.018 0 0 1 .335.3s.067-.033.017-.173a.907.907 0 0 0-.347-.425h.016A2.952 2.952 0 0 1 12.3 15a2.085 2.085 0 0 0 .171-.906 1.181 1.181 0 0 0-.069-.5c-.054-.1.03-.14.123-.035a.977.977 0 0 0-.079-.239v-.008s.053-.069.078-.095a1.434 1.434 0 0 1 .216-.176 10 10 0 0 1 1.469-.749c.416-.181.759-.32.83-.36a2.287 2.287 0 0 0 .294-.226 1.973 1.973 0 0 0 .661-1.143 1.593 1.593 0 0 0 .017-.178v-.105c-.06-.226-.449-.395-2.483-.586a1.778 1.778 0 0 1-1.454-1.364v.009c-.029.075-.055.15-.081.225.026-.075.052-.151.081-.225v-.016a5.153 5.153 0 0 1 1.992-2.474c.052-.043-.208.011-.156-.032a5.18 5.18 0 0 1 .532-.225c.091-.039-.391-.222-.818-.178a2.2 2.2 0 0 0-.758.178c.1-.086.4-.2.33-.2a4.877 4.877 0 0 0-1.547.585.315.315 0 0 1 .03-.14 2.407 2.407 0 0 0-.966.746 1.286 1.286 0 0 0 .01-.174 2.883 2.883 0 0 0-.475.446l-.009.007a6.3 6.3 0 0 0-3.527-.3l-.01-.009h.012a2.953 2.953 0 0 1-.627-.7l-.008-.012-.014-.021a5.48 5.48 0 0 1-.237-.388 5.527 5.527 0 0 1-.176-.339c0-.008-.009-.0
11-.013-.012-.024 0-.041.111-.061.082v-.006a4.322 4.322 0 0 1-.309-1.697l-.016.008a1.89 1.89 0 0 0-.716.937c-.062.137-.1.213-.14.288v-.035c.009-.069.039-.212.032-.2s-.013.019-.02.029a1.741 1.741 0 0 0-.252.373 2.366 2.366 0 0 0-.15.383c-.006.021 0-.018 0-.064s.009-.128 0-.111l-.022.043a9.526 9.526 0 0 0-.806 3.044 3.038 3.038 0 0 0-.023.54v.016a6.641 6.641 0 0 0-.819 1.1 15.65 15.65 0 0 0-1.731 4.246 10.379 10.379 0 0 1 .928-1.626 15.041 15.041 0 0 0-1.049 5.514 14.264 14.264 0 0 1 .451-1.634 13.848 13.848 0 0 0 1.25 6.489 15.08 15.08 0 0 0 5.968 6.768 13.057 13.057 0 0 0 3.478 1.667c.163.059.327.117.5.173-.053-.021-.1-.044-.153-.067a15.752 15.752 0 0 0 4.506.659c5.41 0 7.2-2.06 7.36-2.266a2.739 2.739 0 0 0 .639-.858q.156-.064.316-.137l.067-.03.122-.057a11.349 11.349 0 0 0 2.284-1.43 5.511 5.511 0 0 0 2.129-3.11 1.944 1.944 0 0 0 .029-1.433q.083-.132.171-.28a12.743 12.743 0 0 0 1.913-6.2v-.184a7.76 7.76 0 0 0-.115-1.388z" fill="url(#a)"/>
-</svg>
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="-17 -17 546 546" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/official/content/jar.mn b/browser/branding/official/content/jar.mn
index 40e013ec50b8..512af80a55de 100644
--- a/browser/branding/official/content/jar.mn
+++ b/browser/branding/official/content/jar.mn
@@ -13,5 +13,7 @@ browser.jar:
content/branding/icon48.png (../default48.png)
content/branding/icon64.png (../default64.png)
content/branding/icon128.png (../default128.png)
+ content/branding/icon256.png (../default256.png)
+ content/branding/icon512.png (../default512.png)
content/branding/identity-icons-brand.svg
content/branding/aboutDialog.css
diff --git a/browser/branding/official/default128.png b/browser/branding/official/default128.png
index 7113b0ae15cf..18f3572d0d79 100644
Binary files a/browser/branding/official/default128.png and b/browser/branding/official/default128.png differ
diff --git a/browser/branding/official/default16.png b/browser/branding/official/default16.png
index 9a6f283b8f05..904b84e49871 100644
Binary files a/browser/branding/official/default16.png and b/browser/branding/official/default16.png differ
diff --git a/browser/branding/official/default22.png b/browser/branding/official/default22.png
deleted file mode 100644
index a9ef81c47df0..000000000000
Binary files a/browser/branding/official/default22.png and /dev/null differ
diff --git a/browser/branding/official/default24.png b/browser/branding/official/default24.png
deleted file mode 100644
index fdbbae3fdc0d..000000000000
Binary files a/browser/branding/official/default24.png and /dev/null differ
diff --git a/browser/branding/official/default256.png b/browser/branding/official/default256.png
index 1682f54b98fb..809dbad4ab16 100644
Binary files a/browser/branding/official/default256.png and b/browser/branding/official/default256.png differ
diff --git a/browser/branding/official/default32.png b/browser/branding/official/default32.png
index 494951ce50d6..e8e68eb4492c 100644
Binary files a/browser/branding/official/default32.png and b/browser/branding/official/default32.png differ
diff --git a/browser/branding/official/default48.png b/browser/branding/official/default48.png
index 1b78e3b41967..e839211d260b 100644
Binary files a/browser/branding/official/default48.png and b/browser/branding/official/default48.png differ
diff --git a/browser/branding/official/default512.png b/browser/branding/official/default512.png
new file mode 100644
index 000000000000..23942859673d
Binary files /dev/null and b/browser/branding/official/default512.png differ
diff --git a/browser/branding/official/default64.png b/browser/branding/official/default64.png
index 29cca7e1c881..147a229fab8b 100644
Binary files a/browser/branding/official/default64.png and b/browser/branding/official/default64.png differ
diff --git a/browser/branding/official/document.icns b/browser/branding/official/document.icns
index 476c7d6984b1..27a776a12557 100644
Binary files a/browser/branding/official/document.icns and b/browser/branding/official/document.icns differ
diff --git a/browser/branding/official/document.ico b/browser/branding/official/document.ico
index 311340e14fd1..3e5d99012f89 100644
Binary files a/browser/branding/official/document.ico and b/browser/branding/official/document.ico differ
diff --git a/browser/branding/official/firefox.VisualElementsManifest.xml b/browser/branding/official/firefox.VisualElementsManifest.xml
index 16e932c60e45..fc118941e3f3 100644
--- a/browser/branding/official/firefox.VisualElementsManifest.xml
+++ b/browser/branding/official/firefox.VisualElementsManifest.xml
@@ -4,5 +4,5 @@
Square150x150Logo='browser\VisualElements\VisualElements_150.png'
Square70x70Logo='browser\VisualElements\VisualElements_70.png'
ForegroundText='light'
- BackgroundColor='#000f40'/>
+ BackgroundColor='#420c5e'/>
</Application>
diff --git a/browser/branding/official/firefox.icns b/browser/branding/official/firefox.icns
index 481914fc8019..721e57925b69 100644
Binary files a/browser/branding/official/firefox.icns and b/browser/branding/official/firefox.icns differ
diff --git a/browser/branding/official/firefox.ico b/browser/branding/official/firefox.ico
index 01fb0efda56d..db0a9af865b6 100644
Binary files a/browser/branding/official/firefox.ico and b/browser/branding/official/firefox.ico differ
diff --git a/browser/branding/official/firefox.svg b/browser/branding/official/firefox.svg
new file mode 100644
index 000000000000..9240dc6e84ca
--- /dev/null
+++ b/browser/branding/official/firefox.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient x1="50%" y1="100%" x2="50%" y2="0%" id="linearGradient-1">
+ <stop stop-color="#420C5D" offset="0%"></stop>
+ <stop stop-color="#951AD1" offset="100%"></stop>
+ </linearGradient>
+ <path d="M25,29 C152.577777,29 256,131.974508 256,259 C256,386.025492 152.577777,489 25,489 L25,29 Z" id="path-2"></path>
+ <filter x="-18.2%" y="-7.4%" width="129.4%" height="114.8%" filterUnits="objectBoundingBox" id="filter-3">
+ <feOffset dx="-8" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+ <feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+ <feColorMatrix values="0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0 0.250980392 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+ </filter>
+ </defs>
+ <g id="Assets" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <g id="icon_512x512">
+ <g id="Group">
+ <g id="tb_icon/Stable">
+ <g id="Stable">
+ <circle id="background" fill="#F2E4FF" fill-rule="nonzero" cx="256" cy="256" r="246"></circle>
+ <path d="M256.525143,465.439707 L256.525143,434.406609 C354.826191,434.122748 434.420802,354.364917 434.420802,255.992903 C434.420802,157.627987 354.826191,77.8701558 256.525143,77.5862948 L256.525143,46.5531962 C371.964296,46.8441537 465.446804,140.489882 465.446804,255.992903 C465.446804,371.503022 371.964296,465.155846 256.525143,465.439707 Z M256.525143,356.820314 C311.970283,356.529356 356.8487,311.516106 356.8487,255.992903 C356.8487,200.476798 311.970283,155.463547 256.525143,155.17259 L256.525143,124.146588 C329.115485,124.430449 387.881799,183.338693 387.881799,255.992903 C387.881799,328.654211 329.115485,387.562455 256.525143,387.846316 L256.525143,356.820314 Z M256.525143,201.718689 C286.266674,202.00255 310.3026,226.180407 310.3026,255.992903 C310.3026,285.812497 286.266674,309.990353 256.525143,310.274214 L256.525143,201.718689 Z M0,255.992903 C0,397.384044 114.60886,512 256,512 C397.384044,512 512,397.384044 512,255.992903 C512,114.60886 397.384
044,0 256,0 C114.60886,0 0,114.60886 0,255.992903 Z" id="center" fill="url(#linearGradient-1)"></path>
+ <g id="half" transform="translate(140.500000, 259.000000) scale(-1, 1) translate(-140.500000, -259.000000) ">
+ <use fill="black" fill-opacity="1" filter="url(#filter-3)" xlink:href="#path-2"></use>
+ <use fill="url(#linearGradient-1)" fill-rule="evenodd" xlink:href="#path-2"></use>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/branding/official/firefox64.ico b/browser/branding/official/firefox64.ico
index 01fb0efda56d..db0a9af865b6 100644
Binary files a/browser/branding/official/firefox64.ico and b/browser/branding/official/firefox64.ico differ
diff --git a/browser/branding/official/mozicon128.png b/browser/branding/official/mozicon128.png
deleted file mode 100644
index 8fc3530cffa7..000000000000
Binary files a/browser/branding/official/mozicon128.png and /dev/null differ
diff --git a/browser/extensions/onboarding/content/img/tor-watermark.png b/browser/extensions/onboarding/content/img/tor-watermark.png
index e366c242b22a..4c7885e0235b 100644
Binary files a/browser/extensions/onboarding/content/img/tor-watermark.png and b/browser/extensions/onboarding/content/img/tor-watermark.png differ
diff --git a/browser/extensions/onboarding/content/img/tor-watermark.svg b/browser/extensions/onboarding/content/img/tor-watermark.svg
new file mode 100644
index 000000000000..9e575b592bb4
--- /dev/null
+++ b/browser/extensions/onboarding/content/img/tor-watermark.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="180px" height="180px" viewBox="0 0 180 180" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <g id="Process" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+ <path d="M90.1846205,163.631147 L90.1846205,152.721073 C124.743583,152.621278 152.726063,124.581416 152.726063,89.9975051 C152.726063,55.4160892 124.743583,27.3762266 90.1846205,27.2764318 L90.1846205,16.366358 C130.768698,16.4686478 163.633642,49.3909741 163.633642,89.9975051 C163.633642,130.606531 130.768698,163.531352 90.1846205,163.631147 Z M90.1846205,125.444642 C109.677053,125.342352 125.454621,109.517381 125.454621,89.9975051 C125.454621,70.4801242 109.677053,54.6551533 90.1846205,54.5528636 L90.1846205,43.6452847 C115.704663,43.7450796 136.364695,64.4550091 136.364695,89.9975051 C136.364695,115.542496 115.704663,136.252426 90.1846205,136.35222 L90.1846205,125.444642 Z M90.1846205,70.9167267 C100.640628,71.0165216 109.090758,79.5165493 109.090758,89.9975051 C109.090758,100.480956 100.640628,108.980984 90.1846205,109.080778 L90.1846205,70.9167267 Z M0,89.9975051 C0,139.705328 40.2921772,180 90,180 C139.705328,180 180,139.705328 180,89.9975051 C180,40.2921772 139.705328
,0 90,0 C40.2921772,0 0,40.2921772 0,89.9975051 Z" id="Fill-1-Copy" fill="#DFDFE2"></path>
+ </g>
+</svg>
\ No newline at end of file
diff --git a/browser/themes/shared/identity-block/identity-block.inc.css b/browser/themes/shared/identity-block/identity-block.inc.css
index 36bab9f13715..858c6d09d62b 100644
--- a/browser/themes/shared/identity-block/identity-block.inc.css
+++ b/browser/themes/shared/identity-block/identity-block.inc.css
@@ -32,12 +32,20 @@
}
#urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon-labels {
%ifdef MOZ_OFFICIAL_BRANDING
- color: rgb(229,115,0);
+ color: #420C5D;
%else
color: inherit;
%endif
}
+toolbar[brighttext] #urlbar[pageproxystate="valid"] > #identity-box.chromeUI > #identity-icon-labels {
+%ifdef MOZ_OFFICIAL_BRANDING
+ color: #CC80FF;
+%else
+ color: inherit;
+%endif
+}
+
#identity-icon-labels:-moz-locale-dir(ltr) {
padding-left: 4px;
}
1
0
commit 885c86d28b3552e5a06bdf2ef4947d2e3d5694be
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 21 07:02:48 2019 +0000
Fix typo in comment
---
projects/https-everywhere/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 4197d41..bcd47f2 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -10,7 +10,7 @@ var:
# HTTPS Everywhere is expected to be the same on all platforms. To avoid
# building the same thing 4 times, using 4 different container images
# (each one with a different suite or architecture), we set the container
- # to wheezy/amd64 for all platforms. This allows us to create only one
+ # to buster/amd64 for all platforms. This allows us to create only one
# container image, and also build the extension only one time as the
# filename does not contain the platform, and var/build_id should be
# the same since there is now nothing platform specific in the build
1
0

[tor-browser-build/maint-8.0] Bug 29097: https-everywhere make.sh explicitly depends on missing 3.6
by gk@torproject.org 21 Jan '19
by gk@torproject.org 21 Jan '19
21 Jan '19
commit 57a48c1c712a17bb2d58e3688d183bddd5e82423
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Jan 15 15:13:19 2019 -0800
Bug 29097: https-everywhere make.sh explicitly depends on missing 3.6
Updated the https-everywhere deps section to install python3.6 and
python3.6-lxml. Previously python and python-lxml were listed, but these
packages now map to the 3.7 versions.
---
projects/https-everywhere/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index b0b3ce9..4197d41 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -21,8 +21,8 @@ var:
arch: amd64
deps:
- git
- - python3
- - python3-lxml
+ - python3.6
+ - python3.6-lxml
- libxslt1.1
- libxml2-utils
- sqlite3
1
0
commit f22e370285ab9842c2955e286a4063700c06285c
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 21 07:02:48 2019 +0000
Fix typo in comment
---
projects/https-everywhere/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 4197d41..bcd47f2 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -10,7 +10,7 @@ var:
# HTTPS Everywhere is expected to be the same on all platforms. To avoid
# building the same thing 4 times, using 4 different container images
# (each one with a different suite or architecture), we set the container
- # to wheezy/amd64 for all platforms. This allows us to create only one
+ # to buster/amd64 for all platforms. This allows us to create only one
# container image, and also build the extension only one time as the
# filename does not contain the platform, and var/build_id should be
# the same since there is now nothing platform specific in the build
1
0

[tor-browser-build/master] Bug 29097: https-everywhere make.sh explicitly depends on missing 3.6
by gk@torproject.org 21 Jan '19
by gk@torproject.org 21 Jan '19
21 Jan '19
commit a1ac92687ed03f64c12992d7b83b40892beacb37
Author: Richard Pospesel <richard(a)torproject.org>
Date: Tue Jan 15 15:13:19 2019 -0800
Bug 29097: https-everywhere make.sh explicitly depends on missing 3.6
Updated the https-everywhere deps section to install python3.6 and
python3.6-lxml. Previously python and python-lxml were listed, but these
packages now map to the 3.7 versions.
---
projects/https-everywhere/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index b0b3ce9..4197d41 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -21,8 +21,8 @@ var:
arch: amd64
deps:
- git
- - python3
- - python3-lxml
+ - python3.6
+ - python3.6-lxml
- libxslt1.1
- libxml2-utils
- sqlite3
1
0

18 Jan '19
commit 0a628166a527bb643fa256e20332fbf54357697c
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Jan 16 10:08:38 2019 -0500
Bug 28836: Links on about:tor are not clickable.
When the about:tor window was short, links such as the Tor Browser
manual one were not clickable (the fundraising banner made this
problem more likely). The root cause was that the onions/circles
at the bottom of the page overlapped with the links, and the divs
that were used to generate the circles were in front of the links.
This patch changes the behavior on desktop to not allow the onions
to be placed under any page content; instead, they are displayed
at the bottom of the page after all other content. If they won't
fit on the page, a vertical scrollbar is shown.
On mobile, the existing behavior is preserved (onions can appear
behind content). We added `z-index: -1` to ensure that all tappable
content will be usable (although no links are currently displayed
on mobile, we might add some in the future).
---
src/chrome/content/aboutTor/aboutTor.xhtml | 4 ++--
src/chrome/skin/aboutTor.css | 28 ++++++++++++++++++++--------
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 5f5fccdc..1a9c701e 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- - Copyright (c) 2018, The Tor Project, Inc.
+ - Copyright (c) 2019, The Tor Project, Inc.
- See LICENSE for licensing information.
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
-->
@@ -120,7 +120,7 @@ window.addEventListener("pageshow", function() {
- "onion-pattern-row" elements, each containing 14 circles. The width
- of "onion-pattern-row" is fixed at a value that is wide enough so the
- circles are not distorted by the flex-based layout. The parent
- - "onion-pattern-container" element has overflow: hidden and is designed
+ - "onion-pattern-container" element has overflow-x: hidden and is designed
- to expand to the width of the page, until it reaches a maximum width
- that can accommodate all 14 circles. Since the rows are wider than
- most browser windows, typically the two rows of onions will fill the
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 37fa30fe..02d18b78 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, The Tor Project, Inc.
+ * Copyright (c) 2019, The Tor Project, Inc.
* See LICENSE for licensing information.
*
* vim: set sw=2 sts=2 ts=8 et syntax=css:
@@ -16,7 +16,13 @@
margin: 0px;
}
+html {
+ height: 100%;
+}
+
body {
+ display: flex;
+ flex-direction: column;
width: 100%;
height: 100%;
margin: 0px auto;
@@ -194,12 +200,15 @@ body:not([showmanual]) .showForManual {
}
.onion-pattern-container {
+ flex: auto; /* grow to consume remaining space on the page */
+ display: flex;
+ flex-direction: column;
+ justify-content: end; /* position circles at the bottom */
margin: 0px auto;
width: 100%;
max-width: 2200px; /* room for our 20 circles */
- overflow: hidden;
- position: absolute;
- bottom: 0px;
+ min-height: 232px; /* room for 2 rows of circles */
+ overflow-x: hidden; /* clip extra circles on the sides */
}
.onion-pattern-row {
@@ -386,10 +395,6 @@ body[show-donation-banner="true"] .onion-pattern-container {
transition: transform 0ms;
}
-body[show-donation-banner="true"] .onion-pattern-container {
- position: fixed;
-}
-
body[show-donation-banner="true"] #torstatus-version,
body[show-donation-banner="true"] #onboarding-overlay-button {
transform: translateY(200px);
@@ -431,6 +436,13 @@ body[mobile] .top .heading1 {
line-height: 1.1
}
+body[mobile] .onion-pattern-container {
+ flex: none;
+ z-index: -1; /* ensure that circles do not block access to clickable links */
+ position: absolute;
+ bottom: 0px;
+}
+
body[mobile] #donation-banner {
position: static;
}
1
0

[tor-browser-build/master] Bug 28874: Bump mingw-w64 commit to fix WebGL crash
by boklm@torproject.org 17 Jan '19
by boklm@torproject.org 17 Jan '19
17 Jan '19
commit 87f892495a13e878922147429e4c2b7a423f0d8e
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 11 08:19:14 2019 +0000
Bug 28874: Bump mingw-w64 commit to fix WebGL crash
---
projects/mingw-w64/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config
index 19a7a82..d0268cb 100644
--- a/projects/mingw-w64/config
+++ b/projects/mingw-w64/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
git_url: https://git.code.sf.net/p/mingw-w64/mingw-w64
-git_hash: ee9fc3d0b8c8868280e38384edd968067b8e71fc
+git_hash: 2d4e517ad0c7a9f0bd7001c42e6c131b977c15d9
version: '[% c("abbrev") %]'
var:
container:
1
0

[tor-browser-build/master] Bug 29105: Unbreak obfs4 nightly builds
by boklm@torproject.org 17 Jan '19
by boklm@torproject.org 17 Jan '19
17 Jan '19
commit aabf423be17388db2c980be9f04239479bdb6bb4
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 17 10:00:07 2019 +0000
Bug 29105: Unbreak obfs4 nightly builds
---
projects/obfs4/build | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/projects/obfs4/build b/projects/obfs4/build
index 2c3f933..4e42b23 100644
--- a/projects/obfs4/build
+++ b/projects/obfs4/build
@@ -21,9 +21,15 @@ cd /var/tmp/build/[% project %]-[% c('version') %]
# versioning (see bug 28325).
rm -f go.mod go.sum
[% END -%]
-
-mkdir -p "$GOPATH/src/git.torproject.org/pluggable-transports"
-ln -sf "$PWD" "$GOPATH/src/git.torproject.org/pluggable-transports/obfs4.git"
+# Commit 70d0e90c861be34ce3c5425ef1366a0b2ceb3026 changed the canonical obfs4
+# upstream repo to gitlab.com/yawning/obfs4.git.
+[% IF c("var/nightly") %]
+ mkdir -p "$GOPATH/src/gitlab.com/yawning"
+ ln -sf "$PWD" "$GOPATH/src/gitlab.com/yawning/obfs4.git"
+[% ELSE %]
+ mkdir -p "$GOPATH/src/git.torproject.org/pluggable-transports"
+ ln -sf "$PWD" "$GOPATH/src/git.torproject.org/pluggable-transports/obfs4.git"
+[% END %]
cd obfs4proxy
go build -ldflags '-s'
cp -a obfs4proxy[% IF c("var/windows") %].exe[% END %] $PTDIR
1
0

17 Jan '19
commit 5631b327ab3654af5f2b329cf46fd67921004f41
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu Jan 10 21:59:07 2019 +0100
Bug 26148: Update binutils to 2.31.1
With older versions of binutils, the order in which .o files were
included in an .a archive did not affect the output when linking a
program or library, which is no longer the case with recent versions of
binutils. To avoid reproducibility issues we patch the libtool version
included in gcc to make the creation `libstdc++.a` reproducible.
---
keyring/binutils.gpg | Bin 1169 -> 3184 bytes
projects/binutils/build | 12 +-
projects/binutils/config | 11 +-
.../binutils/fix-windows-reproducibility.patch | 1034 --------------------
projects/binutils/peXXigen.patch | 29 -
projects/mingw-w64/build | 4 +
projects/mingw-w64/config | 1 +
projects/mingw-w64/libtool-sort.patch | 67 ++
8 files changed, 77 insertions(+), 1081 deletions(-)
diff --git a/keyring/binutils.gpg b/keyring/binutils.gpg
index 2de205d..d13540e 100644
Binary files a/keyring/binutils.gpg and b/keyring/binutils.gpg differ
diff --git a/projects/binutils/build b/projects/binutils/build
index 0d1c062..ee22a1c 100644
--- a/projects/binutils/build
+++ b/projects/binutils/build
@@ -16,18 +16,12 @@ distdir=/var/tmp/dist/binutils
ln -s /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++_pic.a libstdc++.a
export LDFLAGS="-L$rootdir -lstdc++"
[% END %]
-tar xf [% project %]-[% c("version") %].tar.bz2
+tar xf [% project %]-[% c("version") %].tar.xz
cd [% project %]-[% c("version") %]
[% IF c('var/windows') -%]
- # XXX: This is needed due to bug 10102.
- sed 's/= extern_rt_rel_d;/= extern_rt_rel_d;\n memset (extern_rt_rel_d, 0, PE_IDATA5_SIZE);/' -i ld/pe-dll.c
- # Zeroing timestamps in PE headers reliably, see bug 12753.
- patch -p1 < ../peXXigen.patch
- # Needed for the hardening...
+ # Needed for the hardening... The upstream ticket is:
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=17321
patch -p1 < ../enable-reloc-section-ld.patch
- # fix build reproducibility of Windows builds by reverting commit 13e570f80c.
- # See bug 16472.
- patch -p1 < ../fix-windows-reproducibility.patch
[% END -%]
[% IF c('var/windows-x86_64') -%]
patch -p1 < ../64bit-fixups.patch
diff --git a/projects/binutils/config b/projects/binutils/config
index 1f992a2..2367280 100644
--- a/projects/binutils/config
+++ b/projects/binutils/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2.26.1
+version: 2.31.1
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
configure_opt: '--disable-multilib --enable-gold --enable-deterministic-archives --enable-plugins'
@@ -10,12 +10,9 @@ targets:
windows:
var:
configure_opt: '--target=[% c("arch") %]-w64-mingw32 --disable-multilib --enable-deterministic-archives'
- arch_deps:
- # texinfo required for fix-windows-reproducibility.patch
- - texinfo
input_files:
- - URL: https://ftp.gnu.org/gnu/binutils/binutils-[% c("version") %].tar.bz2
+ - URL: https://ftp.gnu.org/gnu/binutils/binutils-[% c("version") %].tar.xz
sig_ext: sig
file_gpg_id: 1
gpg_keyring: binutils.gpg
@@ -24,7 +21,3 @@ input_files:
enable: '[% c("var/windows") %]'
- filename: 64bit-fixups.patch
enable: '[% c("var/windows-x86_64") %]'
- - filename: peXXigen.patch
- enable: '[% c("var/windows") %]'
- - filename: fix-windows-reproducibility.patch
- enable: '[% c("var/windows") %]'
diff --git a/projects/binutils/fix-windows-reproducibility.patch b/projects/binutils/fix-windows-reproducibility.patch
deleted file mode 100644
index 1fc5987..0000000
--- a/projects/binutils/fix-windows-reproducibility.patch
+++ /dev/null
@@ -1,1034 +0,0 @@
-From c6df45304e92aa2d7e9f2d8311ae5a0b1543daa8 Mon Sep 17 00:00:00 2001
-From: Nicolas Vigier <boklm(a)torproject.org>
-Date: Wed, 16 May 2018 11:07:52 +0200
-Subject: [PATCH] Revert "Fix LTO vs. COFF archives"
-
-This reverts commit 13e570f80cbfb299a8858ce6830e91a6cb40ab7b.
----
- bfd/aoutx.h | 2 -
- bfd/cofflink.c | 116 +++++++++++++++---
- bfd/ecoff.c | 164 +++++++++++++++++++++++--
- bfd/elflink.c | 53 ++++++--
- bfd/libbfd-in.h | 4 +-
- bfd/libbfd.h | 4 +-
- bfd/linker.c | 366 ++++++++++++++++++++++++++++++++++++++++----------------
- bfd/pdp11.c | 4 +-
- bfd/xcofflink.c | 4 +-
- 9 files changed, 560 insertions(+), 157 deletions(-)
-
-diff --git a/bfd/aoutx.h b/bfd/aoutx.h
-index 9385a98..6ca9c58 100644
---- a/bfd/aoutx.h
-+++ b/bfd/aoutx.h
-@@ -3405,8 +3405,6 @@ aout_link_check_ar_symbols (bfd *abfd,
- static bfd_boolean
- aout_link_check_archive_element (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
-- const char *name ATTRIBUTE_UNUSED,
- bfd_boolean *pneeded)
- {
- bfd *oldbfd;
-diff --git a/bfd/cofflink.c b/bfd/cofflink.c
-index 2782795..3a82640 100644
---- a/bfd/cofflink.c
-+++ b/bfd/cofflink.c
-@@ -29,11 +29,9 @@
- #include "libcoff.h"
- #include "safe-ctype.h"
-
--static bfd_boolean coff_link_add_object_symbols (bfd *, struct bfd_link_info *);
--static bfd_boolean coff_link_check_archive_element
-- (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *);
--static bfd_boolean coff_link_add_symbols (bfd *, struct bfd_link_info *);
-+static bfd_boolean coff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info);
-+static bfd_boolean coff_link_check_archive_element (bfd *abfd, struct bfd_link_info *info, bfd_boolean *pneeded);
-+static bfd_boolean coff_link_add_symbols (bfd *abfd, struct bfd_link_info *info);
-
- /* Return TRUE if SYM is a weak, external symbol. */
- #define IS_WEAK_EXTERNAL(abfd, sym) \
-@@ -192,6 +190,74 @@ coff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
- return TRUE;
- }
-
-+/* Look through the symbols to see if this object file should be
-+ included in the link. */
-+
-+static bfd_boolean
-+coff_link_check_ar_symbols (bfd *abfd,
-+ struct bfd_link_info *info,
-+ bfd_boolean *pneeded,
-+ bfd **subsbfd)
-+{
-+ bfd_size_type symesz;
-+ bfd_byte *esym;
-+ bfd_byte *esym_end;
-+
-+ *pneeded = FALSE;
-+
-+ symesz = bfd_coff_symesz (abfd);
-+ esym = (bfd_byte *) obj_coff_external_syms (abfd);
-+ esym_end = esym + obj_raw_syment_count (abfd) * symesz;
-+ while (esym < esym_end)
-+ {
-+ struct internal_syment sym;
-+ enum coff_symbol_classification classification;
-+
-+ bfd_coff_swap_sym_in (abfd, esym, &sym);
-+
-+ classification = bfd_coff_classify_symbol (abfd, &sym);
-+ if (classification == COFF_SYMBOL_GLOBAL
-+ || classification == COFF_SYMBOL_COMMON)
-+ {
-+ const char *name;
-+ char buf[SYMNMLEN + 1];
-+ struct bfd_link_hash_entry *h;
-+
-+ /* This symbol is externally visible, and is defined by this
-+ object file. */
-+ name = _bfd_coff_internal_syment_name (abfd, &sym, buf);
-+ if (name == NULL)
-+ return FALSE;
-+ h = bfd_link_hash_lookup (info->hash, name, FALSE, FALSE, TRUE);
-+
-+ /* Auto import. */
-+ if (!h
-+ && info->pei386_auto_import
-+ && CONST_STRNEQ (name, "__imp_"))
-+ h = bfd_link_hash_lookup (info->hash, name + 6, FALSE, FALSE, TRUE);
-+
-+ /* We are only interested in symbols that are currently
-+ undefined. If a symbol is currently known to be common,
-+ COFF linkers do not bring in an object file which defines
-+ it. */
-+ if (h != (struct bfd_link_hash_entry *) NULL
-+ && h->type == bfd_link_hash_undefined)
-+ {
-+ if (!(*info->callbacks
-+ ->add_archive_element) (info, abfd, name, subsbfd))
-+ return FALSE;
-+ *pneeded = TRUE;
-+ return TRUE;
-+ }
-+ }
-+
-+ esym += (sym.n_numaux + 1) * symesz;
-+ }
-+
-+ /* We do not need this object file. */
-+ return TRUE;
-+}
-+
- /* Check a single archive element to see if we need to include it in
- the link. *PNEEDED is set according to whether this element is
- needed in the link or not. This is called via
-@@ -200,23 +266,41 @@ coff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
- static bfd_boolean
- coff_link_check_archive_element (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h,
-- const char *name,
- bfd_boolean *pneeded)
- {
-- *pneeded = FALSE;
-+ bfd *oldbfd;
-+ bfd_boolean needed;
-
-- /* We are only interested in symbols that are currently undefined.
-- If a symbol is currently known to be common, COFF linkers do not
-- bring in an object file which defines it. */
-- if (h->type != bfd_link_hash_undefined)
-- return TRUE;
-+ if (!_bfd_coff_get_external_symbols (abfd))
-+ return FALSE;
-
-- if (!(*info->callbacks->add_archive_element) (info, abfd, name, &abfd))
-+ oldbfd = abfd;
-+ if (!coff_link_check_ar_symbols (abfd, info, pneeded, &abfd))
- return FALSE;
-- *pneeded = TRUE;
-
-- return coff_link_add_object_symbols (abfd, info);
-+ needed = *pneeded;
-+ if (needed)
-+ {
-+ /* Potentially, the add_archive_element hook may have set a
-+ substitute BFD for us. */
-+ if (abfd != oldbfd)
-+ {
-+ if (!info->keep_memory
-+ && !_bfd_coff_free_symbols (oldbfd))
-+ return FALSE;
-+ if (!_bfd_coff_get_external_symbols (abfd))
-+ return FALSE;
-+ }
-+ if (!coff_link_add_symbols (abfd, info))
-+ return FALSE;
-+ }
-+
-+ if (!info->keep_memory || !needed)
-+ {
-+ if (!_bfd_coff_free_symbols (abfd))
-+ return FALSE;
-+ }
-+ return TRUE;
- }
-
- /* Add all the symbols from an object file to the hash table. */
-diff --git a/bfd/ecoff.c b/bfd/ecoff.c
-index 01f51e6..2c915f0 100644
---- a/bfd/ecoff.c
-+++ b/bfd/ecoff.c
-@@ -3500,29 +3500,171 @@ ecoff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
- return FALSE;
- }
-
-+/* Factored out from ecoff_link_check_archive_element. */
-+
-+static bfd_boolean
-+read_ext_syms_and_strs (HDRR **symhdr, bfd_size_type *external_ext_size,
-+ bfd_size_type *esize, void **external_ext, char **ssext, bfd *abfd,
-+ const struct ecoff_backend_data * const backend)
-+{
-+ if (! ecoff_slurp_symbolic_header (abfd))
-+ return FALSE;
-+
-+ /* If there are no symbols, we don't want it. */
-+ if (bfd_get_symcount (abfd) == 0)
-+ return TRUE;
-+
-+ *symhdr = &ecoff_data (abfd)->debug_info.symbolic_header;
-+
-+ *external_ext_size = backend->debug_swap.external_ext_size;
-+ *esize = (*symhdr)->iextMax * *external_ext_size;
-+ *external_ext = bfd_malloc (*esize);
-+ if (*external_ext == NULL && *esize != 0)
-+ return FALSE;
-+
-+ if (bfd_seek (abfd, (file_ptr) (*symhdr)->cbExtOffset, SEEK_SET) != 0
-+ || bfd_bread (*external_ext, *esize, abfd) != *esize)
-+ return FALSE;
-+
-+ *ssext = (char *) bfd_malloc ((bfd_size_type) (*symhdr)->issExtMax);
-+ if (*ssext == NULL && (*symhdr)->issExtMax != 0)
-+ return FALSE;
-+
-+ if (bfd_seek (abfd, (file_ptr) (*symhdr)->cbSsExtOffset, SEEK_SET) != 0
-+ || (bfd_bread (*ssext, (bfd_size_type) (*symhdr)->issExtMax, abfd)
-+ != (bfd_size_type) (*symhdr)->issExtMax))
-+ return FALSE;
-+ return TRUE;
-+}
-+
-+static bfd_boolean
-+reread_ext_syms_and_strs (HDRR **symhdr, bfd_size_type *external_ext_size,
-+ bfd_size_type *esize, void **external_ext, char **ssext, bfd *abfd,
-+ const struct ecoff_backend_data * const backend)
-+{
-+ if (*external_ext != NULL)
-+ free (*external_ext);
-+ *external_ext = NULL;
-+ if (*ssext != NULL)
-+ free (*ssext);
-+ *ssext = NULL;
-+ return read_ext_syms_and_strs (symhdr, external_ext_size, esize,
-+ external_ext, ssext, abfd, backend);
-+}
-+
- /* This is called if we used _bfd_generic_link_add_archive_symbols
- because we were not dealing with an ECOFF archive. */
-
- static bfd_boolean
- ecoff_link_check_archive_element (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h,
-- const char *name,
- bfd_boolean *pneeded)
- {
-+ const struct ecoff_backend_data * const backend = ecoff_backend (abfd);
-+ void (* const swap_ext_in) (bfd *, void *, EXTR *)
-+ = backend->debug_swap.swap_ext_in;
-+ HDRR *symhdr;
-+ bfd_size_type external_ext_size = 0;
-+ void * external_ext = NULL;
-+ bfd_size_type esize = 0;
-+ char *ssext = NULL;
-+ char *ext_ptr;
-+ char *ext_end;
-+
- *pneeded = FALSE;
-
-- /* Unlike the generic linker, we do not pull in elements because
-- of common symbols. */
-- if (h->type != bfd_link_hash_undefined)
-- return TRUE;
-+ /* Read in the external symbols and external strings. */
-+ if (!read_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
-+ &external_ext, &ssext, abfd, backend))
-+ goto error_return;
-
-- /* Include this element. */
-- if (!(*info->callbacks->add_archive_element) (info, abfd, name, &abfd))
-- return FALSE;
-- *pneeded = TRUE;
-+ /* If there are no symbols, we don't want it. */
-+ if (bfd_get_symcount (abfd) == 0)
-+ goto successful_return;
-
-- return ecoff_link_add_object_symbols (abfd, info);
-+ /* Look through the external symbols to see if they define some
-+ symbol that is currently undefined. */
-+ ext_ptr = (char *) external_ext;
-+ ext_end = ext_ptr + esize;
-+ for (; ext_ptr < ext_end; ext_ptr += external_ext_size)
-+ {
-+ EXTR esym;
-+ bfd_boolean def;
-+ const char *name;
-+ bfd *oldbfd;
-+ struct bfd_link_hash_entry *h;
-+
-+ (*swap_ext_in) (abfd, (void *) ext_ptr, &esym);
-+
-+ /* See if this symbol defines something. */
-+ if (esym.asym.st != stGlobal
-+ && esym.asym.st != stLabel
-+ && esym.asym.st != stProc)
-+ continue;
-+
-+ switch (esym.asym.sc)
-+ {
-+ case scText:
-+ case scData:
-+ case scBss:
-+ case scAbs:
-+ case scSData:
-+ case scSBss:
-+ case scRData:
-+ case scCommon:
-+ case scSCommon:
-+ case scInit:
-+ case scFini:
-+ case scRConst:
-+ def = TRUE;
-+ break;
-+ default:
-+ def = FALSE;
-+ break;
-+ }
-+
-+ if (! def)
-+ continue;
-+
-+ name = ssext + esym.asym.iss;
-+ h = bfd_link_hash_lookup (info->hash, name, FALSE, FALSE, TRUE);
-+
-+ /* Unlike the generic linker, we do not pull in elements because
-+ of common symbols. */
-+ if (h == NULL
-+ || h->type != bfd_link_hash_undefined)
-+ continue;
-+
-+ /* Include this element. */
-+ oldbfd = abfd;
-+ if (!(*info->callbacks
-+ ->add_archive_element) (info, abfd, name, &abfd))
-+ goto error_return;
-+ /* Potentially, the add_archive_element hook may have set a
-+ substitute BFD for us. */
-+ if (abfd != oldbfd
-+ && !reread_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
-+ &external_ext, &ssext, abfd, backend))
-+ goto error_return;
-+ if (! ecoff_link_add_externals (abfd, info, external_ext, ssext))
-+ goto error_return;
-+
-+ *pneeded = TRUE;
-+ goto successful_return;
-+ }
-+
-+ successful_return:
-+ if (external_ext != NULL)
-+ free (external_ext);
-+ if (ssext != NULL)
-+ free (ssext);
-+ return TRUE;
-+ error_return:
-+ if (external_ext != NULL)
-+ free (external_ext);
-+ if (ssext != NULL)
-+ free (ssext);
-+ return FALSE;
- }
-
- /* Add the symbols from an archive file to the global hash table.
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 94ab762..164df6b 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -2933,6 +2933,13 @@ elf_link_is_defined_archive_symbol (bfd * abfd, carsym * symdef)
- if (! bfd_check_format (abfd, bfd_object))
- return FALSE;
-
-+ /* If we have already included the element containing this symbol in the
-+ link then we do not need to include it again. Just claim that any symbol
-+ it contains is not a definition, so that our caller will not decide to
-+ (re)include this element. */
-+ if (abfd->archive_pass)
-+ return FALSE;
-+
- /* Select the appropriate symbol table. */
- if ((abfd->flags & DYNAMIC) == 0 || elf_dynsymtab (abfd) == 0)
- hdr = &elf_tdata (abfd)->symtab_hdr;
-@@ -4929,8 +4936,20 @@ _bfd_elf_archive_symbol_lookup (bfd *abfd,
- }
-
- /* Add symbols from an ELF archive file to the linker hash table. We
-- don't use _bfd_generic_link_add_archive_symbols because we need to
-- handle versioned symbols.
-+ don't use _bfd_generic_link_add_archive_symbols because of a
-+ problem which arises on UnixWare. The UnixWare libc.so is an
-+ archive which includes an entry libc.so.1 which defines a bunch of
-+ symbols. The libc.so archive also includes a number of other
-+ object files, which also define symbols, some of which are the same
-+ as those defined in libc.so.1. Correct linking requires that we
-+ consider each object file in turn, and include it if it defines any
-+ symbols we need. _bfd_generic_link_add_archive_symbols does not do
-+ this; it looks through the list of undefined symbols, and includes
-+ any object file which defines them. When this algorithm is used on
-+ UnixWare, it winds up pulling in libc.so.1 early and defining a
-+ bunch of symbols. This means that some of the other objects in the
-+ archive are not included in the link, which is incorrect since they
-+ precede libc.so.1 in the archive.
-
- Fortunately, ELF archive handling is simpler than that done by
- _bfd_generic_link_add_archive_symbols, which has to allow for a.out
-@@ -4945,7 +4964,8 @@ static bfd_boolean
- elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
- {
- symindex c;
-- unsigned char *included = NULL;
-+ bfd_boolean *defined = NULL;
-+ bfd_boolean *included = NULL;
- carsym *symdefs;
- bfd_boolean loop;
- bfd_size_type amt;
-@@ -4969,10 +4989,11 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
- if (c == 0)
- return TRUE;
- amt = c;
-- amt *= sizeof (*included);
-- included = (unsigned char *) bfd_zmalloc (amt);
-- if (included == NULL)
-- return FALSE;
-+ amt *= sizeof (bfd_boolean);
-+ defined = (bfd_boolean *) bfd_zmalloc (amt);
-+ included = (bfd_boolean *) bfd_zmalloc (amt);
-+ if (defined == NULL || included == NULL)
-+ goto error_return;
-
- symdefs = bfd_ardata (abfd)->symdefs;
- bed = get_elf_backend_data (abfd);
-@@ -4997,7 +5018,7 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
- struct bfd_link_hash_entry *undefs_tail;
- symindex mark;
-
-- if (included[i])
-+ if (defined[i] || included[i])
- continue;
- if (symdef->file_offset == last)
- {
-@@ -5032,8 +5053,7 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
- else if (h->root.type != bfd_link_hash_undefined)
- {
- if (h->root.type != bfd_link_hash_undefweak)
-- /* Symbol must be defined. Don't check it again. */
-- included[i] = TRUE;
-+ defined[i] = TRUE;
- continue;
- }
-
-@@ -5045,6 +5065,16 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
- if (! bfd_check_format (element, bfd_object))
- goto error_return;
-
-+ /* Doublecheck that we have not included this object
-+ already--it should be impossible, but there may be
-+ something wrong with the archive. */
-+ if (element->archive_pass != 0)
-+ {
-+ bfd_set_error (bfd_error_bad_value);
-+ goto error_return;
-+ }
-+ element->archive_pass = 1;
-+
- undefs_tail = info->hash->undefs_tail;
-
- if (!(*info->callbacks
-@@ -5082,11 +5112,14 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
- }
- while (loop);
-
-+ free (defined);
- free (included);
-
- return TRUE;
-
- error_return:
-+ if (defined != NULL)
-+ free (defined);
- if (included != NULL)
- free (included);
- return FALSE;
-diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h
-index 50a46ac..90c6018 100644
---- a/bfd/libbfd-in.h
-+++ b/bfd/libbfd-in.h
-@@ -596,9 +596,7 @@ extern bfd_boolean _bfd_generic_link_add_symbols_collect
- /* Generic archive add symbol routine. */
- extern bfd_boolean _bfd_generic_link_add_archive_symbols
- (bfd *, struct bfd_link_info *,
-- bfd_boolean (*) (bfd *, struct bfd_link_info *,
-- struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *));
-+ bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
-
- /* Forward declaration to avoid prototype errors. */
- typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
-diff --git a/bfd/libbfd.h b/bfd/libbfd.h
-index 6c48f82..ffb6ea4 100644
---- a/bfd/libbfd.h
-+++ b/bfd/libbfd.h
-@@ -601,9 +601,7 @@ extern bfd_boolean _bfd_generic_link_add_symbols_collect
- /* Generic archive add symbol routine. */
- extern bfd_boolean _bfd_generic_link_add_archive_symbols
- (bfd *, struct bfd_link_info *,
-- bfd_boolean (*) (bfd *, struct bfd_link_info *,
-- struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *));
-+ bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
-
- /* Forward declaration to avoid prototype errors. */
- typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
-diff --git a/bfd/linker.c b/bfd/linker.c
-index abdf5b0..4cff1e7 100644
---- a/bfd/linker.c
-+++ b/bfd/linker.c
-@@ -229,16 +229,28 @@ SUBSUBSECTION
- @findex _bfd_generic_link_add_archive_symbols
- In most cases the work of looking through the symbols in the
- archive should be done by the
-- <<_bfd_generic_link_add_archive_symbols>> function.
-+ <<_bfd_generic_link_add_archive_symbols>> function. This
-+ function builds a hash table from the archive symbol table and
-+ looks through the list of undefined symbols to see which
-+ elements should be included.
- <<_bfd_generic_link_add_archive_symbols>> is passed a function
- to call to make the final decision about adding an archive
- element to the link and to do the actual work of adding the
-- symbols to the linker hash table. If the element is to
-+ symbols to the linker hash table.
-+
-+ The function passed to
-+ <<_bfd_generic_link_add_archive_symbols>> must read the
-+ symbols of the archive element and decide whether the archive
-+ element should be included in the link. If the element is to
- be included, the <<add_archive_element>> linker callback
- routine must be called with the element as an argument, and
- the element's symbols must be added to the linker hash table
- just as though the element had itself been passed to the
-- <<_bfd_link_add_symbols>> function.
-+ <<_bfd_link_add_symbols>> function. The <<add_archive_element>>
-+ callback has the option to indicate that it would like to
-+ replace the element archive with a substitute BFD, in which
-+ case it is the symbols of that substitute BFD that must be
-+ added to the linker hash table instead.
-
- When the a.out <<_bfd_link_add_symbols>> function receives an
- archive, it calls <<_bfd_generic_link_add_archive_symbols>>
-@@ -407,14 +419,11 @@ static bfd_boolean generic_link_add_object_symbols
- static bfd_boolean generic_link_add_symbols
- (bfd *, struct bfd_link_info *, bfd_boolean);
- static bfd_boolean generic_link_check_archive_element_no_collect
-- (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *);
-+ (bfd *, struct bfd_link_info *, bfd_boolean *);
- static bfd_boolean generic_link_check_archive_element_collect
-- (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *);
-+ (bfd *, struct bfd_link_info *, bfd_boolean *);
- static bfd_boolean generic_link_check_archive_element
-- (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *, bfd_boolean);
-+ (bfd *, struct bfd_link_info *, bfd_boolean *, bfd_boolean);
- static bfd_boolean generic_link_add_symbol_list
- (bfd *, struct bfd_link_info *, bfd_size_type count, asymbol **,
- bfd_boolean);
-@@ -908,32 +917,138 @@ generic_link_add_object_symbols (bfd *abfd,
- return generic_link_add_symbol_list (abfd, info, symcount, outsyms, collect);
- }
-
-+/* We build a hash table of all symbols defined in an archive. */
-+
-+/* An archive symbol may be defined by multiple archive elements.
-+ This linked list is used to hold the elements. */
-+
-+struct archive_list
-+{
-+ struct archive_list *next;
-+ unsigned int indx;
-+};
-+
-+/* An entry in an archive hash table. */
-+
-+struct archive_hash_entry
-+{
-+ struct bfd_hash_entry root;
-+ /* Where the symbol is defined. */
-+ struct archive_list *defs;
-+};
-+
-+/* An archive hash table itself. */
-+
-+struct archive_hash_table
-+{
-+ struct bfd_hash_table table;
-+};
-+
-+/* Create a new entry for an archive hash table. */
-+
-+static struct bfd_hash_entry *
-+archive_hash_newfunc (struct bfd_hash_entry *entry,
-+ struct bfd_hash_table *table,
-+ const char *string)
-+{
-+ struct archive_hash_entry *ret = (struct archive_hash_entry *) entry;
-+
-+ /* Allocate the structure if it has not already been allocated by a
-+ subclass. */
-+ if (ret == NULL)
-+ ret = (struct archive_hash_entry *)
-+ bfd_hash_allocate (table, sizeof (struct archive_hash_entry));
-+ if (ret == NULL)
-+ return NULL;
-+
-+ /* Call the allocation method of the superclass. */
-+ ret = ((struct archive_hash_entry *)
-+ bfd_hash_newfunc ((struct bfd_hash_entry *) ret, table, string));
-+
-+ if (ret)
-+ {
-+ /* Initialize the local fields. */
-+ ret->defs = NULL;
-+ }
-+
-+ return &ret->root;
-+}
-+
-+/* Initialize an archive hash table. */
-+
-+static bfd_boolean
-+archive_hash_table_init
-+ (struct archive_hash_table *table,
-+ struct bfd_hash_entry *(*newfunc) (struct bfd_hash_entry *,
-+ struct bfd_hash_table *,
-+ const char *),
-+ unsigned int entsize)
-+{
-+ return bfd_hash_table_init (&table->table, newfunc, entsize);
-+}
-+
-+/* Look up an entry in an archive hash table. */
-+
-+#define archive_hash_lookup(t, string, create, copy) \
-+ ((struct archive_hash_entry *) \
-+ bfd_hash_lookup (&(t)->table, (string), (create), (copy)))
-+
-+/* Allocate space in an archive hash table. */
-+
-+#define archive_hash_allocate(t, size) bfd_hash_allocate (&(t)->table, (size))
-+
-+/* Free an archive hash table. */
-+
-+#define archive_hash_table_free(t) bfd_hash_table_free (&(t)->table)
-+
- /* Generic function to add symbols from an archive file to the global
- hash file. This function presumes that the archive symbol table
- has already been read in (this is normally done by the
-- bfd_check_format entry point). It looks through the archive symbol
-- table for symbols that are undefined or common in the linker global
-- symbol hash table. When one is found, the CHECKFN argument is used
-- to see if an object file should be included. This allows targets
-- to customize common symbol behaviour. CHECKFN should set *PNEEDED
-- to TRUE if the object file should be included, and must also call
-- the bfd_link_info add_archive_element callback function and handle
-- adding the symbols to the global hash table. CHECKFN must notice
-- if the callback indicates a substitute BFD, and arrange to add
-- those symbols instead if it does so. CHECKFN should only return
-- FALSE if some sort of error occurs. */
-+ bfd_check_format entry point). It looks through the undefined and
-+ common symbols and searches the archive symbol table for them. If
-+ it finds an entry, it includes the associated object file in the
-+ link.
-+
-+ The old linker looked through the archive symbol table for
-+ undefined symbols. We do it the other way around, looking through
-+ undefined symbols for symbols defined in the archive. The
-+ advantage of the newer scheme is that we only have to look through
-+ the list of undefined symbols once, whereas the old method had to
-+ re-search the symbol table each time a new object file was added.
-+
-+ The CHECKFN argument is used to see if an object file should be
-+ included. CHECKFN should set *PNEEDED to TRUE if the object file
-+ should be included, and must also call the bfd_link_info
-+ add_archive_element callback function and handle adding the symbols
-+ to the global hash table. CHECKFN must notice if the callback
-+ indicates a substitute BFD, and arrange to add those symbols instead
-+ if it does so. CHECKFN should only return FALSE if some sort of
-+ error occurs.
-+
-+ For some formats, such as a.out, it is possible to look through an
-+ object file but not actually include it in the link. The
-+ archive_pass field in a BFD is used to avoid checking the symbols
-+ of an object files too many times. When an object is included in
-+ the link, archive_pass is set to -1. If an object is scanned but
-+ not included, archive_pass is set to the pass number. The pass
-+ number is incremented each time a new object file is included. The
-+ pass number is used because when a new object file is included it
-+ may create new undefined symbols which cause a previously examined
-+ object file to be included. */
-
- bfd_boolean
- _bfd_generic_link_add_archive_symbols
- (bfd *abfd,
- struct bfd_link_info *info,
-- bfd_boolean (*checkfn) (bfd *, struct bfd_link_info *,
-- struct bfd_link_hash_entry *, const char *,
-- bfd_boolean *))
-+ bfd_boolean (*checkfn) (bfd *, struct bfd_link_info *, bfd_boolean *))
- {
-- bfd_boolean loop;
-- bfd_size_type amt;
-- unsigned char *included;
-+ carsym *arsyms;
-+ carsym *arsym_end;
-+ register carsym *arsym;
-+ int pass;
-+ struct archive_hash_table arsym_hash;
-+ unsigned int indx;
-+ struct bfd_link_hash_entry **pundef;
-
- if (! bfd_has_map (abfd))
- {
-@@ -944,103 +1059,148 @@ _bfd_generic_link_add_archive_symbols
- return FALSE;
- }
-
-- amt = bfd_ardata (abfd)->symdef_count;
-- if (amt == 0)
-- return TRUE;
-- amt *= sizeof (*included);
-- included = (unsigned char *) bfd_zmalloc (amt);
-- if (included == NULL)
-+ arsyms = bfd_ardata (abfd)->symdefs;
-+ arsym_end = arsyms + bfd_ardata (abfd)->symdef_count;
-+
-+ /* In order to quickly determine whether an symbol is defined in
-+ this archive, we build a hash table of the symbols. */
-+ if (! archive_hash_table_init (&arsym_hash, archive_hash_newfunc,
-+ sizeof (struct archive_hash_entry)))
- return FALSE;
-+ for (arsym = arsyms, indx = 0; arsym < arsym_end; arsym++, indx++)
-+ {
-+ struct archive_hash_entry *arh;
-+ struct archive_list *l, **pp;
-
-- do
-+ arh = archive_hash_lookup (&arsym_hash, arsym->name, TRUE, FALSE);
-+ if (arh == NULL)
-+ goto error_return;
-+ l = ((struct archive_list *)
-+ archive_hash_allocate (&arsym_hash, sizeof (struct archive_list)));
-+ if (l == NULL)
-+ goto error_return;
-+ l->indx = indx;
-+ for (pp = &arh->defs; *pp != NULL; pp = &(*pp)->next)
-+ ;
-+ *pp = l;
-+ l->next = NULL;
-+ }
-+
-+ /* The archive_pass field in the archive itself is used to
-+ initialize PASS, sine we may search the same archive multiple
-+ times. */
-+ pass = abfd->archive_pass + 1;
-+
-+ /* New undefined symbols are added to the end of the list, so we
-+ only need to look through it once. */
-+ pundef = &info->hash->undefs;
-+ while (*pundef != NULL)
- {
-- carsym *arsyms;
-- carsym *arsym_end;
-- carsym *arsym;
-- unsigned int indx;
-- file_ptr last_ar_offset = -1;
-- bfd_boolean needed = FALSE;
-- bfd *element = NULL;
--
-- loop = FALSE;
-- arsyms = bfd_ardata (abfd)->symdefs;
-- arsym_end = arsyms + bfd_ardata (abfd)->symdef_count;
-- for (arsym = arsyms, indx = 0; arsym < arsym_end; arsym++, indx++)
-+ struct bfd_link_hash_entry *h;
-+ struct archive_hash_entry *arh;
-+ struct archive_list *l;
-+
-+ h = *pundef;
-+
-+ /* When a symbol is defined, it is not necessarily removed from
-+ the list. */
-+ if (h->type != bfd_link_hash_undefined
-+ && h->type != bfd_link_hash_common)
- {
-- struct bfd_link_hash_entry *h;
-- struct bfd_link_hash_entry *undefs_tail;
-+ /* Remove this entry from the list, for general cleanliness
-+ and because we are going to look through the list again
-+ if we search any more libraries. We can't remove the
-+ entry if it is the tail, because that would lose any
-+ entries we add to the list later on (it would also cause
-+ us to lose track of whether the symbol has been
-+ referenced). */
-+ if (*pundef != info->hash->undefs_tail)
-+ *pundef = (*pundef)->u.undef.next;
-+ else
-+ pundef = &(*pundef)->u.undef.next;
-+ continue;
-+ }
-
-- if (included[indx])
-- continue;
-- if (needed && arsym->file_offset == last_ar_offset)
-+ /* Look for this symbol in the archive symbol map. */
-+ arh = archive_hash_lookup (&arsym_hash, h->root.string, FALSE, FALSE);
-+ if (arh == NULL)
-+ {
-+ /* If we haven't found the exact symbol we're looking for,
-+ let's look for its import thunk */
-+ if (info->pei386_auto_import)
-+ {
-+ bfd_size_type amt = strlen (h->root.string) + 10;
-+ char *buf = (char *) bfd_malloc (amt);
-+ if (buf == NULL)
-+ return FALSE;
-+
-+ sprintf (buf, "__imp_%s", h->root.string);
-+ arh = archive_hash_lookup (&arsym_hash, buf, FALSE, FALSE);
-+ free(buf);
-+ }
-+ if (arh == NULL)
- {
-- included[indx] = 1;
-+ pundef = &(*pundef)->u.undef.next;
- continue;
- }
-+ }
-+ /* Look at all the objects which define this symbol. */
-+ for (l = arh->defs; l != NULL; l = l->next)
-+ {
-+ bfd *element;
-+ bfd_boolean needed;
-+
-+ /* If the symbol has gotten defined along the way, quit. */
-+ if (h->type != bfd_link_hash_undefined
-+ && h->type != bfd_link_hash_common)
-+ break;
-
-- h = bfd_link_hash_lookup (info->hash, arsym->name,
-- FALSE, FALSE, TRUE);
-+ element = bfd_get_elt_at_index (abfd, l->indx);
-+ if (element == NULL)
-+ goto error_return;
-
-- if (h == NULL
-- && info->pei386_auto_import
-- && CONST_STRNEQ (arsym->name, "__imp_"))
-- h = bfd_link_hash_lookup (info->hash, arsym->name + 6,
-- FALSE, FALSE, TRUE);
-- if (h == NULL)
-+ /* If we've already included this element, or if we've
-+ already checked it on this pass, continue. */
-+ if (element->archive_pass == -1
-+ || element->archive_pass == pass)
- continue;
-
-- if (h->type != bfd_link_hash_undefined
-- && h->type != bfd_link_hash_common)
-+ /* If we can't figure this element out, just ignore it. */
-+ if (! bfd_check_format (element, bfd_object))
- {
-- if (h->type != bfd_link_hash_undefweak)
-- /* Symbol must be defined. Don't check it again. */
-- included[indx] = 1;
-+ element->archive_pass = -1;
- continue;
- }
-
-- if (last_ar_offset != arsym->file_offset)
-- {
-- last_ar_offset = arsym->file_offset;
-- element = _bfd_get_elt_at_filepos (abfd, last_ar_offset);
-- if (element == NULL
-- || !bfd_check_format (element, bfd_object))
-- goto error_return;
-- }
--
-- undefs_tail = info->hash->undefs_tail;
--
- /* CHECKFN will see if this element should be included, and
- go ahead and include it if appropriate. */
-- if (! (*checkfn) (element, info, h, arsym->name, &needed))
-+ if (! (*checkfn) (element, info, &needed))
- goto error_return;
-
-- if (needed)
-+ if (! needed)
-+ element->archive_pass = pass;
-+ else
- {
-- unsigned int mark;
-+ element->archive_pass = -1;
-
-- /* Look backward to mark all symbols from this object file
-- which we have already seen in this pass. */
-- mark = indx;
-- do
-- {
-- included[mark] = 1;
-- if (mark == 0)
-- break;
-- --mark;
-- }
-- while (arsyms[mark].file_offset == last_ar_offset);
--
-- if (undefs_tail != info->hash->undefs_tail)
-- loop = TRUE;
-+ /* Increment the pass count to show that we may need to
-+ recheck object files which were already checked. */
-+ ++pass;
- }
- }
-- } while (loop);
-
-- free (included);
-+ pundef = &(*pundef)->u.undef.next;
-+ }
-+
-+ archive_hash_table_free (&arsym_hash);
-+
-+ /* Save PASS in case we are called again. */
-+ abfd->archive_pass = pass;
-+
- return TRUE;
-
- error_return:
-- free (included);
-+ archive_hash_table_free (&arsym_hash);
- return FALSE;
- }
-
-@@ -1050,14 +1210,12 @@ _bfd_generic_link_add_archive_symbols
- for finding them. */
-
- static bfd_boolean
--generic_link_check_archive_element_no_collect (bfd *abfd,
-+generic_link_check_archive_element_no_collect (
-+ bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h,
-- const char *name,
- bfd_boolean *pneeded)
- {
-- return generic_link_check_archive_element (abfd, info, h, name, pneeded,
-- FALSE);
-+ return generic_link_check_archive_element (abfd, info, pneeded, FALSE);
- }
-
- /* See if we should include an archive element. This version is used
-@@ -1067,12 +1225,9 @@ generic_link_check_archive_element_no_collect (bfd *abfd,
- static bfd_boolean
- generic_link_check_archive_element_collect (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h,
-- const char *name,
- bfd_boolean *pneeded)
- {
-- return generic_link_check_archive_element (abfd, info, h, name, pneeded,
-- TRUE);
-+ return generic_link_check_archive_element (abfd, info, pneeded, TRUE);
- }
-
- /* See if we should include an archive element. Optionally collect
-@@ -1081,8 +1236,6 @@ generic_link_check_archive_element_collect (bfd *abfd,
- static bfd_boolean
- generic_link_check_archive_element (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h,
-- const char *name ATTRIBUTE_UNUSED,
- bfd_boolean *pneeded,
- bfd_boolean collect)
- {
-@@ -1098,6 +1251,7 @@ generic_link_check_archive_element (bfd *abfd,
- for (; pp < ppend; pp++)
- {
- asymbol *p;
-+ struct bfd_link_hash_entry *h;
-
- p = *pp;
-
-diff --git a/bfd/pdp11.c b/bfd/pdp11.c
-index 593c5ca..5111a51 100644
---- a/bfd/pdp11.c
-+++ b/bfd/pdp11.c
-@@ -251,7 +251,7 @@ HOWTO( 1, 0, 1, 16, TRUE, 0, complain_overflow_signed,0,"DISP16", TRU
- #define TABLE_SIZE(TABLE) (sizeof(TABLE)/sizeof(TABLE[0]))
-
-
--static bfd_boolean aout_link_check_archive_element (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, const char *, bfd_boolean *);
-+static bfd_boolean aout_link_check_archive_element (bfd *, struct bfd_link_info *, bfd_boolean *);
- static bfd_boolean aout_link_add_object_symbols (bfd *, struct bfd_link_info *);
- static bfd_boolean aout_link_add_symbols (bfd *, struct bfd_link_info *);
- static bfd_boolean aout_link_write_symbols (struct aout_final_link_info *, bfd *);
-@@ -2682,8 +2682,6 @@ aout_link_check_ar_symbols (bfd *abfd,
- static bfd_boolean
- aout_link_check_archive_element (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
-- const char *name ATTRIBUTE_UNUSED,
- bfd_boolean *pneeded)
- {
- bfd *oldbfd;
-diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
-index 9522974..dcfd58f 100644
---- a/bfd/xcofflink.c
-+++ b/bfd/xcofflink.c
-@@ -2384,8 +2384,6 @@ xcoff_link_check_ar_symbols (bfd *abfd,
- static bfd_boolean
- xcoff_link_check_archive_element (bfd *abfd,
- struct bfd_link_info *info,
-- struct bfd_link_hash_entry *h ATTRIBUTE_UNUSED,
-- const char *name ATTRIBUTE_UNUSED,
- bfd_boolean *pneeded)
- {
- bfd_boolean keep_syms_p;
-@@ -2465,7 +2463,7 @@ _bfd_xcoff_bfd_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
- bfd_boolean needed;
-
- if (! xcoff_link_check_archive_element (member, info,
-- NULL, NULL, &needed))
-+ &needed))
- return FALSE;
- if (needed)
- member->archive_pass = -1;
diff --git a/projects/binutils/peXXigen.patch b/projects/binutils/peXXigen.patch
deleted file mode 100644
index c2a689a..0000000
--- a/projects/binutils/peXXigen.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f8e8f1daf12e30d3197b25d6bd10c03d1f932e20 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc(a)redhat.com>
-Date: Tue, 27 Sep 2016 12:08:19 +0100
-Subject: [PATCH] Ensure that the timestamp in PE/COFF headers is always
- initialised.
-
- PR ld/20634
- * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
- timestamp field if real time values are not being stored.
----
- bfd/peXXigen.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
-index c92c1ea..d713d96 100644
---- a/bfd/peXXigen.c
-+++ b/bfd/peXXigen.c
-@@ -879,6 +879,8 @@ _bfd_XXi_only_swap_filehdr_out (bfd * abfd, void * in, void * out)
- /* Only use a real timestamp if the option was chosen. */
- if ((pe_data (abfd)->insert_timestamp))
- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat);
-+ else
-+ H_PUT_32 (abfd, 0, filehdr_out->f_timdat);
-
- PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr,
- filehdr_out->f_symptr);
---
-2.1.4
-
diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build
index b2117c5..4be660d 100644
--- a/projects/mingw-w64/build
+++ b/projects/mingw-w64/build
@@ -22,6 +22,10 @@ cd /var/tmp/build
mkdir gcc
cd gcc
tar xJf $rootdir/gcc-[% c("var/gcc_version") %].tar.xz
+# https://gcc.gnu.org/ml/gcc-patches/2018-06/msg01115.html
+# From gcc commit 494c17dc2bf45b8155fb9a14178ab48f01bc12a8
+# libtool: Sort output of 'find' to enable deterministic builds.
+patch -p1 -d gcc-[% c("var/gcc_version") %] < $rootdir/libtool-sort.patch
# We don't want to link against msvcrt.dll due to bug 9084 and want to use
# pthreads, too, as this is needed for ESR60, at least due to bug 1406542.
[% c("arch") %]-w64-mingw32-g++ -dumpspecs > $distdir/msvcr100.spec
diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config
index b9185f3..19a7a82 100644
--- a/projects/mingw-w64/config
+++ b/projects/mingw-w64/config
@@ -34,3 +34,4 @@ input_files:
sha256sum: 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4
- name: binutils
project: binutils
+ - filename: libtool-sort.patch
diff --git a/projects/mingw-w64/libtool-sort.patch b/projects/mingw-w64/libtool-sort.patch
new file mode 100644
index 0000000..7c7fa85
--- /dev/null
+++ b/projects/mingw-w64/libtool-sort.patch
@@ -0,0 +1,67 @@
+From 494c17dc2bf45b8155fb9a14178ab48f01bc12a8 Mon Sep 17 00:00:00 2001
+From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 5 Jul 2018 19:13:45 +0000
+Subject: [PATCH 1/1] * libtool.m4: Sort output of 'find' to enable
+ deterministic builds. * ltmain.sh: Likewise.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262451 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ ChangeLog | 5 +++++
+ libtool.m4 | 8 ++++----
+ ltmain.sh | 4 ++--
+ 3 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/libtool.m4 b/libtool.m4
+index 24d13f3..940faaa 100644
+--- a/libtool.m4
++++ b/libtool.m4
+@@ -6005,20 +6005,20 @@ if test "$_lt_caught_CXX_error" != yes; then
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
++ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+diff --git a/ltmain.sh b/ltmain.sh
+index 9503ec8..79f9ba8 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -2917,7 +2917,7 @@ func_extract_archives ()
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
++ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+@@ -2932,7 +2932,7 @@ func_extract_archives ()
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
++ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+--
+2.9.3
+
1
0

16 Jan '19
commit 358b3b15be6c35810b166625c9331d6ef5071bee
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 14 08:22:40 2019 +0000
Bug 29081: Harden libwinpthread
---
projects/mingw-w64/build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build
index 1e25290..b2117c5 100644
--- a/projects/mingw-w64/build
+++ b/projects/mingw-w64/build
@@ -43,8 +43,8 @@ make install
mkdir -p /var/tmp/build/builddir/mingw-w64/mingw-w64-pthread
cd /var/tmp/build/builddir/mingw-w64/mingw-w64-pthread
/var/tmp/build/[% project %]-[% c("version") %]/mingw-w64-libraries/winpthreads/configure \
- LDFLAGS="-Wl,--no-insert-timestamp" \
- --host=[% c("arch") %]-w64-mingw32 --prefix=$distdir/[% c("arch") %]-w64-mingw32
+ LDFLAGS="-Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp" \
+ --host=[% c("arch") %]-w64-mingw32 --prefix=$distdir/[% c("arch") %]-w64-mingw32
make -j[% c("buildconf/num_procs") %]
make install
1
0

[torbutton/master] Bug 28894: Remove Torbutton parts of fix for #20244
by gk@torproject.org 15 Jan '19
by gk@torproject.org 15 Jan '19
15 Jan '19
commit 129149cf02c4888f6997fe3396909c8ba2c5edcb
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 14 18:07:29 2019 +0000
Bug 28894: Remove Torbutton parts of fix for #20244
---
src/chrome.manifest | 1 -
src/chrome/content/privacy-prefs-overlay.xul | 13 -------------
src/chrome/locale/af/torbutton.dtd | 2 --
src/chrome/locale/ak/torbutton.dtd | 2 --
src/chrome/locale/am/torbutton.dtd | 2 --
src/chrome/locale/ar/torbutton.dtd | 6 ------
src/chrome/locale/arn/torbutton.dtd | 2 --
src/chrome/locale/ast/torbutton.dtd | 2 --
src/chrome/locale/az/torbutton.dtd | 2 --
src/chrome/locale/be/torbutton.dtd | 2 --
src/chrome/locale/bg/torbutton.dtd | 2 --
src/chrome/locale/bn-BD/torbutton.dtd | 6 ------
src/chrome/locale/bn-IN/torbutton.dtd | 2 --
src/chrome/locale/bn/torbutton.dtd | 2 --
src/chrome/locale/bo/torbutton.dtd | 2 --
src/chrome/locale/br/torbutton.dtd | 2 --
src/chrome/locale/bs/torbutton.dtd | 2 --
src/chrome/locale/ca/torbutton.dtd | 6 ------
src/chrome/locale/cs/torbutton.dtd | 6 ------
src/chrome/locale/csb/torbutton.dtd | 2 --
src/chrome/locale/cy/torbutton.dtd | 2 --
src/chrome/locale/da/torbutton.dtd | 6 ------
src/chrome/locale/de/torbutton.dtd | 6 ------
src/chrome/locale/dz/torbutton.dtd | 2 --
src/chrome/locale/el/torbutton.dtd | 6 ------
src/chrome/locale/en-US/torbutton.dtd | 6 ------
src/chrome/locale/eo/torbutton.dtd | 2 --
src/chrome/locale/es-AR/torbutton.dtd | 6 ------
src/chrome/locale/es/torbutton.dtd | 6 ------
src/chrome/locale/et/torbutton.dtd | 2 --
src/chrome/locale/eu/torbutton.dtd | 6 ------
src/chrome/locale/fa/torbutton.dtd | 6 ------
src/chrome/locale/fi/torbutton.dtd | 2 --
src/chrome/locale/fil/torbutton.dtd | 2 --
src/chrome/locale/fo/torbutton.dtd | 2 --
src/chrome/locale/fr/torbutton.dtd | 6 ------
src/chrome/locale/fur/torbutton.dtd | 2 --
src/chrome/locale/fy/torbutton.dtd | 2 --
src/chrome/locale/ga/torbutton.dtd | 6 ------
src/chrome/locale/gl/torbutton.dtd | 2 --
src/chrome/locale/gu/torbutton.dtd | 2 --
src/chrome/locale/gun/torbutton.dtd | 2 --
src/chrome/locale/ha/torbutton.dtd | 2 --
src/chrome/locale/he/torbutton.dtd | 6 ------
src/chrome/locale/hi/torbutton.dtd | 2 --
src/chrome/locale/hr/torbutton.dtd | 2 --
src/chrome/locale/ht/torbutton.dtd | 2 --
src/chrome/locale/hu/torbutton.dtd | 6 ------
src/chrome/locale/hy/torbutton.dtd | 2 --
src/chrome/locale/id/torbutton.dtd | 6 ------
src/chrome/locale/is/torbutton.dtd | 6 ------
src/chrome/locale/it/torbutton.dtd | 6 ------
src/chrome/locale/ja/torbutton.dtd | 6 ------
src/chrome/locale/jv/torbutton.dtd | 2 --
src/chrome/locale/ka/torbutton.dtd | 6 ------
src/chrome/locale/km/torbutton.dtd | 2 --
src/chrome/locale/kn/torbutton.dtd | 2 --
src/chrome/locale/ko/torbutton.dtd | 6 ------
src/chrome/locale/ku/torbutton.dtd | 2 --
src/chrome/locale/kw/torbutton.dtd | 2 --
src/chrome/locale/ky/torbutton.dtd | 2 --
src/chrome/locale/lb/torbutton.dtd | 2 --
src/chrome/locale/ln/torbutton.dtd | 2 --
src/chrome/locale/lo/torbutton.dtd | 2 --
src/chrome/locale/lt/torbutton.dtd | 2 --
src/chrome/locale/lv/torbutton.dtd | 2 --
src/chrome/locale/mg/torbutton.dtd | 2 --
src/chrome/locale/mi/torbutton.dtd | 2 --
src/chrome/locale/mk/torbutton.dtd | 2 --
src/chrome/locale/ml/torbutton.dtd | 2 --
src/chrome/locale/mn/torbutton.dtd | 2 --
src/chrome/locale/mr/torbutton.dtd | 2 --
src/chrome/locale/ms/torbutton.dtd | 2 --
src/chrome/locale/mt/torbutton.dtd | 2 --
src/chrome/locale/my/torbutton.dtd | 2 --
src/chrome/locale/nah/torbutton.dtd | 2 --
src/chrome/locale/nap/torbutton.dtd | 2 --
src/chrome/locale/nb/torbutton.dtd | 6 ------
src/chrome/locale/ne/torbutton.dtd | 2 --
src/chrome/locale/nl/torbutton.dtd | 6 ------
src/chrome/locale/nn/torbutton.dtd | 2 --
src/chrome/locale/nso/torbutton.dtd | 2 --
src/chrome/locale/oc/torbutton.dtd | 2 --
src/chrome/locale/or/torbutton.dtd | 2 --
src/chrome/locale/pa/torbutton.dtd | 2 --
src/chrome/locale/pap/torbutton.dtd | 2 --
src/chrome/locale/pl/torbutton.dtd | 6 ------
src/chrome/locale/pms/torbutton.dtd | 2 --
src/chrome/locale/ps/torbutton.dtd | 2 --
src/chrome/locale/pt-BR/torbutton.dtd | 6 ------
src/chrome/locale/pt/torbutton.dtd | 6 ------
src/chrome/locale/ro/torbutton.dtd | 2 --
src/chrome/locale/ru/torbutton.dtd | 6 ------
src/chrome/locale/sco/torbutton.dtd | 2 --
src/chrome/locale/sk/torbutton.dtd | 2 --
src/chrome/locale/sl/torbutton.dtd | 2 --
src/chrome/locale/so/torbutton.dtd | 2 --
src/chrome/locale/son/torbutton.dtd | 2 --
src/chrome/locale/sq/torbutton.dtd | 2 --
src/chrome/locale/sr/torbutton.dtd | 2 --
src/chrome/locale/st/torbutton.dtd | 2 --
src/chrome/locale/su/torbutton.dtd | 2 --
src/chrome/locale/sv/torbutton.dtd | 6 ------
src/chrome/locale/sw/torbutton.dtd | 2 --
src/chrome/locale/ta/torbutton.dtd | 2 --
src/chrome/locale/te/torbutton.dtd | 2 --
src/chrome/locale/tg/torbutton.dtd | 2 --
src/chrome/locale/th/torbutton.dtd | 2 --
src/chrome/locale/ti/torbutton.dtd | 2 --
src/chrome/locale/tk/torbutton.dtd | 2 --
src/chrome/locale/tr/torbutton.dtd | 6 ------
src/chrome/locale/uk/torbutton.dtd | 2 --
src/chrome/locale/ur/torbutton.dtd | 2 --
src/chrome/locale/ve/torbutton.dtd | 2 --
src/chrome/locale/vi/torbutton.dtd | 6 ------
src/chrome/locale/wa/torbutton.dtd | 2 --
src/chrome/locale/wo/torbutton.dtd | 2 --
src/chrome/locale/zh-CN/torbutton.dtd | 6 ------
src/chrome/locale/zh-HK/torbutton.dtd | 2 --
src/chrome/locale/zh-TW/torbutton.dtd | 6 ------
src/chrome/locale/zu/torbutton.dtd | 2 --
src/jar.mn | 1 -
122 files changed, 385 deletions(-)
diff --git a/src/chrome.manifest b/src/chrome.manifest
index 33199ccf..87467217 100644
--- a/src/chrome.manifest
+++ b/src/chrome.manifest
@@ -16,7 +16,6 @@ overlay chrome://browser/content/aboutDialog.xul chrome://torbutton/content/abou
# UI customization
overlay chrome://browser/content/browser.xul chrome://torbutton/content/menu-items-overlay.xul
overlay chrome://browser/content/browser.xul chrome://torbutton/content/menu-overlay.xul
-overlay about:preferences chrome://torbutton/content/privacy-prefs-overlay.xul
overlay chrome://browser/content/browser.xul chrome://torbutton/content/tor-circuit-display.xul
# Strings for the about:tbupdate page
diff --git a/src/chrome/content/privacy-prefs-overlay.xul b/src/chrome/content/privacy-prefs-overlay.xul
deleted file mode 100644
index 952f9b63..00000000
--- a/src/chrome/content/privacy-prefs-overlay.xul
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE page SYSTEM "chrome://torbutton/locale/torbutton.dtd">
-
-<overlay id="privacy-prefs-overlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <checkbox id="thirdpartyIsolateCB"
- label="&torbutton.prefs.restrict_thirdparty;"
- accesskey="&torbutton.prefs.restrict_thirdparty.accesskey;"/>
- <checkbox id="resistFingerprintingCB"
- label="&torbutton.prefs.resist_fingerprinting;"
- accesskey="&torbutton.prefs.resist_fingerprinting.accesskey;"/>
-</overlay>
diff --git a/src/chrome/locale/af/torbutton.dtd b/src/chrome/locale/af/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/af/torbutton.dtd
+++ b/src/chrome/locale/af/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ak/torbutton.dtd b/src/chrome/locale/ak/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ak/torbutton.dtd
+++ b/src/chrome/locale/ak/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/am/torbutton.dtd b/src/chrome/locale/am/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/am/torbutton.dtd
+++ b/src/chrome/locale/am/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ar/torbutton.dtd b/src/chrome/locale/ar/torbutton.dtd
index 9bf013ff..baa7e5ff 100644
--- a/src/chrome/locale/ar/torbutton.dtd
+++ b/src/chrome/locale/ar/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "أزÙ٠اÙÙÙ ÙÙ٠استÙ
ر ÙÙ Ø§ÙØÙ
Ø§ÙØ©">
<!ENTITY torbutton.cookiedialog.saveAllCookies "اØÙ
Ù
ÙÙØ§Øª تعرÙÙ Ø§ÙØ§Ø±ØªØšØ§Ø· Ø§ÙØ¬Ø¯Ùدة">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ÙØ§ تØÙ
Ù
ÙÙØ§Øª تعرÙÙ Ø§ÙØ§Ø±ØªØšØ§Ø· Ø§ÙØ¬Ø¯Ùدة">
-<!ENTITY torbutton.prefs.restrict_thirdparty "تÙÙÙØ¯ اÙÙCookies Ø§ÙØ®Ø§ØµØ© ØšØ§ÙØ·Ø±Ù Ø§ÙØ«Ø§ÙØ« Ù ØšÙØ§Ùات Ø§ÙØªØªØšØ¹ Ø§ÙØ£Ø®Ø±Ù.">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "Ù">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Ø§ØªØ±Ù ÙØ°Ø§ اÙÙ
رؚع Ù
؀؎را ÙÙ
ÙØ¹ إساءة استخداÙ
Ø§ÙØ¹Ø¯Ùد Ù
٠خصا؊ص اÙÙ
ØªØµÙØ ÙÙ ØªØ¹ÙØšÙ Ø£Ø«ÙØ§Ø¡ ØªØµÙØÙ ÙÙÙØš. Ø§ÙØ®ØµØ§ØŠØµ اÙÙ
عدÙÙØ© ت؎Ù
Ù Ù
سارات اÙÙØ§ØŠÙØ§ØªØ ÙÙÙÙØ§Øª Ø§ÙØšØ«Ø ÙØ®ØšÙ؊ة اÙÙ
ØªØµÙØØ ÙØ§ÙÙØ¹ÙØ§ØªØ ÙØ£ÙÙÙÙØ§Øª اÙÙ
ÙØ§ÙØ¹Ø ÙØªØ±ÙÙØ³Ø§Øª Ø§Ø³ØªÙØ«Ø§Ù HTTPØ ÙØ§Ùاتصا٠اÙÙ
Ø³ØšÙ ØšØ§ÙØ±ÙØ§ØšØ·Ø Ø§ÙØªØ®Ø²Ù٠اÙÙ
ØÙÙØ ÙÙ
سارات اÙÙØ³Ø§ØŠØ·Ø ÙØ·Ùؚات OCSPØ ÙSharedWorkersØ ÙØšØ·Ø§Ùات Ø¬ÙØ³Ø§Øª TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "غÙÙØ± Ø§ÙØªÙاصÙÙ Ø§ÙØªÙ تÙ
ÙØ²Ù ع٠Ù
ستخدÙ
Ù Ù
ØªØµÙØ ØªÙØ± Ø§ÙØ¢Ø®Ø±ÙÙ">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "غ">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Ø§ØªØ±Ù ÙØ°Ø§ اÙÙ
رؚع Ù
؀؎را ÙØªØ®Ù٠ع٠Ù
ÙØ§Ùع اÙÙØš Ø§ÙØ£ØŽÙاء Ø§ÙØªÙ تÙ
ÙØ²Ù Ø¹Ù ØºÙØ±ÙØ Ù
ث٠أداء ØØ§Ø³ÙØšÙØ ÙØªØ®Ø·ÙØ· ÙÙØØ© اÙÙ
ÙØ§ØªÙØØ ÙØ§ÙÙØºØ©Ø ÙÙ
ÙØ§Ù ØªÙØµÙØš اÙÙ
ÙØÙØ§ØªØ ÙÙØ§ØŠÙ
Ø© اÙÙ
ÙØÙØ§Øª اÙÙ
ÙØµØšØ©Ø ÙØØ§ÙØ© Ø§ÙØŽØšÙØ©Ø ÙØ§ØªØ¬Ø§Ù Ø§ÙØŽØ§ØŽØ© ÙØØ¬Ù
ÙØ§Ø ÙÙ
ستÙÙØ§Øª Ø§ÙØªÙØ±ÙØš ÙÙÙ Ù
ÙÙØ¹Ø ÙØ£ÙÙØ§Ø¹ اÙÙ
ÙÙØ§Øª اÙÙ
دعÙÙ
Ø©Ø ÙØ£ÙÙØ§Ù اÙÙØžØ§Ù
Ø ÙØ¥Ù
ÙØ§Ùات WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Ù
ستÙÙ Ø§ÙØ£Ù
اÙ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "ÙØªÙØ ÙÙ ØŽØ±ÙØ· تÙ
Ø±ÙØ± Ù
ستÙÙ Ø§ÙØ£Ù
ا٠تعطÙ٠ؚعض Ù
Ù Ù
Ù
ÙØ²Ø§Øª Ù
ØªØµÙØÙ ØªØ¬Ø¹ÙÙ Ø£ÙØ«Ø± عرضة ÙÙØ§Ø®ØªØ±Ø§Ù.">
<!ENTITY torbutton.prefs.sec_standard_label "عادÙ">
diff --git a/src/chrome/locale/arn/torbutton.dtd b/src/chrome/locale/arn/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/arn/torbutton.dtd
+++ b/src/chrome/locale/arn/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ast/torbutton.dtd b/src/chrome/locale/ast/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ast/torbutton.dtd
+++ b/src/chrome/locale/ast/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/az/torbutton.dtd b/src/chrome/locale/az/torbutton.dtd
index 85999d7a..5a5f20ca 100644
--- a/src/chrome/locale/az/torbutton.dtd
+++ b/src/chrome/locale/az/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/be/torbutton.dtd b/src/chrome/locale/be/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/be/torbutton.dtd
+++ b/src/chrome/locale/be/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/bg/torbutton.dtd b/src/chrome/locale/bg/torbutton.dtd
index d95c6d58..289efda2 100644
--- a/src/chrome/locale/bg/torbutton.dtd
+++ b/src/chrome/locale/bg/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/bn-BD/torbutton.dtd b/src/chrome/locale/bn-BD/torbutton.dtd
index 201f3111..95ce45e1 100644
--- a/src/chrome/locale/bn-BD/torbutton.dtd
+++ b/src/chrome/locale/bn-BD/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "àŠžàŠ®àŠžà§àŠ€ àŠàŠ¿àŠšà§àŠ€à§ àŠžà§àаàŠà§àŠ·àŠ¿àŠ€ àŠžàŠ°àŠŸàŠš">
<!ENTITY torbutton.cookiedialog.saveAllCookies "àŠšàŠ€à§àŠš àŠà§àŠàŠ¿ àŠžàŠàаàŠà§àŠ·àŠ£ àŠàаà§àŠš">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "àŠšàŠ€à§àŠš àŠà§àŠàŠ¿ àŠ°àŠà§àŠ·àŠŸ àŠàŠ°àŠ¬à§àŠš àŠšàŠŸ">
-<!ENTITY torbutton.prefs.restrict_thirdparty "àŠ€à§àŠ€à§àŠ¯àŠŒ àŠªàŠà§àŠ·à§àа àŠà§àŠàŠ¿àŠ àŠàŠ¬àŠ àŠ
àŠšà§àŠ¯àŠŸàŠšà§àН àŠà§àаà§àŠ¯àŠŸàŠàŠ¿àŠ àŠ¡à§àŠàŠŸ àŠšàŠ¿àŠ¯àŠŒàŠšà§àŠ€à§àŠ°àŠ£ àŠàаà§àŠš">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "àŠàŠªàŠšàŠ¿ àŠ¬à§àŠ°àŠŸàŠàŠ àŠàŠ°à§ àŠ¬à§àŠ°àŠŸàŠàŠ àŠ¹àŠ¿àŠžàŠŸàŠ¬à§ àŠ¬àŠ¿àŠàŠ¿àŠšà§àŠš àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠ¬à§àŠ¶àŠ¿àŠ·à§àŠà§àНàŠà§àŠ²àŠ¿ àŠ
àŠªàŠ¬à§àŠ¯àŠ¬àŠ¹àŠŸàŠ° àŠàŠ°àŠŸ àŠ¥à§àŠà§ àŠ¬àŠ¿àŠ°àŠ€ àŠ¥àŠŸàŠàŠŸàŠ° àŠàŠšà§àН àŠàŠ àŠ¬àŠà§àŠžàŠàŠ¿ àŠà§àŠ àŠàаà§àŠšà¥€ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€àŠ¿àŠ€ àŠ¬à§àŠ¶àŠ¿àŠ·à§àŠà§àНàŠà§àŠ²àŠ¿àŠ° àŠ®àŠ§à§àŠ¯à§ àŠ°àŠ¯àŠŒà§àŠà§ àŠ¬à§àŠ²àŠ¬ àŠàŠàŠàаàŠàв, àŠ¬à§àŠ°àŠ¡àŠàŠŸàŠžà§àŠ àŠà§àŠ¯àŠŸàŠšà§àв, àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠà§àŠ¯àŠŸàŠ¶, àŠà§àŠàŠ¿àŠ, àŠ«à§àŠ¯àŠŸàŠàŠ¿àŠàŠš, àŠàŠàŠàŠàŠ¿àŠàŠ¿àŠªàŠ¿ àŠ
àŠ¹àŠ¿àŠàŠ¥ àŠ¹à§àŠ¡àŠŸàŠ°, àŠ²àŠ¿àŠàŠ àŠªà§àŠ°àŠ¿àŠàŠšà§àŠàŠž, àŠžà§àŠ¥àŠŸàŠšà§àŠ¯àŠŒ àŠžà§àŠà§àаà§àŠ, àŠ®àŠ¿àŠ¡àŠ¿àŠ¯àŠŒàŠŸàŠžà§àаà§àŠž àŠàŠàŠàаàŠàв, àŠàŠžàŠ¿àŠàŠžàŠªàŠ¿ àŠ
àŠšà§àаà§àЧ, àŠ¶à§àŠ¯àŠŒàŠŸàŠ° àŠàŠ¯àŠŒàŠŸàŠ°à§àŠàŠŸàŠ°à§àŠž, àŠàŠ¬àŠ àŠàŠ¿àŠàвàŠàŠž àŠžà§àŠ¶àŠš àŠàŠ¿àŠà
Š¿àŠà¥€">
-<!ENTITY torbutton.prefs.resist_fingerprinting "àŠ
àŠšà§àŠ¯àŠŸàŠšà§àН àŠàа àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠ¬à§àŠ¯àŠ¬àŠ¹àŠŸàŠ°àŠàŠŸàŠ°à§àŠŠà§àа àŠ¥à§àŠà§ àŠàŠªàŠšàŠ¿ àŠªàŠŸàŠ°à§àŠ¥àŠà§àН àŠ¬àŠ¿àŠ¬àŠ°àŠ£ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€àŠš àŠàаà§àŠš">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "àŠàŠªàŠšàŠŸàŠ° àŠàŠ®à§àŠªàŠ¿àŠàŠàŠŸàŠ°à§àа àŠªàŠŸàŠ°àŠ«àŠ°àŠ®à§àŠ¯àŠŸàŠšà§àŠž, àŠà§àЬà§àаà§àŠ¡ àŠ²à§àŠàŠàŠ, àŠ²à§àŠà§àв, àŠàŠšàŠžà§àŠàв àŠàŠ°àŠŸ àŠªà§àŠ²àŠŸàŠàŠàŠšàŠà§àŠ²àŠ¿àŠ° àŠ
àŠ¬àŠžà§àŠ¥àŠŸàŠš, àŠàŠšàŠžà§àŠàв àŠàŠ°àŠŸ àŠªà§àŠ²àŠŸàŠàŠàŠšàŠà§àŠ²àŠ¿àŠ° àŠ€àŠŸàŠ²àŠ¿àŠàŠŸ, àŠàŠªàŠšàŠŸàŠ° àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ àŠžà§àŠ¥àŠ¿àŠ€àŠ¿, àŠžà§àŠà§àаà§àŠš àŠ
àŠàŠ¿àŠàŠ®àŠš, àŠžà§àŠà§àŠ°àŠ¿àŠšà§àа àŠàŠàŠŸàŠ°, àŠžàŠŸàŠàŠ-àŠàа àŠžàŠŸàŠ¥à§ àŠàŠªàŠšàŠŸàŠ° àŠàŠ®à§àŠªàŠ¿àŠàŠàŠŸàŠ°à§àа àŠàŠ®àŠš àŠàŠ¿àŠà§ àŠàŠ¿àŠšàŠ¿àŠž àŠ²à§àŠàŠ¿àŠ¯àŠŒà§ àŠ°àŠŸàŠàŠ€à§ àŠàŠ àŠ¬àŠà§àŠžàŠàŠ¿ àŠà§àŠ àŠàаà§àŠš àŠ¯àŠŸ àŠžàŠŸàŠàŠàŠàŠ¿ àŠàŠªàŠšàŠŸàŠ° àŠàŠŸàŠà§ àŠ
àŠšàŠšà§àН àŠ¹àŠ€à§ àŠªàŠŸàŠ°à§à¥€ àŠšàŠ¿àŠ°à§àŠŠàŠ¿àŠ·à§àŠ àŠà§àŠ® àŠžà§àŠ€àŠ°, àŠžàŠ®àŠ°à§àŠ¥àŠ¿àŠ€ àŠ«àŠŸàŠàвà§àа àŠ§àŠ°àŠš, àŠžàŠ¿àŠžà§àŠà§àŠ® àŠ°àŠ àŠàŠ¬àŠ WebGL àŠà§àŠ·àŠ®àŠ€à
ŠŸàŠà§àŠ²àŠ¿à¥€">
<!ENTITY torbutton.prefs.sec_caption "àŠšàŠ¿àŠ°àŠŸàŠªàŠ€à§àŠ€àŠŸàŠ° àŠ®àŠŸàŠ€à§àŠ°àŠŸ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "àŠžàŠ¿àŠàŠ¿àŠàŠ°àŠ¿àŠàŠ¿ àŠžà§àŠ²àŠŸàŠàŠ¡àŠŸàŠ° àŠàŠªàŠšàŠŸàŠà§ àŠšàŠ¿àŠ°à§àŠŠàŠ¿àŠ·à§àŠ àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ°à§àа àŠ¬à§àŠ¶àŠ¿àŠ·à§àŠà§àНàŠà§àŠ²àŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°àŠ€à§ àŠŠà§àŠ¯àŠŒ àŠ¯àŠŸ àŠàŠªàŠšàŠŸàŠ° àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ°àŠà§ àŠ¹à§àŠ¯àŠŸàŠàŠ¿àŠàŠ¯àŠŒà§àа àŠªà§àаàŠà§àŠ·à§àŠàŠŸàŠà§àŠ²àŠ¿àŠà§ àŠàŠ°àŠ àŠŠà§àаà§àŠ¬àŠ² àŠàŠ°à§ àŠ€à§àŠ²àŠ€à§ àŠªàŠŸàŠ°à§à¥€">
<!ENTITY torbutton.prefs.sec_standard_label "àŠ®àŠŸàŠš">
diff --git a/src/chrome/locale/bn-IN/torbutton.dtd b/src/chrome/locale/bn-IN/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/bn-IN/torbutton.dtd
+++ b/src/chrome/locale/bn-IN/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/bn/torbutton.dtd b/src/chrome/locale/bn/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/bn/torbutton.dtd
+++ b/src/chrome/locale/bn/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/bo/torbutton.dtd b/src/chrome/locale/bo/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/bo/torbutton.dtd
+++ b/src/chrome/locale/bo/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/br/torbutton.dtd b/src/chrome/locale/br/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/br/torbutton.dtd
+++ b/src/chrome/locale/br/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/bs/torbutton.dtd b/src/chrome/locale/bs/torbutton.dtd
index 09339341..59167eb2 100644
--- a/src/chrome/locale/bs/torbutton.dtd
+++ b/src/chrome/locale/bs/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ca/torbutton.dtd b/src/chrome/locale/ca/torbutton.dtd
index 8bd89b77..0041973e 100644
--- a/src/chrome/locale/ca/torbutton.dtd
+++ b/src/chrome/locale/ca/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Suprimir totes amb protecció">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protegir noves galetes">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "No protegir noves galetes">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restringir galetes de tercers i dades de seguiment">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Marca la casella de selecció per prevenir caracterÃstiques d'abús i seguiments al consultar un web. Les caracterÃstiques modificables son les URL blob, canals de difusió, memòria cau del navegador, galetes, favicons, capçaleres HTTP Auth, enllaços de preconexió, emmagatzemament local, URL mediaSource, sol·licitud OCSP, SharedWorkers i tiquets TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Canviar detalls que distingeixen d'altres usuaris del navegador Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Mantingueu aquesta casella marcada per a ocultar informació sensible sobre vosté a les pà gines web, tal com les capacitats de l'ordinador, la distribució del teclat, la localització dels connectors instal·lats, la llista de connectors, el seu estat de xarxa, la orientació de la pantalla, el seu tamany, el zoom especÃfic per a cada lloc, els tipus de fitxer acceptats, els colors de sistema i les capacitats WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Nivell de seguretat">
<!ENTITY torbutton.prefs.sec_caption_tooltip "El control lliscant de seguretat permet deshabilitar caracterÃstiques del navegador que poden permetre vulnerabilitats en atemptats de furoners.">
<!ENTITY torbutton.prefs.sec_standard_label "Està ndard">
diff --git a/src/chrome/locale/cs/torbutton.dtd b/src/chrome/locale/cs/torbutton.dtd
index 825fa309..239dbc2f 100644
--- a/src/chrome/locale/cs/torbutton.dtd
+++ b/src/chrome/locale/cs/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Odstranit vÅ¡echny nechránÄné">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Chránit nové cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "PÅestat chránit nové cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Omezit cookies tÅetÃch stran a dalšà sledovacà data">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "O">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Ponechte toto pole zaÅ¡krtnuté pro ochranu pÅed zneuÅŸitÃm nÄkterÜch funkcà prohlÃÅŸeÄe k sledovánà vaÅ¡eho prohlÃÅŸenà webu. ZneuÅŸitelné funkce zahrnujà blob URL adresy, vysÃlacà kanály, mezipamÄÅ¥ prohlÃÅŸeÄe, cookies, favicony, autorizaÄnà hlaviÄky HTTP, pÅednaÄÃtánà odkazů, localStorage, URL adresy mediaSource, OCSP dotazy, SharedWorkers a tickety TLS relacÃ.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ZmÄnit podrobnosti, které vás odliÅ¡ujà od ostatnÃch uÅŸivatelů prohlÃÅŸeÄe Tor.">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Ponechte toto pole zaÅ¡krtnuté, abyste pÅed webovÜmi stránkami skryli unikátnà informace, které vás mohou identifikovat, napÅÃklad vÜkon vaÅ¡eho poÄÃtaÄe, rozloÅŸenà klávesnice, jazyk, umÃstÄnà nainstalovanÜch zásuvnÜch modulů a jejich seznam, stav vašà sÃtÄ, otoÄenà obrazovky, velikost obrazovky, úrovnÄ pÅiblÃÅŸenà pro jednotlivé stránky, podporované typy souborů, systémové barvy a podporované funkce WebGL.">
<!ENTITY torbutton.prefs.sec_caption "ÃroveÅ zabezpeÄenÃ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "ÃrovnÄ zabezpeÄenà vám umoÅŸÅujà vypnout nÄkteré funkce, kvůli kterÜm můşe bÜt váš prohlÃÅŸeÄ vÃce náchylnÜ k hackerskÜm útokům.">
<!ENTITY torbutton.prefs.sec_standard_label "StandardnÃ">
diff --git a/src/chrome/locale/csb/torbutton.dtd b/src/chrome/locale/csb/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/csb/torbutton.dtd
+++ b/src/chrome/locale/csb/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/cy/torbutton.dtd b/src/chrome/locale/cy/torbutton.dtd
index e3a35007..84b229b1 100644
--- a/src/chrome/locale/cy/torbutton.dtd
+++ b/src/chrome/locale/cy/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/da/torbutton.dtd b/src/chrome/locale/da/torbutton.dtd
index f0be1e85..e32001d1 100644
--- a/src/chrome/locale/da/torbutton.dtd
+++ b/src/chrome/locale/da/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Fjern alle pånÊr beskyttede">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Beskyt nye cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Beskyt ikke nye cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "BegrÊns tredjeparts-cookies og andre registreringsdata">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "B">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Lad denne boks vÊre tilvalgt for at forhindre diverse browserfunktionalitet i at blive misbrugt til at spore dig efterhånden som du sÞger på webbet.. Modificerede funktionaliteter inkluderer blob-URL'er, broadcast-kanaler, browserens mellemlager, cookies, favicon'er, HTTP Auth-headere, link preconnects, localStorage, mediaSource-URL'er, OCSP-anmodninger, SharedWorkers og TLS session tickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Tilpas detaljer som adskiller dig fra andre Tor Browser-brugere">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lad denne boks vÊre valgt til for at skjule ting fra websteder som er unikke for dig, inklusiv din computerydelse, tastaturlayout, sprog, placeringen af installerede plugins, listen af installerede plugins, din netvÊrksstatus, skÊrmorientering, skÊrmstÞrrelse, stedspecifikke zoomniveauer, understÞttede filtyper, systemfarver og WebGL-formåenheder.">
<!ENTITY torbutton.prefs.sec_caption "Sikkerhedsniveau">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Sikkerhedsskyderen giver dig mulighed for at deaktivere bestemte browserfunktionaliteter som kan gÞre din browser sårbar overfor forsÞg på hacking.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
diff --git a/src/chrome/locale/de/torbutton.dtd b/src/chrome/locale/de/torbutton.dtd
index ccc834b3..d155a4ef 100644
--- a/src/chrome/locale/de/torbutton.dtd
+++ b/src/chrome/locale/de/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Alle auÃer den geschÃŒtzten Cookies entfernen">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Neue Cookies schÃŒtzen">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Neue Cookies nicht schÃŒtzen">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Cookies von Drittanbietern und andere Ãberwachungsdaten einschrÀnken">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "E">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Lasse dieses Feld ausgewÀhlt, um zu verhindern, dass verschiedene Browserfunktionen ausgenutzt werden, um dein Surfverhalten nachzuverfolgen. Die verÀnderten Funktionen betreffen: BLOB-URLs, Rundruf-KanÀle, den Browser-Puffer, Cookies, Favicons, HTTP-Authentifizierungs-Kopfdaten, VerknÌpfungs-Vorverbindungen, den lokalen Speicher, URLs von Medienquellen, OCSP-Anfragen, gemeinsame JavaScript-Instanzen und Tickets von TLS-Sitzungen.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Details Àndern, die dich von anderen Tor-Browser-Benutzern unterscheiden">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lasse dieses Feld ausgewÀhlt, um bestimmte einzigartige Informationen deines Systems vor Webportalen zu verbergen, wie die Rechnerleistung, Tastaturbelegung, das Sprachprofil, den Installationsort von Erweiterungen, die Liste der installierten Erweiterungen, deinen Netzwerkstatus, die Bildschirmausrichtung, BildschirmgröÃe, seitenspezifische VergröÃerungseinstellungen, unterstÃŒtzte Dateitypen, Farbschemata und WebGL-FÀhigkeiten.">
<!ENTITY torbutton.prefs.sec_caption "Sicherheitsstufe">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Mit dem Sicherheitsschieberegler kannst du bestimmte Browserfunktionen, die deinen Browser fÌr mögliche Attacken anfÀlliger machen, deaktivieren.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard
diff --git a/src/chrome/locale/dz/torbutton.dtd b/src/chrome/locale/dz/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/dz/torbutton.dtd
+++ b/src/chrome/locale/dz/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/el/torbutton.dtd b/src/chrome/locale/el/torbutton.dtd
index 96c81d34..c2fe7b3d 100644
--- a/src/chrome/locale/el/torbutton.dtd
+++ b/src/chrome/locale/el/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "ÎÏαίÏεÏη ÏλÏΜ εκÏÏÏ ÏÏΜ ÏÏοÏÏαÏεÏ
ÎŒÎΜÏΜ">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Î ÏοÏÏαÏία ΜÎÏΜ Cookie">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Îα Îη γίΜεÏαι Î ÏοÏÏαÏία ÎÎÏΜ Cookie">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ΠεÏιοÏιÏÎŒÎ¿Ï ÏÏΜ cookies ÏÏίÏÏΜ και αλλÏΜ ΎεΎοΌεΜÏΜ ÏαÏακολοÏ
ΞηÏηÏ">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "ÎÏιλÎΟÏε αÏ
ÏÏ Ïο κοÏ
Ïάκι για Μα αÏοÏÏγεÏε ΎιάÏοÏÎµÏ Ï
ÏηÏεÏÎ¯ÎµÏ browser Μα εÏιÏεΞοÏΜ για Μα ÏÎ±Ï ÎµÎœÏοÏίÏοÏ
Μ καÏά ÏηΜ ÏεÏιήγηÏή ÏÎ±Ï ÏÏο ΎιαΎίκÏÏ
ο. ΀ÏοÏοÏοιηΌÎÎœÎµÏ Ï
ÏηÏεÏÎ¯ÎµÏ ÏεÏιλαΌβάΜοÏ
Μ blob URLs, καΜάλια ÏÏοβολήÏ, ΌΜήΌη cache, cookies, ÏÏ
ΜÏοΌεÏÏÎµÎ¹Ï Î¹ÏÏοÏελίΎÏΜ, ÏελιΎοΎείκÏÎµÏ ÏαÏ
ÏοÏοίηÏÎ·Ï HTTP, ÏÏοÏÏ
ΜΎÎÏÎµÎ¹Ï ÏÏ
ΜΎÎÏÎŒÏΜ, ÏοÏική αÏοΞήκεÏ
Ïη, URLs ÏηγÏΜ ÎŒÎÏÏΜ, αιÏήΌαÏα OCSP, SharedWorkers και ειÏιÏήÏια λειÏοÏ
ÏÎ³Î¯Î±Ï TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ÎλλάΟÏε ÏÎ¹Ï Î»ÎµÏÏοΌÎÏÎµÎ¹ÎµÏ ÏοÏ
ÏÎ±Ï ÎŽÎ¹Î±ÎºÏίΜοÏ
Μ αÏÏ Î¬Î»Î»Î¿Ï
Ï ÏÏήÏÏÎµÏ ÏοÏ
Tor Browser ">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "ÎιαÏηÏήÏÏε αÏ
ÏÏ Ïο κοÏ
Ïί εÏιλεγΌÎΜο για Μα κÏÏÏεÏε αÏÏ ÏοÏ
Ï Î¹ÏÏοÏÏÏοÏ
Ï ÏÏάγΌαÏα ÏοÏ
Ξα ÎŒÏοÏοÏÏαΜ Μα είΜαι ΌοΜαΎικά για εÏάÏ, ÏÏ
ÎŒÏεÏιλαΌβαΜοΌÎΜÏΜ ÏÎ·Ï Î±ÏÏΎοÏÎ·Ï ÏοÏ
Ï
ÏολογιÏÏή, ÏÎ·Ï ÎŽÎ¹Î¬ÏÎ±ÎŸÎ·Ï ÏοÏ
ÏληκÏÏολογίοÏ
, ÏÎ·Ï Î³Î»ÏÏÏαÏ, ÏÎ·Ï ÏοÏοΞεÏÎ¯Î±Ï ÏÏΜ εγκαÏεÏÏηΌÎΜÏΜ ÏÏοÏΞÎÏÏΜ, ÏÎ·Ï ÎºÎ±ÏάÏÏαÏÎ·Ï ÏοÏ
ΎικÏÏοÏ
, ÏοÏ
ÏÏοÏαΜαÏολιÏÎŒÎ¿Ï ÏÎ·Ï Î¿ÎžÏΜηÏ, ÏοÏ
ΌεγÎΞοÏ
Ï ÏÎ·Ï Î¿ÎžÏΜηÏ, ÏÏΜ εÏιÏÎÎŽÏΜ zoom αΜά site, ÏÏΜ Ï
ÏοÏÏηÏιζÏΌεΜÏΜ ÏÏÏÏΜ αÏÏείÏΜ, ÏÏΜ ÏÏÏΌάÏÏΜ ÏοÏ
ÏÏ
ÏÏήΌαÏÎ¿Ï ÎºÎ±Î¹ ÏÏΜ ÎŽÏ
ΜαÏοÏήÏÏΜ WebGL.">
<!ENTITY torbutton.prefs.sec_caption "ÎÏίÏεΎο αÏÏάλειαÏ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "΀ο Slider ÎÏÏÎ¬Î»ÎµÎ¹Î±Ï ÏÎ±Ï Î±ÏήΜει Μα αÏεΜεÏγοÏοιήÏεÏε οÏιÏÎŒÎΜα ÏαÏακÏηÏιÏÏικά ÏοÏ
ÏÏ
λλοΌεÏÏηÏή ÏοÏ
ÎŒÏοÏεί Μα ÏοΜ κάΜοÏ
Μ Ïιο εÏ
άλÏÏο Ïε ÏÏοÏÏÎ¬ÎžÎµÎ¹ÎµÏ hacking.">
<!ENTITY torbutton.prefs.sec_standard_label "ÎαÏικά">
diff --git a/src/chrome/locale/en-US/torbutton.dtd b/src/chrome/locale/en-US/torbutton.dtd
index a0ef5f98..1a299af9 100644
--- a/src/chrome/locale/en-US/torbutton.dtd
+++ b/src/chrome/locale/en-US/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Keep this box checked to prevent various browser features from being abused to track you as you browse the web. Modified features include blob URLs, broadcast channels, the browser cache, cookies, favicons, HTTP Auth headers, link preconnects, localStorage, mediaSource URLs, OCSP requests, SharedWorkers, and TLS session tickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
<!ENTITY torbutton.prefs.sec_caption "Security Level">
<!ENTITY torbutton.prefs.sec_caption_tooltip "The Security Slider lets you disable certain browser features that may make your browser more vulnerable to hacking attempts.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
diff --git a/src/chrome/locale/eo/torbutton.dtd b/src/chrome/locale/eo/torbutton.dtd
index e10afbb9..8dd75e5c 100644
--- a/src/chrome/locale/eo/torbutton.dtd
+++ b/src/chrome/locale/eo/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/es-AR/torbutton.dtd b/src/chrome/locale/es-AR/torbutton.dtd
index 24af2fb8..d58dfb56 100644
--- a/src/chrome/locale/es-AR/torbutton.dtd
+++ b/src/chrome/locale/es-AR/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Eliminar todas salvo las protegidas ">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Proteger nuevas Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "No proteger nuevas Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restringir cookies de terceros y otros datos de rastreo">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Mantené esta casilla chequeada para prevenir varias caracterÃsticas del navegador de ser abusadas para rastrearte a medida que navegás la web. CaracterÃsticas modificadas incluyen URLs tipo blob, canales de difusión, el caché del navegador, cookies, iconos favoritos, encabezados HTTP Auth, vÃnculos de preconexión, URLs localStorage o mediaSource, llamadas OCSP, SharedWorkers, y tiquets de sesión TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Variar los detalles que te distinguen de otros usuarios del Navegador Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "H">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Mantené ésta casilla chequeada para ocultar de los sitios web cosas que pudieran ser únicas acerca tuyo, incluyendo el rendimiento de tu computadora, distribución de teclado, configuración regional, localización de complementos instalados, lista de complementos instalados, estado de red, orientación de la pantalla, tamaño de la misma, niveles de zoom especÃficos por sitio, tipos de archivo soportados, colores del sistema y capacidades WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Nivel de seguridad">
<!ENTITY torbutton.prefs.sec_caption_tooltip "La regla deslizante de Seguridad te deja deshabilitar ciertas caracterÃsticas del navegador que pueden hacerlo más vulnerable a intentos de apropiación.">
<!ENTITY torbutton.prefs.sec_standard_label "Estándar">
diff --git a/src/chrome/locale/es/torbutton.dtd b/src/chrome/locale/es/torbutton.dtd
index 465fea87..2a95e0b7 100644
--- a/src/chrome/locale/es/torbutton.dtd
+++ b/src/chrome/locale/es/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Eliminar todas excepto las protegidas">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Proteger las nuevas cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "No proteger las nuevas cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restringir cookies de terceros y otros datos de seguimiento">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Mantén marcada esta casilla para evitar que diversas caracterÃsticas del navegador se puedan usar para rastrear tu navegación por la web. Las caracterÃsticas modificadas incluyen URLs blob (a objetos binarios internos), BroadcastChannel (comunicación interna dentro del mismo origen), caché del navegador, cookies, favicons, cabeceras Auth de HTTP (autentificación básica), preconexiones de enlaces, objetos localStorage (almacenamiento local para aplicaciones web), URLs de objetos MediaSource (audiovisuales), peticiones OCSP (estado de certificados), SharedWorkers (subprocesos compartidos), y tickets de sesión TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Cambiar los detalles que te distinguen de otros usuarios del Navegador Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "H">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Mantenga esta casilla marcada para ocultar cosas a los sitios web que podrÃan ser únicas acerca de usted, incluyendo el rendimiento de su equipo, plano de teclado, localización, lista y ubicacion de complementos instalados, estado de su red, orientación de pantalla, tamaño de pantalla, niveles de zoom especÃfico del sitio, tipos de fichero soportados, colores del sistema, y capacidades WebGL. ">
<!ENTITY torbutton.prefs.sec_caption "Nivel de seguridad">
<!ENTITY torbutton.prefs.sec_caption_tooltip "El control deslizante del nivel de seguridad te permite deshabilitar ciertas caracterÃsticas del navegador que pueden hacerlo más vulnerable a tentativas de hackeo.">
<!ENTITY torbutton.prefs.sec_standard_label "Estándar">
diff --git a/src/chrome/locale/et/torbutton.dtd b/src/chrome/locale/et/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/et/torbutton.dtd
+++ b/src/chrome/locale/et/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/eu/torbutton.dtd b/src/chrome/locale/eu/torbutton.dtd
index f1b9409b..ca42906b 100644
--- a/src/chrome/locale/eu/torbutton.dtd
+++ b/src/chrome/locale/eu/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Denak kendu babestutakoak izan ezik">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Cookie berriak babestu">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ez babestu cookie berririk">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Hirugarrenen cookie-ak eta beste jarraipen datuak murriztu">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Keep this box checked to prevent various browser features from being abused to track you as you browse the web. Modified features include blob URLs, broadcast channels, the browser cache, cookies, favicons, HTTP Auth headers, link preconnects, localStorage, mediaSource URLs, OCSP requests, SharedWorkers, and TLS session tickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Zu beste Tor Browser erabiltzaileengandik nabarmentzen zaituzten xehetasunak aldatu">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
<!ENTITY torbutton.prefs.sec_caption "Segurtasun maila">
<!ENTITY torbutton.prefs.sec_caption_tooltip "The Security Slider lets you disable certain browser features that may make your browser more vulnerable to hacking attempts.">
<!ENTITY torbutton.prefs.sec_standard_label "Estandarra">
diff --git a/src/chrome/locale/fa/torbutton.dtd b/src/chrome/locale/fa/torbutton.dtd
index 6c6d1120..49385ee1 100644
--- a/src/chrome/locale/fa/torbutton.dtd
+++ b/src/chrome/locale/fa/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "ØØ°Ù تÙ
اÙ
Ú©ÙÙÚÚ©âÙØ§Û ØÙا؞ت ÙØŽØ¯Ù">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ØÙا؞ت از Ú©ÙÙÚÚ©âÙØ§Û Ø¬Ø¯ÙØ¯">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "عدÙ
ØÙا؞ت از Ú©ÙÙÚÚ©âÙØ§Û Ø¬Ø¯ÙØ¯">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Ù
ØØ¯ÙدâÙØ±Ø¯Ù ÙÙÙÙâÙØ§Ù طر٠سÙÙ
٠دادÙâÙØ§Ù ÙŸÙگرد٠دÙگر">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "اÛ٠جعؚ٠را ÙÚ¯Ù Ø¯Ø§Ø±ÛØ¯ تا از Ø§Ø³ØªÙØ§Ø¯Ù از ÙÛÚÚ¯ÛâÙØ§Û Ù
ختÙÙ Ù
Ø±ÙØ±Ú¯Ø± ØšØ±Ø§Û Ø±Ø¯ÛØ§ØšÛ ØŽÙ
ا در ÙÙگاÙ
Ù
Ø±ÙØ± ÙØš Ø¬ÙÙÚ¯ÛØ±Û ØŽÙØ¯. ÙÛÚÚ¯Û ÙØ§Û Ø§ØµÙØ§Ø ؎د٠؎اÙ
Ù: آدرسâÙØ§Û Ø¢ÙÙØ¯Ù, broadcast channels, Ú©ØŽ Ù
Ø±ÙØ±Ú¯Ø±, Ú©ÙÚ©ÛâÙØ§, ÙØ§ÙÛÚ©Ù, HTTP Auth headers, ÙŸÛÙÙØ¯Ùاpreconnects, ØØ§ÙØžÙ Ù
ØÙÛ, mediaSource URLs, OCSP requests, SharedWorkers, and TLS session tickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "تغÙÙØ±Ø¯Ø§Ø¯Ù Ø¬Ø²ØŠÙØ§ØªÙ ÙÙ ØŽÙ
ارا از ÙØ§Ø±ØšØ±Ø§Ù دÙگر ØªÙØ± تÙ
ÙØ²Ù
ÙâÙÙØ¯">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "اÛÙ Ø¬Ø¹ØšÙ ØšØ±Ø§Û ÙŸÙÙØ§Ù کرد٠ÚÛØ²ÙاÛÛ Ø§Ø² ÙØš Ø³Ø§ÛØªâÙØ§ÛÛ Ú©Ù Ù
ÛâØªÙØ§Ùد Ù
ÙØØµØ± ØšÙ ØŽÙ
ا ØšØ§ØŽØ¯Ø Ø§Ø² جÙ
Ù٠کاراÛÛ Ø±Ø§ÛØ§ÙÙØ Ø·Ø±Ø ØšÙØ¯Û ØµÙØÙ Ú©ÙÛØ¯Ø Ù
Ú©Ø§ÙØ Ù
ØÙ Ø§ÙØ²ÙÙÙâÙØ§Û ÙØµØš ØŽØ¯ÙØ ÙÛØ³Øª Ø§ÙØ²ÙÙÙâÙØ§Û ÙØµØš ØŽØ¯ÙØ ÙØ¶Ø¹Ûت ØŽØšÚ©Ù ØŽÙ
Ø§Ø Ø¬ÙØª ØµÙØÙ ÙÙ
Ø§ÛØŽØ Ø§ÙØ¯Ø§Ø²Ù ØµÙØÙØ Ø³Ø·ÙØ زÙÙ
Ø®Ø§ØµØ Ø§ÙÙØ§Ø¹ ÙØ§ÛÙ ÙŸØŽØªÛØšØ§ÙÛ ØŽØ¯ÙØ رÙÚ¯ Ø³ÛØ³ØªÙ
Ù ÙØ§ØšÙÛØªâÙØ§Û WebGL ÙÚ¯Ù Ø¯Ø§Ø±ÛØ¯.">
<!ENTITY torbutton.prefs.sec_caption "Ø³Ø·Ø Ø§Ù
ÙÛØª">
<!ENTITY torbutton.prefs.sec_caption_tooltip "ÙÙØ§Ø± ÙØºØ²Ùد٠اÙ
ÙÛØªÛ ØšÙ ØŽÙ
ا اجاز٠Ù
ÛâØ¯ÙØ¯ Ú©Ù Ù
؎خصÙâÙØ§Û خاص Ù
Ø±ÙØ±Ú¯Ø± را ØºÛØ±Ùعا٠کÙÛØ¯ Ú©Ù Ù
Ù
ک٠است Ù
Ø±ÙØ±Ú¯Ø± ØŽÙ
ا را در ؚراؚر ØªÙØ§ØŽâÙØ§Û ÙÚ© Ø¢Ø³ÛØšâÙŸØ°ÛØ± سازد.">
<!ENTITY torbutton.prefs.sec_standard_label "Ø§Ø³ØªØ§ÙØ¯Ø§Ø±Ø¯">
diff --git a/src/chrome/locale/fi/torbutton.dtd b/src/chrome/locale/fi/torbutton.dtd
index 40475aeb..136cca34 100644
--- a/src/chrome/locale/fi/torbutton.dtd
+++ b/src/chrome/locale/fi/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Poista kaikki paitsi suojatut">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Suojaa uudet evÀsteet">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ÃlÀ suojaa uusia evÀsteitÀ">
-<!ENTITY torbutton.prefs.restrict_thirdparty "EstÀ kolmannen osapuolen evÀsteet ja muut seurantatiedot">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Muuta lisÀtietoja, jotka erottavat sinut muista Tor Browser -kÀyttÀjistÀ">
diff --git a/src/chrome/locale/fil/torbutton.dtd b/src/chrome/locale/fil/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/fil/torbutton.dtd
+++ b/src/chrome/locale/fil/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/fo/torbutton.dtd b/src/chrome/locale/fo/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/fo/torbutton.dtd
+++ b/src/chrome/locale/fo/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index 65b9e7d2..294c2f9f 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Enlever tous les fichiers témoins non protégés">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protéger les nouveaux fichiers témoins">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ne pas protéger les nouveaux fichiers témoins">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Limiter les fichiers témoins tiers et les autres données de suivi à la trace">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "L">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Gardez cette case cochée pour empêcher que diverses fonctions du navigateur soient utilisées pour vous suivre à la trace quand vous surfez sur le Web. Les fonctions modifiées incluent les URL de grands objets binaires, les canaux de diffusion, le cache du navigateur, les fichiers fichiers témoins, les favoricÎnes, les en-têtes Auth HTTP, les préconnexions de liens, localStorage, les URL de sources de médias, les requêtes OCSP, les travailleurs Web SharedWorker, et les billets de session TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Modifier les détails qui vous distingue dâautres utilisateurs du Navigateur Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Gardez cette case cochée pour cacher aux sites Web certaines choses qui pourraient être uniques à votre sujet, incluant les performances de votre ordinateur, lâagencement du clavier, les paramÚtres de langue, lâemplacement des greffons installés, la liste des greffons installés, lâétat de votre réseau, lâorientation de lâécran, la taille de lâécran, les niveaux de zoom particuliers aux sites, les types de fichiers pris en charge, les couleurs systÚme et les capacités WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Niveau de sécurité">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Le curseur de sécurité vous permet de désactiver certaines fonctions du navigateur qui pourraient le rendre plus vulnérable aux tentatives de piratage.">
<!ENTITY torbutton.prefs.sec_standard_label "Normal">
diff --git a/src/chrome/locale/fur/torbutton.dtd b/src/chrome/locale/fur/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/fur/torbutton.dtd
+++ b/src/chrome/locale/fur/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/fy/torbutton.dtd b/src/chrome/locale/fy/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/fy/torbutton.dtd
+++ b/src/chrome/locale/fy/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ga/torbutton.dtd b/src/chrome/locale/ga/torbutton.dtd
index 26c3f555..8738ae94 100644
--- a/src/chrome/locale/ga/torbutton.dtd
+++ b/src/chrome/locale/ga/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Scrios iad nach bhfuil caomhnaithe">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Caomhnaigh Fianáin Nua">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ná Caomhnaigh Fianáin Nua">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Cuir srian le fianáin trÃú páirtà agus le sonraà lorgaireachta eile">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Coinnigh tic sa bhosca seo chun cosc a chur ar ghnéithe éagsúla sa bhrabhsálaà a mbaintear mÃ-úsáid astu chun do ghnÃomhaÃocht ar an nGréasán a lorg. I measc na ngnéithe seo: blob-URLanna, cainéil chraolta, taisce an bhrabhsálaÃ, fianáin, deilbhÃnà suÃmh, ceanntásca HTTP Auth, réamhcheangal nascanna, stóras áitiúil, URLanna mediaSource, iarratais OCSP, Oibrithe Roinnte, agus ticéid seisiún TLS. ">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Athraigh na mionsonraà a dhéanann idirdhealú ó úsáideoirà Tor eile">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "H">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Coinnigh tic sa bhosca seo chun sonraà a bhaineann leatsa go pearsanta a chur i bhfolach ó shuÃmh Ghréasáin, mar shampla luas do rÃomhaire, leagan amach do mhéarchláir, an logchaighdeán, an áit ina bhfuil forlÃontáin suiteáilte, na forlÃontáin shuiteáilte féin, stádas do lÃonra, treoshuÃomh an scáileáin, méid an scáileáin, leibhéil zúmála ar shuÃmh ar leith, cineálacha comhaid a dtacaÃonn do bhrabhsálaà leo, dathanna an chórais, agus acmhainnà WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Leibhéal Slándála">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Ligeann an Sleamhnán Slándála duit gnéithe áirithe sa bhrabhsálaà a dhÃchumasú nuair is féidir le bradaà iad a úsáid chun ionsaà a dhéanamh ort.">
<!ENTITY torbutton.prefs.sec_standard_label "Gnáthshlándáil">
diff --git a/src/chrome/locale/gl/torbutton.dtd b/src/chrome/locale/gl/torbutton.dtd
index a01b1b08..fae2b37a 100644
--- a/src/chrome/locale/gl/torbutton.dtd
+++ b/src/chrome/locale/gl/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/gu/torbutton.dtd b/src/chrome/locale/gu/torbutton.dtd
index c2285164..32adbee7 100644
--- a/src/chrome/locale/gu/torbutton.dtd
+++ b/src/chrome/locale/gu/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/gun/torbutton.dtd b/src/chrome/locale/gun/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/gun/torbutton.dtd
+++ b/src/chrome/locale/gun/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ha/torbutton.dtd b/src/chrome/locale/ha/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ha/torbutton.dtd
+++ b/src/chrome/locale/ha/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/he/torbutton.dtd b/src/chrome/locale/he/torbutton.dtd
index 5595b01f..c5373e36 100644
--- a/src/chrome/locale/he/torbutton.dtd
+++ b/src/chrome/locale/he/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "×סך ××× ×××× ×××× ××">
<!ENTITY torbutton.cookiedialog.saveAllCookies "××× ×¢× ×¢××××ת ××ש×ת">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "×× ×ª×× ×¢× ×¢××××ת ××ש×ת">
-<!ENTITY torbutton.prefs.restrict_thirdparty "×××× ×¢××××ת ××Š× ×©×××©× ×× ×ª×× × ××¢×§× ××ך××">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "×ש×ך ת××× ×× ×ס××× ×ª ××× ××× ××¢ ×ת××× ×ת ××€××€× ×ס××××ת ××××ת ×× ×׊××ת ××× ××תך ×××ª× ××¢××× ×××ש ×ךשת. ת××× ×ת ש××©×ª× × ×××××ת ×ת×××ת ××ש, עך××Š× ×©×××ך, ××××× ×××€××€×, ×¢××××ת, ׊××××ת ×××¢××€××, ××תך×ת ××××ת HTTP, ×§×× ××××ך×× ×©× ×§×ש×ך××, ××ס×× ××§×××, ×ת×××ת ××ס×× ××××, ×קש×ת OCSP, ×¢××××× ×ש×ת׀×× ××ך××ס×× ×©× ×©×× TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "×©× × ×€×š××× ×××××××× ××× × ×××× ×תך ×שת××©× ××€××€× Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "×ש×ך ת××× ×× ×ס××× ×ª ××× ××סת×ך ××ך×× ××תך×× ×©×××××× ××××ת ××××××× ×××××, ×××× ××׊××¢× ××××©× ×©××, ××¢×š× ××§××ת, ××××ך, ×××§×× ××תקע×× ×××ª×§× ××, ךש××ת ××תקע×× ××××ª×§× ××, ×××Š× ×ךשת ש××, ××××× ×ת ×ס×, ×××× ×ס×, ך×ת ת׊××× ××× ×תך, ס××× ×§×××¥ × ×ª××××, ׊××¢× ×עך×ת ××××××ת WebGL.">
<!ENTITY torbutton.prefs.sec_caption "ך×ת ×××××">
<!ENTITY torbutton.prefs.sec_caption_tooltip "××××× ×××××× × ××ª× ×× ××ש××ת ת××× ×ת ××€××€× ×ס××××ת ×שך ×¢××××ת ×עש×ת ×ת ×××€××€× ×©×× ××תך ×€×××¢ ×× ×¡××× ×ת ×€×׊××.">
<!ENTITY torbutton.prefs.sec_standard_label "×ª×§× ×">
diff --git a/src/chrome/locale/hi/torbutton.dtd b/src/chrome/locale/hi/torbutton.dtd
index 924a6e25..710b298e 100644
--- a/src/chrome/locale/hi/torbutton.dtd
+++ b/src/chrome/locale/hi/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/hr/torbutton.dtd b/src/chrome/locale/hr/torbutton.dtd
index 2cea64cc..67d9f181 100644
--- a/src/chrome/locale/hr/torbutton.dtd
+++ b/src/chrome/locale/hr/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ht/torbutton.dtd b/src/chrome/locale/ht/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ht/torbutton.dtd
+++ b/src/chrome/locale/ht/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/hu/torbutton.dtd b/src/chrome/locale/hu/torbutton.dtd
index ecab5ecf..19dd1d72 100644
--- a/src/chrome/locale/hu/torbutton.dtd
+++ b/src/chrome/locale/hu/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "A védett kivételével az összes törlése">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Védje az új sÌtiket">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ne védje az új sÌtiket">
-<!ENTITY torbutton.prefs.restrict_thirdparty "A harmadik féltÅl származó sÃŒtik és nyomkövetési adatok korlátozása">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Hagyja ezt a gombot bejelölve, hogy megakadályozza, hogy kÃŒlönbözÅ böngészÅ lehetÅségek eltérÃtésre kerÃŒlhessenek a webes nyomon követhetÅsége érdekében. A módosÃtott szolgáltatások többek között, blob URL, broadcast csatornák, böngészÅ cache, sÃŒtik, favikonok, HTTP Auth fejlécek, link elÅcsatlakozások, localStorage, mediaSource URL-ek, OCSP kérések, SharedWorkers-ek, és TLS session ticketek.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Változtassa meg a részleteket, amik megkÌlönböztetik a többi Tor Browser felhasználótól">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Hagyja ezt a gombot bejelölve, hogy elrejtsen dolgokat weboldalak elÅl, amik egyedivé tehetik, mint elem állapot, számÃtógép teljesÃtmény, billentyűzet kiosztás, hely, a telepÃtett pluginek helye, a telepÃtett pluginek listája, hálózati állapota, képernyÅ irányÃtottsága, oldal specifikus nagyÃtás szintek, támogatott fájltÃpusok, rendszerszÃnek, és WebGL képességek,">
<!ENTITY torbutton.prefs.sec_caption "Biztonsági szint">
<!ENTITY torbutton.prefs.sec_caption_tooltip "A Biztonsági Csúszóka lehetÅvé tesz, hogy kikapcsoljon olyan böngészÅ funkcionalitásokat, amik sebezhetÅvé teszik a törési kÃsérletekben.">
<!ENTITY torbutton.prefs.sec_standard_label "Normál">
diff --git a/src/chrome/locale/hy/torbutton.dtd b/src/chrome/locale/hy/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/hy/torbutton.dtd
+++ b/src/chrome/locale/hy/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/id/torbutton.dtd b/src/chrome/locale/id/torbutton.dtd
index b3a1c136..c12cfb6b 100644
--- a/src/chrome/locale/id/torbutton.dtd
+++ b/src/chrome/locale/id/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Jaga kotak ini tetap tercentang untuk mencegah berbagai fitur browser dari penyalahgunaan untuk melacak anda saat sedang menelusuri web. Fitur modifikasi termasuk URL blob, saluran siaran, cache browser, cookies, favicon, kepala HTTP Auth, link preconnect, localStorage, URL mediaSource, permintaan OCSP, SharedWorkets, dan sesi tiket TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Ubah rincian yang membedakan Anda dari pengguna peramban Tor lain.">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Biarkan kotak ini tetap dicentang untuk menyembunyikan hal-hal yang unik tentang Anda dari situs web, termasuk kinerja komputer Anda, susunan keyboard, bahasa, lokasi pengaya terpasang, daftar dari pengaya terpasang, status jaringan, orientasi layar, ukuran layar, tingkat pembesaran situs-spesifik, tipe berkas yang didukung, warna sistem, dan kemampuan WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Tingkat Keamanan">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Penggeser keamanan memungkinkan anda untuk menonaktifkan fitur browser yang dapat membuat browser anda menjadi lebih rentant dari upaya peretasan.">
<!ENTITY torbutton.prefs.sec_standard_label "Standar">
diff --git a/src/chrome/locale/is/torbutton.dtd b/src/chrome/locale/is/torbutton.dtd
index 4477085c..a03a7329 100644
--- a/src/chrome/locale/is/torbutton.dtd
+++ b/src/chrome/locale/is/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "FjarlÊgja allar aðrar en verndaðar">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Vernda nÜjar vefkökur">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ekki vernda nÜjar vefkökur">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Takmarka vefkökur frá ßriðja aðila og önnur ferligögn">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Hafðu merkt à ßennan reit til að koma à veg fyrir að Ümsir eiginleikar vafrans séu misnotaðir à að fylgjast með ßér á meðan ßú flakkar um vefinn. Breyttir eiginleikar eru til dÊmis innri slóðir (blob URLs), útsendar rásir, skyndiminni vafrans, vefkökur, veftákn (favicon), HTTP-auðkenningarhausar, fortengi tengla, localStorage, mediaSource-slóðir, OCSP-beiðnir, SharedWorkers og TLS setumiðar.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Breyta atriðum sem gera ßig ólÃkan öðrum notendum Tor-vafrans">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Hafðu merkt à ßennan reit til að fela fyrir vefsvÊðum atriði sem gÊtu verið einstök hjá ßér, ßar með talin atriði eins og upplÜsingar um afköst tölvunnar, lyklaborðsuppsetningu, staðfÊrslu, staðsetningu uppsettra viðbóta, lista yfir uppsettar viðbÊtur, stöðu netkerfis, stÊrð og stefnu skjás, sértÊkan aðdrátt fyrir vefsvÊði, studdar skráategundir, kerfisliti og getu varðandi WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Ãryggisstig">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Ãryggisstillingasleðinn getur gert óvirka Ümsa ßá eiginleika vafrans sem gÊtu gert vafrann viðkvÊmari fyrir árásum hakkara.">
<!ENTITY torbutton.prefs.sec_standard_label "Staðlað">
diff --git a/src/chrome/locale/it/torbutton.dtd b/src/chrome/locale/it/torbutton.dtd
index b1cc844c..a45be803 100644
--- a/src/chrome/locale/it/torbutton.dtd
+++ b/src/chrome/locale/it/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Rimuovi tutti tranne quelli protetti">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Proteggi i nuovi cookie">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Non proteggere i nuovi cookie">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Limita i cookie di terze parti e altri dati di tracciamento">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Lascia questo box selezionato per evitare che diverse funzionalità del browser possano essere utilizzate per tracciare la tua navigazione. Le funzionalità modificate includono URL blob, canali di trasmissione, la cache del browser, cookie, favicon, intestazioni di Auth HTTP, link a cui ti sei precedentemente connesso, localStorage, URL mediaSource, richieste OCSP, SharedWorkers e ticket di sessioni TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Cambia i dettagli che ti distinguono dagli altri utenti di Tor Browser">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Lascia questa casella selezionata per nascondere ai siti web alcuni elementi che potrebbero essere unicamente riconducibili a te, incluse le prestazioni del computer, la disposizione della tastiera, la lingua, il percorso dei plugin installati, l'elenco dei plugin installati, lo stato di rete, l'orientamento dello schermo, le dimensioni dello schermo, i livelli di zoom per ogni sito, i tipi di file supportati, i colori di sistema e le funzionalità WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Livello di Sicurezza">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Il Security Slider ti permette di disabilitare determinate funzionalità del browser che potrebbero renderlo più vulnerabile a tentativi di attacco.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
diff --git a/src/chrome/locale/ja/torbutton.dtd b/src/chrome/locale/ja/torbutton.dtd
index 65368394..fcd714ff 100644
--- a/src/chrome/locale/ja/torbutton.dtd
+++ b/src/chrome/locale/ja/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "ä¿è·ãããŠãããã®ä»¥å€åé€">
<!ENTITY torbutton.cookiedialog.saveAllCookies "æ°ããCookieãä¿è·">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "æ°ããCookieãä¿è·ããªã">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ãµãŒãããŒãã£ãŒã®Cookieããã®ä»ã®ãã©ããã³ã°ããŒã¿ãå¶é">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "ãã®ããã¯ã¹ããã§ãã¯ãããŸãŸã«ããããšã§ãæ§ã
ãªãã©ãŠã¶ãŒã®æ©èœãæªçšãããŠã§ãã®é²èЧäžã«è¿œè·¡ãããããšãé²ãã圱é¿ãåããæ©èœïŒblob URLããããŒããã£ã¹ãã»ãã£ã³ãã«ããã©ãŠã¶ãŒã»ãã£ãã·ã¥ãã¯ãããŒãfaviconãHTTPèªèšŒããããŒãlink preconnectsãããŒã«ã«ã¹ãã¬ãŒãžãmediaSource URLãOCSPãªã¯ãšã¹ããå
±æã¯ãŒã«ãŒãTLSã»ãã·ã§ã³ã»ãã±ãããªã©ã">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ããªããšã»ãã®Torãã©ãŠã¶ã®ãŠãŒã¶ãŒãåºå¥ãã詳现ã倿Ž">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "ãã®ããã¯ã¹ããã§ãã¯ãããŸãŸã«ãããšãããªããèå¥ã§ãããæ
å ±ããŠã§ããµã€ãããé ããŸããããã«ã¯ãã³ã³ãã¥ãŒã¿ã®æ§èœãããŒããŒãã®é
åããã±ãŒã«ãã€ã³ã¹ããŒã«ããããã©ã°ã€ã³ã®äœçœ®ãã€ã³ã¹ããŒã«ããããã©ã°ã€ã³ã®ãªã¹ããããªãã®ãããã¯ãŒã¯ã®ç¶æ
ãç»é¢ã®åããç»é¢ã®è§£å床ããµã€ãããšã®ãºãŒã èšå®ã察å¿ããŠãããã¡ã€ã«åœ¢åŒãã·ã¹ãã ã®è²èšå®ãWebGLæ©èœãå«ãŸããŸãã">
<!ENTITY torbutton.prefs.sec_caption "ã»ãã¥ãªãã£ã¬ãã«">
<!ENTITY torbutton.prefs.sec_caption_tooltip "ã»ãã¥ãªãã£ã»ã¹ã©ã€ããŒã䜿ã£ãŠãããªãã®ãã©ãŠã¶ãŒããããã³ã°ã®è©Šã¿ã«å¯ŸããŠããè匱ã«ããå¯èœæ§ã®ãããã©ãŠã¶ãŒã®æ©èœãç¡å¹ã«ã§ããŸãã">
<!ENTITY torbutton.prefs.sec_standard_label "æšæº">
diff --git a/src/chrome/locale/jv/torbutton.dtd b/src/chrome/locale/jv/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/jv/torbutton.dtd
+++ b/src/chrome/locale/jv/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ka/torbutton.dtd b/src/chrome/locale/ka/torbutton.dtd
index 1c5635af..47b49321 100644
--- a/src/chrome/locale/ka/torbutton.dtd
+++ b/src/chrome/locale/ka/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "á§ááááá¡ áááªááááá áááªá£ááááá¡ ááá áá">
<!ENTITY torbutton.cookiedialog.saveAllCookies "áá®ááá á€á£ááá£ášáááá¡ áááªáá">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "áá®ááá á€á£ááá£ášáááá¡ áááªááá¡ ášáá©áá ááá">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ááá¡ááá áá®áá áá¡ á€á£ááá£ášáááá¡á áá á¡á®áá ááááááá§á£á ááááá¡ ášáááŠá£ááá">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "á">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "ááá¢áááá áá¡ á£á¯á á ááááášáá£áá, áá áá£ááá áá¡ áªááááá£áá ášáá¡áá«áááááááááá¡ áááá , áá¥ááááá á£ááááá ááá áááááááááá¡ áá¡áá ááááááá, ááááááá ááááá¡ ááááá®á£ááááá¡áá¡. ášááªááááá ášáá¡áá«ááááááááá ááááªááá¡ Blob-ááá£áááá¡, áááááªáááá¡ áá á®ááá¡, áá áá£ááá áá¡ ááášá¡, á€á£ááá£ášááá¡, á¡ááá¢áá¡ á®áá¢á£áááá¡, HTTP-áááá¡áá áááá¡, ááá£ááá¡ á¬áááá¡á¬áá ášááá áááááá¡, áááááááá áá á¡ááªááá¡, á€ááááá¡ á¬á§áá áá¡ URL-ááá¡, OCSP-áááá®áááááá¡, SharedWorker-ááá¡á á
á TLS-á¡áááá¡áá¡ áááááªá®ááááá¡.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "áªááááá£áá á¬áá ááááááááá¡ ášááªááá, á áááááá᪠áááááá¡á®áááááá Tor-áá áá£ááá áá¡ á¡á®áá áááá®ááá ááááááá¡ááá">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "áª">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "ááá¢áááá áá¡ á£á¯á á ááááášáá£áá, áá¡ááá áááááªáááááá¡ ááá¡áá€áá áá, á ááááá¡ á¡áášá£ááááááááª, á¡ááá¢ááá¡ ášááá«ááááá áá¥áááá á¡á®ááááá¡ááá ááááá á©ááá, ááá ášáá áá¡áá áááááá£á¢áá áá¡ á¬áá áááááá, ááááááá¢á£á áá¡ ááááááááá, áááá¡ ááá áááá¢á ááá, ááá§ááááá£áá áááá£ááááá¡ á©áááááááááá áá áááá ááááááááááá áááá, á¥á¡áááá¡ ááááááá áááá, ááá áááá¡ ááááááá áááá áá áááááá, á¡ááá¢áá¡ ášáááááá¡áá¡ áááááá, á€ááááá¡ áá®áá áá
ááá ááá á¡áá®áááá, á¡áá¡á¢áááá¡ á€áá ááá, WebGL-ášáá¡áá«ááááááááá.">
<!ENTITY torbutton.prefs.sec_caption "á£á¡áá€á áá®ááááá¡ áááá">
<!ENTITY torbutton.prefs.sec_caption_tooltip "á£á¡áá€á áá®ááááá¡ áá¡áá á©ááá á ááá, á¡áášá£áááááá¡ ááá«áááá ááááášáá áá áá£ááá áá¡ ášáá¡áá«áááááááááá¡ ááá¬ááá, á£ááááá ááá ášááŠá¬áááá¡ ááªááááááááá¡ááá á£ááá áááááá¡ááªáááá.">
<!ENTITY torbutton.prefs.sec_standard_label "á©ááá£áááá ááá">
diff --git a/src/chrome/locale/km/torbutton.dtd b/src/chrome/locale/km/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/km/torbutton.dtd
+++ b/src/chrome/locale/km/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/kn/torbutton.dtd b/src/chrome/locale/kn/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/kn/torbutton.dtd
+++ b/src/chrome/locale/kn/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ko/torbutton.dtd b/src/chrome/locale/ko/torbutton.dtd
index b23701b2..ab359411 100644
--- a/src/chrome/locale/ko/torbutton.dtd
+++ b/src/chrome/locale/ko/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "볎ížë ê² ë¹Œê³ ëªšë ì§ì°êž°">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ìë¡ìŽ ì¿ í€ ë³Žíž">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ìë¡ìŽ ì¿ í€ë¥Œ 볎ížíì§ ìì">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ì 3ì ì¿ í€ì ë€ë¥ž ì¶ì ë°ìŽí° ì í">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "ì¹ì íì í ë ë€ìí ëžëŒì°ì êž°ë¥ìŽ ì¬ì©ì륌 ì¶ì íë ê²ì ë§êž° ìíŽìŽ ìì륌 ì ííììì€. ìì ë êž°ë¥ìë blob URL, ëžë¡ë ìºì€íž ì±ë, ëžëŒì°ì ìºì, ì¿ í€, íë¹ìœ, HTTP Auth í€ë, ë§í¬ ì¬ì ì°ê²°, localStorage, mediaSource URL, OCSP ìì², SharedWorkers ë° TLS ìžì
í°ìŒìŽ í¬íšë©ëë€.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ë€ë¥ž Tor browser ì¬ì©ìë¡ë¶í° 구ë³ëë ìžë¶ ì¬í ë³ê²œ">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "ìŽ ìì륌 ì²Ží¬ íŽë ìŒë¡ìš ì¹ì¬ìŽížê° ë¹ì ì ìë³ í ì ìë ìì륌 ìšêžž ì ììµëë€. ê·žê²ìë 컎íší° ì±ë¥, í€ë³Žë ë ìŽìì, ë¡ìŒìŒ, íë¬ê·žìžìŽ ì€ì¹ë ì¥ì, ì€ì¹ë íë¬ê·žìžì 목ë¡, ë€ížìí¬ ìí, í멎 ë°©í¥, í멎 í¬êž°, ì¬ìŽíž ë³ íë / ì¶ì ìì€, ì§ìëë íìŒ íì, ìì€í
ì, WebGL êž°ë¥ ë±ìŽ ììµëë€.">
<!ENTITY torbutton.prefs.sec_caption "볎ì ë±êž">
<!ENTITY torbutton.prefs.sec_caption_tooltip "볎ì ì¬ëŒìŽë륌 ì¬ì©í멎 í¹ì ëžëŒì°ì êž°ë¥ìŽ ë¹íì±í ëìŽ ëžëŒì°ì ê° íŽí¹ ìëì ì·šìœíŽì§ ì ììµëë€.">
<!ENTITY torbutton.prefs.sec_standard_label "íì€">
diff --git a/src/chrome/locale/ku/torbutton.dtd b/src/chrome/locale/ku/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ku/torbutton.dtd
+++ b/src/chrome/locale/ku/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/kw/torbutton.dtd b/src/chrome/locale/kw/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/kw/torbutton.dtd
+++ b/src/chrome/locale/kw/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ky/torbutton.dtd b/src/chrome/locale/ky/torbutton.dtd
index 815e56de..8be58090 100644
--- a/src/chrome/locale/ky/torbutton.dtd
+++ b/src/chrome/locale/ky/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/lb/torbutton.dtd b/src/chrome/locale/lb/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/lb/torbutton.dtd
+++ b/src/chrome/locale/lb/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ln/torbutton.dtd b/src/chrome/locale/ln/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ln/torbutton.dtd
+++ b/src/chrome/locale/ln/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/lo/torbutton.dtd b/src/chrome/locale/lo/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/lo/torbutton.dtd
+++ b/src/chrome/locale/lo/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/lt/torbutton.dtd b/src/chrome/locale/lt/torbutton.dtd
index 247820d7..85e41b2d 100644
--- a/src/chrome/locale/lt/torbutton.dtd
+++ b/src/chrome/locale/lt/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/lv/torbutton.dtd b/src/chrome/locale/lv/torbutton.dtd
index aed81db8..ea5e250b 100644
--- a/src/chrome/locale/lv/torbutton.dtd
+++ b/src/chrome/locale/lv/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "NoÅemt visas, izÅemot aizsargÄtÄs">
<!ENTITY torbutton.cookiedialog.saveAllCookies "AizsargÄt jaunÄs sÄ«kdatnes">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "NeaizsargÄt jaunÄs sÄ«kdatnes">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Ierobeşot trešo personu sīkdatnes un citus izsekošanas datus">
-<!ENTITY torbutton.prefs.resist_fingerprinting "MainÄ«t informÄciju, kura dara JÅ«s atšķirÄ«gus no citiem PÄrlÅ«ka Tor lietotÄjiem">
diff --git a/src/chrome/locale/mg/torbutton.dtd b/src/chrome/locale/mg/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/mg/torbutton.dtd
+++ b/src/chrome/locale/mg/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/mi/torbutton.dtd b/src/chrome/locale/mi/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/mi/torbutton.dtd
+++ b/src/chrome/locale/mi/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/mk/torbutton.dtd b/src/chrome/locale/mk/torbutton.dtd
index ba2b2cb8..28cfc0b8 100644
--- a/src/chrome/locale/mk/torbutton.dtd
+++ b/src/chrome/locale/mk/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ml/torbutton.dtd b/src/chrome/locale/ml/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ml/torbutton.dtd
+++ b/src/chrome/locale/ml/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/mn/torbutton.dtd b/src/chrome/locale/mn/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/mn/torbutton.dtd
+++ b/src/chrome/locale/mn/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/mr/torbutton.dtd b/src/chrome/locale/mr/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/mr/torbutton.dtd
+++ b/src/chrome/locale/mr/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ms/torbutton.dtd b/src/chrome/locale/ms/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ms/torbutton.dtd
+++ b/src/chrome/locale/ms/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/mt/torbutton.dtd b/src/chrome/locale/mt/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/mt/torbutton.dtd
+++ b/src/chrome/locale/mt/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/my/torbutton.dtd b/src/chrome/locale/my/torbutton.dtd
index 5bd7e2fd..b628fd23 100644
--- a/src/chrome/locale/my/torbutton.dtd
+++ b/src/chrome/locale/my/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "á¡á¬ážáá¯á¶ážááᯠáááºáá¯ááºáá«á ááá¯á·áá±á¬áº á¡áá¬á¡ááœáẠáá¯ááºáá¬ážáááº">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ááœááºáá®ážáá
áºáá»á¬ážááᯠáá¬ááœááºáááº">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ááœááºáá®ážáá
áºáá»á¬ážááᯠáá¬ááœááºááŒááºáž áááŒá¯áááº">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/nah/torbutton.dtd b/src/chrome/locale/nah/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/nah/torbutton.dtd
+++ b/src/chrome/locale/nah/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/nap/torbutton.dtd b/src/chrome/locale/nap/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/nap/torbutton.dtd
+++ b/src/chrome/locale/nap/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/nb/torbutton.dtd b/src/chrome/locale/nb/torbutton.dtd
index 1b58f104..67e2fc2b 100644
--- a/src/chrome/locale/nb/torbutton.dtd
+++ b/src/chrome/locale/nb/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Fjern alle bortsett fra beskyttede">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Beskytt nye informasjonskapsler">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ikke beskytt nye informasjonskapsler">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Begrens tredjeparts informasjonskapsler og andre sporingsdata.">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Hold denne boksen avhuket for å forebygge at ulike nettleserfunksjoner blir misbrukt til å spore deg når du surfer på nettet. Modifiserte funksjoner inkluderer blob-nettadresser, kringkastinskanaler, nettleserens mellomlager, informasjonskapsler, favicon, HTTP-autentiserings overskrifter, link preconnects, localstorage , Mediasource-nettadresser, OCSP-forespÞrsler, SharedWorkers og TLS Þktbilletter.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Endre detaljer som skiller deg fra andre brukere av Tor-nettleseren.">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "La denne avkryssingsboksen vÊre utkrysset for å skjule ting som kan vÊre unikt med deg fra nettsteder, inkludert datamaskinens ytelse, tastaturoppsett , lokale, plasseringen av- og listen over installerte programtillegg, nettverksstatus, skjermretning , skjermstÞrrelse , sidespesifikke forstÞrrelsesnivåer , filtyper som stÞttes, systemfarger og WebGL-evner.">
<!ENTITY torbutton.prefs.sec_caption "Sikkerhetsnivå">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Sikkerhetsglidebryteren lar deg skru av forskjellige nettleserfunksjoner som kan eksponere deg for risiko.">
<!ENTITY torbutton.prefs.sec_standard_label "Forvalg">
diff --git a/src/chrome/locale/ne/torbutton.dtd b/src/chrome/locale/ne/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ne/torbutton.dtd
+++ b/src/chrome/locale/ne/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/nl/torbutton.dtd b/src/chrome/locale/nl/torbutton.dtd
index 27e0003d..d31b4153 100644
--- a/src/chrome/locale/nl/torbutton.dtd
+++ b/src/chrome/locale/nl/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Alle cookies, met uitzondering van de beveiligde, verwijderen">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Beveilig nieuwe cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Beveilig nieuwe cookies niet">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Beperk cookies en andere tracking-gegevens van derden">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Vink dit vakje aan om te voorkomen dat functies van je browser worden misbruikt om je te volgen op het internet. Gemodificeerde functies zijn o.a. URL's, uitzendingskanalen, de browsercache, cookies, favicons, HTTP Auth headers, koppeling-voorverbindingen, lokale opslag, mediabron-URL's, OCSP-verzoeken, Gedeelde-werkers en TLS-sessietickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Verander details die je onderscheiden van andere Tor Browser gebruikers">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Houd deze box aangevinkt om dingen te verbergen voor website die uniek kunnen zijn voor u, inclusief uw computer prestaties, toetsenbord layout, locatie, de locatie van geïnstalleerde plugins, de lijst van geïnstalleerde plugins, uw netwerk status, scherm oriëntatie, scherm grootte, site-specifieke zoom levels, ondersteunde bestands types, systeem kleuren, en WebGL mogelijkheden.">
<!ENTITY torbutton.prefs.sec_caption "Beveiligingsniveau">
<!ENTITY torbutton.prefs.sec_caption_tooltip "De beveiligingsschuifbalk laat je toe sommige functies uit te schakelen die je browser mogelijk blootstellen aan beveiligingsrisico's.">
<!ENTITY torbutton.prefs.sec_standard_label "Standaard">
diff --git a/src/chrome/locale/nn/torbutton.dtd b/src/chrome/locale/nn/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/nn/torbutton.dtd
+++ b/src/chrome/locale/nn/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/nso/torbutton.dtd b/src/chrome/locale/nso/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/nso/torbutton.dtd
+++ b/src/chrome/locale/nso/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/oc/torbutton.dtd b/src/chrome/locale/oc/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/oc/torbutton.dtd
+++ b/src/chrome/locale/oc/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/or/torbutton.dtd b/src/chrome/locale/or/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/or/torbutton.dtd
+++ b/src/chrome/locale/or/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/pa/torbutton.dtd b/src/chrome/locale/pa/torbutton.dtd
index f198b7cf..c7185f22 100644
--- a/src/chrome/locale/pa/torbutton.dtd
+++ b/src/chrome/locale/pa/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/pap/torbutton.dtd b/src/chrome/locale/pap/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/pap/torbutton.dtd
+++ b/src/chrome/locale/pap/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/pl/torbutton.dtd b/src/chrome/locale/pl/torbutton.dtd
index 7b60431c..ba43142b 100644
--- a/src/chrome/locale/pl/torbutton.dtd
+++ b/src/chrome/locale/pl/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "UsuŠwszystkie oprócz chronionych">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ChroÅ nowe ciasteczka">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Nie chroÅ nowych ciasteczek">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Ograniczaj ciasteczka firm trzecich i inne dane sÅuÅŒÄ
ce do Åledzenia">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Zachowaj to pole zaznaczone, aby zapobiec naduÅŒyciom róŌnych funkcji przeglÄ
darki, które ÅledzÄ
ciÄ podczas przeglÄ
dania sieci. Zmodyfikowane funkcje obejmujÄ
adresy Blob URL, kanaÅy rozgÅoszeniowe, pamiÄÄ podrÄcznÄ
przeglÄ
darki, pliki cookie, ikony ulubionych, nagÅówki HTTP Auth, wstÄpne poÅÄ
czenia, localStorage, adresy mediaSource URL, ÅŒÄ
dania OCSP, SharedWorkers oraz bilety sesji TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ZmieÅ szczegóÅy odróŌniajÄ
ce CiÄ od innych uÅŒytkowników PrzeglÄ
darki Tora">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Zachowaj to pole zaznaczone, aby ukryÄ przed stronami internetowymi elementy, które mogÄ
byÄ u ciebie unikalne, wliczajÄ
c w to wydajnoÅÄ komputera, ukÅad klawiatury, lokalizacjÄ, poÅoÅŒenie zainstalowanych wtyczek, listÄ zainstalowanych wtyczek, stan sieci, orientacjÄ ekranu, rozmiar ekranu, okreÅlone poziomy powiÄkszenia, obsÅugiwane typy plików, kolory systemu oraz moÅŒliwoÅci WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Poziom bezpieczeÅstwa">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Suwak poziomu bezpieczeÅstwa pozwala na wyÅÄ
czenie pewnych funkcji przeglÄ
darki, które mogÄ
uczyniÄ ten program bardziej naraÅŒonym na próby ataku hakerskiego.">
<!ENTITY torbutton.prefs.sec_standard_label "Standardowy">
diff --git a/src/chrome/locale/pms/torbutton.dtd b/src/chrome/locale/pms/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/pms/torbutton.dtd
+++ b/src/chrome/locale/pms/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ps/torbutton.dtd b/src/chrome/locale/ps/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ps/torbutton.dtd
+++ b/src/chrome/locale/ps/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/pt-BR/torbutton.dtd b/src/chrome/locale/pt-BR/torbutton.dtd
index 594b4a62..5ca71899 100644
--- a/src/chrome/locale/pt-BR/torbutton.dtd
+++ b/src/chrome/locale/pt-BR/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remover Todos Exceto os Protegidos">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Proteger Novos Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Não Proteger Novos Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restringir os cookies de terceiros e outros dados de rastreamento">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Deixe esta opção sempre marcada para impedir que funcionalidades de navegação sejam usadas para rastreá-la(o) durante a sua navegação. Funcionalidades alteradas incluem janelas pop-up, canais de transmissão, o cache de memória, cookies, favicons, ">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Alterar os detalhes que distinguem você de outros usuários do Navegador Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Manter esta opção ativa para ocultar de websites as suas informações que podem ser individuais: performance do computador, modelo de teclado, local, a localização e a lista dos plugins instalados, o status da sua conexão, a orientação de tela, o tamanho da tela, os nÃveis de zoom de certos sites, os tipos de arquivos que possuem suporte, o sistema de cores, e os recursos WebGL.">
<!ENTITY torbutton.prefs.sec_caption "NÃvel de Segurança">
<!ENTITY torbutton.prefs.sec_caption_tooltip "The Security Slider possibilita que você desabilite certas funcionalidades de navegação que podem torná-la mais vulnerável a tentativas de ataque.">
<!ENTITY torbutton.prefs.sec_standard_label "Padrão">
diff --git a/src/chrome/locale/pt/torbutton.dtd b/src/chrome/locale/pt/torbutton.dtd
index 582164da..efff3d9b 100644
--- a/src/chrome/locale/pt/torbutton.dtd
+++ b/src/chrome/locale/pt/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remover Tudo Exceto Protegidos">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Proteger Novos Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Não Proteger Novos Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restringir os cookies de terceiros e outros dados de rastreamento">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Keep this box checked to prevent various browser features from being abused to track you as you browse the web. Modified features include blob URLs, broadcast channels, the browser cache, cookies, favicons, HTTP Auth headers, link preconnects, localStorage, mediaSource URLs, OCSP requests, SharedWorkers, and TLS session tickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Alterar os detalhes que o diferencia dos outros utilizadores do Navegador Tor">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Keep this box checked to hide things from websites that could be unique about you, including your battery status, computer performance, keyboard layout, locale, the location of installed plugins, the list of installed plugins, your network status, screen orientation, screen size, site-specific zoom levels, supported file types, system colors, and WebGL capabilities.">
<!ENTITY torbutton.prefs.sec_caption "NÃvel de Segurança">
<!ENTITY torbutton.prefs.sec_caption_tooltip "The Security Slider lets you disable certain browser features that may make your browser more vulnerable to hacking attempts.">
<!ENTITY torbutton.prefs.sec_low "Baixo (predefinição)">
diff --git a/src/chrome/locale/ro/torbutton.dtd b/src/chrome/locale/ro/torbutton.dtd
index a367d00d..8bbcaf85 100644
--- a/src/chrome/locale/ro/torbutton.dtd
+++ b/src/chrome/locale/ro/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Indeparteaza tot, mai putin protejat">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protejeaza Cookie-urile noi">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Nu proteja Cookie-urile noi">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index 26dd7455..3acf77f4 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "УЎалОÑÑ Ð²Ñе, кÑПЌе заÑОÑÑММÑÑ
">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ÐаÑОÑаÑÑ ÐœÐŸÐ²Ñе кÑкО-ÑайлÑ">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ðе заÑОÑаÑÑ ÐœÐŸÐ²Ñе кÑкО-ÑайлÑ">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ÐлПкОÑПваÑÑ ÑÑПÑПММОе кÑкО-ÑÐ°Ð¹Ð»Ñ Ðž ÐŽÑÑгОе ЎаММÑе ÑлежеМОÑ">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "ÐÑÑавÑÑе ÑлажПк МапÑПÑОв ÑÑПй ÑÑМкÑОО ПÑЌеÑеММÑÐŒ, ÑÑÐŸÐ±Ñ Ð·Ð°ÑОÑОÑÑ ÐŒÐœÐŸÐ³ÐžÐµ ÑÑМкÑОО ПбПзÑеваÑÐµÐ»Ñ ÐŸÑ ÑлеЌеМÑПв ПÑÑÐ»ÐµÐ¶ÐžÐ²Ð°ÐœÐžÑ Ð²Ð°ÑОÑ
ЎейÑÑвОй вП вÑÐµÐŒÑ ÑеÑÑОМга в ÑеÑО. ÐПЎОÑОÑОÑПваММÑе кПЌпПМеМÑÑ Ð²ÐºÐ»ÑÑаÑÑ Ð² ÑÐµÐ±Ñ ÑÑÑлкО Ма блПбÑ, ÑÑаМÑлОÑÑеЌÑе каМалÑ, кÑÑ Ð±ÑаÑзеÑа, ÑÐ°Ð¹Ð»Ñ ÐºÑкО, зМаÑкО, загПлПвкО аÑÑеМÑОÑОкаÑОО HTTP, ÑÑÑлкО пÑеЎпÑПÑЌПÑÑа, лПкалÑМПе Ñ
ÑаМОлОÑе, ÑÑÑлкО Ма ЌеЎОакПМÑеМÑ, запÑПÑÑ OCSP, SharedWorkers О ПбÑÑÐ²Ð»ÐµÐœÐžÑ ÑеÑÑОО TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ÐзЌеМОÑÑ ÑвеЎеМОÑ, ПÑлОÑаÑÑОе Ð²Ð°Ñ ÐŸÑ ÐŽÑÑгОÑ
пПлÑзПваÑелей Tor Browser">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "ÐÑÑавÑÑе ÑлажПк МапÑПÑОв ÑÑПй ÑÑМкÑОО ПÑЌеÑеММÑÐŒ, ÑÑÐŸÐ±Ñ ÑкÑÑÑÑ ÐŸÑ Ð²ÐµÐ±-ÑзлПв веÑО , кПÑПÑÑе ЌПгÑÑ Ð±ÑÑÑ ÑМОкалÑМÑЌО ÐŽÐ»Ñ Ð²Ð°Ñ, вклÑÑÐ°Ñ Ð¿ÑПОзвПЎОÑелÑМПÑÑÑ ÐºÐŸÐŒÐ¿ÑÑÑеÑа, ÑаÑÐºÐ»Ð°ÐŽÐºÑ ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÑ, ÑзÑк, ÑаÑпПлПжеМОе О ÑпОÑПк ÑÑÑаМПвлеММÑÑ
плагОМПв, ÑПÑÑПÑМОе ÑеÑО, ПÑОеМÑаÑÐžÑ Ðž ÑÐ°Ð·ÐŒÐµÑ ÑкÑаМа , зМаÑÐµÐœÐžÑ ÐŒÐ°ÑÑÑабОÑÐŸÐ²Ð°ÐœÐžÑ ÐŽÐ»Ñ ÐºÐŸÐœÐºÑеÑМÑÑ
ÑзлПв, пПЎЎеÑжОваеЌÑе ÑÐžÐ¿Ñ ÑайлПв, ÑОÑÑеЌМÑе ÑвеÑа О вПзЌПжМПÑÑО WebGL.">
<!ENTITY torbutton.prefs.sec_caption "УÑÐŸÐ²ÐµÐœÑ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМПÑÑО">
<!ENTITY torbutton.prefs.sec_caption_tooltip "ÐПлзÑМПк безПпаÑМПÑÑО пПзвПлÑÐµÑ Ð²Ð°ÐŒ запÑеÑОÑÑ ÐœÐµÐºÐŸÑПÑÑе ПÑПбеММПÑÑО ПбПзÑеваÑелÑ, кПÑПÑÑе ЌПгÑÑ ÑЎелаÑÑ Ð²Ð°Ñ Ð±ÑаÑÐ·ÐµÑ Ð±ÐŸÐ»ÐµÐµ ÑÑзвОЌÑÐŒ к пПпÑÑкаЌ взлПЌа.">
<!ENTITY torbutton.prefs.sec_standard_label "СÑаМЎаÑÑМÑе">
diff --git a/src/chrome/locale/sco/torbutton.dtd b/src/chrome/locale/sco/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/sco/torbutton.dtd
+++ b/src/chrome/locale/sco/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/sk/torbutton.dtd b/src/chrome/locale/sk/torbutton.dtd
index 44788251..25dc5886 100644
--- a/src/chrome/locale/sk/torbutton.dtd
+++ b/src/chrome/locale/sk/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/sl/torbutton.dtd b/src/chrome/locale/sl/torbutton.dtd
index 40828c9c..475724e3 100644
--- a/src/chrome/locale/sl/torbutton.dtd
+++ b/src/chrome/locale/sl/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ne zaÅ¡Äiti novih piÅ¡kotkov">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/so/torbutton.dtd b/src/chrome/locale/so/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/so/torbutton.dtd
+++ b/src/chrome/locale/so/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/son/torbutton.dtd b/src/chrome/locale/son/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/son/torbutton.dtd
+++ b/src/chrome/locale/son/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/sq/torbutton.dtd b/src/chrome/locale/sq/torbutton.dtd
index 8daad7b9..0f77148b 100644
--- a/src/chrome/locale/sq/torbutton.dtd
+++ b/src/chrome/locale/sq/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/sr/torbutton.dtd b/src/chrome/locale/sr/torbutton.dtd
index 200e9114..a945b001 100644
--- a/src/chrome/locale/sr/torbutton.dtd
+++ b/src/chrome/locale/sr/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "УклПМО Ñве ПÑОЌ заÑÑОÑеМОÑ
">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ÐаÑÑОÑО МПве кПлаÑОÑе">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ðе ÑÑОÑО МПве кПлаÑОÑе">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Ogranici cookies i druge podatke o pracenju">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Promenite detalje koji vas razlikuju od drugih korisnika Tor pretrazivaca.">
diff --git a/src/chrome/locale/st/torbutton.dtd b/src/chrome/locale/st/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/st/torbutton.dtd
+++ b/src/chrome/locale/st/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/su/torbutton.dtd b/src/chrome/locale/su/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/su/torbutton.dtd
+++ b/src/chrome/locale/su/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/sv/torbutton.dtd b/src/chrome/locale/sv/torbutton.dtd
index 067b45b3..d05c163e 100644
--- a/src/chrome/locale/sv/torbutton.dtd
+++ b/src/chrome/locale/sv/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Ta bort alla icke-skyddade">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Skydda nya Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Skydda inte nya Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "BegrÀnsa tredjeparts-cookies och annan tracking data">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "BehÃ¥ll det hÀr alternativet valt för att förhindra olika webblÀsarfunktioner frÃ¥n att missbrukas för att spÃ¥ra dig nÀr du surfar pÃ¥ nÀtet. Ãndrade funktioner inkluderar blob-URLer, broadcastkanaler, webblÀsar-cache, cookies, favicons, HTTP-Auth-huvuden, lÀnk-föranslutningar, localStorage, mediaSource URLer, OCSP-förfrÃ¥gningar, SharedWorkers och TLS-sessionstickets.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Ãndra detailjer som utmÀrker dig ifrÃ¥n andra Tor Browser anvÀndare">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Låt den hÀr kryssrutan vara ikryssad för att dölja saker från webbplatser som kan vara unika för just dig, såsom datorprestanda, tangentbordslayout, språkinstÀllningar, plats för installerade plugin, lista över installerade plugin, nÀtverksstatus, skÀrmorientering, skÀrmstorlek, platsspecifika zoomnivåer, filtypsstöd, systemfÀrger, och WebGL-stöd.">
<!ENTITY torbutton.prefs.sec_caption "SÀkerhetsnivå">
<!ENTITY torbutton.prefs.sec_caption_tooltip "SÀkerhetsreglaget låter dig stÀnga av vissa webblÀsarfunktioner som kan göra din webblÀsare mer sårbar mot intrångsförsök.">
<!ENTITY torbutton.prefs.sec_standard_label "Standard">
diff --git a/src/chrome/locale/sw/torbutton.dtd b/src/chrome/locale/sw/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/sw/torbutton.dtd
+++ b/src/chrome/locale/sw/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ta/torbutton.dtd b/src/chrome/locale/ta/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ta/torbutton.dtd
+++ b/src/chrome/locale/ta/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/te/torbutton.dtd b/src/chrome/locale/te/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/te/torbutton.dtd
+++ b/src/chrome/locale/te/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/tg/torbutton.dtd b/src/chrome/locale/tg/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/tg/torbutton.dtd
+++ b/src/chrome/locale/tg/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/th/torbutton.dtd b/src/chrome/locale/th/torbutton.dtd
index 70d1df2d..4f4b87fd 100644
--- a/src/chrome/locale/th/torbutton.dtd
+++ b/src/chrome/locale/th/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ti/torbutton.dtd b/src/chrome/locale/ti/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ti/torbutton.dtd
+++ b/src/chrome/locale/ti/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/tk/torbutton.dtd b/src/chrome/locale/tk/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/tk/torbutton.dtd
+++ b/src/chrome/locale/tk/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/tr/torbutton.dtd b/src/chrome/locale/tr/torbutton.dtd
index 358a958a..24b3dfff 100644
--- a/src/chrome/locale/tr/torbutton.dtd
+++ b/src/chrome/locale/tr/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Korunanlar DıÅında TÃŒmÃŒnÃŒ Sil">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Yeni Ãerezler Korunsun">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Yeni Ãerezler Korunmasın">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ÃçÌncÃŒ taraf çerezleri ve diÄer izleme bilgileri engellensin">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Bu seçeneÄi iÅaretleyerek, çeÅitli web tarayıcıların, web sitelerinde yaptıÄınız iÅlemleri izlemesini engelleyebilirsiniz. DeÄiÅtirilen özellikler içinde blob İnternet adresleri, yayın kanalları, web tarayıcı ön belleÄi, çerezler, favicon dosyaları, HTTP Auth baÅlık bilgileri, ön baÄlantı bilgileri, localStorage, mediaSource adresleri, OCSP istekleri, SharedWorkers ve TLS oturumu bulunur.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "DiÄer Tor Browser kullanıcılarından sizi ayıran ayrıntılar deÄiÅtirilsin">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "Bilgisayarınızın baÅarımı, tuÅ takımı dÃŒzeni, yerel dil ayarları, kurulmuÅ eklentilerin konumu, kurulmuÅ eklentilerin listesi, aÄınızın durumu, ekran yönlendirmesi, ekran boyutu, siteye baÄlı özel yakınlaÅtırma seviyeleri, desteklenen dosya tÃŒrleri, sistem renkleri ve WebGL yetenekleri gibi size özel olan ve kimliÄinizin belirlenmesinde kullanılabilecek bilgileri gizlemek için bu kutuyu iÅaretlenmiÅ olarak tutun.">
<!ENTITY torbutton.prefs.sec_caption "GÃŒvenlik DÃŒzeyi">
<!ENTITY torbutton.prefs.sec_caption_tooltip "GÃŒvenlik ayarı ile belirli web tarayıcı özeliklerini kapatabilirsiniz. Ancak bu durumda web tarayıcınız saldırılara karÅı daha korumasız olur.">
<!ENTITY torbutton.prefs.sec_standard_label "Standart">
diff --git a/src/chrome/locale/uk/torbutton.dtd b/src/chrome/locale/uk/torbutton.dtd
index d5511783..742060f9 100644
--- a/src/chrome/locale/uk/torbutton.dtd
+++ b/src/chrome/locale/uk/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "ÐОЎалОÑО УÑÑ, ÐкÑÑÐŒ ÐаÑ
ОÑеМОÑ
">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ÐаÑ
ОÑаÑО ÐÐŸÐ²Ñ ÐÑкО">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ðе ÐаÑ
ОÑаÑО ÐÐŸÐ²Ñ ÐÑкО">
-<!ENTITY torbutton.prefs.restrict_thirdparty "ÐлПкÑваÑО ÑÑПÑÐŸÐœÐœÑ ÐºÑкО Ñа ÑМÑÑ ÐŽÐ°ÐœÑ Ð²ÑÐŽÑÑежеММÑ">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ÐÐŒÑМОÑО вÑЎПЌПÑÑÑ, ÑП вÑÐŽÑÑзМÑÑÑÑ Ð²Ð°Ñ Ð²ÑÐŽ ÑМÑОÑ
кПÑОÑÑÑваÑÑв пеÑеглÑЎаÑа Tor">
diff --git a/src/chrome/locale/ur/torbutton.dtd b/src/chrome/locale/ur/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ur/torbutton.dtd
+++ b/src/chrome/locale/ur/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/ve/torbutton.dtd b/src/chrome/locale/ve/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/ve/torbutton.dtd
+++ b/src/chrome/locale/ve/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/vi/torbutton.dtd b/src/chrome/locale/vi/torbutton.dtd
index 77f447b9..9f1c50e3 100644
--- a/src/chrome/locale/vi/torbutton.dtd
+++ b/src/chrome/locale/vi/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "Bảo Äảm há»p nà y ÄÆ°á»£c Äánh dấu Äá» ngÄn những tÃnh nÄng khác nhau cá»§a trình duyá»t khÃŽng bá» là m dụng Äá» theo dõi bạn khi bạn duyá»t web. Những tÃnh nÄng ÄÆ°á»£c sá»a Äá»i bao gá»m những blob URL, những ÄÆ°á»ng dẫn ÄÆ°á»£c kết ná»i trưá»c, nÆ¡i lưu trữ ná»i bá», URL nguá»n trung gian, những yêu cầu OCSP, SharedWorkers, và vé cá»§a phiên TLS.">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "LuÃŽn Äánh dấu há»p nà y ÄỠẩn các dấu hiá»u có thá» là Äặc trưng duy nhất vá» bạn, bao gá»m khả nÄng là m viá»c cá»§a máy tÃnh cá»§a bạn, cách sắp xếp cá»§a bà n phÃm, nÆ¡i á», vá» trà cá»§a các trình thêm và o (plugins) ÄÆ°á»£c cà i Äặt, danh sách cá»§a các trình thêm và o ÄÆ°á»£c cà i Äặt, trạng thái mạng cá»§a bạn, Äá»nh hưá»ng mà n hình, kÃch thưá»c mà n hình, các mức Äá» phóng to-thu nhá» Äá»i vá»i các trang cụ thá», các dạng tá»p tin ÄÆ°á»£c há» trợ, các mà u há» thá»ng, và các nÄng lá»±c WebGL.">
<!ENTITY torbutton.prefs.sec_caption "Mức Äá» Bảo máºt">
<!ENTITY torbutton.prefs.sec_caption_tooltip "Những Ngưá»i Äiá»u chá»nh an ninh Äá» cho bạn vÃŽ hiá»u má»t và i tÃnh nÄng cá»§a trình duyá»t mà có thá» là m trình duyá»t cá»§a bạn dá»
bá» tá»n thương Äá»i vá»i những cá» gắng tấn cÃŽng.">
<!ENTITY torbutton.prefs.sec_standard_label "Chuẩn">
diff --git a/src/chrome/locale/wa/torbutton.dtd b/src/chrome/locale/wa/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/wa/torbutton.dtd
+++ b/src/chrome/locale/wa/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/wo/torbutton.dtd b/src/chrome/locale/wo/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/wo/torbutton.dtd
+++ b/src/chrome/locale/wo/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index e9ea7dbe..5cdea120 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "å
šéšç§»é€ä»
ä¿çåä¿æ€ç Cookie">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ä¿æ€æ°ç Cookie">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "äžä¿æ€æ°ç Cookie">
-<!ENTITY torbutton.prefs.restrict_thirdparty "éå¶ç¬¬äžæ¹ cookie åå
¶ä»æ°æ®è·èžªçšåº">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "该é项çšäºé²æ¢æ»¥çšæµè§åšåèœè·èžªçšæ·ãä¿®æ¹çåèœå
æ¬ïŒblob çœåïŒå¹¿æééïŒæµè§åšçŒåïŒcookieïŒæ¶èå€¹åŸæ ïŒHTTP éªè¯æ 倎ïŒé¢è¿æ¥ïŒlocalStorageïŒmediaSource çœåïŒOCSP 请æ±ïŒSharedWorker å TLS äŒè¯ç¥šè¯ã">
-<!ENTITY torbutton.prefs.resist_fingerprinting "ä¿®æ¹ Tor æµè§åšäžå¯åºåäœ äžå
¶ä» Tor çšæ·çç»èä¿¡æ¯">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "åŸéæ€é项以é¿å
çœç«è·åæšçæµè§åšæçº¹ä¿¡æ¯ïŒå
æ¬æšçè®¡ç®æºæ§èœãé®çåžå±ãç³»ç»è¯èšãå®è£
æä»¶çäœçœ®ãå·²å®è£
æä»¶åè¡šãæšççœç»ç¶æãå±å¹æ¹åãå±å¹å°ºå¯žãç¹å®çœç«çŒ©æŸçº§å«ãæ¯æçæä»¶ç±»åãç³»ç»é¢è²ãWebGL åèœã">
<!ENTITY torbutton.prefs.sec_caption "å®å
šç级">
<!ENTITY torbutton.prefs.sec_caption_tooltip "å®å
šæ»åå¯çŠçšæäºæµè§åšåèœïŒé¿å
å è¿äºåèœå¯ŒèŽçæŒæŽèåå°æ»å»ã">
<!ENTITY torbutton.prefs.sec_standard_label "æ åå®å
šæ§">
diff --git a/src/chrome/locale/zh-HK/torbutton.dtd b/src/chrome/locale/zh-HK/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/zh-HK/torbutton.dtd
+++ b/src/chrome/locale/zh-HK/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/chrome/locale/zh-TW/torbutton.dtd b/src/chrome/locale/zh-TW/torbutton.dtd
index 8fe54733..e3824e9c 100644
--- a/src/chrome/locale/zh-TW/torbutton.dtd
+++ b/src/chrome/locale/zh-TW/torbutton.dtd
@@ -25,12 +25,6 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "å
šéšåªé€ïŒäœåä¿è·">
<!ENTITY torbutton.cookiedialog.saveAllCookies "ä¿è·æ°ç Cookie">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "äžä¿è·æ°ç Cookie">
-<!ENTITY torbutton.prefs.restrict_thirdparty "éå¶ç¬¬äžæ¹ cookie åå
¶ä»è¿œè¹€è³æ">
-<!ENTITY torbutton.prefs.restrict_thirdparty.accesskey "R">
-<!ENTITY torbutton.prefs.restrict_thirdparty_tooltip "ä¿æåçšæ€é
ç®ä»¥é¿å
ç¶æšåšçèŠœç¶²é æïŒç芜åšçæäºåèœè¢«ç¶²ç«èšèšè
å©çšäŸè¿œè¹€æšçç寊身仜ãäŸåŠïŒblob URLsã廣æé »éãçèŠœåšæ«åè³æãcookiesãfaviconsãHTTPèªèæšé ãlink preconnectsãlocalStorageãvmediaSource URLsãOCSP requestsãSharedWorkersãTLS session ticketsçã">
-<!ENTITY torbutton.prefs.resist_fingerprinting "è®æŽå¯ä»¥å奿šèå
¶ä»æŽè¥è·¯ç±ç芜åšäœ¿çšè
ç詳现è³èš">
-<!ENTITY torbutton.prefs.resist_fingerprinting.accesskey "F">
-<!ENTITY torbutton.prefs.resist_fingerprinting_tooltip "åŸéžå忀åèœå¯ä»¥é¿å
äžé¢éäºè³èšè¢«æé 蚪çç¶²ç«ååŸïŒéäºè³èšéœå¯ä»¥è¢«çšäŸè奿šçç寊身仜ïŒé»è
Šç³»çµ±æèœãéµç€äœå±ãèªç³»èšå®ã倿å
ä»¶çå®è£äœçœ®ãå·²å®è£ä¹å€æå
ä»¶ã網路çæ
ãè¢å¹ç倧å°èè§£æåºŠãæ¯æŽçæªæ¡æ ŒåŒã系統è²åœ©èšå®ãWebGL ä¹ç¹ªåéç®èœåã">
<!ENTITY torbutton.prefs.sec_caption "å®å
šççŽ">
<!ENTITY torbutton.prefs.sec_caption_tooltip "æ€å®å
šæ§èª¿æŽæ»æ£æééæäºç芜åšçåèœïŒå°èŽæšççèŠœåšæŽå®¹æéåé§å®¢æ»æã">
<!ENTITY torbutton.prefs.sec_standard_label "æšæº">
diff --git a/src/chrome/locale/zu/torbutton.dtd b/src/chrome/locale/zu/torbutton.dtd
index d8d88e49..baffea1d 100644
--- a/src/chrome/locale/zu/torbutton.dtd
+++ b/src/chrome/locale/zu/torbutton.dtd
@@ -18,5 +18,3 @@
<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.restrict_thirdparty "Restrict third party cookies and other tracking data">
-<!ENTITY torbutton.prefs.resist_fingerprinting "Change details that distinguish you from other Tor Browser users">
diff --git a/src/jar.mn b/src/jar.mn
index 142a5773..89c0386d 100644
--- a/src/jar.mn
+++ b/src/jar.mn
@@ -27,7 +27,6 @@ torbutton.jar:
# UI customization
% overlay chrome://browser/content/browser.xul chrome://torbutton/content/menu-items-overlay.xul
% overlay chrome://browser/content/browser.xul chrome://torbutton/content/menu-overlay.xul
-% overlay about:preferences chrome://torbutton/content/privacy-prefs-overlay.xul
% overlay chrome://browser/content/browser.xul chrome://torbutton/content/tor-circuit-display.xul
# Strings for the about:tbupdate page
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 14 Jan '19
by gk@torproject.org 14 Jan '19
14 Jan '19
commit 198e007fff1d7f1367a8917cc074a8a0f17548f6
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 9 07:18:40 2019 +0000
fixup! TB4: Tor Browser's Firefox preference overrides.
This fixes bug 29028.
---
browser/app/profile/000-tor-browser.js | 3 ---
1 file changed, 3 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index e19dd0dd59ae..2b238dd87c1b 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -154,9 +154,6 @@ pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now
// Disable randomised Firefox HTTP cache decay user test groups (Bug: 13575)
pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now
pref("browser.cache.frecency_experiment", -1);
-// Until https://bugzilla.mozilla.org/show_bug.cgi?id=1446472 is solved fall
-// back to old canvas behavior.
-pref("privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", false);
// Third party stuff
pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
1
0

[tor-browser/tor-browser-60.4.0esr-8.5-1] Bug 1474659 Part 1 - Add support to EnumSet for more than 32 values. r?sfink
by gk@torproject.org 10 Jan '19
by gk@torproject.org 10 Jan '19
10 Jan '19
commit f1381907e4a9a586e38c322dcb8f1bd02315d691
Author: Matt Howell <mhowell(a)mozilla.com>
Date: Tue Jan 8 09:00:20 2019 +0000
Bug 1474659 Part 1 - Add support to EnumSet for more than 32 values. r?sfink
The next patch in this series extends an enum that's used in an EnumSet to 34
values, so we need to extend EnumSet beyond a hardcoded uint32_t storage type.
---
mfbt/EnumSet.h | 55 +++++++++++----------
mfbt/tests/TestEnumSet.cpp | 121 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 151 insertions(+), 25 deletions(-)
diff --git a/mfbt/EnumSet.h b/mfbt/EnumSet.h
index d8c8a2af8b25..2e17a8f55186 100644
--- a/mfbt/EnumSet.h
+++ b/mfbt/EnumSet.h
@@ -13,21 +13,26 @@
#include "mozilla/Attributes.h"
#include <initializer_list>
+#include <limits>
#include <stdint.h>
namespace mozilla {
/**
- * EnumSet<T> is a set of values defined by an enumeration. It is implemented
- * using a 32 bit mask for each value so it will only work for enums with an int
- * representation less than 32. It works both for enum and enum class types.
+ * EnumSet represents a set of multiple values of an enum (or enum class).
+ * Template parameter T should be the enum you want to represent.
+ * EnumSet is implemented using a bitmask of all possible values of the enum T,
+ * and the default type for the bitmask value is uint32_t, so if your enum has
+ * more than 32 possible values, you should also supply a backing integer type
+ * as template parameter U which has at least as many bits as the number of
+ * possible values of enum T.
*/
-template<typename T>
+template<typename T, typename U = uint32_t>
class EnumSet
{
public:
- typedef uint32_t serializedType;
+ typedef U serializedType;
EnumSet()
: mBitField(0)
@@ -84,9 +89,9 @@ public:
/**
* Add an element
*/
- EnumSet<T> operator+(T aEnum) const
+ EnumSet<T,U> operator+(T aEnum) const
{
- EnumSet<T> result(*this);
+ EnumSet<T,U> result(*this);
result += aEnum;
return result;
}
@@ -94,7 +99,7 @@ public:
/**
* Union
*/
- void operator+=(const EnumSet<T> aEnumSet)
+ void operator+=(const EnumSet<T,U> aEnumSet)
{
incVersion();
mBitField |= aEnumSet.mBitField;
@@ -103,9 +108,9 @@ public:
/**
* Union
*/
- EnumSet<T> operator+(const EnumSet<T> aEnumSet) const
+ EnumSet<T,U> operator+(const EnumSet<T,U> aEnumSet) const
{
- EnumSet<T> result(*this);
+ EnumSet<T,U> result(*this);
result += aEnumSet;
return result;
}
@@ -122,9 +127,9 @@ public:
/**
* Remove an element
*/
- EnumSet<T> operator-(T aEnum) const
+ EnumSet<T,U> operator-(T aEnum) const
{
- EnumSet<T> result(*this);
+ EnumSet<T,U> result(*this);
result -= aEnum;
return result;
}
@@ -132,7 +137,7 @@ public:
/**
* Remove a set of elements
*/
- void operator-=(const EnumSet<T> aEnumSet)
+ void operator-=(const EnumSet<T,U> aEnumSet)
{
incVersion();
mBitField &= ~(aEnumSet.mBitField);
@@ -141,9 +146,9 @@ public:
/**
* Remove a set of elements
*/
- EnumSet<T> operator-(const EnumSet<T> aEnumSet) const
+ EnumSet<T,U> operator-(const EnumSet<T,U> aEnumSet) const
{
- EnumSet<T> result(*this);
+ EnumSet<T,U> result(*this);
result -= aEnumSet;
return result;
}
@@ -160,7 +165,7 @@ public:
/**
* Intersection
*/
- void operator&=(const EnumSet<T> aEnumSet)
+ void operator&=(const EnumSet<T,U> aEnumSet)
{
incVersion();
mBitField &= aEnumSet.mBitField;
@@ -169,9 +174,9 @@ public:
/**
* Intersection
*/
- EnumSet<T> operator&(const EnumSet<T> aEnumSet) const
+ EnumSet<T,U> operator&(const EnumSet<T,U> aEnumSet) const
{
- EnumSet<T> result(*this);
+ EnumSet<T,U> result(*this);
result &= aEnumSet;
return result;
}
@@ -179,7 +184,7 @@ public:
/**
* Equality
*/
- bool operator==(const EnumSet<T> aEnumSet) const
+ bool operator==(const EnumSet<T,U> aEnumSet) const
{
return mBitField == aEnumSet.mBitField;
}
@@ -198,7 +203,7 @@ public:
uint8_t size() const
{
uint8_t count = 0;
- for (uint32_t bitField = mBitField; bitField; bitField >>= 1) {
+ for (serializedType bitField = mBitField; bitField; bitField >>= 1) {
if (bitField & 1) {
count++;
}
@@ -224,7 +229,7 @@ public:
class ConstIterator
{
- const EnumSet<T>* mSet;
+ const EnumSet<T,U>* mSet;
uint32_t mPos;
#ifdef DEBUG
uint64_t mVersion;
@@ -236,7 +241,7 @@ public:
}
public:
- ConstIterator(const EnumSet<T>& aSet, uint32_t aPos)
+ ConstIterator(const EnumSet<T,U>& aSet, uint32_t aPos)
: mSet(&aSet), mPos(aPos)
{
#ifdef DEBUG
@@ -308,11 +313,11 @@ public:
}
private:
- static uint32_t bitFor(T aEnum)
+ static serializedType bitFor(T aEnum)
{
uint32_t bitNumber = (uint32_t)aEnum;
MOZ_ASSERT(bitNumber < kMaxBits);
- return 1U << bitNumber;
+ return (serializedType)1 << bitNumber;
}
void incVersion() {
@@ -321,7 +326,7 @@ private:
#endif
}
- static const size_t kMaxBits = 32;
+ static const size_t kMaxBits = std::numeric_limits<serializedType>::digits;
serializedType mBitField;
#ifdef DEBUG
diff --git a/mfbt/tests/TestEnumSet.cpp b/mfbt/tests/TestEnumSet.cpp
index 801295fd67dc..903b74c5b834 100644
--- a/mfbt/tests/TestEnumSet.cpp
+++ b/mfbt/tests/TestEnumSet.cpp
@@ -33,6 +33,65 @@ enum SeaBird
AUK
};
+enum DeepSeaFish
+{
+ FLATFISH,
+ HAGFISH,
+ EELPOUT,
+ GREENEYE_EEL,
+ STRINGRAY,
+ LUMPFISH,
+ BATFISH,
+ RATTAIL,
+ BROTULA,
+ BRISTLEMOUTH,
+ ANGLERFISH,
+ FANGTOOTH,
+ VIPERFISH,
+ BLACK_SWALLOWER,
+ TELESCOPEFISH,
+ HAMMERJAW,
+ DAGGERTOOTH,
+ BARRACUDINA,
+ SCABBARDFISH,
+ BOBTAIL_SNIPE_EEL,
+ UNICORN_CRESTFISH,
+ PELICAN_EEL,
+ FLABBY_WHALEFISH,
+ LANTERNFISH,
+ OPAH,
+ LANCEFISH,
+ BARRELEYE,
+ RIDGEHEAD,
+ SABRETOOTH,
+ STOPLIGHT_LOOSEJAW,
+ HATCHETFISH,
+ DOLPHINFISH,
+ POMFRET,
+ BARRACUDA,
+ SNAGGLETOOTH,
+ BLACKSMELT,
+ TAPIRFISH,
+ GRENADIER,
+ SLICKHEAD,
+ OREODORY,
+ SPIDERFISH,
+};
+
+enum Mollusc
+{
+ SNAIL,
+ SLUG,
+ CLAM,
+ OYSTER,
+ SCALLOP,
+ GEODUCK,
+ MUSSEL,
+ SQUID,
+ OCTOPUS,
+ CUTTLEFISH
+};
+
class EnumSetSuite
{
public:
@@ -62,6 +121,8 @@ public:
testDuplicates();
testIteration();
testInitializerListConstuctor();
+ testLargeEnum();
+ testSmallEnum();
}
private:
@@ -273,6 +334,66 @@ private:
MOZ_RELEASE_ASSERT(someBirds.contains(BOOBY));
}
+ void testLargeEnum()
+ {
+ typedef EnumSet<DeepSeaFish, uint64_t> FishSet;
+ FishSet fishes {};
+ MOZ_RELEASE_ASSERT(fishes.size() == 0);
+ MOZ_RELEASE_ASSERT(fishes.isEmpty());
+
+ fishes += ANGLERFISH;
+ fishes += SPIDERFISH;
+ fishes += GRENADIER;
+ fishes += FLATFISH;
+
+ MOZ_RELEASE_ASSERT(fishes.size() == 4);
+ MOZ_RELEASE_ASSERT(fishes.contains(ANGLERFISH));
+ MOZ_RELEASE_ASSERT(fishes.contains(SPIDERFISH));
+ MOZ_RELEASE_ASSERT(fishes.contains(GRENADIER));
+ MOZ_RELEASE_ASSERT(fishes.contains(FLATFISH));
+
+ Vector<DeepSeaFish> vec;
+ for (auto fish : fishes) {
+ MOZ_RELEASE_ASSERT(vec.append(fish));
+ }
+
+ MOZ_RELEASE_ASSERT(vec.length() == 4);
+ MOZ_RELEASE_ASSERT(vec[0] == FLATFISH);
+ MOZ_RELEASE_ASSERT(vec[1] == ANGLERFISH);
+ MOZ_RELEASE_ASSERT(vec[2] == GRENADIER);
+ MOZ_RELEASE_ASSERT(vec[3] == SPIDERFISH);
+ }
+
+ void testSmallEnum()
+ {
+ typedef EnumSet<Mollusc, uint16_t> MolluscSet;
+ MolluscSet molluscs {};
+ MOZ_RELEASE_ASSERT(molluscs.size() == 0);
+ MOZ_RELEASE_ASSERT(molluscs.isEmpty());
+
+ molluscs += OYSTER;
+ molluscs += SQUID;
+ molluscs += SNAIL;
+ molluscs += CUTTLEFISH;
+
+ MOZ_RELEASE_ASSERT(molluscs.size() == 4);
+ MOZ_RELEASE_ASSERT(molluscs.contains(OYSTER));
+ MOZ_RELEASE_ASSERT(molluscs.contains(SQUID));
+ MOZ_RELEASE_ASSERT(molluscs.contains(SNAIL));
+ MOZ_RELEASE_ASSERT(molluscs.contains(CUTTLEFISH));
+
+ Vector<Mollusc> vec;
+ for (auto mollusc : molluscs) {
+ MOZ_RELEASE_ASSERT(vec.append(mollusc));
+ }
+
+ MOZ_RELEASE_ASSERT(vec.length() == 4);
+ MOZ_RELEASE_ASSERT(vec[0] == SNAIL);
+ MOZ_RELEASE_ASSERT(vec[1] == OYSTER);
+ MOZ_RELEASE_ASSERT(vec[2] == SQUID);
+ MOZ_RELEASE_ASSERT(vec[3] == CUTTLEFISH);
+ }
+
EnumSet<SeaBird> mAlcidae;
EnumSet<SeaBird> mDiomedeidae;
EnumSet<SeaBird> mPetrelProcellariidae;
1
0