tbb-commits
Threads by month
- ----- 2025 -----
- 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
- 18605 discussions
commit 50d2baa2788db45036b7f614ec21ce2dbcb53b7e
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Nov 20 09:29:37 2018 +0000
Translations updates
---
src/chrome/locale/fa/aboutTor.dtd | 2 +-
src/chrome/locale/fa/browserOnboarding.properties | 16 ++++++++--------
src/chrome/locale/fa/torbutton.properties | 4 ++--
src/chrome/locale/ja/torbutton.dtd | 4 ++--
src/chrome/locale/ka/aboutTor.dtd | 2 +-
src/chrome/locale/sv/aboutTBUpdate.dtd | 2 +-
src/chrome/locale/sv/aboutTor.dtd | 4 ++--
src/chrome/locale/sv/brand.dtd | 6 +++---
src/chrome/locale/sv/brand.properties | 6 +++---
src/chrome/locale/sv/browserOnboarding.properties | 6 +++---
src/chrome/locale/sv/torbutton.dtd | 4 ++--
11 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/src/chrome/locale/fa/aboutTor.dtd b/src/chrome/locale/fa/aboutTor.dtd
index be1440b7..da917341 100644
--- a/src/chrome/locale/fa/aboutTor.dtd
+++ b/src/chrome/locale/fa/aboutTor.dtd
@@ -7,7 +7,7 @@
<!ENTITY aboutTor.title "دربارهی تور">
<!ENTITY aboutTor.ready.label "کاوش. خصوصی.">
-<!ENTITY aboutTor.ready2.label "You’re ready for the world’s most private browsing experience.">
+<!ENTITY aboutTor.ready2.label "شما برای تجربه خصوصیترین مرور اینترنت در جهان آماده هستید.">
<!ENTITY aboutTor.failure.label "خطایی پیش آمده است!">
<!ENTITY aboutTor.failure2.label "تور با این مرورگر کار نمیکند.">
diff --git a/src/chrome/locale/fa/browserOnboarding.properties b/src/chrome/locale/fa/browserOnboarding.properties
index e0ab4338..2dcbded9 100644
--- a/src/chrome/locale/fa/browserOnboarding.properties
+++ b/src/chrome/locale/fa/browserOnboarding.properties
@@ -3,14 +3,14 @@
# 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=مرورگر تور در هنگام مرورگری وب بالاترین استاندارد در حریم شخصی و امنیت را به شما ارائه میدهد. شما حالا در برابر ردیابی, زیرنظر داشتن و سانسور محافظت میشوید. چگونگی این امر توسط این پذیرش سازمانی سریع به شما نشان داده خواهد شد.
+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=Go to Tor Network
+onboarding.tour-tor-privacy.button=به شبکه تور برو
onboarding.tour-tor-network=Tor Network
onboarding.tour-tor-network.title=Travel a decentralized network.
@@ -30,7 +30,7 @@ onboarding.tour-tor-security.button=Review Settings
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.button=مشاهده پرسشگان
onboarding.tour-tor-onion-services=خدمات پیازی
onboarding.tour-tor-onion-services.title=Be extra protected.
@@ -40,9 +40,9 @@ onboarding.tour-tor-onion-services.button=Visit an Onion
# 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=۱ از ۳
+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.
diff --git a/src/chrome/locale/fa/torbutton.properties b/src/chrome/locale/fa/torbutton.properties
index a239e685..3f90df0c 100644
--- a/src/chrome/locale/fa/torbutton.properties
+++ b/src/chrome/locale/fa/torbutton.properties
@@ -5,7 +5,7 @@ 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 = محافظ
torbutton.circuit_display.guard_note = Your [Guard] node may not change.
torbutton.circuit_display.learn_more = اطلاعات بیشتر
torbutton.content_sizer.margin_tooltip = مرورگر Tor اضافه می کند این حاشیه را به عرض و ارتفاع پنجره شما که کمتر مشخص شود، و در نتیجه باعث کاهش توانایی به ردیابی آنلاین شما شود.
@@ -52,4 +52,4 @@ profileMigrationFailed=مهاجرت ناموفق از پروفایل %S.\nتنظ
# .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)
+pageInfo_OnionEncryption=ارتباط رمزگذاری شد (سرویس پیازی)
diff --git a/src/chrome/locale/ja/torbutton.dtd b/src/chrome/locale/ja/torbutton.dtd
index 359dcf48..65368394 100644
--- a/src/chrome/locale/ja/torbutton.dtd
+++ b/src/chrome/locale/ja/torbutton.dtd
@@ -47,5 +47,5 @@
<!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.circuit_display.title "Tor Circuit">
-<!ENTITY torbutton.circuit_display.new_circuit "New Circuit for this Site">
+<!ENTITY torbutton.circuit_display.title "Tor サーキット">
+<!ENTITY torbutton.circuit_display.new_circuit "このサイトに新しいサーキットを使用する">
diff --git a/src/chrome/locale/ka/aboutTor.dtd b/src/chrome/locale/ka/aboutTor.dtd
index f232c0ba..f6b9dd76 100644
--- a/src/chrome/locale/ka/aboutTor.dtd
+++ b/src/chrome/locale/ka/aboutTor.dtd
@@ -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/sv/aboutTBUpdate.dtd b/src/chrome/locale/sv/aboutTBUpdate.dtd
index 7b757280..781f545a 100644
--- a/src/chrome/locale/sv/aboutTBUpdate.dtd
+++ b/src/chrome/locale/sv/aboutTBUpdate.dtd
@@ -1,5 +1,5 @@
<!ENTITY aboutTBUpdate.title "Tor Browser-uppdatering">
-<!ENTITY aboutTBUpdate.updated "Tor-webbläsaren har uppdaterats.">
+<!ENTITY aboutTBUpdate.updated "Tor Browser har uppdaterats.">
<!ENTITY aboutTBUpdate.linkPrefix "För den senaste information om den här versionen,">
<!ENTITY aboutTBUpdate.linkLabel "besök vår hemsida">
<!ENTITY aboutTBUpdate.linkSuffix ".">
diff --git a/src/chrome/locale/sv/aboutTor.dtd b/src/chrome/locale/sv/aboutTor.dtd
index 76dcfa01..110322e4 100644
--- a/src/chrome/locale/sv/aboutTor.dtd
+++ b/src/chrome/locale/sv/aboutTor.dtd
@@ -15,10 +15,10 @@
<!ENTITY aboutTor.searchDDGPost.link "https://duckduckgo.com">
<!ENTITY aboutTor.torbrowser_user_manual_questions.label "Frågor?">
-<!ENTITY aboutTor.torbrowser_user_manual_link.label "Kolla in bruksanvisning för Tor-webbläsaren »">
+<!ENTITY aboutTor.torbrowser_user_manual_link.label "Kolla in bruksanvisning för 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 "Bruksanvisning för Tor-webbläsaren">
+<!ENTITY aboutTor.torbrowser_user_manual.label "Bruksanvisning för Tor Browser">
<!ENTITY aboutTor.tor_mission.label "Tor-projektet är en amerikansk 501(c)(3) ideell organisation som främjar mänskliga rättigheter och friheter genom att skapa och distribuera anonymitets- och sekretessteknik med fri och öppen källkod, stödja deras obegränsade tillgänglighet och användning och främja deras vetenskapliga och populära förståelse.">
<!ENTITY aboutTor.getInvolved.label "Engagera dig »">
diff --git a/src/chrome/locale/sv/brand.dtd b/src/chrome/locale/sv/brand.dtd
index 43a95e12..797bdb92 100644
--- a/src/chrome/locale/sv/brand.dtd
+++ b/src/chrome/locale/sv/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 "Tor-webbläsaren">
-<!ENTITY brandShortName "Tor-webbläsaren">
-<!ENTITY brandFullName "Tor-webbläsare">
+<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShortName "Tor Browser">
+<!ENTITY brandFullName "Tor Browser">
<!ENTITY vendorShortName "Tor-projektet">
<!ENTITY trademarkInfo.part1 "Firefox och Firefox-logotyperna är varumärken som tillhör Mozilla Foundation.">
diff --git a/src/chrome/locale/sv/brand.properties b/src/chrome/locale/sv/brand.properties
index 7c215e54..555e01e6 100644
--- a/src/chrome/locale/sv/brand.properties
+++ b/src/chrome/locale/sv/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=Tor webbläsaren
-brandShortName=Tor webbläsaren
-brandFullName=Tor webbläsaren
+brandShorterName=Tor Browser
+brandShortName=Tor Browser
+brandFullName=Tor Browser
vendorShortName=Tor-projektet
homePageSingleStartMain=Firefox Start, en snabb hemsida med inbyggd sökfunktion
diff --git a/src/chrome/locale/sv/browserOnboarding.properties b/src/chrome/locale/sv/browserOnboarding.properties
index 779564db..8cc7e3f1 100644
--- a/src/chrome/locale/sv/browserOnboarding.properties
+++ b/src/chrome/locale/sv/browserOnboarding.properties
@@ -4,17 +4,17 @@
onboarding.tour-tor-welcome=Välkommen
onboarding.tour-tor-welcome.title=Du är redo.
-onboarding.tour-tor-welcome.description=Tor-webbläsaren erbjuder högsta standard för integritet och säkerhet när du surfar på webben. Du är nu skyddad mot spårning, övervakning och censur. Denna snabba introduktion kommer att visa dig hur.
+onboarding.tour-tor-welcome.description=Tor Browser erbjuder högsta standard för integritet och säkerhet när du surfar på webben. Du är nu skyddad mot spårning, övervakning och censur. Denna snabba introduktion kommer att visa dig hur.
onboarding.tour-tor-welcome.button=Börja nu
onboarding.tour-tor-privacy=Sekretess
onboarding.tour-tor-privacy.title=Avvisa bevakare och snokare.
-onboarding.tour-tor-privacy.description=Tor-webbläsaren isolerar kakor och tar bort din webbläsarhistorik efter din session. Dessa ändringar säkerställa din integritet och säkerhet skyddas i webbläsaren. Klicka på "Tor-nätverk" för att lära dig hur vi skyddar dig på nätverksnivå.
+onboarding.tour-tor-privacy.description=Tor Browser isolerar kakor och tar bort din webbläsarhistorik efter din session. Dessa ändringar säkerställa din integritet och säkerhet skyddas i webbläsaren. Klicka på "Tor-nätverk" för att lära dig hur vi skyddar dig på nätverksnivå.
onboarding.tour-tor-privacy.button=Gå till Tor-nätverket
onboarding.tour-tor-network=Tor-nätverk
onboarding.tour-tor-network.title=Res ett decentraliserat nätverk.
-onboarding.tour-tor-network.description=Tor-webbläsaren ansluter dig till Tor-nätverket som drivs av tusentals volontärer runt om i världen. Till skillnad från en VPN, det finns ingen punkt av misslyckande eller centraliserad enhet du behöver lita på för att njuta av internet privat.
+onboarding.tour-tor-network.description=Tor Browser ansluter dig till Tor-nätverket som drivs av tusentals volontärer runt om i världen. Till skillnad från en VPN, det finns ingen punkt av misslyckande eller centraliserad enhet du behöver lita på för att njuta av internet privat.
onboarding.tour-tor-network.button=Gå till kretsvisning
onboarding.tour-tor-circuit-display=Kretsvisning
diff --git a/src/chrome/locale/sv/torbutton.dtd b/src/chrome/locale/sv/torbutton.dtd
index 4bbc35a8..067b45b3 100644
--- a/src/chrome/locale/sv/torbutton.dtd
+++ b/src/chrome/locale/sv/torbutton.dtd
@@ -6,12 +6,12 @@
<!ENTITY torbutton.context_menu.preferences.key "S">
<!ENTITY torbutton.context_menu.networksettings "Tor-nätverksinställningar...">
<!ENTITY torbutton.context_menu.networksettings.key "N">
-<!ENTITY torbutton.context_menu.downloadUpdate "Sök efter uppdateringar för Tor webbläsare...">
+<!ENTITY torbutton.context_menu.downloadUpdate "Sök efter uppdateringar för Tor Browser...">
<!ENTITY torbutton.context_menu.downloadUpdate.key "U">
<!ENTITY torbutton.context_menu.cookieProtections "Skydd mot Cookies...">
<!ENTITY torbutton.context_menu.cookieProtections.key "S">
<!ENTITY torbutton.button.tooltip "Klicka för att initialisera Torbutton">
-<!ENTITY torbutton.prefs.security_settings "Tor-webbläsares säkerhetsinställningar">
+<!ENTITY torbutton.prefs.security_settings "Säkerhetsinställningar i Tor Browser">
<!ENTITY torbutton.prefs.restore_defaults "Återställ standard">
<!ENTITY torbutton.prefs.custom_warning "Dina anpassade webbläsarinställningar har resulterat i ovanliga säkerhetsinställningar. Av säkerhets- och integritetsskäl rekommenderar vi att du använder en av de fördefinierade säkerhetsnivåerna.">
<!ENTITY torbutton.cookiedialog.title "Hantera Cookies skydd">
1
0

[tor-browser/tor-browser-60.3.0esr-8.5-1] Bug 27256 - Enable TouchEvents on Android
by gk@torproject.org 20 Nov '18
by gk@torproject.org 20 Nov '18
20 Nov '18
commit 0b188f1fd0349fc76f8cc5663279a67b283d3b68
Author: Matthew Finkel <Matthew.Finkel(a)gmail.com>
Date: Fri Nov 16 04:03:09 2018 +0000
Bug 27256 - Enable TouchEvents on Android
This allows highlighting/selecting text by long pressing.
Thanks to towiw for the info.
---
mobile/android/app/000-tor-browser-android.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mobile/android/app/000-tor-browser-android.js b/mobile/android/app/000-tor-browser-android.js
index 04a613092e6d..c329fcdee5f7 100644
--- a/mobile/android/app/000-tor-browser-android.js
+++ b/mobile/android/app/000-tor-browser-android.js
@@ -61,3 +61,6 @@ pref("network.proxy.socks_port", 9050);
pref("xpinstall.enabled", false);
pref("extensions.enabledScopes", 1);
pref("extensions.autoDisableScopes", 1);
+
+// Enable touch events on Android (highlighting text, etc)
+pref("dom.w3c_touch_events.enabled", 2);
1
0

[torbutton/master] Bug 28515: Use en-US for english Torbutton strings
by gk@torproject.org 20 Nov '18
by gk@torproject.org 20 Nov '18
20 Nov '18
commit 6a10722355e8c457df9cfcacde22cd3d2f04e5a3
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Nov 19 09:20:09 2018 +0000
Bug 28515: Use en-US for english Torbutton strings
There is no `en` in Mozilla's universe and we need `en-US` for Torbutton
integration into `tor-browser` (see: #25013). Thus, switch our locale
code for english in Torbutton accordingly.
The server-side of this switch got done in #28261 and the workaround for
that, which was symlinking `en` to `en-US`, is not needed anymore.
---
makexpi.sh | 4 ++--
src/chrome.manifest | 2 +-
src/chrome/locale/en | 1 -
trans_tools/import-translations.sh | 2 +-
4 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/makexpi.sh b/makexpi.sh
index aa3e665b..243fbd6b 100755
--- a/makexpi.sh
+++ b/makexpi.sh
@@ -20,8 +20,8 @@ echo ---------- create $APP_NAME.xpi ----------
# create the pkg directory if it doesn't exist yet
mkdir -p pkg
cd src
-echo zip -X -9r ../pkg/$XPI_NAME ./ -x "chrome/*" -x "*.diff" -x "*.svn/*" -x "chrome/locale/en-US/*"
-zip -X -9r ../pkg/$XPI_NAME ./ -x "*.svn/*" -x "*.diff" -x "chrome/locale/en-US/*" #-x "chrome/*"
+echo zip -X -9r ../pkg/$XPI_NAME ./ -x "chrome/*" -x "*.diff" -x "*.svn/*"
+zip -X -9r ../pkg/$XPI_NAME ./ -x "*.svn/*" -x "*.diff" #-x "chrome/*"
#mv ../$APP_NAME.jar ./chrome
#zip -9m ../pkg/$XPI_NAME chrome/$APP_NAME.jar
cd ..
diff --git a/src/chrome.manifest b/src/chrome.manifest
index 18c5f5b9..33199ccf 100644
--- a/src/chrome.manifest
+++ b/src/chrome.manifest
@@ -45,7 +45,7 @@ locale torbutton da chrome/locale/da/
locale torbutton de chrome/locale/de/
locale torbutton dz chrome/locale/dz/
locale torbutton el chrome/locale/el/
-locale torbutton en chrome/locale/en/
+locale torbutton en chrome/locale/en-US/
locale torbutton eo chrome/locale/eo/
locale torbutton es chrome/locale/es/
locale torbutton et chrome/locale/et/
diff --git a/src/chrome/locale/en b/src/chrome/locale/en
deleted file mode 120000
index f2b0341f..00000000
--- a/src/chrome/locale/en
+++ /dev/null
@@ -1 +0,0 @@
-en-US
\ No newline at end of file
diff --git a/trans_tools/import-translations.sh b/trans_tools/import-translations.sh
index 8f562208..00de8243 100755
--- a/trans_tools/import-translations.sh
+++ b/trans_tools/import-translations.sh
@@ -28,7 +28,7 @@ FILEMAP=( "aboutDialog.dtd:torbutton-aboutdialogdtd"
# Verify that the FILEMAP contains an entry for each Torbutton file.
FILES_ARE_MISSING=0
-for DEST_PATH in $LOCALE_DIR/en/*.dtd $LOCALE_DIR/en/*.properties;
+for DEST_PATH in $LOCALE_DIR/en-US/*.dtd $LOCALE_DIR/en-US/*.properties;
do
IS_FILE_IN_MAP=0
DEST_FILE=${DEST_PATH##*/}
1
0

[tor-browser-build/master] Bug 27443: Update Firefox RBM config and build for Android
by gk@torproject.org 20 Nov '18
by gk@torproject.org 20 Nov '18
20 Nov '18
commit b068c56f0ae00663e267ae0c6a2c89dd06f6ea20
Author: sisbell <shane.isbell(a)gmail.com>
Date: Tue Sep 4 09:47:14 2018 -0700
Bug 27443: Update Firefox RBM config and build for Android
---
projects/firefox/build | 14 +-
projects/firefox/config | 12 +
projects/firefox/gradle-dependencies-list.txt | 358 ++++++++++++++++++++++++++
projects/firefox/mozconfig-android-armv7 | 49 ++++
4 files changed, 431 insertions(+), 2 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index c73590d..d210b7a 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -1,6 +1,10 @@
#!/bin/bash
[% c("var/setarch") -%]
[% c("var/set_default_env") -%]
+[% IF c("var/android") %]
+ export GRADLE_MAVEN_REPOSITORIES="file://$rootdir/[% c('input_files_by_name/gradle-dependencies') %]"
+[% END -%]
+
[% IF c("var/windows") -%]
[% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc') }) %]
# We need a link to our GCC, otherwise the system cc gets used which points to
@@ -10,6 +14,7 @@
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/build
+mkdir -p [% dest_dir _ '/' _ c('filename') %]
[% IF c("var/windows") -%]
mingwdir=/var/tmp/dist/mingw-w64
@@ -143,6 +148,13 @@ 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 build --verbose
+
+[% IF c("var/android") %]
+ ./mach package
+ cp obj-*/dist/*unsigned-unaligned.apk [% dest_dir _ '/' _ c('filename') %]/tor-browser-unsigned-unaligned.apk
+ [% RETURN %]
+[% END %]
+
./mach build stage-package
[% IF c("var/osx") %]
@@ -257,8 +269,6 @@ cd $distdir
[% c("var/rezip", { rezip_file => '"Tor Browser.app/Contents/Resources/browser/omni.ja"' }) %]
[% END %]
-mkdir -p [% dest_dir _ '/' _ c('filename') %]
-
[%
IF c("var/osx");
SET browserdir='"Tor Browser.app/Contents"';
diff --git a/projects/firefox/config b/projects/firefox/config
index dfdf2c4..9f88ae8 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -4,6 +4,7 @@ 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'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
+git_submodule: 1
gpg_keyring: torbutton.gpg
var:
@@ -21,6 +22,8 @@ var:
- python
container:
use_container: 1
+ # this should be updated when the list of gradle dependencies is changed
+ gradle_dependencies_version: 2
targets:
release:
@@ -33,6 +36,11 @@ targets:
var:
torbrowser_update_channel: default
+ android-armv7:
+ var:
+ arch_deps:
+ - openjdk-8-jdk
+
linux:
var:
arch_deps:
@@ -120,3 +128,7 @@ input_files:
enable: '[% c("var/linux") %]'
- filename: start-firefox
enable: '[% c("var/linux") %]'
+ - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
+ name: gradle-dependencies
+ exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
+ enable: '[% c("var/android") %]'
diff --git a/projects/firefox/gradle-dependencies-list.txt b/projects/firefox/gradle-dependencies-list.txt
new file mode 100644
index 0000000..f96af50
--- /dev/null
+++ b/projects/firefox/gradle-dependencies-list.txt
@@ -0,0 +1,358 @@
+# On how to update dependencies see projects/common/how-to-create-gradle-dependencies-list.txt
+# Don't forget to update var/gradle_dependencies_version when modifying this file
+sha256sum | url
+f51550a06b1410bd4962cb0e71df0b921a60a7ef47bfa9c4825a14be72316eea | https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-parent/1.14/an…
+fb40265f982548212ff82e362e59732b2187ec6f0d80182885c14ef1f982827a | https://jcenter.bintray.com/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
+50cadbcd70d80cf627661628e9d5163fe4f0757b87e89e68b43663b509c031d5 | https://jcenter.bintray.com/org/simpleframework/simple-common/6.0.1/simple-…
+1ef71c25a9d46ae0ce023d02a5734e0b06fdf934fbc5948e20482526b22b4179 | https://maven.google.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.…
+315a79bf0beee4a355ebe36de326b7b9b22a1ecdf22badd7e1bb2af94429bff1 | https://maven.google.com/com/android/support/cardview-v7/23.4.0/cardview-v7…
+f2abf7db3c5937fe021fd66f8bd2d9460cf2c9b1ad8efa0abb797d778390b22f | https://jcenter.bintray.com/com/squareup/haha/haha/2.0.2/haha-2.0.2.pom
+d49d179f707d3f3a00b2a7d36136b54aa8d44fa22770703cd82fe52fb39e22eb | https://jcenter.bintray.com/com/android/tools/build/transform-api/2.0.0-dep…
+0288414509c625b8dd544384fbd29f502bdc8b4f86cfc26625aa23eef9fa6057 | https://jcenter.bintray.com/net/sf/proguard/proguard-parent/5.3.3/proguard-…
+e91a88dd0c5e99069b7f09d4a46b5e06f1e9c4c72fc0a8e987e25d86af480f01 | https://maven.google.com/com/android/support/support-annotations/23.4.0/sup…
+d5831ee4f71055800821a34a3051cf1ed5b3702f295ffebd50f65fb5d81a71b8 | https://jcenter.bintray.com/org/mockito/mockito-core/1.10.19/mockito-core-1…
+fb5369fc7ea4b2e3cf8d6f20243f1d97f81341bf818b179cd8dbd1da7a781a21 | https://jcenter.bintray.com/org/ow2/asm/asm-tree/5.1/asm-tree-5.1.pom
+7af7e2d8b24b4798f04c2b7da24c9fbd1b7557b4e017c2054481565916079092 | https://jcenter.bintray.com/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-…
+b5b46ac0c09da41b04dbc753456b48912856a7ffbb1490676910b510c471d13f | https://jcenter.bintray.com/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.pom
+e6d920d5a1a34aaaebab1e6a82c36bbfd61f1eeaabc4534ee05d4faad56f1b7a | https://jcenter.bintray.com/org/apache/ant/ant/1.8.0/ant-1.8.0.pom
+9e9323a26ba8eb2394efef0c96d31b70df570808630dc147cab1e73541cc5194 | https://jcenter.bintray.com/org/apache/apache/4/apache-4.pom
+56057490cbc1eeae6227e6eb5c6d5b324b77429b8a78d15027c77d491ef9c675 | https://jcenter.bintray.com/org/ow2/asm/asm/5.0.1/asm-5.0.1.jar
+85c3c8840bb21554faf159998146f7ca9ef1b951defb29ec4e8252ec463728fd | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-provider-api/1.0-b…
+47a89be0fa0fedd476db5fd2c83487654d2a119c391f83a142be876667cf7dab | https://jcenter.bintray.com/com/googlecode/json-simple/json-simple/1.1/json…
+857db5645aaefbd7fbe9ba6454b072bc0518ebaba08a93d5eae89a9850e949c4 | https://jcenter.bintray.com/com/getkeepsafe/dexcount/dexcount-gradle-plugin…
+2ca121831e597b4d8f2cb22d17c5c041fc23a7777ceb6bfbdd4dfb34bbe7d997 | https://jcenter.bintray.com/org/codehaus/plexus/plexus-utils/1.5.15/plexus-…
+ecaffef655fea6b138f0855a12f7dbb59fc0d6bffb5c1bfd31803cccb49ea08c | https://jcenter.bintray.com/org/apache/maven/maven-profile/2.2.1/maven-prof…
+f0c98c571e93a7cb4dd18df0fa308f0963e7a0620ac2d4244e61e709d03ad6be | https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.1/j2objc…
+70f418efbb506c5155da5f9a5a33262ea08a9e4d7fea186aa9015c41a7224ac2 | https://jcenter.bintray.com/org/hamcrest/hamcrest-integration/1.3/hamcrest-…
+fcd77cba4ea3893429860b93da5d43f2e089f2ba8bdfa97ef724f410f404152a | https://maven.google.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.…
+fb1cb7fa27d892712ced8fbf8d027eb5052ecd3999dba1ba47824357accb40e7 | https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.0.1/asm-commons-5.0.1…
+38db692b5cbaf69d89b1fe5b0fc38a5cc83f898716f8bc64086fa17c25ea57d6 | https://maven.google.com/com/android/tools/analytics-library/shared/26.0.1/…
+b46b548f116a5dd5b018e6f1f4760fe04f93aecdbea094c2f0890e8bf690ada3 | https://jcenter.bintray.com/org/robolectric/shadows-framework/3.5.1/shadows…
+343b1a3093410e3fb26c66998423ab389c3a7441cd1a8859bd327dd15b479aa4 | https://jcenter.bintray.com/org/objenesis/objenesis-parent/2.1/objenesis-pa…
+ff2aceed10da9930a44f6c8f81c6372d5e55eb59c4e0ea9d37f77dfd765fa9fa | https://jcenter.bintray.com/org/ow2/asm/asm-tree/5.0.1/asm-tree-5.0.1.jar
+f1226fd07fc72af8d6232bdfa70bf31d883a1a01cbc547f23a74e9066c692df1 | https://jcenter.bintray.com/com/google/guava/guava-parent/20.0/guava-parent…
+6d535f94efb663bdb682c9f27a50335394688009642ba7a9677504bc1be4129b | https://jcenter.bintray.com/org/hamcrest/hamcrest-parent/1.3/hamcrest-paren…
+1ceb4bfb0f098ae29b935044b2363e11323313fe3ed2055df8b79737d5056277 | https://jcenter.bintray.com/org/hamcrest/hamcrest-library/1.3/hamcrest-libr…
+419487d0c123d11cc6e1a12da517d02958ee1de209f1e1855bb14f5dd3759bb0 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions/…
+4f88a89142c64bf03906f84609594666e9694df56e3e6f05edfab8a68b39d837 | https://maven.google.com/com/android/tools/annotations/26.0.1/annotations-2…
+597b54cc1a494799d783921c6ac04352f33e94fca8e00f299d4ca192db79e3fc | https://jcenter.bintray.com/org/robolectric/shadows-framework/3.5.1/shadows…
+f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e | https://jcenter.bintray.com/com/squareup/javawriter/2.1.1/javawriter-2.1.1.…
+ec4c74554312fac5116350164786f91b35c9e082fa4ea598bfa42b5db05d7abb | https://jcenter.bintray.com/org/jacoco/org.jacoco.core/0.7.4.201502262128/o…
+4a028c17c75cce301e13fdfbc0750ceb48a166dd1013ee516a49684472fcf0e5 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions/…
+1d2e883717b8ab7d3fcc9fa01034d165809a9c94daa6303a838f11e4d36adc86 | https://jcenter.bintray.com/net/sf/proguard/proguard-base/5.3.3/proguard-ba…
+b6eb99f1362b8344ca5400d57a35c49e3504f23f3dee304fdb879d4d953f4bc6 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcore/4.2.5/httpco…
+e899e02ec8ac6a73fb9c9c7cb9ebd9bfc4ce8263412285d5ec6f2df920880905 | https://maven.google.com/com/android/tools/build/builder-model/3.0.1/builde…
+3c09321a4140cbbaf50ceefb08f249e2a033eef78dc6efc3d3022515b05a0cda | https://maven.google.com/com/android/support/customtabs/23.4.0/customtabs-2…
+c74330cc6b806c804fd37e74487b4fe5d7c2750c5e15fbc6efa13bdee1bdef80 | https://jcenter.bintray.com/org/objenesis/objenesis/2.1/objenesis-2.1.jar
+d1e247c4ed3952385fd704ac9db2a222247cfe7d20508b4f3c76b90f857952ed | https://jcenter.bintray.com/org/apache/maven/maven-artifact-manager/2.2.1/m…
+db50fbb16778e5ff47eaf46a2b63891c546911e7bde06c068ecbe9806b02c672 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.5…
+7b5da383a465a071e90eac4a5e615992a499d9776938305d7581d8abbf3b13e5 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-compiler-runner/1.1…
+3d6eba428555a558de046b5d76eacc1f5a54b4f5f20b84d636ed7aff18aa48c3 | https://jcenter.bintray.com/org/apache/httpcomponents/project/7/project-7.p…
+2ba9c1cfec6b4a183b72a5ccc6cb2c83479d6ad7e931543c792292c1679a7f43 | https://maven.google.com/com/android/tools/external/org-jetbrains/uast/26.0…
+e37a4467bac5cdeb02c5c4b8e5063d2f4e67b69e3c7df6d6b610f13185572bab | https://jcenter.bintray.com/com/ibm/icu/icu4j/53.1/icu4j-53.1.jar
+a06e35d3fff3a6b813d94894ebf3e498f9540c864c5b39ae783907e3a6c72889 | https://jcenter.bintray.com/commons-codec/commons-codec/1.6/commons-codec-1…
+a47c950c755747ca3093a05e9ec85d0e2f33cbd224909f571fe7577963a4d799 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.1.3-2/kot…
+d3d96637b0e8e61046567b8c87b667dcf3cd31c7447f651cb58d6e6e744adfba | https://maven.google.com/com/android/support/appcompat-v7/23.4.0/appcompat-…
+14db0f7d2299c5400ff7764bb37b4fa80306582d8965fdf6999091723e2384ce | https://jcenter.bintray.com/org/robolectric/annotations/3.5.1/annotations-3…
+be214032de23c6b520b79c1ccdb160948e0c67ed7c11984b7ec4ca5537867b4e | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-http-lightweight/1…
+31ce606f4e9518936299bb0d27c978fa61e185fd1de7c9874fe959a53e34a685 | https://jcenter.bintray.com/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.pom
+8c6191e0dd8bfdc862332cb79b08185ac5b63565d405dac2605be4c2b19774bd | https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.…
+5fe8a11e913086fb7ab505b930987f30cfa3f4b226d4bbbc68003ca4387ae40e | https://maven.google.com/com/android/tools/lint/lint-api/26.0.1/lint-api-26…
+aeb197158a2fb6bd2cb9233e22874f8051f82891dbd82b6b089f49e309f82e40 | https://maven.google.com/com/android/tools/lint/lint/26.0.1/lint-26.0.1.jar
+ff9988062651ac02bfcafd3aa4302f9366fac66d4ad639b36530193afdbdd67b | https://jcenter.bintray.com/org/robolectric/utils/3.5.1/utils-3.5.1.pom
+59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a | https://jcenter.bintray.com/junit/junit/4.12/junit-4.12.jar
+beff8c3c1e840e0f7f78aadef170f347bae349f098babfc176765f499a4bcbb5 | https://jcenter.bintray.com/org/robolectric/sandbox/3.5.1/sandbox-3.5.1.jar
+91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff | https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1.jar
+52b6fd2eaf2240e14dbe752f1fa884270cc668d6f350e8e7f65f6033a8172d69 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-client…
+50eb253acd0b6ee048f432d9fc3a3b36264efb3da1ffa7fb07f6c4d4b7a8ca31 | https://jcenter.bintray.com/org/codehaus/codehaus-parent/3/codehaus-parent-…
+95b8b357d19f63797dd7d67622fd3f18374d64acbc6584faba1c7759a31e8438 | https://jcenter.bintray.com/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.…
+603cf898f93b854f18021fab452aca3fe482368eeb2e720988ae82212ebcf4b6 | https://jcenter.bintray.com/org/robolectric/robolectric/3.5.1/robolectric-3…
+2bf4e59f3acd106fea6145a9a88fe8956509f8b9c0fdd11eb96fee757269e3f3 | https://jcenter.bintray.com/classworlds/classworlds/1.1-alpha-2/classworlds…
+1879f19a05991e3ed95910b96689333396b0c467a215dc4d1f90018404b72a26 | https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.…
+567ae5af5665bb445802ca650a4dc848737c9ee564f69f2ead5df1189d394304 | https://maven.google.com/com/android/support/recyclerview-v7/23.4.0/recycle…
+8a4e4b32eedaa72976a757e12cf1dfe742725db0b7311bf176dd937ba4236384 | https://jcenter.bintray.com/org/antlr/antlr4/4.5.3/antlr4-4.5.3.pom
+401429d864e4c28b0ef7bc9213ac7b48989f8a9a26db200abb8c65f41f5a503e | https://jcenter.bintray.com/org/ow2/asm/asm-tree/5.0.1/asm-tree-5.0.1.pom
+b2b5dd46cf998fa626eb6f8a1c114f6167c8d392694164e62533e5898e9b31f2 | https://jcenter.bintray.com/commons-io/commons-io/2.4/commons-io-2.4.pom
+30b09c7504768820bfd8572ffcf8c2c55a668ecff6ca3e125906d00bf393a082 | https://maven.google.com/com/android/support/test/espresso/espresso-idling-…
+e2f7b17610f9f0a2b55c019b7627be3d42ec142fde1db5caf8a34dbe3bb8dbcd | https://maven.google.com/com/android/tools/build/gradle-api/3.0.1/gradle-ap…
+0397963405810796ee2d9527e9d1e1a2ed9c44cdb83cdd6959a4ee148ab56fbe | https://jcenter.bintray.com/org/robolectric/sandbox/3.5.1/sandbox-3.5.1.pom
+363cc83767b760d7a564d5301e09467e6d48fc1c1c1664b1e18c50815ce19076 | https://jcenter.bintray.com/com/google/guava/guava/20.0/guava-20.0.pom
+58aa4df8faae90e484c0bc47494a1ec97dc51fe53eae2b4a70d60ea7489cdf8c | https://maven.google.com/com/android/tools/external/com-intellij/intellij-c…
+b7134929f7cc7c04021ec1cc27ef63ab907e410cf0588e397b8851181eb91092 | https://jcenter.bintray.com/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar
+cd36b31f1495f4fe55a936dd00607abdd945e1f8074549225a04c402d1d35750 | https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.pom
+3759796aab6669f10d58d6f6ef1b25a8a9ca4f7ec48bd47ad5141dd1f0865a38 | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-watcher/1.4-…
+0156d3f3f54a82eda56285b82aa85caadfdf00d90cde549f7091e0bb0702aad2 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.51/kotli…
+21bb4d44dff54e33a37c11af69859a714202ae00969aab5453eba7276688f8ec | https://jcenter.bintray.com/org/apache/httpcomponents/project/4.1.1/project…
+7a3554c605e088e7e323b1084656243f0444fa353e2f2dee1f1a4204eb64ff09 | https://jcenter.bintray.com/org/jacoco/org.jacoco.report/0.7.4.201502262128…
+616da56b2e90bf055b90436800259a8f82715f8e03307c512483328380a51248 | https://jcenter.bintray.com/org/simpleframework/simple-transport/6.0.1/simp…
+5d252585d47129cd667d96c92237383138a42edec5a8963a7dd44cd770faed91 | https://maven.google.com/com/android/tools/lint/lint-checks/26.0.1/lint-che…
+cf3d36efa6d760c6901a21fb14d9eab6553454742ecc4c5c484e2a347cdac4ea | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-annotation-processi…
+8bd632c00bdf80a7de36c22b60f12452c147d8eca2f00d79d66699ebe7daa02a | https://jcenter.bintray.com/org/apache/commons/commons-parent/5/commons-par…
+87cd27e1a02a5c3eb6d85059ce98696bb1b44c2b8b650f0567c86df60fa61da7 | https://jcenter.bintray.com/org/apache/commons/commons-parent/39/commons-pa…
+10107898991129eff2042a41b1bfc2d72c4ea8e4babe429ae3aeb32c69c568de | https://maven.google.com/com/android/tools/analytics-library/tracker/26.0.1…
+e246e2a062b5d989fdefc521c9c56431ba5554ff8d2344edee9218a34a546a33 | https://jcenter.bintray.com/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.p…
+d53062ffe8677a4f5e1ad3a1d1fa37ed600fab39166d39be7ed204635c5f839b | https://jcenter.bintray.com/org/apache/maven/maven-artifact/2.2.1/maven-art…
+f26bdec2b9496470c0ce63b0d290816e8000ef018daaa259597ebae947fd690f | https://jcenter.bintray.com/net/sf/proguard/proguard-gradle/5.3.3/proguard-…
+7b0cdb372fbde4e801f76bdb416927162ebd32c0c4e53fa39828437d3112c9d5 | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-android-no-o…
+5215b648798c6c8d9b9cde3642d3bfb5a4cc894b7c8411004352e7de5d119827 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-client…
+0ec9e69539aa51350a7d295003d8e7f36007d9cd4a3b93730994a24ada5a11c5 | https://maven.google.com/com/android/support/test/exposed-instrumentation-a…
+9f85ff2fd7d6cb3097aa47fb419ee7f0ebe869109f98aba9f4eca3f49e74a40e | https://jcenter.bintray.com/org/apache/apache/16/apache-16.pom
+90f163f78e3ffb6f1c7ad97de9e7eba4eea25807141b85d6d12be67ca25449c4 | https://jcenter.bintray.com/junit/junit/4.12/junit-4.12.pom
+ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478 | https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0…
+bede73084ec812b916f686cc6e47625bd0756154bef589a4c2b419e54a393bf5 | https://jcenter.bintray.com/com/android/tools/build/manifest-merger/26.0.1/…
+668eb6aeb3d038267e719deb55f38a4233a12602afb97e89da609c095394400a | https://maven.google.com/com/android/tools/build/apksig/3.0.1/apksig-3.0.1.…
+bfadb3b40f65dd6de1666d6b29f8bb54031396c76eeef4146cf9f28255f8bf33 | https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0.pom
+2ec779741f72313fc6623d0f0e42b2450dd2425dd6ad319697e658aae9ae177b | https://jcenter.bintray.com/com/android/tools/dvlib/26.0.1/dvlib-26.0.1.pom
+5f1d5eab6940ece3ebb73691d8a60434d8d1e330176442be8f35a1585345b2ec | https://maven.google.com/com/android/support/design/23.4.0/design-23.4.0.aar
+8f10ffd8df0d3e9819c8cc8402709c6b248bc53a954ef6e45470d9ae3a5735fb | https://jcenter.bintray.com/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom
+a20fb26c8de5b0ff7a3069e681fcf01ebefd2f3d24b832c3af22d981d7d4376b | https://maven.google.com/com/android/tools/repository/26.0.1/repository-26.…
+24ddb65b7a6c3befb6267ce5f739f237c84eba99389265c30df67c3dd8396a40 | https://jcenter.bintray.com/org/apache/maven/maven-project/2.2.1/maven-proj…
+3a0a524d3540d005d4df0ca39305fce1972f0d2d966d9b8e6bdb956011501584 | https://maven.google.com/com/android/support/test/runner/0.5/runner-0.5.pom
+c513995cf019d9213d4fda666589937b2bf1bea5c4cdd337e6170e80b18406ee | https://jcenter.bintray.com/org/sonatype/oss/oss-parent/4/oss-parent-4.pom
+d125b3ade9f694ae60ef835f5ae000b6ba35fba8c34bafd8b40a1961375e63fa | https://jcenter.bintray.com/org/apache/maven/maven-profile/2.2.1/maven-prof…
+f056ed61a281b3e230a63e4abf510c0d2f9bf7ff513cacb65a29538ba90ab177 | https://jcenter.bintray.com/org/jacoco/org.jacoco.build/0.7.4.201502262128/…
+54b34e941b8e1414bd3e40d736efd3481772dc26db3296f6aa45cec9f6203d86 | https://jcenter.bintray.com/commons-codec/commons-codec/1.6/commons-codec-1…
+631b213b1b10c00c900aad759c88ed0c83084bae76336ad00dcfe1f24c48be65 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-compiler-embeddable…
+1bd627d7252500462075f4a08cd0db4dbbf1ccecc08b093709551b54c8649085 | https://jcenter.bintray.com/org/simpleframework/simple-transport/6.0.1/simp…
+965aeb2bedff369819bdde1bf7a0b3b89b8247dd69c88b86375d76163bb8c397 | https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0…
+6b87237de8c2e1740cf80627c7f3ce3e15de1930bb250c55a1eca94fa3e014df | https://jcenter.bintray.com/org/codehaus/codehaus-parent/4/codehaus-parent-…
+905721a0eea90a81534abb7ee6ef4ea2e5e645fa1def0a5cd88402df1b46c9ed | https://jcenter.bintray.com/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.…
+1158e94c7de4da480873f0b4ab4a1da14c0d23d4b1902cc94a58a6f0f9ab579e | https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0.jar
+36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8 | https://jcenter.bintray.com/com/google/guava/guava/20.0/guava-20.0.jar
+63b465cc628f8c305702b12b26501cea236a3175db15b5a7356e98484aa63db5 | https://maven.google.com/com/android/tools/build/builder-model/3.0.1/builde…
+31629566148e8a47688ae43b420abc3ecd783ed15b33bebc00824bf24c9b15aa | https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.1/httpmime…
+ff513db0361fd41237bef4784968bc15aae478d4ec0a9496f811072ccaf3841d | https://jcenter.bintray.com/org/apache/apache/13/apache-13.pom
+e7a7a5810829dee924cec654a569a48301fcedd487f7b88710e816d127385f51 | https://maven.google.com/com/android/tools/analytics-library/shared/26.0.1/…
+ee041b3beb682e8bbf2dc16b6edc233483cbc36bde27fd13996617a667b615a5 | https://maven.google.com/com/android/tools/external/com-intellij/intellij-c…
+a0d002465c0f611eedaaef2b2530707d2e9fb3a5c7ed66f53c556a12f714f43a | https://maven.google.com/com/android/support/support-v4/23.4.0/support-v4-2…
+b9c445604a16b15c4269485d569252a53e3094efc8a0c252e09dee1f2f204568 | https://jcenter.bintray.com/org/robolectric/annotations/3.5.1/annotations-3…
+6d574f9ae0922791eb8f06979f0010997d4b862c7aec96d485ae797ddfc13278 | https://jcenter.bintray.com/org/robolectric/shadowapi/3.5.1/shadowapi-3.5.1…
+8ba35dd4ea1647b89a8ae082bb6c81d5695a1ec31e73aa57bfa3512069c4bee2 | https://jcenter.bintray.com/com/thoughtworks/xstream/xstream/1.4.8/xstream-…
+d135cff96dcbbc8a5fab30180e557cae620373cf26941d4c738a88896a2d98ed | https://jcenter.bintray.com/org/apache/maven/maven/2.2.1/maven-2.2.1.pom
+3e395d6fbc43c09a3774cac8694ce527398305ea3fd5492d80e25af27d382a9c | https://jcenter.bintray.com/org/codehaus/mojo/mojo-parent/34/mojo-parent-34…
+258f12f1facc44d0b25b9fa2bde33a58f3de9eea412588ff47922c9cac910a5a | https://maven.google.com/com/android/support/cardview-v7/23.4.0/cardview-v7…
+712d7c974d20b71ce730938a3dda8d23e87cfd16500e1c1a2c9ecc2c9ff0d323 | https://maven.google.com/com/android/tools/build/apksig/3.0.1/apksig-3.0.1.…
+949246020c08a0543389082af38268cdce4ee7a7a8218097369b9845752866cb | https://maven.google.com/com/android/tools/lint/lint-checks/26.0.1/lint-che…
+1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-…
+fb8c5e55e30a7addb4ff210858a0e8d2494ed6757bbe19012da99d51586c3cbb | https://jcenter.bintray.com/org/apache/commons/commons-parent/22/commons-pa…
+cf5c43860b53ba5a95c19bc6525cc43d3488a6fe3df2f649c0099a613a0640e3 | https://jcenter.bintray.com/com/google/code/gson/gson-parent/2.8.2/gson-par…
+3ec9d39b3e35fad9aab1e6b137466ce2190f88aee897cffa383e94a65287105e | https://jcenter.bintray.com/com/jayway/android/robotium/robotium-solo/5.5.4…
+953b116521a73575eee990e3f2c36a892fb088bb2d9a3027c82193cb7a013ef7 | https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.pom
+4ad0673155d7e0e5cf6d13689802d8d507f38e5ea00a6d2fb92aef206108213d | https://jcenter.bintray.com/org/apache/maven/maven-plugin-registry/2.2.1/ma…
+12a3c9a32b82fdc95223cab1f9d344e14ef3e396da14c4d0013451646f3280e7 | https://jcenter.bintray.com/org/codehaus/plexus/plexus-utils/1.5.15/plexus-…
+f34b3a0b62cdb468eb7e8335de4edc87958dc299306c2b4ba8ea15e6a4be106a | https://jcenter.bintray.com/net/sf/proguard/proguard-gradle/5.3.3/proguard-…
+fdff6cfa9ed9cc911c842a5d2395f209ec621ef1239d46810e9e495809d3ae09 | https://jcenter.bintray.com/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.jar
+ecd46dc69f5212b35eb21d64db68072f956c000083030ff53e09d1f81487c580 | https://maven.google.com/com/android/tools/external/org-jetbrains/uast/26.0…
+cf149955279b07d4f11e817985c1164a69e930d73db7441b43a6ef53bbd286c4 | https://jcenter.bintray.com/com/google/errorprone/error_prone_parent/2.0.18…
+ef71d45a49edfe76be0f520312a76bc2aae73ec0743a5ffffe10d30122c6e2b2 | https://jcenter.bintray.com/org/codehaus/plexus/plexus-container-default/1.…
+fcfb09fb0ea0aa97d3cfe7ea792398081348e468f126b3603cb3803f240197f0 | https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0.…
+b3005544708f8583e455c22b09a4940596a057108bccdadb9db4d8e048091fed | https://jcenter.bintray.com/org/apache/maven/maven-error-diagnostics/2.2.1/…
+e2b4935e76d91b5abec44de309f2c8bb8d1d2e6cc0b8790b43cb654f1e22c722 | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.0.1/l…
+1a5c870be804f9041c1392606c19ef5a8ae503e79705962c2f8452c51cb0d27c | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-analyzer/1.4…
+2d9484f4c649f708f47f9a479465fc729770ee65617dca3011836602264f6439 | https://jcenter.bintray.com/com/googlecode/json-simple/json-simple/1.1/json…
+153b32f474fd676ec36ad807c508885005139140fc92168bb76bf6be31f8efb8 | https://jcenter.bintray.com/org/apache/maven/maven-model/2.2.1/maven-model-…
+1f8c906d0de98ddfa81b1ce520ee52fbd280c222383b66cba89e16eafb626001 | https://maven.google.com/com/android/databinding/baseLibrary/3.0.1/baseLibr…
+6f52ba933a117bd67131b281214510ea30232b9807bfe569bc0c17e6a2d4018c | https://maven.google.com/com/android/tools/repository/26.0.1/repository-26.…
+5fe283f47b0e7f7d95a4252af3fa7a0db4d8f080cd9df308608c0472b8f168a1 | https://jcenter.bintray.com/org/apache/maven/maven-repository-metadata/2.2.…
+07f08b315c812406e9d497e1b592689742feb3950c1a713f95e2692d3e15b619 | https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.…
+c5f51e723e84eee14c339170730b4e590342732e1560747ae559585a6ae09a0d | https://jcenter.bintray.com/org/robolectric/robolectric/3.5.1/robolectric-3…
+1870cb5f561ac94760064c5eff8d4259692dd5845680113e78ed9b239e6cf34a | https://jcenter.bintray.com/org/simpleframework/simple-http/6.0.1/simple-ht…
+58a4152e2ea975e955393d49ed23f3c88fa8368d75d2290fb2c28373a6c5a977 | https://maven.google.com/com/android/support/test/runner/0.5/runner-0.5.aar
+340422be8f3e3c847a0a0bf944296774f6db81f2fa8b34912bc931a112a26919 | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-providers/1.0-beta…
+e8b4151ae1679f1abe7a14ee371ac9b3c651ae7b63290d1f586bdd0f78face9a | https://jcenter.bintray.com/com/android/tools/build/transform-api/2.0.0-dep…
+34af0baedaef19375b7c1a7da967e9089d5e0754647fdbe9a302590392874b77 | https://jcenter.bintray.com/org/apache/maven/maven-project/2.2.1/maven-proj…
+a9660f8b64b74f474226c70a50187d8efcac448d32ce97756f408975aa52cdaa | https://maven.google.com/com/android/tools/sdk-common/26.0.1/sdk-common-26.…
+ee032c39ae5e3cd099148fbba9a2124f9ed613e5cb93e03ee0fa8808ce364040 | https://jcenter.bintray.com/org/ow2/asm/asm-util/5.1/asm-util-5.1.jar
+f4778bb3abf2df40bfa365d00ff301b5eec76f2933b85f6aa3918e2ab6f08b91 | https://maven.google.com/com/android/support/design/23.4.0/design-23.4.0.pom
+f5a0a1eeaa100ed36aa83eca562d5dbb7e9b045c98b44db7da4745e9d9a20328 | https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.2.6/http…
+9619e68f7eb36da3a28a60315f34320972badbad43749cc66712bb95b96a4ef3 | https://maven.google.com/com/android/support/support-annotations/23.4.0/sup…
+4054f186137e3b849a7c23c9e846cd57d8a2fe32c17d4c62bd420512d74c3d3f | https://jcenter.bintray.com/org/objenesis/objenesis/2.1/objenesis-2.1.pom
+645e30c1a93c6b50c918c14cea11e1f41015153fe6329149ad17d930e820be4a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.5…
+a34658f5c5de4b573eef21131cc32cc25f7b66407944f312b28ec2e56abb1fa9 | https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1.j…
+2242fd02d12b1ca73267fb3d89863025517200e7a4ee426cba4667d0172c74c3 | https://jcenter.bintray.com/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.p…
+feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://jcenter.bintray.com/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.…
+0c0e9d1857c250d1d71b5c6be7b8cc29afe55e7419a90d13bbe968ae5bd7240e | https://jcenter.bintray.com/org/ow2/asm/asm-util/5.1/asm-util-5.1.pom
+d47fc646324c22c66f2b0e0e743c850dde9a51990c53925e7501d960f2e8df84 | https://jcenter.bintray.com/com/squareup/javawriter/2.1.1/javawriter-2.1.1.…
+9e1d8dd83ca6003f841e3af878ce2dc7c22497493a7bb6d1b62ec1b0d0a83c05 | https://jcenter.bintray.com/com/almworks/sqlite4java/sqlite4java/0.282/sqli…
+467ae650442e876867379094e7518dfdd67d22c5352ebd39808c84259e9790ba | https://jcenter.bintray.com/org/apache/commons/commons-parent/25/commons-pa…
+ee4e1227673b6ba0b462b567f011b88b6e4e4cd044e1c9734ffb1a2ff80d7ee7 | https://jcenter.bintray.com/org/robolectric/resources/3.5.1/resources-3.5.1…
+51215c67d2c068d8b7d2f6f80f51372a098075deccc448d4bdd7b987ba8328fb | https://jcenter.bintray.com/org/ow2/ow2/1.3/ow2-1.3.pom
+e5e82da4cc66c8d917bbf743e3c0752efe8522735e7fc9dbddb65bccea81cfe9 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcore/4.2.5/httpco…
+e6531a278b4f632f198a6e45b9e11de1b2b678cd5a4e0fdff442f604c2439a42 | https://jcenter.bintray.com/org/jacoco/org.jacoco.report/0.7.4.201502262128…
+7c758612888782ccfe376823aee7cdcc7e0cdafb097f7ef50295a0b0c3a16edf | https://jcenter.bintray.com/org/codehaus/plexus/plexus-container-default/1.…
+362e9324ee7c697e21279e20077b52737ddef3f1b2c1a7abe5ad34b465145550 | https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.2.6/http…
+df5f5e4b6d2ddcde49ed5a4e7e3bf2cb7f87e0d9892e5b066f995c4d703b228f | https://maven.google.com/com/android/tools/analytics-library/protos/26.0.1/…
+7b0aa6ed7553597ce0610684a9f7eca8021eee218f2e2f427c04a7fbf5f920bd | https://jcenter.bintray.com/com/google/android/apps/common/testing/accessib…
+40ceb7157feb263949e0f503fe5f71689333a621021aa20ce0d0acee3badaa0f | https://jcenter.bintray.com/com/google/j2objc/j2objc-annotations/1.1/j2objc…
+ecf58351f8fe0c398b8b452216705bece5291b9b327d30202c16b28ac680450c | https://jcenter.bintray.com/org/apache/maven/maven-artifact-manager/2.2.1/m…
+b27bbb9d269a97be8ff0ac480c0f09c9a953f62e6ff05d90fcbb0ddb4de97c77 | https://jcenter.bintray.com/com/android/tools/common/26.0.1/common-26.0.1.j…
+fde386a7905173a1b103de6ab820727584b50d0e32282e2797787c20a64ffa93 | https://jcenter.bintray.com/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.…
+dce95c6e899e42925697aa961b4f01ced3211003cd2101df93ce9d52bb3c3d0a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-compiler-runner/1.1…
+c0de2bbc4cb8297419659813ecd4ed1d077ed1dd5c1f5544cc5143e493e84c10 | https://jcenter.bintray.com/org/ow2/asm/asm-tree/5.1/asm-tree-5.1.jar
+70c458dcf6040317b41ddf50a7d53a02b8a85b0723b36cde9562c59e3cd11dae | https://jcenter.bintray.com/com/android/tools/dvlib/26.0.1/dvlib-26.0.1.jar
+ecbd655fd71d298eaf0787045b84324ce68936ad0de98c7a9c55538e539f2747 | https://jcenter.bintray.com/org/apache/ant/ant-parent/1.8.0/ant-parent-1.8.…
+c71555751e57e0ef912870e8ac9625ae782502a6a5b9c19ccf83b2a97d8b26bd | https://jcenter.bintray.com/com/google/jimfs/jimfs-parent/1.1/jimfs-parent-…
+0dc4d181e4d347893c2ddbd2e6cd5d7287fc651c03648fa64b2341c7366b1773 | https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.52/bcprov-jdk…
+34e08ee62116071cbb69c0ed70d15a7a5b208d62798c59f2120bb8929324cb63 | https://jcenter.bintray.com/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar
+db3cd95bec1001605e1653f2843e8542e712fa2bb672fd9c8c1ace86c57673d1 | https://jcenter.bintray.com/org/apache/httpcomponents/httpmime/4.1/httpmime…
+f8ab13b14be080fe2f617f90e55599760e4a1b4deeea5c595df63d0d6375ed6d | https://jcenter.bintray.com/com/intellij/annotations/12.0/annotations-12.0.…
+c3c99bf58182889fe86315e9a01473ee2c95540b9dedef898cec64554d925c54 | https://jcenter.bintray.com/com/android/tools/annotations/24.5.0/annotation…
+d7e368746fa68ca6ba63519fb0838be9a278d509a5fcee6cd4a778a119eae447 | https://maven.google.com/com/android/support/appcompat-v7/23.4.0/appcompat-…
+f095c882716d49269a806685dcb256fa6a36389b2713ac56bb758bf8693565a2 | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-http-shared/1.0-be…
+e767a1248adb4843110457e839e504c2511649ee78f05a6a311ea7f23578894d | https://maven.google.com/com/android/tools/build/builder-test-api/3.0.1/bui…
+22a5564590c8bfd8df7efb2b0c7d9942b46a0beb59ba38899d59c1270f293b1c | https://jcenter.bintray.com/org/robolectric/resources/3.5.1/resources-3.5.1…
+9884c02d47244364e1fb27675b5ef3b206a2d2d3141ac77f57fd771a175c2a2f | https://jcenter.bintray.com/org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1.p…
+7e4a34c7b63d879c5cec454e2e47eb1e61e271a58672e7e548659f4f23742500 | https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.52/bcprov-jdk…
+ef5ff4dc0257c1eebed07da22b4695ffdd3030da8d224282fb9c565b56cf2f24 | https://jcenter.bintray.com/org/simpleframework/simple-http/6.0.1/simple-ht…
+6422a1f272022e3153ed68af04e5a03548fe48061ed2846c044df84e02abb143 | https://jcenter.bintray.com/org/robolectric/junit/3.5.1/junit-3.5.1.pom
+e263064a6ebeba4209d1abb089f9fff5194d79bb011b525d276b3994025123e0 | https://maven.google.com/com/android/support/test/rules/0.5/rules-0.5.aar
+23e6d006f7d07bb43ebc80b2e530c8cdd65bbabcaaf911c3f12e2ea26167178c | https://maven.google.com/com/android/tools/build/gradle-core/3.0.1/gradle-c…
+b2e81b7d5a22755f2ea76aa9bbbd4359d61c4cb9577193ccfbb8f97378ed293b | https://jcenter.bintray.com/org/robolectric/junit/3.5.1/junit-3.5.1.jar
+5c415a9d8585200de4be1947e15291cc79f599b06249375f5c9ea22d4b2d090f | https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-…
+e1abd7f1116cf5e0c59947693e2189208ec94296b2a3394c959e3511d399a7b0 | https://jcenter.bintray.com/com/squareup/javawriter/2.5.0/javawriter-2.5.0.…
+757bfe906193b8b651e79dc26cd67d6b55d0770a2cdfb0381591504f779d4a76 | https://jcenter.bintray.com/com/googlecode/juniversalchardet/juniversalchar…
+8b870b3f2ee38bf15681acbc8b628df1ccf7c533190b5c79af9934b6cd66d451 | https://maven.google.com/com/android/databinding/baseLibrary/3.0.1/baseLibr…
+711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c | https://jcenter.bintray.com/org/hamcrest/hamcrest-library/1.3/hamcrest-libr…
+7bc4c7f999b9c673c714f7f8adb6281b11b8f14d5821a2b860c3d60c24518c66 | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-watcher/1.4-…
+faf82de0dc02e0c0ae327cd653f37255496b2e53fce280b3ab4cb34553a89086 | https://jcenter.bintray.com/com/intellij/annotations/12.0/annotations-12.0.…
+cb4cfad870bf563a07199f3ebea5763f0dec440fcda0b318640b1feaa788656b | https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2…
+401877d5e70ad599e9b6cff18434ea0332f637b51f8ec68352646c836f9bb2a4 | https://jcenter.bintray.com/org/antlr/antlr4-master/4.5.3/antlr4-master-4.5…
+d19c24122f9f70221e8d97a54f48fbf43feba5b003963057458982e0407aab42 | https://jcenter.bintray.com/com/jayway/android/robotium/robotium-solo/5.5.4…
+52d73f35f7e638ce3cb56546f879c20e7f7019f72aa20cde1fa80e97865dfd40 | https://jcenter.bintray.com/javax/annotation/javax.annotation-api/1.2/javax…
+7e8bdca281bdcb6dad48a80854837f1c0ab46f31a0b292370e320f471f5b9cfd | https://maven.google.com/com/android/tools/sdk-common/26.0.1/sdk-common-26.…
+0251dbb938740ace07a53675113eee753ba389db65aebc814b175af50321620e | https://jcenter.bintray.com/org/apache/ant/ant/1.8.0/ant-1.8.0.jar
+b51f8867c92b6a722499557fc3a1fdea77bdf9ef574722fe90ce436a29559454 | https://jcenter.bintray.com/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
+d2da399a9967c69f0a21739256fa79d284222c223082cacadc17372244764b54 | https://jcenter.bintray.com/org/ow2/asm/asm/5.1/asm-5.1.jar
+c9268e671899430946b54c4d1b93c30f0db1b7df0b39b3c6279d6bd475a6fbdc | https://jcenter.bintray.com/com/thoughtworks/xstream/xstream-parent/1.4.8/x…
+fee07b2760ef3ed20f2edefa70504a29f9216d277adae56ce85778ee4b18cd04 | https://maven.google.com/com/android/support/support-v4/23.4.0/support-v4-2…
+d46777ad3ea8bca73491b2e02fc85b3664486abf5314cc4dc6740908bd855330 | https://jcenter.bintray.com/com/google/android/apps/common/testing/accessib…
+781ae7e6a1ae87e55b3e0a19a441bafd385f4ed9b5b4bd6316ec9bc6952d0273 | https://maven.google.com/com/android/support/test/exposed-instrumentation-a…
+b787d574c851505e76212968b9ae1641ea79804aef7f5a2cee2a01cd4055213a | https://jcenter.bintray.com/org/apache/commons/commons-compress/1.12/common…
+715268d800bacd07236ee1e6f4407650e61cf979733bc262e4de15fbd13b920d | https://jcenter.bintray.com/org/mockito/mockito-core/1.10.19/mockito-core-1…
+13c1448f7ebb61f67e6fbd6cd5c188804c17c4d7e77c4b79b316ede4ef9cd9b3 | https://maven.google.com/com/android/tools/lint/lint/26.0.1/lint-26.0.1.pom
+2f781378c1be7caa98fa1c5a109f296a6bcdcbe1f9a67a3d16e07f5eb786c96c | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-project/1.1.51/kotl…
+ce6f913cad1f0db3aad70186d65c5bc7ffcc9a99e3fe8e0b137312819f7c362f | https://jcenter.bintray.com/commons-logging/commons-logging/1.1.1/commons-l…
+a1e7d6b3efc1703c7c8f1b15ecf8757f17d0ac41f32c9a48481a5caf638c55db | https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.0.0/protobu…
+260cc48a58764afbcadec4a9b41877c5aa826c760ae3b6b1db8bde44074c7c41 | https://jcenter.bintray.com/org/ow2/asm/asm/5.0.1/asm-5.0.1.pom
+4a16a423391387d46724749ad29263e64894dadf6783aa38e4b9c888c88d25fe | https://jcenter.bintray.com/org/robolectric/shadowapi/3.5.1/shadowapi-3.5.1…
+2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d | https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.…
+02c12c3c2ae12dd475219ff691c82a4d9ea21f44bc594a181295bf6d43dcfbb0 | https://jcenter.bintray.com/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.…
+ce9e83354fb5c24ed0e2b26a986130ed5d3dedeba288eb1fce563f78f7bb881f | https://maven.google.com/com/android/support/test/espresso/espresso-core/2.…
+a160969150a1671661098deef05da96e1a4f40b93dab045e222485aa976e75a6 | https://maven.google.com/com/android/support/customtabs/23.4.0/customtabs-2…
+3db15325cd620c0e54c3d88b6b7ec1bac43db376e18c9bf56bd0c05402ee6be8 | https://jcenter.bintray.com/org/apache/maven/maven-plugin-registry/2.2.1/ma…
+08426143d37d770f3e4dae45b0870c3ab1ba512cb64418f34496025b72d16760 | https://jcenter.bintray.com/org/apache/ant/ant-launcher/1.8.0/ant-launcher-…
+1e7f53fa5b8b5c807e986ba335665da03f18d660802d8bf061823089d1bee468 | https://jcenter.bintray.com/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.…
+c9a55463942128f0b7fad62b8bee5886d1cb1c733fb3b78507465b025e6a4031 | https://maven.google.com/com/android/databinding/compilerCommon/3.0.1/compi…
+a219a1abf948400b669d08be73a6f9209fb720d237e5ff74c223bffe5f9df93d | https://jcenter.bintray.com/com/thoughtworks/xstream/xstream/1.4.8/xstream-…
+24633fb1e62a9e4b1a25e2c1751d68be89e050b488652456e545b8019539137d | https://maven.google.com/com/android/tools/build/gradle-api/3.0.1/gradle-ap…
+770471090ca40a17b9e436ee2ec00819be42042da6f4085ece1d37916dc08ff9 | https://jcenter.bintray.com/backport-util-concurrent/backport-util-concurre…
+727a7252ca385f648c3ddf4f104e3908cba723fa577fdd93b0cf851eb16c44f1 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.51/kotli…
+943e12b100627804638fa285805a0ab788a680266531e650921ebfe4621a8bfa | https://jcenter.bintray.com/javax/inject/javax.inject/1/javax.inject-1.pom
+164e7a9cf23a4e63bbc961f8db7d965d53d685710660a88249641f91d36f83a4 | https://jcenter.bintray.com/org/apache/httpcomponents/httpcomponents-core/4…
+15d4b252c5aa3aeb8d634ae5aaf348ac6ce183b6b5e3615364e6c083715c1133 | https://jcenter.bintray.com/com/getkeepsafe/dexcount/dexcount-gradle-plugin…
+ddb0fc5402b4cd8f31d5f29c830793d3ec00fd8ce60786254e5f0f132f0bdd8d | https://maven.google.com/com/android/tools/lint/lint-api/26.0.1/lint-api-26…
+381d72c526be217b770f9f8c3f749a86d3b1548ac5c1fcb48d267530ec60d43f | https://jcenter.bintray.com/org/codehaus/plexus/plexus-components/1.1.14/pl…
+9cddda75f4a1b4469e73f44e7b61a3e897d0f657df4797f9106ffe88c4eeade0 | https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6…
+0ee5f691cbbedb69969b48374d27412f821959af5d2dffbabc424b607cdbbdf6 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.1.3-2/kot…
+052b0d2b58e5df4f30e4f64bdf5414473f6cfa10147f8f8d89cb0b63316ba8f3 | https://jcenter.bintray.com/com/android/tools/build/manifest-merger/26.0.1/…
+9144127192d6f612c2366825dceaeb23b0d53130b83e0bf1ffe107d1470a8487 | https://jcenter.bintray.com/com/google/errorprone/error_prone_annotations/2…
+b84d281f59b9da528139e0752a0e1cab0bd98d52c58442b00e45c9748e1d9eee | https://jcenter.bintray.com/org/codehaus/plexus/plexus-interpolation/1.11/p…
+2a0e55bb02940d54bc025aca27ec5071535890fc8ef892cf4fb4fe63f216242d | https://jcenter.bintray.com/com/squareup/haha/haha/2.0.2/haha-2.0.2.jar
+e824935c264b041e847b67808aee704f8cd47d698203259057e42f473e1f6f30 | https://maven.google.com/com/android/databinding/compilerCommon/3.0.1/compi…
+f021eb07aebec822496f489a2d6ec5d3fa81a2717bfc8407cb0ebcaadcee2d7e | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-http-lightweight/1…
+da9fd92eacdf63daf0be52eb71accc10ff7943a85d7aac9ea96cf7e03ee3d3cc | https://jcenter.bintray.com/org/apache/ant/ant-launcher/1.8.0/ant-launcher-…
+2d4cdc52be79184386d74333d1c4466b7960f83505bfd5e596e76c5ab6ee3bbf | https://jcenter.bintray.com/com/almworks/sqlite4java/sqlite4java/0.282/sqli…
+f6775dc981540ffa10f33bd831f14608517ce38b90628e045707dd5bb5d1348e | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-http-shared/1.0-be…
+8fdc3336e7b01873193ba9c48b87de7d788dc0954d1eb45c322492627a4b5c6e | https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk…
+45eb0d6e49430271b5fb385c53fae0b81d6ad3eae465a7a8d948217bcae1e86d | https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.…
+bcb7ce66a9c629fa7c723a767b6430e1a383e8d4dd543d603dcb0ad1b855b8b2 | https://maven.google.com/com/android/support/animated-vector-drawable/23.4.…
+8b5cd510f29b8f96143cd990747797e9408735c914078a47fa3a6290b474d045 | https://maven.google.com/com/android/support/test/rules/0.5/rules-0.5.pom
+6b5ad911a13a5c814c04be4376586eec15838158cb59b9f062ae138ddff1b861 | https://maven.google.com/com/android/tools/layoutlib/layoutlib-api/26.0.1/l…
+1dea25a2af87ff4757ece0dcb676e0d891dfe1e1e784d6251112e35f21d77b86 | https://maven.google.com/com/android/support/palette-v7/23.4.0/palette-v7-2…
+321668fc474a73140eb9cc73c779f1ebb9f60948aade3beddee082ecefcf0259 | https://jcenter.bintray.com/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk…
+bfc90e9e32d0eab1f397fb974b5f150a815188382ac41f372a7149d5bc178008 | https://jcenter.bintray.com/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar
+aff003f3a0afcfad1bc8b4cce81813ababc48680345f16a1a70adcd1adcb8ce2 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-compiler-embeddable…
+f7524cfffc9773ea75a9f7379139f00a57355e411009ea9529b7adf7ef93fde8 | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-file/1.0-beta-6/wa…
+5909b396ca3a2be10d0eea32c74ef78d816e1b4ead21de1d78de1f890d033e04 | https://jcenter.bintray.com/javax/annotation/javax.annotation-api/1.2/javax…
+6895e368fa59168428c78cdf300bb29352073f397d8f260af3de82df2c8b2448 | https://maven.google.com/com/android/tools/analytics-library/tracker/26.0.1…
+0cc647963b74ad1d7a37c9868e9e5a8f474e49297e1863582253a08a4c719cb1 | https://jcenter.bintray.com/classworlds/classworlds/1.1-alpha-2/classworlds…
+0d25a88a1b1e44801f8912206a40ff249cb5702ee87cf3d243d5213f7bcf534f | https://jcenter.bintray.com/org/apache/maven/maven-settings/2.2.1/maven-set…
+a9d65daccc5afca97372936246ac49fb587423e005606e7981b0efc66b0e9385 | https://maven.google.com/com/android/tools/annotations/26.0.1/annotations-2…
+e51efb2ec140b2849b9880fb161cb6e30dd672368a534c1f47ab46d7f537d9ca | https://jcenter.bintray.com/net/sf/proguard/proguard-base/5.3.3/proguard-ba…
+d7d77326867e6d903156ebb18c244819b26aebe3aa82a1c57081081a0b6c4f63 | https://jcenter.bintray.com/org/robolectric/utils/3.5.1/utils-3.5.1.jar
+85ec8258fafc283f61647e6a11b404890821c11db6fcf550779ecf7a14151007 | https://jcenter.bintray.com/org/ow2/asm/asm-parent/5.1/asm-parent-5.1.pom
+f264dd9f79a1fde10ce5ecc53221eff24be4c9331c830b7d52f2f08a7b633de2 | https://jcenter.bintray.com/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
+950c765f9ebfb7de187cf70ec5b61218568b993bc760cb341bdf142ac94e751b | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-android/1.4-…
+a0700d84efe7cc3103557bd0522f9443681b96ba9559c4bb7f9dc9bf35243485 | https://jcenter.bintray.com/com/ibm/icu/icu4j/53.1/icu4j-53.1.pom
+e4c7afb8f0d7aa159318d42a011cc2c9b0525d820973cbca5318bec6c649cecc | https://jcenter.bintray.com/com/google/protobuf/protobuf-java/3.0.0/protobu…
+ed68ffe66e8fcc23fdeab4eab259a197a11f26325eae59c5afba3a273cd83d25 | https://maven.google.com/com/android/support/test/espresso/espresso-idling-…
+0a640f956f4cdde8b5d3458a67ca67599eeb6f47349167a3f1afce7d60978027 | https://maven.google.com/com/android/tools/build/gradle-core/3.0.1/gradle-c…
+963e1ee14f808ffb99897d848ddcdb28fa91ddda867eb18d303e82728f878349 | https://jcenter.bintray.com/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk…
+26c5856e954b5f864db76f13b86919b59c6eecf9fd930b96baa8884626baf2f5 | https://jcenter.bintray.com/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-…
+a32de739cfdf515774e696f91aa9697d2e7731e5cb5045ca8a4b657f8b1b4fb4 | https://jcenter.bintray.com/org/antlr/antlr4/4.5.3/antlr4-4.5.3.jar
+70cc10a9e0b028dd98ca870354afc45eb61eebbd5c6b247b9dd00b4af2b9279a | https://jcenter.bintray.com/org/simpleframework/simple-common/6.0.1/simple-…
+f16b5ea711dfe0323454b880180aa832420ec039936e4aa75fb978748634808a | https://jcenter.bintray.com/org/apache/maven/maven-ant-tasks/2.1.3/maven-an…
+2a0475c2625fc27f80d3c5021130509b4068e0f984f2511e7a77a097de48b41d | https://maven.google.com/com/android/tools/sdklib/26.0.1/sdklib-26.0.1.pom
+f5655d331af6afcd4dbaedaa739b889380c771a7e83f7aea5c8544a05074cf0b | https://jcenter.bintray.com/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom
+89fc0cd20db030033ba04bb00c2837efe1e530b00f86935d6a645717d15bb978 | https://jcenter.bintray.com/com/google/protobuf/protobuf-java/2.6.1/protobu…
+1933a6037439b389bda2feaccfc0113880fd8d88f7d240d2052b91108dd5ae89 | https://jcenter.bintray.com/org/apache/apache/5/apache-5.pom
+e30f1db6058f745f26112ef309f89becb27c617c7d9e4c6e02165a7620a92e6a | https://jcenter.bintray.com/com/android/tools/common/26.0.1/common-26.0.1.p…
+7298feeb36ff14dd933c38e62585fb9973fea32fb3c4bc5379428cb1aac5dd3c | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-file/1.0-beta-6/wa…
+1ccea47240da2f0b75dbddb22718fd64cce42c20bf7983e35480b098ab62d26d | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-android-no-o…
+42f0be9bf98c12dacdcb99dd141d83d4dc5bb7c37a6f26684cd3ff2287667fba | https://jcenter.bintray.com/org/hamcrest/hamcrest-integration/1.3/hamcrest-…
+55aa554843983f431df5616112cf688d38aa17c132357afd1c109435bfdac4e6 | https://jcenter.bintray.com/com/google/protobuf/protobuf-java/2.6.1/protobu…
+efa86e5cd922f17b472fdfcae57234d8d4ac3e148b6250737dfce454af7a7a44 | https://jcenter.bintray.com/com/google/jimfs/jimfs/1.1/jimfs-1.1.pom
+7846399b35c7cd642a9b3a000c3e2d62d04eb37a4547b6933cc8b18bcc2f086b | https://jcenter.bintray.com/com/googlecode/juniversalchardet/juniversalchar…
+62dd8e35a2c4432bb22f8250bbfe08639635599b4064d5d747bd24cf3c02fac5 | https://jcenter.bintray.com/org/apache/maven/maven-model/2.2.1/maven-model-…
+2643837251ebdff33a7731646abb563a6050dbb1307937a6e401ef25f3c59103 | https://jcenter.bintray.com/com/jayway/android/robotium/robotium/5.5.4/robo…
+9dad0f56523955b60a9903f4e8342891355d7a59c77f36a3b53cf6ff2e4df625 | https://jcenter.bintray.com/org/apache/maven/maven-repository-metadata/2.2.…
+f52619bf2f5c5117f0af1c23adff3a9c8f468647be47fefc59b81dcec7e480e6 | https://jcenter.bintray.com/org/apache/maven/maven-ant-tasks/2.1.3/maven-an…
+6b8361d8f44649e739343b77c644f1fef1f19d771734ed83785b0dc297198bd1 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-annotation-processi…
+7450c3330cf06c254db9f0dc5ef49eac15502311cf19e0208ba473076ee043d6 | https://jcenter.bintray.com/org/apache/maven/maven-parent/11/maven-parent-1…
+2c1542faf343185b7cab9c3d55c8ae5471d6d095d3887a4adefdbdf2984dc0b6 | https://jcenter.bintray.com/org/apache/commons/commons-compress/1.12/common…
+7b33cee43a87b390f2ea8084ed431b605016e2ff4c24db9a1fbdd8ffe97ef92d | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1…
+81f73f8b25b430f5a40a39727bbcef653a1d0868cc69233b44e4282ce5a94ff9 | https://jcenter.bintray.com/com/android/tools/ddms/ddmlib/26.0.1/ddmlib-26.…
+358700f7a5b932bce30ebb0010641a9cade4b8499a60845717b2e22a39697f92 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.60/kotli…
+9a9f556713a404e770c9dbdaed7eb086078014c989291960c76fdde6db4192f7 | https://jcenter.bintray.com/org/apache/maven/maven-settings/2.2.1/maven-set…
+c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd | https://jcenter.bintray.com/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
+dec38b5e95eba8dbb0aefb0ea72fb777def93e75f60c247a143b0b81a5de3916 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1…
+fd9507feb858fa620d1b4aa4b7039fdea1a77e09d3fd28cfbddfff468d9d8c28 | https://jcenter.bintray.com/org/codehaus/plexus/plexus-interpolation/1.11/p…
+24465b2ba90dc5ed7e2c05f1c87fe4256c27df6d3cd69b6177f3cb447b05c021 | https://maven.google.com/com/android/support/recyclerview-v7/23.4.0/recycle…
+0c5a9770ae0271dc97bcc6cb0f2e809a40ba587cdce2556f9db59912c8e158fc | https://jcenter.bintray.com/org/apache/maven/maven-parent/19/maven-parent-1…
+c219d697fa9c8f243d8f6e347499b6d4e8af1d0cac4bbc7b3907d338a2024c13 | https://jcenter.bintray.com/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.…
+326ba49aa7a35e07b6cc592ad7a5b0f86f4667051a8e70e7639c54bc0c356dee | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.60/kotli…
+e116f32edcb77067289a3148143f2c0c97b27cf9a1342f8108ee37dec4868861 | https://jcenter.bintray.com/org/apache/maven/wagon/wagon-provider-api/1.0-b…
+cf251279505960889b6b281c26af0438656ebac3845e52791925cf7649cb15a6 | https://maven.google.com/com/android/tools/sdklib/26.0.1/sdklib-26.0.1.jar
+f5759b7fcdfc83a525a036deedcbd32e5b536b625ebc282426f16ca137eb5902 | https://jcenter.bintray.com/backport-util-concurrent/backport-util-concurre…
+30f5789efa39ddbf96095aada3fc1260c4561faf2f714686717cb2dc5049475a | https://jcenter.bintray.com/net/java/jvnet-parent/3/jvnet-parent-3.pom
+5dc327c690d031a11aa8f9f4cdc391fb938fbb7c7c143cc4bc60dd573d1fd1c9 | https://maven.google.com/com/android/tools/build/builder/3.0.1/builder-3.0.…
+7c75075badcb014443ee94c8c4cad2f4a9905be3ce9430fe7b220afc7fa3a80f | https://jcenter.bintray.com/org/codehaus/plexus/plexus-containers/1.0.3/ple…
+3c4fa807380179c24966309fe642eee19558948ebfd326f8f01c301629a50cb0 | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-android/1.4-…
+c3fb02564ca173e45548d7a91aca1efe341db11da2656199d559773e7ae15edf | https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.0.1/asm-commons-5.0.1…
+8b0aa8a74e990ca8d633ab7bd1938530e921548df13fd4020224a61065378876 | https://maven.google.com/com/android/tools/build/builder-test-api/3.0.1/bui…
+81120db4d5490c4f0e9789e1178d2bac231fcff2618bd80f8ef6ff03c550d59b | https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.1/asm-analysis-5.1.p…
+6d079b5abf39f323baaccc68463beef5cf2e9574f333dd749ae96753f00eb205 | https://jcenter.bintray.com/org/ow2/asm/asm/5.1/asm-5.1.pom
+332883794330d554c24cf311bf60481ad55bf773d5a4b71434d7f6c119ba9dbe | https://jcenter.bintray.com/com/squareup/leakcanary/leakcanary-analyzer/1.4…
+f658a628efd6e0efe416b977638ba144af660fe6413f3637a4d03feb6a1ce806 | https://jcenter.bintray.com/org/apache/maven/maven-artifact/2.2.1/maven-art…
+cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581 | https://jcenter.bintray.com/commons-io/commons-io/2.4/commons-io-2.4.jar
+66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9 | https://jcenter.bintray.com/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.…
+4946e60a547c8eda69f3bc23c5b6f0dadcf8469ea49b1d1da7de34aecfcf18dd | https://jcenter.bintray.com/org/apache/apache/9/apache-9.pom
+150021a89ae6f252415cbfff5c3111bf87433776b997b68e6e71f37e5b696799 | https://maven.google.com/com/android/support/support-vector-drawable/23.4.0…
+7043dee4e9e7175e93e0b36f45b1ec1ecb893c5f755667e8b916eb8dd201c6ca | https://jcenter.bintray.com/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk…
+cf7e3630e1929ddeffcb0315db2acb37182c92dd3af970111b6115592f64d077 | https://jcenter.bintray.com/org/jacoco/org.jacoco.core/0.7.4.201502262128/o…
+228367b7569fb1462a3eb1423bc2778e2fc7fbaee3d3767890c02b8924fa1889 | https://jcenter.bintray.com/org/apache/maven/maven-error-diagnostics/2.2.1/…
+025caec7c56a0cb4d86c45bc18ac3e23dba291e22ebceb76302a9a9b9b7183cc | https://jcenter.bintray.com/org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1…
+cd6db17a11a31ede794ccbd1df0e4d9750f640234731f21cff885a9997277e81 | https://jcenter.bintray.com/com/google/google/1/google-1.pom
+932e6bab9a24a7bc958bbdb7e29e04d083b473d11c4ba3fab1e9b7149579f272 | https://jcenter.bintray.com/com/google/protobuf/protobuf-parent/3.0.0/proto…
+6ee434905eeb60a7c4d52b1f45288d5e53b68094f1cce6990bced2097c3dbec4 | https://maven.google.com/com/android/support/test/espresso/espresso-core/2.…
+1eaf9182e1977c1c50a70edbfbf70536398c68990bfaafc9f0e9899041201539 | https://jcenter.bintray.com/com/google/guava/guava-parent/22.0/guava-parent…
+91b9f17a54e6c340c8d3ea4b359401170706eb26a82d51909abe6ba80081aed8 | https://jcenter.bintray.com/com/google/code/gson/gson/2.8.2/gson-2.8.2.pom
+74fa208043740642f7e6eb09faba15965218ad2f50ce3020efb100136e4b591c | https://jcenter.bintray.com/it/unimi/dsi/fastutil/7.2.0/fastutil-7.2.0.jar
+e336a35a1e102c2f11ce1ea7f0872df14e332374b8eacc0877e50f85f84c3d09 | https://maven.google.com/com/android/support/animated-vector-drawable/23.4.…
+8d4006178fedef4255797b806167cf4a6774158eedabf96420693afbbd00fee3 | https://maven.google.com/com/android/tools/analytics-library/protos/26.0.1/…
+43edcc0fc3bd8520bf60066f54088f272e39aa856d25cdd6ca9ee4d8f5c32666 | https://maven.google.com/com/android/support/support-vector-drawable/23.4.0…
+97b3786e1f55e74bddf8ad102bf50e33bbcbc1f6b7fd7b36f0bbbb25cd4981be | https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.1/asm-commons-5.1.jar
+803be394edb8dd7d1e678683ed85aee7f86a172c90f03e6198c8a49d4f342b99 | https://maven.google.com/com/android/tools/build/builder/3.0.1/builder-3.0.…
+8c38b967ee2d7ae4c0bb021717f58717c9a627a82f4af9963263367de078164e | https://maven.google.com/com/android/support/palette-v7/23.4.0/palette-v7-2…
+d0f2e16d054e8bb97add9ca26525eb2346f692809fcd2a28787da8ceb3c35ee8 | https://jcenter.bintray.com/commons-logging/commons-logging/1.1.1/commons-l…
+536c45e8804de01321c478cfb994377f81f1e32897636616fa21b877fd137c6f | https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6…
diff --git a/projects/firefox/mozconfig-android-armv7 b/projects/firefox/mozconfig-android-armv7
new file mode 100644
index 0000000..f34e228
--- /dev/null
+++ b/projects/firefox/mozconfig-android-armv7
@@ -0,0 +1,49 @@
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-arm-linux-androideabi
+mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
+export MOZILLA_OFFICIAL=1
+
+ac_add_options --enable-optimize
+ac_add_options --enable-official-branding
+
+ac_add_options --enable-application=mobile/android
+ac_add_options --target=arm-linux-androideabi
+ac_add_options --with-android-ndk=/var/tmp/dist/android-toolchain/android-ndk
+ac_add_options --with-android-sdk=/var/tmp/dist/android-toolchain/android-sdk-linux
+ac_add_options --with-gradle=/var/tmp/dist/android-toolchain/gradle/gradle-4.1/bin/gradle
+ac_add_options --with-android-version=16
+ac_add_options --with-branding=mobile/android/branding/torbrowser
+
+# Android NDK does not contain llvm-config so set clang path in options
+ac_add_options --with-libclang-path=/var/tmp/dist/android-toolchain/android-ndk/arm/lib64
+ac_add_options --with-clang-path=/var/tmp/dist/android-toolchain/android-ndk/arm/bin/clang
+
+if [ -n "${TB_BUILD_WITH_DISTRIBUTION}" ]; then
+ ac_add_options --with-android-distribution-directory=@TOPSRCDIR@/mobile/android/torbrowser
+fi
+
+if [ -z "${TB_BUILD_WITH_UPDATER}" ]; then
+# Because Google Play will likely be the primary distribution medium,
+# we disable updating and rely on Google Play by default. The
+# Developer Policy explicitly prohibits in-app updating:
+# An app distributed via Google Play may not modify, replace, or
+# update itself using any method other than Google Plays update
+# mechanism.
+# https://play.google.com/about/privacy-security-deception/malicious-behavior/
+
+ ac_add_options --disable-tor-browser-update
+ ac_add_options --disable-signmar
+ ac_add_options --disable-verify-mar
+fi
+
+ac_add_options --enable-strip
+ac_add_options --disable-tests
+ac_add_options --disable-debug
+ac_add_options --disable-rust-debug
+ac_add_options --disable-maintenance-service
+ac_add_options --disable-crashreporter
+ac_add_options --disable-webrtc
+
+ac_add_options --without-google-play-services
+
+# Let's make sure no preference is enabling either Adobe's or Google's CDM.
+ac_add_options --disable-eme
1
0

[tor-browser-build/master] Bug 28467: Update hacking doc for working with submodules
by boklm@torproject.org 16 Nov '18
by boklm@torproject.org 16 Nov '18
16 Nov '18
commit f8d9731ad7dd2c3cf66d4aaa6b5d78ad0dcac671
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Nov 16 09:36:31 2018 +0000
Bug 28467: Update hacking doc for working with submodules
Additionally, minor clean-ups got done (like adding our 64bit Windows
target where needed).
---
README.HACKING | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/README.HACKING b/README.HACKING
index d9ebf63..9b846a7 100644
--- a/README.HACKING
+++ b/README.HACKING
@@ -44,15 +44,15 @@ In each of those places, an option can be defined:
The targets are usually used to select:
- the platform: torbrowser-linux-x86_64, torbrowser-linux-i686,
- torbrowser-windows-i686, torbrowser-osx-x86_64
+ torbrowser-windows-i686, torbrowser-windows-x86_64, torbrowser-osx-x86_64
- the channel: release, nightly, alpha
The targets torbrowser-linux-x86_64, torbrowser-linux-i686,
-torbrowser-windows-i686, torbrowser-osx-x86_64 are special cases. They
-do not contain options directly, instead they contain a list of other
-targets. For instance, the torbrowser-linux-x86_64 target is pointing
-to the linux-x86_64 and linux targets. You should define an option under
-the linux target if it applies to Linux on both architectures, or under
+torbrowser-windows-i686, torbrowser-windows-x86_64, torbrowser-osx-x86_64 are
+special cases. They do not contain options directly, instead they contain a
+list of other targets. For instance, the torbrowser-linux-x86_64 target is
+pointing to the linux-x86_64 and linux targets. You should define an option
+under the linux target if it applies to Linux on both architectures, or under
the linux-x86_64 if it only applies to the x86_64 architecture.
An option that is defined at the root of rbm.conf can be overridden by
@@ -148,6 +148,8 @@ $platform should be one of the following:
- torbrowser-windows-i686
+ - torbrowser-windows-x86_64
+
- torbrowser-osx-x86_64
For example, to see tor's build script for linux x86_64 on the alpha
@@ -242,6 +244,16 @@ Remember that the git_hash option has different definitions for alpha
and nightly builds, so you should modify the right one depending on
what type of build you are doing (see also the "Types of builds" section).
+The first alternative is not working in case patches contain binary diffs,
+which the patch command can't handle. However, working with submodules can
+make the git branch alternative tricky to use. In that case you can resort
+to a third option by installing git in the build container (via var/deps in
+the respective config file). Then you can change to the submodule directory
+in the build script and do a
+
+ git apply patch-for-XXXX.patch
+
+after adding the patch to the project's config file (see above).
The Firefox mozconfig files
---------------------------
@@ -298,8 +310,8 @@ For example, if you want to try a Linux x86_64 alpha build, you can run:
torbrowser-linux-x86_64
-Types of builds: nightly, alpha, release and testbuild
-------------------------------------------------------
+Types of builds: nightly, alpha, release, and testbuild
+-------------------------------------------------------
The testbuild makefile target allows you to do a build quickly in the
testbuild directory, skipping the generation of all the locales and the
@@ -313,4 +325,3 @@ builds in order to point to the master branch.
If you want your testbuild target to create builds based on nightly
rather than alpha, you can edit your rbm.local.conf file and uncomment
the targets/torbrowser-testbuild definition.
-
1
0

[tor-browser-build/master] Bug 28470: Add fetch gradle dependency script to common project
by gk@torproject.org 16 Nov '18
by gk@torproject.org 16 Nov '18
16 Nov '18
commit 873289e271fb88c47e1c5738b66a37b723e74ee2
Author: sisbell <shane.isbell(a)gmail.com>
Date: Fri Nov 16 11:12:30 2018 +0000
Bug 28470: Add fetch gradle dependency script to common project
The script got written by boklm.
---
projects/common/fetch-gradle-dependencies | 19 ++++++++++++++
.../how-to-create-gradle-dependencies-list.txt | 30 ++++++++++++++++++++++
2 files changed, 49 insertions(+)
diff --git a/projects/common/fetch-gradle-dependencies b/projects/common/fetch-gradle-dependencies
new file mode 100644
index 0000000..0acd38a
--- /dev/null
+++ b/projects/common/fetch-gradle-dependencies
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -e
+# Bug 28117: setting LC_ALL=C is causing wget to fail downloading some URLs
+unset LC_ALL
+cd "[% dest_dir %]"
+m2dir="$(mktemp -d)"
+[% USE artifacts = datafile(c('basedir') _ '/projects/' _ project _ '/gradle-dependencies-list.txt', delim = '|') %]
+[% FOREACH artifact = artifacts %]
+ artifact_path=$(echo "[% artifact.url %]" | sed 's|^https://[^/]\+/||')
+ artifact_filename=$(basename "$artifact_path")
+ artifact_dirname=$(dirname "$artifact_path")
+ [% GET c("urlget", { filename => 'downloaded_file', URL => artifact.url}); %]
+ echo "[% artifact.sha256sum %] downloaded_file" | sha256sum -c
+ mkdir -p "$m2dir/$artifact_dirname"
+ mv -f downloaded_file "$m2dir/$artifact_dirname/$artifact_filename"
+[% END -%]
+echo "Finished downloading gradle dependencies"
+mkdir -p "[% dest_dir %]"
+mv -f "$m2dir" "[% dest_dir %]/gradle-dependencies-[% c("var/gradle_dependencies_version") %]"
diff --git a/projects/common/how-to-create-gradle-dependencies-list.txt b/projects/common/how-to-create-gradle-dependencies-list.txt
new file mode 100644
index 0000000..ef816d0
--- /dev/null
+++ b/projects/common/how-to-create-gradle-dependencies-list.txt
@@ -0,0 +1,30 @@
+### Updating Gradle Dependencies
+If additional Android dependencies are required by the project's build, then
+the Gradle build will fail due to missing dependencies. To find out what the
+missing dependencies are, comment out the following line in the project's build
+file:
+
+ export GRADLE_MAVEN_REPOSITORIES="file://$rootdir/[% c('input_files_by_name/gradle-dependencies') %]"
+
+and rerun the build.
+
+Dependent artifacts will show up as downloads in the logs. You can pull out
+these dependencies into a list with the following command (replacing
+"firefox-android-armv7.log" with the build log file name of the actual project):
+
+`cat logs/firefox-android-armv7.log | grep "Download http" | sed "s/^.*Download //g" > download-urls.txt`
+
+You will then need to add the new dependency URLs and SHA-256 values into the
+projects/$project/gradle-dependencies-list.txt file. The format of this file is
+pipe delimited
+ sha256sum | url
+
+Finally, in the project's config file increment the
+var/gradle_dependencies_version and make sure to restore the project's build
+file back to original.
+
+It may also be the case that you wish to clean up old versions of the artifacts.
+For this you will need to run the build with a
+gradle-dependencies-list.txt file containing only the headers. Make sure to also
+comment the GRADLE_MAVEN_REPOSITORIES line from the project's build file. You
+can now proceed to reconstruct the list as given above.
1
0

[tor-browser-build/master] Bug 28469: Fix unsupported libbacktrace in Rust 1.26
by gk@torproject.org 16 Nov '18
by gk@torproject.org 16 Nov '18
16 Nov '18
commit d4215cdbc472573bafe020532ebfcfb491e7615f
Author: sisbell <shane.isbell(a)gmail.com>
Date: Fri Nov 16 07:19:03 2018 +0000
Bug 28469: Fix unsupported libbacktrace in Rust 1.26
---
...e-dl_iterate_phdr-is-undefined-on-Android.patch | 34 +++++++++++++++++
projects/rust/build | 5 +++
projects/rust/config | 6 ++-
projects/rust/replace_pagesize_in_mmap.patch | 44 ++++++++++++++++++++++
4 files changed, 88 insertions(+), 1 deletion(-)
diff --git a/projects/rust/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch b/projects/rust/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
new file mode 100644
index 0000000..75cd657
--- /dev/null
+++ b/projects/rust/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
@@ -0,0 +1,34 @@
+From 4fa67c8a014ac10558be71edec9048851ca7a02d Mon Sep 17 00:00:00 2001
+From: Georg Koppen <gk(a)torproject.org>
+Date: Thu, 15 Nov 2018 19:04:46 +0000
+Subject: [PATCH] Make sure `dl_iterate_phdr` is undefined on Android
+
+If we build with API < 21 we'll run into undefined reference errors.
+We follow the Rust people who ran into similar issues when
+upgrading libbacktrace for 1.28.0 in making sure `dl_iterate_phdr` is
+not defined for Android.
+
+diff --git a/src/libbacktrace/configure b/src/libbacktrace/configure
+index 8bdb29d256..8941fcd2b0 100755
+--- a/src/libbacktrace/configure
++++ b/src/libbacktrace/configure
+@@ -12397,7 +12397,15 @@ rm -f conftest*
+ have_dl_iterate_phdr=no ;;
+ esac
+ else
+- ac_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr"
++ case "${host}" in
++ *-*-androideabi*)
++ # Avoid dl_iterate_phdr on older Android API (which we use),
++ # as defining it causes undefined reference errors when
++ # compiling Firefox later on.
++ have_dl_iterate_phdr=no ;;
++ *) ac_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr" ;;
++ esac
++
+ if test "x$ac_cv_func_dl_iterate_phdr" = x""yes; then :
+ have_dl_iterate_phdr=yes
+ else
+--
+2.19.1
+
diff --git a/projects/rust/build b/projects/rust/build
index 7ae3073..12f012a 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -62,6 +62,11 @@ cd /var/tmp/build/rustc-[% c('version') %]-src
patch -p1 < $rootdir/unwind.patch
[% END %]
+[% IF c("var/android") %]
+ patch -p1 < $rootdir/0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
+ patch -p1 < $rootdir/replace_pagesize_in_mmap.patch
+[% END %]
+
mkdir build
cd build
../configure --prefix=$distdir [% c("var/configure_opt") %]
diff --git a/projects/rust/config b/projects/rust/config
index 83ae690..99d1177 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -22,7 +22,7 @@ targets:
- libssl-dev
- pkg-config
- zlib1g-dev
- configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=armv7-linux-androideabi --set=target.armv7-linux-androideabi.ar=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-ar --set=target.armv7-linux-androideabi.linker=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-clang --set=target.armv7-linux-androideabi.cc=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-gcc
+ configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=armv7-linux-androideabi --set=target.armv7-linux-androideabi.cc=$ANDROID_NDK_HOME/arm/bin/arm-linux-androideabi-gcc
linux:
var:
@@ -90,3 +90,7 @@ input_files:
gpg_keyring: rust.gpg
- filename: unwind.patch
enable: '[% c("var/windows-i686") %]'
+ - filename: 0001-Make-sure-dl_iterate_phdr-is-undefined-on-Android.patch
+ enable: '[% c("var/android") %]'
+ - filename: replace_pagesize_in_mmap.patch
+ enable: '[% c("var/android") %]'
diff --git a/projects/rust/replace_pagesize_in_mmap.patch b/projects/rust/replace_pagesize_in_mmap.patch
new file mode 100644
index 0000000..598f190
--- /dev/null
+++ b/projects/rust/replace_pagesize_in_mmap.patch
@@ -0,0 +1,44 @@
+diff --git a/src/libbacktrace/mmap.c b/src/libbacktrace/mmap.c
+index 138ef70711..e3c4cd2643 100644
+--- a/src/libbacktrace/mmap.c
++++ b/src/libbacktrace/mmap.c
+@@ -140,7 +140,7 @@ backtrace_alloc (struct backtrace_state *state,
+ {
+ /* Allocate a new page. */
+
+- pagesize = getpagesize ();
++ pagesize = sysconf(_SC_PAGESIZE);
+ asksize = (size + pagesize - 1) & ~ (pagesize - 1);
+ page = mmap (NULL, asksize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+@@ -181,7 +181,7 @@ backtrace_free (struct backtrace_state *state, void *addr, size_t size,
+ {
+ size_t pagesize;
+
+- pagesize = getpagesize ();
++ pagesize = sysconf(_SC_PAGESIZE);
+ if (((uintptr_t) addr & (pagesize - 1)) == 0
+ && (size & (pagesize - 1)) == 0)
+ {
+@@ -226,7 +226,7 @@ backtrace_vector_grow (struct backtrace_state *state,size_t size,
+ size_t alc;
+ void *base;
+
+- pagesize = getpagesize ();
++ pagesize = sysconf(_SC_PAGESIZE);
+ alc = vec->size + size;
+ if (vec->size == 0)
+ alc = 16 * size;
+diff --git a/src/libbacktrace/mmapio.c b/src/libbacktrace/mmapio.c
+index dfdaf6fa52..5b23003090 100644
+--- a/src/libbacktrace/mmapio.c
++++ b/src/libbacktrace/mmapio.c
+@@ -60,7 +60,7 @@ backtrace_get_view (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ off_t pageoff;
+ void *map;
+
+- pagesize = getpagesize ();
++ pagesize = sysconf(_SC_PAGESIZE);
+ inpage = offset % pagesize;
+ pageoff = offset - inpage;
+
1
0

[tor-browser/tor-browser-60.3.0esr-8.5-1] Bug 22343: Make 'Save Page As' obey first-party isolation
by gk@torproject.org 15 Nov '18
by gk@torproject.org 15 Nov '18
15 Nov '18
commit c2b7e89ecaf3ea6a14a650a0a71c6dc3ebb02c50
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Tue May 30 10:25:34 2017 -0700
Bug 22343: Make 'Save Page As' obey first-party isolation
Fixes:
* File menu:
- Save Page As
* Context menu in content pages:
- Save Page As
- Save Image As
- Save Video As
- Save Link As
- Save Frame As
* Page Info "Media" Panel:
- Save As
---
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, 115 insertions(+), 34 deletions(-)
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 0fc6a72daf66..5eed34e08086 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);
+ true, doc.documentURIObject, doc, undefined, doc.nodePrincipal);
event.preventDefault();
return true;
}
diff --git a/browser/base/content/nsContextMenu.js b/browser/base/content/nsContextMenu.js
index 368d0475ac34..37ebde22ea07 100644
--- a/browser/base/content/nsContextMenu.js
+++ b/browser/base/content/nsContextMenu.js
@@ -989,9 +989,11 @@ 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);
+ isPrivate, principal);
};
mm.addMessageListener("ContextMenu:SaveVideoFrameAsImage:Result", onMessage);
},
@@ -1063,7 +1065,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) {
+ windowID, linkDownload, isContentWindowPrivate, contentPrincipal) {
// canonical def in nsURILoader.h
const NS_ERROR_SAVE_LINK_AS_TIMEOUT = 0x805d0020;
@@ -1116,7 +1118,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);
+ doc, isContentWindowPrivate, contentPrincipal);
}
if (this.extListener)
this.extListener.onStopRequest(aRequest, aContext, aStatusCode);
@@ -1156,10 +1158,13 @@ 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: this.principal,
+ loadingPrincipal: principal,
contentPolicyType: Ci.nsIContentPolicy.TYPE_SAVEAS_DOWNLOAD,
securityFlags: Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_INHERITS,
});
@@ -1201,14 +1206,17 @@ nsContextMenu.prototype = {
// Save URL of clicked-on link.
saveLink() {
- urlSecurityCheck(this.linkURL, this.principal);
+ const principal = Services.scriptSecurityManager.createCodebasePrincipal(
+ makeURI(this.linkURL), this.principal.originAttributes);
+ urlSecurityCheck(this.linkURL, 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);
+ isContentWindowPrivate,
+ principal);
},
// Backwards-compatibility wrapper
@@ -1223,23 +1231,32 @@ 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);
+ isPrivate, principal);
}, Cu.reportError);
} else if (this.onImage) {
- urlSecurityCheck(this.mediaURL, this.principal);
+ const principal = Services.scriptSecurityManager.createCodebasePrincipal(
+ makeURI(this.mediaURL), thisPrincipal.originAttributes);
+ urlSecurityCheck(this.mediaURL, principal);
saveImageURL(this.mediaURL, null, "SaveImageTitle", false,
false, referrerURI, null, gContextMenuContentData.contentType,
- gContextMenuContentData.contentDisposition, isPrivate);
+ gContextMenuContentData.contentDisposition, isPrivate,
+ principal);
} else if (this.onVideo || this.onAudio) {
- urlSecurityCheck(this.mediaURL, this.principal);
+ const principal = Services.scriptSecurityManager.createCodebasePrincipal(
+ makeURI(this.mediaURL), thisPrincipal.originAttributes);
+ urlSecurityCheck(this.mediaURL, principal);
var dialogTitle = this.onVideo ? "SaveVideoTitle" : "SaveAudioTitle";
this.saveHelper(this.mediaURL, null, dialogTitle, false, doc, referrerURI,
- this.frameOuterWindowID, "", isContentWindowPrivate);
+ this.frameOuterWindowID, "", isContentWindowPrivate,
+ principal);
}
},
diff --git a/browser/base/content/pageinfo/pageInfo.js b/browser/base/content/pageinfo/pageInfo.js
index 86f548c74494..efe24f7487d9 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) {
@@ -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..4cd7d91e4e9a 100644
--- a/browser/base/content/utilityOverlay.js
+++ b/browser/base/content/utilityOverlay.js
@@ -258,14 +258,16 @@ 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 || aTriggeringPrincipal);
} 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);
+ saveURL(url, null, null, true, true, aNoReferrer ? null : aReferrerURI, aInitiatingDoc, params.isContentWindowPrivate, aPrincipal || aTriggeringPrincipal);
}
return;
}
diff --git a/dom/webbrowserpersist/nsIWebBrowserPersist.idl b/dom/webbrowserpersist/nsIWebBrowserPersist.idl
index 8de84f5e2904..62ac1c1cd7bd 100644
--- a/dom/webbrowserpersist/nsIWebBrowserPersist.idl
+++ b/dom/webbrowserpersist/nsIWebBrowserPersist.idl
@@ -13,11 +13,12 @@ interface nsIWebProgressListener;
interface nsIFile;
interface nsIChannel;
interface nsILoadContext;
+interface nsIPrincipal;
/**
* Interface for persisting DOM documents and URIs to local or remote storage.
*/
-[scriptable, uuid(8cd752a4-60b1-42c3-a819-65c7a1138a28)]
+[scriptable, uuid(ccdbc750-be09-4f11-bb01-4e0a4db76c41)]
interface nsIWebBrowserPersist : nsICancelable
{
/** No special persistence behaviour. */
@@ -112,6 +113,12 @@ 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 fd6d9d0d9315..4f49b63475f3 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -277,6 +277,7 @@ const char *kWebBrowserPersistStringBundle =
nsWebBrowserPersist::nsWebBrowserPersist() :
mCurrentDataPathIsRelative(false),
mCurrentThingsToPersist(0),
+ mLoadingPrincipal(nsContentUtils::GetSystemPrincipal()),
mFirstAndOnlyUse(true),
mSavingDocument(false),
mCancel(false),
@@ -413,6 +414,19 @@ 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,
@@ -1385,7 +1399,7 @@ nsresult nsWebBrowserPersist::SaveURIInternal(
nsCOMPtr<nsIChannel> inputChannel;
rv = NS_NewChannel(getter_AddRefs(inputChannel),
aURI,
- nsContentUtils::GetSystemPrincipal(),
+ mLoadingPrincipal,
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER,
nullptr, // aPerformanceStorage
@@ -2756,7 +2770,7 @@ nsWebBrowserPersist::CreateChannelFromURI(nsIURI *aURI, nsIChannel **aChannel)
rv = NS_NewChannel(aChannel,
aURI,
- nsContentUtils::GetSystemPrincipal(),
+ mLoadingPrincipal,
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 17b570d783e7..f95300be12cb 100644
--- a/dom/webbrowserpersist/nsWebBrowserPersist.h
+++ b/dom/webbrowserpersist/nsWebBrowserPersist.h
@@ -147,6 +147,8 @@ 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 d081fde9b20e..51fe1422acc5 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, aTarget.ownerDocument.documentURIObject,
- aTarget.ownerDocument);
+ false, true, doc.documentURIObject,
+ null, null, null, doc.isPrivate, doc.nodePrincipal);
});
});
diff --git a/netwerk/base/LoadContextInfo.cpp b/netwerk/base/LoadContextInfo.cpp
index 79f870e8d20d..1218345b63ed 100644
--- a/netwerk/base/LoadContextInfo.cpp
+++ b/netwerk/base/LoadContextInfo.cpp
@@ -121,8 +121,6 @@ GetLoadContextInfo(nsIChannel * aChannel)
{
nsresult rv;
- DebugOnly<bool> pb = NS_UsePrivateBrowsing(aChannel);
-
bool anon = false;
nsLoadFlags loadFlags;
rv = aChannel->GetLoadFlags(&loadFlags);
@@ -132,7 +130,21 @@ GetLoadContextInfo(nsIChannel * aChannel)
OriginAttributes oa;
NS_GetOriginAttributes(aChannel, oa);
- MOZ_ASSERT(pb == (oa.mPrivateBrowsingId > 0));
+
+#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
return new LoadContextInfo(anon, oa);
}
diff --git a/toolkit/components/browser/nsWebBrowser.cpp b/toolkit/components/browser/nsWebBrowser.cpp
index 40ac82210502..ff1e728243b4 100644
--- a/toolkit/components/browser/nsWebBrowser.cpp
+++ b/toolkit/components/browser/nsWebBrowser.cpp
@@ -997,6 +997,18 @@ 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 48cf448798a5..e213a0e4333e 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) {
+ aSkipPrompt, aReferrer, aSourceDocument, aIsContentWindowPrivate,
+ aContentPrincipal) {
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, aContentPrincipal);
}
// Just like saveURL, but will get some info off the image before
@@ -109,10 +109,12 @@ 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) {
+ aIsContentWindowPrivate, aContentPrincipal) {
forbidCPOW(aURL, "saveImageURL", "aURL");
forbidCPOW(aReferrer, "saveImageURL", "aReferrer");
@@ -156,7 +158,8 @@ function saveImageURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache,
internalSave(aURL, null, aFileName, aContentDisp, aContentType,
aShouldBypassCache, aFilePickerTitleKey, null, aReferrer,
- null, aSkipPrompt, null, aIsContentWindowPrivate);
+ null, aSkipPrompt, null, aIsContentWindowPrivate,
+ aContentPrincipal);
}
// This is like saveDocument, but takes any browser/frame-like element
@@ -170,7 +173,7 @@ function saveBrowser(aBrowser, aSkipPrompt, aOuterWindowID = 0) {
let stack = Components.stack.caller;
persistable.startPersistence(aOuterWindowID, {
onDocumentReady(document) {
- saveDocument(document, aSkipPrompt);
+ saveDocument(document, aSkipPrompt, aBrowser.contentPrincipal);
},
onError(status) {
throw new Components.Exception("saveBrowser failed asynchronously in startPersistence",
@@ -186,7 +189,9 @@ 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.
-function saveDocument(aDocument, aSkipPrompt) {
+//
+// aContentPrincipal is the principal for downloading and saving the document.
+function saveDocument(aDocument, aSkipPrompt, aContentPrincipal) {
if (!aDocument)
throw "Must have a document when calling saveDocument";
@@ -241,7 +246,7 @@ function saveDocument(aDocument, aSkipPrompt) {
internalSave(aDocument.documentURI, aDocument, null, contentDisposition,
aDocument.contentType, false, null, null,
aDocument.referrer ? makeURI(aDocument.referrer) : null,
- aDocument, aSkipPrompt, cacheKey);
+ aDocument, aSkipPrompt, cacheKey, undefined, aContentPrincipal);
}
function DownloadListener(win, transfer) {
@@ -350,11 +355,13 @@ 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) {
+ aCacheKey, aIsContentWindowPrivate, aContentPrincipal) {
forbidCPOW(aURL, "internalSave", "aURL");
forbidCPOW(aReferrer, "internalSave", "aReferrer");
forbidCPOW(aCacheKey, "internalSave", "aCacheKey");
@@ -423,6 +430,7 @@ function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
let nonCPOWDocument =
aDocument && !Cu.isCrossProcessWrapper(aDocument);
+
let isPrivate = aIsContentWindowPrivate;
if (isPrivate === undefined) {
isPrivate = aInitiatingDocument instanceof Ci.nsIDOMDocument
@@ -440,6 +448,7 @@ function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
sourcePostData: nonCPOWDocument ? getPostData(aDocument) : null,
bypassCache: aShouldBypassCache,
isPrivate,
+ loadingPrincipal: aContentPrincipal,
};
// Start the actual save process
@@ -476,10 +485,15 @@ 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-build/master] Bug 28436: Update link to gn cross_compiles.md.
by boklm@torproject.org 14 Nov '18
by boklm@torproject.org 14 Nov '18
14 Nov '18
commit c50a316848b6efad58644a1c85594b8e92c9b2ff
Author: David Fifield <david(a)bamsoftware.com>
Date: Tue Nov 13 16:17:07 2018 -0700
Bug 28436: Update link to gn cross_compiles.md.
---
projects/webrtc/build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/webrtc/build b/projects/webrtc/build
index d3975b3..5a6cece 100644
--- a/projects/webrtc/build
+++ b/projects/webrtc/build
@@ -92,7 +92,7 @@ EOF
export GN_ARGS=""
# For a list of all possible GN args, do "gn gen out/Release; gn args --list out/Release".
-# https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/cross…
+# https://gn.googlesource.com/gn/+/master/docs/cross_compiles.md
# Not debug.
GN_ARGS+=" is_debug=false"
# There are warnings from unused returns.
1
0
commit c4f92596551ae6651a25be34f330a14776d2e09e
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Nov 14 15:11:31 2018 +0000
Translations update
---
src/chrome/locale/de/browserOnboarding.properties | 16 ++++++++--------
src/chrome/locale/ko/torbutton.dtd | 22 +++++++++++-----------
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/chrome/locale/de/browserOnboarding.properties b/src/chrome/locale/de/browserOnboarding.properties
index 1243128c..d57b3f15 100644
--- a/src/chrome/locale/de/browserOnboarding.properties
+++ b/src/chrome/locale/de/browserOnboarding.properties
@@ -15,11 +15,11 @@ onboarding.tour-tor-privacy.button=Öffne Tor-Netzwerk
onboarding.tour-tor-network=Tor-Netzwerk
onboarding.tour-tor-network.title=Bereise ein dezentrales Netzwerk.
onboarding.tour-tor-network.description=Der Tor Browser verbindet sich mit dem Tor-Netzwerk, das von tausenden Freiwilligen betrieben wird. Anders als bei einem VPN gibt es keinen zentralen Punkt, dem vertraut werden muss, um das Internet privat zu nutzen.
-onboarding.tour-tor-network.button=Circuit-Ansicht öffnen
+onboarding.tour-tor-network.button=Kanal-Ansicht öffnen
-onboarding.tour-tor-circuit-display=Circuit-Ansicht
+onboarding.tour-tor-circuit-display=Kanal-Ansicht
onboarding.tour-tor-circuit-display.title=Zeige deinen Pfad
-onboarding.tour-tor-circuit-display.description=Für jede Webseite wandern Anfragen und Antworten mehrfach verschlüsselt über drei Server (Relays) um die Welt. Keine Webseite weiß, woher die Verbindung ursprünglich kommt. Um eine Webseite über einen neuen Pfad erneut zu laden, klicke auf das Informations-Symbol in der Adressleiste und wähle "Neuer Pfad für diese Seite".
+onboarding.tour-tor-circuit-display.description=Für jede Webseite wandern Anfragen und Antworten mehrfach verschlüsselt über drei Server (Relays) um die Welt. Keine Webseite weiß, woher die Verbindung ursprünglich kommt. Um eine Webseite über einen neuen Kanal erneut zu laden, öffne die Kanal-Ansicht und klicke "Neuer Kanal für diese Seite".
onboarding.tour-tor-circuit-display.button=Meinen Pfad sehen
onboarding.tour-tor-security=Sicherheit
@@ -44,11 +44,11 @@ onboarding.tor-circuit-display.one-of-three=1 von 3
onboarding.tor-circuit-display.two-of-three=2 von 3
onboarding.tor-circuit-display.three-of-three=3 von 3
-onboarding.tor-circuit-display.intro.title=Wie funktionieren Circuits?
-onboarding.tor-circuit-display.intro.msg=Circuits bestehen aus zufällig zugeordneten Relays, d.h. Computern auf der ganzen Welt, die konfiguriert sind, um Torverkehr weiterzuleiten. Circuits ermöglichen es Ihnen, privat zu surfen und sich mit Onion-Diensten zu verbinden.\n
+onboarding.tor-circuit-display.intro.title=Wie funktionieren Kanäle?
+onboarding.tor-circuit-display.intro.msg=Kanäle bestehen aus zufällig zugeordneten Relays, d.h. Server auf der ganzen Welt, die konfiguriert sind, um Torverkehr weiterzuleiten. Kanäle ermöglichen es Ihnen, privat zu surfen und sich mit Onion-Diensten zu verbinden.\n
-onboarding.tor-circuit-display.diagram.title=Circuit-Ansicht
-onboarding.tor-circuit-display.diagram.msg=Dieses Diagramm zeigt die Relays, aus denen die Circuits für diese Website besteht. Um zu verhindern, dass Aktivitäten zwischen verschiedenen Standorten verlinkt werden, erhält jede Website einen anderen Circuit.
+onboarding.tor-circuit-display.diagram.title=Kanal-Ansicht
+onboarding.tor-circuit-display.diagram.msg=Dieses Diagramm zeigt die Relays, die den Kanal für diese Website bilden. Um zu verhindern, dass Aktivitäten zwischen verschiedenen Standorten verlinkt werden, nutzt Tor Browser für jede Website einen eigenen Kanal.
onboarding.tor-circuit-display.new-circuit.title=Brauchen Sie einen neuen Circuit?
-onboarding.tor-circuit-display.new-circuit.msg=Wenn Sie keine Verbindung zu der Website herstellen können, die Sie besuchen möchten, oder wenn sie nicht richtig geladen wird, können Sie diese Schaltfläche verwenden, um die Website über einen neuen Circuit zu laden.
+onboarding.tor-circuit-display.new-circuit.msg=Wenn Sie keine Verbindung zu der Website herstellen können, die Sie besuchen möchten, oder wenn sie nicht richtig geladen wird, können Sie diese Schaltfläche verwenden, um die Website über einen neuen Kanal zu laden.
diff --git a/src/chrome/locale/ko/torbutton.dtd b/src/chrome/locale/ko/torbutton.dtd
index 5daf9f14..b23701b2 100644
--- a/src/chrome/locale/ko/torbutton.dtd
+++ b/src/chrome/locale/ko/torbutton.dtd
@@ -34,18 +34,18 @@
<!ENTITY torbutton.prefs.sec_caption "보안 등급">
<!ENTITY torbutton.prefs.sec_caption_tooltip "보안 슬라이더를 사용하면 특정 브라우저 기능이 비활성화 되어 브라우저가 해킹 시도에 취약해질 수 있습니다.">
<!ENTITY torbutton.prefs.sec_standard_label "표준">
-<!ENTITY torbutton.prefs.sec_standard_description "All Tor Browser and website features are enabled.">
-<!ENTITY torbutton.prefs.sec_safer_label "Safer">
-<!ENTITY torbutton.prefs.sec_safer_description "Disables website features that are often dangerous, causing some sites to lose functionality.">
-<!ENTITY torbutton.prefs.sec_safer_list_label "At the safer setting:">
-<!ENTITY torbutton.prefs.sec_safest_label "Safest">
-<!ENTITY torbutton.prefs.sec_safest_description "Only allows website features required for static sites and basic services. These changes affect images, media, and scripts.">
-<!ENTITY torbutton.prefs.sec_safest_list_label "At the safest setting:">
+<!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 "제일 안전합니다">
+<!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 "JavaScript is disabled on non-HTTPS sites.">
+<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript가 HTTPS을 적용되지 않은 사이트에서 비활성화 됩니다.">
<!ENTITY torbutton.prefs.sec_js_disabled "자바 스크립트는 기본 설정으로 모든 사이트에서 비활성화 되어 있습니다.">
-<!ENTITY torbutton.prefs.sec_limit_typography "Some fonts and math symbols are disabled.">
-<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "Some fonts, icons, math symbols, and images are disabled.">
+<!ENTITY torbutton.prefs.sec_limit_typography "일부 글꼴이며 수학기호가 비활성화 됩니다.">
+<!ENTITY torbutton.prefs.sec_limit_graphics_and_typography "일부 글꼴이며 상징이며 수학기호며 사진이 비활성화 됩니다.">
<!ENTITY torbutton.prefs.sec_click_to_play_media "오디오와 동영상(HTML5 media) 보려면 누르십시오.">
<!ENTITY torbutton.circuit_display.title "토르 서킷">
-<!ENTITY torbutton.circuit_display.new_circuit "New Circuit for this Site">
+<!ENTITY torbutton.circuit_display.new_circuit "이 사이트에서 새로운 서킷을 재구축">
1
0