tor-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
September 2017
- 16 participants
- 2950 discussions

15 Sep '17
commit 44fa86662182aa6a3d46d2ca72919d8e6a8f9584
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Fri Sep 15 14:02:08 2017 -0400
fix some 32-bit warnings about printf arguments
---
src/or/scheduler_kist.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
index 54755cc40..30e86f182 100644
--- a/src/or/scheduler_kist.c
+++ b/src/or/scheduler_kist.c
@@ -408,7 +408,7 @@ update_socket_written(socket_table_t *table, channel_t *chan, size_t bytes)
}
log_debug(LD_SCHED, "chan=%" PRIu64 " wrote %lu bytes, old was %" PRIi64,
- chan->global_identifier, bytes, ent->written);
+ chan->global_identifier, (unsigned long) bytes, ent->written);
ent->written += bytes;
}
@@ -436,7 +436,8 @@ MOCK_IMPL(int, channel_should_write_to_kernel,
MOCK_IMPL(void, channel_write_to_kernel, (channel_t *chan))
{
log_debug(LD_SCHED, "Writing %lu bytes to kernel for chan %" PRIu64,
- channel_outbuf_length(chan), chan->global_identifier);
+ (unsigned long)channel_outbuf_length(chan),
+ chan->global_identifier);
connection_handle_write(TO_CONN(BASE_CHAN_TO_TLS(chan)->conn), 0);
}
1
0

15 Sep '17
commit a1c495b4b97bd479d263960552fa103f1e09ffbe
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Fri Sep 15 13:57:57 2017 -0400
Try to improve formatting on the Schedulers option
---
doc/tor.1.txt | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index c719bf51e..4b33e1b47 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -790,16 +790,16 @@ GENERAL OPTIONS
(Default: KIST,KISTLite,Vanilla)
+
The possible scheduler types are:
-+
- KIST: Kernel Informed Socket Transport. Tor will use the kernel tcp
+ +
+ **KIST**: Kernel Informed Socket Transport. Tor will use the kernel tcp
information stack per-socket to make an informed decision on if it should
send or not the data. (Only available on Linux)
-+
- KISTLite: Same as KIST but without kernel support which means that tor
+ +
+ **KISTLite**: Same as KIST but without kernel support which means that tor
will use all the same mecanics as KIST but without the TCP information the
kernel can provide.
-+
- Vanilla: The scheduler that tor has always used that is do as much as
+ +
+ **Vanilla**: The scheduler that tor has always used that is do as much as
possible or AMAP.
[[KISTSchedRunInterval]] **KISTSchedRunInterval** __NUM__ **msec**::
1
0

[translation/tor-browser-manual] Update translations for tor-browser-manual
by translation@torproject.org 15 Sep '17
by translation@torproject.org 15 Sep '17
15 Sep '17
commit 8f403be45022b7de9287561fda7278eee1036bdd
Author: Translation commit bot <translation(a)torproject.org>
Date: Fri Sep 15 17:50:38 2017 +0000
Update translations for tor-browser-manual
---
uk/uk.po | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/uk/uk.po b/uk/uk.po
index 13bb7513f..773dcc1cb 100644
--- a/uk/uk.po
+++ b/uk/uk.po
@@ -5,12 +5,13 @@
# Pinro Lomil <lomil97(a)gmail.com>, 2016
# Serge Thirdlingson <serge3ling(a)gmail.com>, 2017
# Vira Motorko <ato4ka(a)i.ua>, 2017
+# Любомир <n.lyubomyr(a)gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2016-12-06 16:36-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Vira Motorko <ato4ka(a)i.ua>, 2017\n"
+"Last-Translator: Любомир <n.lyubomyr(a)gmail.com>, 2017\n"
"Language-Team: Ukrainian (https://www.transifex.com/otf/teams/1519/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1019,7 +1020,7 @@ msgstr ""
#: onionsites.page:58 troubleshooting.page:10
msgid "Troubleshooting"
-msgstr ""
+msgstr "Виправлення неполадок"
#: onionsites.page:59
msgid ""
1
0

[translation/torbutton-abouttorproperties] Update translations for torbutton-abouttorproperties
by translation@torproject.org 15 Sep '17
by translation@torproject.org 15 Sep '17
15 Sep '17
commit 3f85977d7ed153dd823c60eb4c391feb2282165d
Author: Translation commit bot <translation(a)torproject.org>
Date: Fri Sep 15 17:48:56 2017 +0000
Update translations for torbutton-abouttorproperties
---
ach/abouttor.properties | 11 +++++++++++
ady/abouttor.properties | 11 +++++++++++
af/abouttor.properties | 11 +++++++++++
ak/abouttor.properties | 11 +++++++++++
am/abouttor.properties | 11 +++++++++++
ar/abouttor.properties | 11 +++++++++++
arn/abouttor.properties | 11 +++++++++++
ast/abouttor.properties | 11 +++++++++++
az/abouttor.properties | 11 +++++++++++
ba/abouttor.properties | 11 +++++++++++
be/abouttor.properties | 11 +++++++++++
bg/abouttor.properties | 11 +++++++++++
bn/abouttor.properties | 11 +++++++++++
bn_BD/abouttor.properties | 11 +++++++++++
bn_IN/abouttor.properties | 11 +++++++++++
bo/abouttor.properties | 11 +++++++++++
br/abouttor.properties | 11 +++++++++++
brx/abouttor.properties | 11 +++++++++++
bs/abouttor.properties | 11 +++++++++++
ca/abouttor.properties | 11 +++++++++++
ceb/abouttor.properties | 11 +++++++++++
cs/abouttor.properties | 11 +++++++++++
csb/abouttor.properties | 11 +++++++++++
cv/abouttor.properties | 11 +++++++++++
cy/abouttor.properties | 11 +++++++++++
da/abouttor.properties | 11 +++++++++++
de/abouttor.properties | 11 +++++++++++
dz/abouttor.properties | 11 +++++++++++
el/abouttor.properties | 11 +++++++++++
en/abouttor.properties | 11 +++++++++++
en_GB/abouttor.properties | 11 +++++++++++
eo/abouttor.properties | 11 +++++++++++
es/abouttor.properties | 11 +++++++++++
es_AR/abouttor.properties | 11 +++++++++++
es_CL/abouttor.properties | 11 +++++++++++
es_CO/abouttor.properties | 11 +++++++++++
es_MX/abouttor.properties | 11 +++++++++++
et/abouttor.properties | 11 +++++++++++
eu/abouttor.properties | 11 +++++++++++
fa/abouttor.properties | 11 +++++++++++
fi/abouttor.properties | 11 +++++++++++
fil/abouttor.properties | 11 +++++++++++
fo/abouttor.properties | 11 +++++++++++
fr/abouttor.properties | 11 +++++++++++
fr_CA/abouttor.properties | 11 +++++++++++
fur/abouttor.properties | 11 +++++++++++
fy/abouttor.properties | 11 +++++++++++
ga/abouttor.properties | 11 +++++++++++
gd/abouttor.properties | 11 +++++++++++
gl/abouttor.properties | 11 +++++++++++
gu/abouttor.properties | 11 +++++++++++
gu_IN/abouttor.properties | 11 +++++++++++
gun/abouttor.properties | 11 +++++++++++
ha/abouttor.properties | 11 +++++++++++
he/abouttor.properties | 11 +++++++++++
hi/abouttor.properties | 11 +++++++++++
hr/abouttor.properties | 11 +++++++++++
hr_HR/abouttor.properties | 11 +++++++++++
ht/abouttor.properties | 11 +++++++++++
hu/abouttor.properties | 11 +++++++++++
hy/abouttor.properties | 11 +++++++++++
ia/abouttor.properties | 11 +++++++++++
id/abouttor.properties | 11 +++++++++++
is/abouttor.properties | 11 +++++++++++
it/abouttor.properties | 11 +++++++++++
ja/abouttor.properties | 11 +++++++++++
jv/abouttor.properties | 11 +++++++++++
ka/abouttor.properties | 11 +++++++++++
kk/abouttor.properties | 11 +++++++++++
km/abouttor.properties | 11 +++++++++++
kn/abouttor.properties | 11 +++++++++++
ko/abouttor.properties | 11 +++++++++++
ko_KR/abouttor.properties | 11 +++++++++++
ku/abouttor.properties | 11 +++++++++++
ku_IQ/abouttor.properties | 11 +++++++++++
kw/abouttor.properties | 11 +++++++++++
ky/abouttor.properties | 11 +++++++++++
la/abouttor.properties | 11 +++++++++++
lb/abouttor.properties | 11 +++++++++++
lg/abouttor.properties | 11 +++++++++++
ln/abouttor.properties | 11 +++++++++++
lo/abouttor.properties | 11 +++++++++++
lt/abouttor.properties | 11 +++++++++++
lv/abouttor.properties | 11 +++++++++++
mg/abouttor.properties | 11 +++++++++++
mi/abouttor.properties | 11 +++++++++++
mk/abouttor.properties | 11 +++++++++++
ml/abouttor.properties | 11 +++++++++++
mn/abouttor.properties | 11 +++++++++++
mr/abouttor.properties | 11 +++++++++++
ms_MY/abouttor.properties | 11 +++++++++++
mt/abouttor.properties | 11 +++++++++++
my/abouttor.properties | 11 +++++++++++
nah/abouttor.properties | 11 +++++++++++
nap/abouttor.properties | 11 +++++++++++
nb/abouttor.properties | 11 +++++++++++
nds/abouttor.properties | 11 +++++++++++
ne/abouttor.properties | 11 +++++++++++
nl/abouttor.properties | 11 +++++++++++
nl_BE/abouttor.properties | 11 +++++++++++
nn/abouttor.properties | 11 +++++++++++
nso/abouttor.properties | 11 +++++++++++
oc/abouttor.properties | 11 +++++++++++
om/abouttor.properties | 11 +++++++++++
or/abouttor.properties | 11 +++++++++++
pa/abouttor.properties | 11 +++++++++++
pap/abouttor.properties | 11 +++++++++++
pl/abouttor.properties | 11 +++++++++++
pms/abouttor.properties | 11 +++++++++++
ps/abouttor.properties | 11 +++++++++++
pt/abouttor.properties | 11 +++++++++++
pt_BR/abouttor.properties | 11 +++++++++++
ro/abouttor.properties | 11 +++++++++++
ru/abouttor.properties | 11 +++++++++++
ru(a)petr1708/abouttor.properties | 11 +++++++++++
scn/abouttor.properties | 11 +++++++++++
sco/abouttor.properties | 11 +++++++++++
si_LK/abouttor.properties | 11 +++++++++++
sk/abouttor.properties | 11 +++++++++++
sk_SK/abouttor.properties | 11 +++++++++++
sl/abouttor.properties | 11 +++++++++++
sl_SI/abouttor.properties | 11 +++++++++++
sn/abouttor.properties | 11 +++++++++++
so/abouttor.properties | 11 +++++++++++
son/abouttor.properties | 11 +++++++++++
sq/abouttor.properties | 11 +++++++++++
sr/abouttor.properties | 11 +++++++++++
sr(a)latin/abouttor.properties | 11 +++++++++++
st/abouttor.properties | 11 +++++++++++
su/abouttor.properties | 11 +++++++++++
sv/abouttor.properties | 11 +++++++++++
sw/abouttor.properties | 11 +++++++++++
szl/abouttor.properties | 11 +++++++++++
ta/abouttor.properties | 11 +++++++++++
te/abouttor.properties | 11 +++++++++++
te_IN/abouttor.properties | 11 +++++++++++
tg/abouttor.properties | 11 +++++++++++
th/abouttor.properties | 11 +++++++++++
ti/abouttor.properties | 11 +++++++++++
tk/abouttor.properties | 11 +++++++++++
tr/abouttor.properties | 11 +++++++++++
tzm/abouttor.properties | 11 +++++++++++
ug(a)Arab/abouttor.properties | 11 +++++++++++
uk/abouttor.properties | 11 +++++++++++
ur/abouttor.properties | 11 +++++++++++
ur_PK/abouttor.properties | 11 +++++++++++
uz/abouttor.properties | 11 +++++++++++
ve/abouttor.properties | 11 +++++++++++
vi/abouttor.properties | 11 +++++++++++
wa/abouttor.properties | 11 +++++++++++
wo/abouttor.properties | 11 +++++++++++
zh_CN/abouttor.properties | 11 +++++++++++
zh_HK/abouttor.properties | 11 +++++++++++
zh_TW/abouttor.properties | 11 +++++++++++
zu/abouttor.properties | 11 +++++++++++
155 files changed, 1705 insertions(+)
diff --git a/ach/abouttor.properties b/ach/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ach/abouttor.properties
+++ b/ach/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ady/abouttor.properties b/ady/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ady/abouttor.properties
+++ b/ady/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/af/abouttor.properties b/af/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/af/abouttor.properties
+++ b/af/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ak/abouttor.properties b/ak/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ak/abouttor.properties
+++ b/ak/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/am/abouttor.properties b/am/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/am/abouttor.properties
+++ b/am/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ar/abouttor.properties b/ar/abouttor.properties
index a93fa4425..bd214e8e4 100644
--- a/ar/abouttor.properties
+++ b/ar/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=ابحث <a href="%1$S">آمنا</a> مع <a href="%2
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/arn/abouttor.properties b/arn/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/arn/abouttor.properties
+++ b/arn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ast/abouttor.properties b/ast/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ast/abouttor.properties
+++ b/ast/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/az/abouttor.properties b/az/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/az/abouttor.properties
+++ b/az/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ba/abouttor.properties b/ba/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ba/abouttor.properties
+++ b/ba/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/be/abouttor.properties b/be/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/be/abouttor.properties
+++ b/be/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/bg/abouttor.properties b/bg/abouttor.properties
index 3c1dcad83..f0b00bb7d 100644
--- a/bg/abouttor.properties
+++ b/bg/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Търси <a href="%1$S">сигурно</a> с <a hr
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/bn/abouttor.properties b/bn/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/bn/abouttor.properties
+++ b/bn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/bn_BD/abouttor.properties b/bn_BD/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/bn_BD/abouttor.properties
+++ b/bn_BD/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/bn_IN/abouttor.properties b/bn_IN/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/bn_IN/abouttor.properties
+++ b/bn_IN/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/bo/abouttor.properties b/bo/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/bo/abouttor.properties
+++ b/bo/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/br/abouttor.properties b/br/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/br/abouttor.properties
+++ b/br/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/brx/abouttor.properties b/brx/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/brx/abouttor.properties
+++ b/brx/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/bs/abouttor.properties b/bs/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/bs/abouttor.properties
+++ b/bs/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ca/abouttor.properties b/ca/abouttor.properties
index e348d7970..13997335d 100644
--- a/ca/abouttor.properties
+++ b/ca/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Cerca <a href="%1$S">de forma segura</a> amb <a href=
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ceb/abouttor.properties b/ceb/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ceb/abouttor.properties
+++ b/ceb/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/cs/abouttor.properties b/cs/abouttor.properties
index 58a1fb63c..690c639d0 100644
--- a/cs/abouttor.properties
+++ b/cs/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%1$S">Bezpečné</a> vyhledávání pomocí
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/csb/abouttor.properties b/csb/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/csb/abouttor.properties
+++ b/csb/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/cv/abouttor.properties b/cv/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/cv/abouttor.properties
+++ b/cv/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/cy/abouttor.properties b/cy/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/cy/abouttor.properties
+++ b/cy/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/da/abouttor.properties b/da/abouttor.properties
index 19dc52831..d47b6b1d3 100644
--- a/da/abouttor.properties
+++ b/da/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Søg <a href="%1$S">sikkert</a> med <a href="%2$S">Du
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/de/abouttor.properties b/de/abouttor.properties
index 132a3d0f8..bf7df5bce 100644
--- a/de/abouttor.properties
+++ b/de/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%1$S">Sicheres</a> Suchen mit <a href="%2$S"
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/dz/abouttor.properties b/dz/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/dz/abouttor.properties
+++ b/dz/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/el/abouttor.properties b/el/abouttor.properties
index d97da213e..2ac078104 100644
--- a/el/abouttor.properties
+++ b/el/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Ψάξτε <a href="%1$S"> αφαλές</a> με το
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/en/abouttor.properties b/en/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/en/abouttor.properties
+++ b/en/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/en_GB/abouttor.properties b/en_GB/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/en_GB/abouttor.properties
+++ b/en_GB/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/eo/abouttor.properties b/eo/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/eo/abouttor.properties
+++ b/eo/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/es/abouttor.properties b/es/abouttor.properties
index 2c464fb43..e4432566d 100644
--- a/es/abouttor.properties
+++ b/es/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Busque <a href="%1$S">de forma segura</a> con <a href
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy?kl=-es
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/?kl=-es
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/es_AR/abouttor.properties b/es_AR/abouttor.properties
index 7eb725c20..09a4e2798 100644
--- a/es_AR/abouttor.properties
+++ b/es_AR/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Busca a href="%1$S">Segura</a> con <a href="%2$S">Duc
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/es_CL/abouttor.properties b/es_CL/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/es_CL/abouttor.properties
+++ b/es_CL/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/es_CO/abouttor.properties b/es_CO/abouttor.properties
index a2cdf4b4d..256123ed8 100644
--- a/es_CO/abouttor.properties
+++ b/es_CO/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Buscar <a href="%1$S">securely</a>con <a href="%2$S">
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/es_MX/abouttor.properties b/es_MX/abouttor.properties
index 365c35bfc..d5c13d923 100644
--- a/es_MX/abouttor.properties
+++ b/es_MX/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Buscar<a href="%1$S">con seguridad</a> con <a href="%
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/et/abouttor.properties b/et/abouttor.properties
index 35fa7068a..574a778ed 100644
--- a/et/abouttor.properties
+++ b/et/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Otsi <a href="%1$S">turvaliselt</a> <a href="%2$S">Di
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/eu/abouttor.properties b/eu/abouttor.properties
index ffd89fecf..44fdda4bd 100644
--- a/eu/abouttor.properties
+++ b/eu/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Bilatu<a href="%1$S">modu seguruan</a> ondokoarekin:
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fa/abouttor.properties b/fa/abouttor.properties
index 8b819db05..35a0c2784 100644
--- a/fa/abouttor.properties
+++ b/fa/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=جستجو <a href="%1$S">ایمن</a> با <a href="
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fi/abouttor.properties b/fi/abouttor.properties
index 05a459ab0..1a6ee353f 100644
--- a/fi/abouttor.properties
+++ b/fi/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Hae <a href="%1$S">turvallisesti</a> <a href="%2$S">D
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fil/abouttor.properties b/fil/abouttor.properties
index 554f79586..be342fd8b 100644
--- a/fil/abouttor.properties
+++ b/fil/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Hanapin ang <a href="%1$S">ng secure</a> gamit ang<a
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fo/abouttor.properties b/fo/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/fo/abouttor.properties
+++ b/fo/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fr/abouttor.properties b/fr/abouttor.properties
index c5bec4c9b..6a717e0a4 100644
--- a/fr/abouttor.properties
+++ b/fr/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Rechercher <a href="%1$S">en toute sécurité</a> ave
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fr_CA/abouttor.properties b/fr_CA/abouttor.properties
index c5bec4c9b..6a717e0a4 100644
--- a/fr_CA/abouttor.properties
+++ b/fr_CA/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Rechercher <a href="%1$S">en toute sécurité</a> ave
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fur/abouttor.properties b/fur/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/fur/abouttor.properties
+++ b/fur/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/fy/abouttor.properties b/fy/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/fy/abouttor.properties
+++ b/fy/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ga/abouttor.properties b/ga/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ga/abouttor.properties
+++ b/ga/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/gd/abouttor.properties b/gd/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/gd/abouttor.properties
+++ b/gd/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/gl/abouttor.properties b/gl/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/gl/abouttor.properties
+++ b/gl/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/gu/abouttor.properties b/gu/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/gu/abouttor.properties
+++ b/gu/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/gu_IN/abouttor.properties b/gu_IN/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/gu_IN/abouttor.properties
+++ b/gu_IN/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/gun/abouttor.properties b/gun/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/gun/abouttor.properties
+++ b/gun/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ha/abouttor.properties b/ha/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ha/abouttor.properties
+++ b/ha/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/he/abouttor.properties b/he/abouttor.properties
index 5c76c3485..2e095e475 100644
--- a/he/abouttor.properties
+++ b/he/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=חפש <a href="%1$S">בבטחה</a> עם <a href="%2
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/hi/abouttor.properties b/hi/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/hi/abouttor.properties
+++ b/hi/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/hr/abouttor.properties b/hr/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/hr/abouttor.properties
+++ b/hr/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/hr_HR/abouttor.properties b/hr_HR/abouttor.properties
index 4efbfc09e..8ae3f605c 100644
--- a/hr_HR/abouttor.properties
+++ b/hr_HR/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Pretraži <a href="%1$S">sigurno</a> s <a href="%2$S"
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ht/abouttor.properties b/ht/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ht/abouttor.properties
+++ b/ht/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/hu/abouttor.properties b/hu/abouttor.properties
index f210ec785..1e0048f2d 100644
--- a/hu/abouttor.properties
+++ b/hu/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Keresés <a href="%1$S">biztonságosan</a> a <a href=
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/hy/abouttor.properties b/hy/abouttor.properties
index ee8789a09..8f98cd4a4 100644
--- a/hy/abouttor.properties
+++ b/hy/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Որոնեք <a href="%1$S">անվտանգ</a> <a hre
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ia/abouttor.properties b/ia/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ia/abouttor.properties
+++ b/ia/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/id/abouttor.properties b/id/abouttor.properties
index 76963c091..a3f3e56fe 100644
--- a/id/abouttor.properties
+++ b/id/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Cari <a href="%1$S">secara aman</a> dengan <a href="%
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privasi.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/is/abouttor.properties b/is/abouttor.properties
index 2ebf49d07..ba507e221 100644
--- a/is/abouttor.properties
+++ b/is/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Leita á <a href="%1$S">öruggan hátt</a> með <a hr
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/it/abouttor.properties b/it/abouttor.properties
index ebd910ff5..fad2107c7 100644
--- a/it/abouttor.properties
+++ b/it/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Cerca <a href="%1$S">in modo sicuro</a> con <a href="
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ja/abouttor.properties b/ja/abouttor.properties
index 04863e392..28673fe64 100644
--- a/ja/abouttor.properties
+++ b/ja/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a>で<a href="%1$S">安全
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/jv/abouttor.properties b/jv/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/jv/abouttor.properties
+++ b/jv/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ka/abouttor.properties b/ka/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ka/abouttor.properties
+++ b/ka/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/kk/abouttor.properties b/kk/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/kk/abouttor.properties
+++ b/kk/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/km/abouttor.properties b/km/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/km/abouttor.properties
+++ b/km/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/kn/abouttor.properties b/kn/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/kn/abouttor.properties
+++ b/kn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ko/abouttor.properties b/ko/abouttor.properties
index 33ce0e8af..af388c11e 100644
--- a/ko/abouttor.properties
+++ b/ko/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a>를 통해 <a href="%1$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ko_KR/abouttor.properties b/ko_KR/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ko_KR/abouttor.properties
+++ b/ko_KR/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ku/abouttor.properties b/ku/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ku/abouttor.properties
+++ b/ku/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ku_IQ/abouttor.properties b/ku_IQ/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ku_IQ/abouttor.properties
+++ b/ku_IQ/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/kw/abouttor.properties b/kw/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/kw/abouttor.properties
+++ b/kw/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ky/abouttor.properties b/ky/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ky/abouttor.properties
+++ b/ky/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/la/abouttor.properties b/la/abouttor.properties
index 22eecd8b8..d80a206fc 100644
--- a/la/abouttor.properties
+++ b/la/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Quaerere <a href="%1$S">certe</a> cum <a href="%2$S">
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/lb/abouttor.properties b/lb/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/lb/abouttor.properties
+++ b/lb/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/lg/abouttor.properties b/lg/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/lg/abouttor.properties
+++ b/lg/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ln/abouttor.properties b/ln/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ln/abouttor.properties
+++ b/ln/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/lo/abouttor.properties b/lo/abouttor.properties
index c39f50b1a..c95e66721 100644
--- a/lo/abouttor.properties
+++ b/lo/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=ຊອກຫາ <a href="%1$S">ແບບປອດໄ
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/lt/abouttor.properties b/lt/abouttor.properties
index 80eced8b1..c6cb67c7b 100644
--- a/lt/abouttor.properties
+++ b/lt/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Ieškokite <a href="%1$S">saugiai</a> su <a href="%2$
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/lv/abouttor.properties b/lv/abouttor.properties
index 7b8418156..7764fe0bf 100644
--- a/lv/abouttor.properties
+++ b/lv/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Meklēt <a href="%1$S">droši</a> izmantojot <a href=
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/mg/abouttor.properties b/mg/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/mg/abouttor.properties
+++ b/mg/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/mi/abouttor.properties b/mi/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/mi/abouttor.properties
+++ b/mi/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/mk/abouttor.properties b/mk/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/mk/abouttor.properties
+++ b/mk/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ml/abouttor.properties b/ml/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ml/abouttor.properties
+++ b/ml/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/mn/abouttor.properties b/mn/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/mn/abouttor.properties
+++ b/mn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/mr/abouttor.properties b/mr/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/mr/abouttor.properties
+++ b/mr/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ms_MY/abouttor.properties b/ms_MY/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ms_MY/abouttor.properties
+++ b/ms_MY/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/mt/abouttor.properties b/mt/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/mt/abouttor.properties
+++ b/mt/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/my/abouttor.properties b/my/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/my/abouttor.properties
+++ b/my/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nah/abouttor.properties b/nah/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/nah/abouttor.properties
+++ b/nah/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nap/abouttor.properties b/nap/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/nap/abouttor.properties
+++ b/nap/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nb/abouttor.properties b/nb/abouttor.properties
index 919409cdc..35538498c 100644
--- a/nb/abouttor.properties
+++ b/nb/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Søk <a href="%1$S">sikkert</a> med <a href="%2$S">Du
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nds/abouttor.properties b/nds/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/nds/abouttor.properties
+++ b/nds/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ne/abouttor.properties b/ne/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ne/abouttor.properties
+++ b/ne/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nl/abouttor.properties b/nl/abouttor.properties
index a85279afc..c0ee516cc 100644
--- a/nl/abouttor.properties
+++ b/nl/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%1$S">Veilig</a> zoeken met <a href="%2$S">D
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nl_BE/abouttor.properties b/nl_BE/abouttor.properties
index 157214c3e..7d0245119 100644
--- a/nl_BE/abouttor.properties
+++ b/nl_BE/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Zoek<a href="%1$S">veilig</a> met<a href="%2$S">DuckD
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nn/abouttor.properties b/nn/abouttor.properties
index fe40dc02c..97070b0df 100644
--- a/nn/abouttor.properties
+++ b/nn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Seøk <a href="%1$S">trygt</a> med <a href="%2$S">Duc
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/nso/abouttor.properties b/nso/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/nso/abouttor.properties
+++ b/nso/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/oc/abouttor.properties b/oc/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/oc/abouttor.properties
+++ b/oc/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/om/abouttor.properties b/om/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/om/abouttor.properties
+++ b/om/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/or/abouttor.properties b/or/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/or/abouttor.properties
+++ b/or/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/pa/abouttor.properties b/pa/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/pa/abouttor.properties
+++ b/pa/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/pap/abouttor.properties b/pap/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/pap/abouttor.properties
+++ b/pap/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/pl/abouttor.properties b/pl/abouttor.properties
index 28f1e0b2a..94f7734fe 100644
--- a/pl/abouttor.properties
+++ b/pl/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Szukaj <a href="%1$S">bezpiecznie</a> używając wysz
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/pms/abouttor.properties b/pms/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/pms/abouttor.properties
+++ b/pms/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ps/abouttor.properties b/ps/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ps/abouttor.properties
+++ b/ps/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/pt/abouttor.properties b/pt/abouttor.properties
index 19778103e..f15d715e1 100644
--- a/pt/abouttor.properties
+++ b/pt/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Procurar com <a href="%1$S">segurança</a> com <a hre
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/pt_BR/abouttor.properties b/pt_BR/abouttor.properties
index 76e2b42c6..421a49b4d 100644
--- a/pt_BR/abouttor.properties
+++ b/pt_BR/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Buscar <a href="%1$S">com segurança</a> utilizando <
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ro/abouttor.properties b/ro/abouttor.properties
index b007553ea..951830638 100644
--- a/ro/abouttor.properties
+++ b/ro/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Căutați <a href="%1$S">sigur</a> cu <a href="%2$S">
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ru/abouttor.properties b/ru/abouttor.properties
index 2c1cba68d..59cb9d394 100644
--- a/ru/abouttor.properties
+++ b/ru/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Ищите<a href="%1$S">безопасно</a> с <a
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ru(a)petr1708/abouttor.properties b/ru(a)petr1708/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ru(a)petr1708/abouttor.properties
+++ b/ru(a)petr1708/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/scn/abouttor.properties b/scn/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/scn/abouttor.properties
+++ b/scn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sco/abouttor.properties b/sco/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/sco/abouttor.properties
+++ b/sco/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/si_LK/abouttor.properties b/si_LK/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/si_LK/abouttor.properties
+++ b/si_LK/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sk/abouttor.properties b/sk/abouttor.properties
index b1c07288f..b1d379659 100644
--- a/sk/abouttor.properties
+++ b/sk/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Môžete použiť aj bezpečné <a href="%1$S">hľada
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sk_SK/abouttor.properties b/sk_SK/abouttor.properties
index 6791536e6..8dc42fc24 100644
--- a/sk_SK/abouttor.properties
+++ b/sk_SK/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Vyhľadávanie <a href="%1$S">bezpečne</a> s <a href
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sl/abouttor.properties b/sl/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/sl/abouttor.properties
+++ b/sl/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sl_SI/abouttor.properties b/sl_SI/abouttor.properties
index 47ffed920..f463a9476 100644
--- a/sl_SI/abouttor.properties
+++ b/sl_SI/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Iščite <a href="%1$S">varno</a> z <a href="%2$S">Du
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sn/abouttor.properties b/sn/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/sn/abouttor.properties
+++ b/sn/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/so/abouttor.properties b/so/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/so/abouttor.properties
+++ b/so/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/son/abouttor.properties b/son/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/son/abouttor.properties
+++ b/son/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sq/abouttor.properties b/sq/abouttor.properties
index 34eb5d65b..63a381857 100644
--- a/sq/abouttor.properties
+++ b/sq/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Kërkoni <a href="%1$S">në siguri</a> me <a href="%2
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sr/abouttor.properties b/sr/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/sr/abouttor.properties
+++ b/sr/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sr(a)latin/abouttor.properties b/sr(a)latin/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/sr(a)latin/abouttor.properties
+++ b/sr(a)latin/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/st/abouttor.properties b/st/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/st/abouttor.properties
+++ b/st/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/su/abouttor.properties b/su/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/su/abouttor.properties
+++ b/su/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sv/abouttor.properties b/sv/abouttor.properties
index 3f8d27604..f516f2e94 100644
--- a/sv/abouttor.properties
+++ b/sv/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Sök <a href="%1$S">säkert</a> med <a href="%2$S">Du
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/sw/abouttor.properties b/sw/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/sw/abouttor.properties
+++ b/sw/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/szl/abouttor.properties b/szl/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/szl/abouttor.properties
+++ b/szl/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ta/abouttor.properties b/ta/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ta/abouttor.properties
+++ b/ta/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/te/abouttor.properties b/te/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/te/abouttor.properties
+++ b/te/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/te_IN/abouttor.properties b/te_IN/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/te_IN/abouttor.properties
+++ b/te_IN/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/tg/abouttor.properties b/tg/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/tg/abouttor.properties
+++ b/tg/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/th/abouttor.properties b/th/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/th/abouttor.properties
+++ b/th/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ti/abouttor.properties b/ti/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ti/abouttor.properties
+++ b/ti/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/tk/abouttor.properties b/tk/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/tk/abouttor.properties
+++ b/tk/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/tr/abouttor.properties b/tr/abouttor.properties
index 17ed50d77..5d606eea6 100644
--- a/tr/abouttor.properties
+++ b/tr/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a> kullanarak <a href="%1$
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/tzm/abouttor.properties b/tzm/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/tzm/abouttor.properties
+++ b/tzm/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ug(a)Arab/abouttor.properties b/ug(a)Arab/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ug(a)Arab/abouttor.properties
+++ b/ug(a)Arab/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/uk/abouttor.properties b/uk/abouttor.properties
index 2593d48cd..85acabc8a 100644
--- a/uk/abouttor.properties
+++ b/uk/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Шукати <a href="%1$S">безпечно</a> за
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ur/abouttor.properties b/ur/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ur/abouttor.properties
+++ b/ur/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ur_PK/abouttor.properties b/ur_PK/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ur_PK/abouttor.properties
+++ b/ur_PK/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/uz/abouttor.properties b/uz/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/uz/abouttor.properties
+++ b/uz/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/ve/abouttor.properties b/ve/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/ve/abouttor.properties
+++ b/ve/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/vi/abouttor.properties b/vi/abouttor.properties
index 6cdeffb69..218a869b8 100644
--- a/vi/abouttor.properties
+++ b/vi/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Tìm kiếm <a href="%1$S">một cách an toàn</a>v
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/wa/abouttor.properties b/wa/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/wa/abouttor.properties
+++ b/wa/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/wo/abouttor.properties b/wo/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/wo/abouttor.properties
+++ b/wo/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/zh_CN/abouttor.properties b/zh_CN/abouttor.properties
index 0bd6766fc..e8324bc18 100644
--- a/zh_CN/abouttor.properties
+++ b/zh_CN/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=使用<a href="%2$S">DuckDuckGo</a><a href="%1$S">安
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/zh_HK/abouttor.properties b/zh_HK/abouttor.properties
index 9eaf5e7f8..1ee4b93c7 100644
--- a/zh_HK/abouttor.properties
+++ b/zh_HK/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=透過<a href="%2$S">DuckDuckGo</a>嚟<a href="%1$S">
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/zh_TW/abouttor.properties b/zh_TW/abouttor.properties
index 338d78d45..832b6cc7a 100644
--- a/zh_TW/abouttor.properties
+++ b/zh_TW/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=透過 <a href="%2$S">DuckDuckGo</a> <a href="%1$S">
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
diff --git a/zu/abouttor.properties b/zu/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/zu/abouttor.properties
+++ b/zu/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
1
0

[translation/torbutton-abouttorproperties_completed] Update translations for torbutton-abouttorproperties_completed
by translation@torproject.org 15 Sep '17
by translation@torproject.org 15 Sep '17
15 Sep '17
commit 15a462ab4362bd45139be9553e72685124c30f3d
Author: Translation commit bot <translation(a)torproject.org>
Date: Fri Sep 15 17:17:55 2017 +0000
Update translations for torbutton-abouttorproperties_completed
---
en/abouttor.properties | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/en/abouttor.properties b/en/abouttor.properties
index f9723bf25..4436e2109 100644
--- a/en/abouttor.properties
+++ b/en/abouttor.properties
@@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
+
+aboutTor.donationBanner.donate=Donate Now!
+
+aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance.
+aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift!
+
+aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006
+aboutTor.donationBanner.tagline2=Networking Freedom Worldwide
+aboutTor.donationBanner.tagline3=Freedom Online
+aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide
+aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day
1
0
commit f02fd6c3af71141241137403d070d72310cbfd82
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu Sep 7 09:51:45 2017 -0400
Remove AllowDotExit.
It's been deprecated since 0.2.9.2-alpha. Closes ticket 23426.
---
changes/bug23426 | 4 ++++
doc/tor.1.txt | 8 +-------
src/or/config.c | 4 +---
src/or/connection_edge.c | 21 ++++++++++-----------
src/or/or.h | 7 -------
src/test/test_entryconn.c | 36 ++++++------------------------------
6 files changed, 22 insertions(+), 58 deletions(-)
diff --git a/changes/bug23426 b/changes/bug23426
new file mode 100644
index 000000000..63c127c53
--- /dev/null
+++ b/changes/bug23426
@@ -0,0 +1,4 @@
+ o Removed features:
+ - The AllowDotExit option has been removed as unsafe. It has
+ been deprecated since 0.2.9.2-alpha. Closes ticket 23426.
+
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index aec176705..7b67ab9ad 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -924,7 +924,7 @@ The following options are useful only for clients (that is, if
The ExcludeNodes option overrides this option: any node listed in both
ExitNodes and ExcludeNodes is treated as excluded. +
+
- The .exit address notation, if enabled via AllowDotExit, overrides
+ The .exit address notation, if enabled via MapAddress, overrides
this option.
[[EntryNodes]] **EntryNodes** __node__,__node__,__...__::
@@ -1328,12 +1328,6 @@ The following options are useful only for clients (that is, if
resolved. This helps trap accidental attempts to resolve URLs and so on.
(Default: 0)
-[[AllowDotExit]] **AllowDotExit** **0**|**1**::
- If enabled, we convert "www.google.com.foo.exit" addresses on the
- SocksPort/TransPort/NATDPort into "www.google.com" addresses that exit from
- the node "foo". Disabled by default since attacking websites and exit
- relays can use it to manipulate your path selection. (Default: 0)
-
[[HTTPTunnelPort]] **HTTPTunnelPort** \['address':]__port__|**auto** [_isolation flags_]::
Open this port to listen for proxy connections using the "HTTP CONNECT"
protocol instead of SOCKS. Set this to 0
diff --git a/src/or/config.c b/src/or/config.c
index eb89d6f5e..d2c076b71 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -206,7 +206,7 @@ static config_var_t option_vars_[] = {
VAR("AccountingRule", STRING, AccountingRule_option, "max"),
V(AccountingStart, STRING, NULL),
V(Address, STRING, NULL),
- V(AllowDotExit, BOOL, "0"),
+ OBSOLETE("AllowDotExit"),
OBSOLETE("AllowInvalidNodes"),
V(AllowNonRFC953Hostnames, BOOL, "0"),
OBSOLETE("AllowSingleHopCircuits"),
@@ -671,8 +671,6 @@ static const config_var_t testing_tor_network_defaults[] = {
static const config_deprecation_t option_deprecation_notes_[] = {
/* Deprecated since 0.2.9.2-alpha... */
- { "AllowDotExit", "Unrestricted use of the .exit notation can be used for "
- "a wide variety of application-level attacks." },
{ "ClientDNSRejectInternalAddresses", "Turning this on makes your client "
"easier to fingerprint, and may open you to esoteric attacks." },
/* End of options deprecated since 0.2.9.2-alpha. */
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index a9fdeee0e..37d82e2ae 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -1235,10 +1235,9 @@ connection_ap_handshake_rewrite(entry_connection_t *conn,
/* Check for whether this is a .exit address. By default, those are
* disallowed when they're coming straight from the client, but you're
* allowed to have them in MapAddress commands and so forth. */
- if (!strcmpend(socks->address, ".exit") && !options->AllowDotExit) {
+ if (!strcmpend(socks->address, ".exit")) {
log_warn(LD_APP, "The \".exit\" notation is disabled in Tor due to "
- "security risks. Set AllowDotExit in your torrc to enable "
- "it (at your own risk).");
+ "security risks.");
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
escaped(socks->address));
out->end_reason = END_STREAM_REASON_TORPROTOCOL;
@@ -1653,23 +1652,23 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
const node_t *node = NULL;
/* If this .exit was added by an AUTOMAP, then it came straight from
- * a user. Make sure that options->AllowDotExit permits that! */
- if (exit_source == ADDRMAPSRC_AUTOMAP && !options->AllowDotExit) {
- /* Whoops; this one is stale. It must have gotten added earlier,
- * when AllowDotExit was on. */
- log_warn(LD_APP,"Stale automapped address for '%s.exit', with "
- "AllowDotExit disabled. Refusing.",
+ * a user. That's not safe. */
+ if (exit_source == ADDRMAPSRC_AUTOMAP) {
+ /* Whoops; this one is stale. It must have gotten added earlier?
+ * (Probably this is not possible, since AllowDotExit no longer
+ * exists.) */
+ log_warn(LD_APP,"Stale automapped address for '%s.exit'. Refusing.",
safe_str_client(socks->address));
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
escaped(socks->address));
connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
+ tor_assert_nonfatal_unreached();
return -1;
}
/* Double-check to make sure there are no .exits coming from
* impossible/weird sources. */
- if (exit_source == ADDRMAPSRC_DNS ||
- (exit_source == ADDRMAPSRC_NONE && !options->AllowDotExit)) {
+ if (exit_source == ADDRMAPSRC_DNS || exit_source == ADDRMAPSRC_NONE) {
/* It shouldn't be possible to get a .exit address from any of these
* sources. */
log_warn(LD_BUG,"Address '%s.exit', with impossible source for the "
diff --git a/src/or/or.h b/src/or/or.h
index 5a543b498..b445d4808 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -4160,13 +4160,6 @@ typedef struct {
* if we are a cache). For authorities, this is always true. */
int DownloadExtraInfo;
- /** If true, we convert "www.google.com.foo.exit" addresses on the
- * socks/trans/natd ports into "www.google.com" addresses that
- * exit from the node "foo". Disabled by default since attacking
- * websites and exit relays can use it to manipulate your path
- * selection. */
- int AllowDotExit;
-
/** If true, we're configured to collect statistics on clients
* requesting network statuses from us as directory. */
int DirReqStatistics_option;
diff --git a/src/test/test_entryconn.c b/src/test/test_entryconn.c
index 9fe3db26f..b2c95f41e 100644
--- a/src/test/test_entryconn.c
+++ b/src/test/test_entryconn.c
@@ -76,7 +76,6 @@ test_entryconn_rewrite_bad_dotexit(void *arg)
entry_connection_t *ec = arg;
rewrite_result_t rr;
- get_options_mutable()->AllowDotExit = 0;
tt_assert(ec->socks_request);
strlcpy(ec->socks_request->address, "www.TORproject.org.foo.exit",
sizeof(ec->socks_request->address));
@@ -480,7 +479,7 @@ test_entryconn_rewrite_reject_internal_reverse(void *arg)
;
}
-/* Rewrite into .exit because of virtual address mapping */
+/* Rewrite into .exit because of virtual address mapping. */
static void
test_entryconn_rewrite_automap_exit(void *arg)
{
@@ -491,43 +490,21 @@ test_entryconn_rewrite_automap_exit(void *arg)
ec2 = entry_connection_new(CONN_TYPE_AP, AF_INET);
- get_options_mutable()->AutomapHostsOnResolve = 1;
- get_options_mutable()->AllowDotExit = 1;
smartlist_add_strdup(get_options_mutable()->AutomapHostsSuffixes,
".EXIT");
parse_virtual_addr_network("127.1.0.0/16", AF_INET, 0, &msg);
- /* Automap this on resolve. */
+ /* Try to automap this on resolve. */
strlcpy(ec->socks_request->address, "website.example.exit",
sizeof(ec->socks_request->address));
ec->socks_request->command = SOCKS_COMMAND_RESOLVE;
connection_ap_handshake_rewrite(ec, &rr);
- tt_int_op(rr.automap, OP_EQ, 1);
- tt_int_op(rr.should_close, OP_EQ, 0);
- tt_int_op(rr.end_reason, OP_EQ, 0);
- tt_i64_op(rr.map_expires, OP_EQ, TIME_MAX);
- tt_int_op(rr.exit_source, OP_EQ, ADDRMAPSRC_NONE);
- tt_str_op(rr.orig_address, OP_EQ, "website.example.exit");
- tt_str_op(ec->original_dest_address, OP_EQ, "website.example.exit");
-
- tt_assert(!strcmpstart(ec->socks_request->address,"127.1."));
-
- /* Connect to it and make sure we get the original address back. */
- strlcpy(ec2->socks_request->address, ec->socks_request->address,
- sizeof(ec2->socks_request->address));
-
- ec2->socks_request->command = SOCKS_COMMAND_CONNECT;
- connection_ap_handshake_rewrite(ec2, &rr);
-
+ /* Make sure it isn't allowed -- there is no longer an AllowDotExit
+ * option. */
tt_int_op(rr.automap, OP_EQ, 0);
- tt_int_op(rr.should_close, OP_EQ, 0);
- tt_int_op(rr.end_reason, OP_EQ, 0);
- tt_i64_op(rr.map_expires, OP_EQ, TIME_MAX);
- tt_int_op(rr.exit_source, OP_EQ, ADDRMAPSRC_AUTOMAP);
- tt_str_op(rr.orig_address, OP_EQ, ec->socks_request->address);
- tt_str_op(ec2->original_dest_address, OP_EQ, ec->socks_request->address);
- tt_str_op(ec2->socks_request->address, OP_EQ, "website.example.exit");
+ tt_int_op(rr.should_close, OP_EQ, 1);
+ tt_int_op(rr.end_reason, OP_EQ, END_STREAM_REASON_TORPROTOCOL);
done:
connection_free_(ENTRY_TO_CONN(ec2));
@@ -577,7 +554,6 @@ test_entryconn_rewrite_mapaddress_automap_onion(void *arg)
ec4 = entry_connection_new(CONN_TYPE_AP, AF_INET);
get_options_mutable()->AutomapHostsOnResolve = 1;
- get_options_mutable()->AllowDotExit = 1;
smartlist_add_strdup(get_options_mutable()->AutomapHostsSuffixes,
".onion");
parse_virtual_addr_network("192.168.0.0/16", AF_INET, 0, &msg);
1
0
commit 37302e64a4c53975bfb300bd46024d1eb503bd11
Merge: fea2d84ce f02fd6c3a
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Fri Sep 15 12:10:47 2017 -0400
Merge branch 'remove_allow_dotexit_v2'
changes/bug23426 | 4 ++++
doc/tor.1.txt | 8 +-------
src/or/config.c | 7 +------
src/or/connection_edge.c | 21 ++++++++++-----------
src/or/or.h | 7 -------
src/test/test_entryconn.c | 36 ++++++------------------------------
6 files changed, 22 insertions(+), 61 deletions(-)
diff --cc src/or/config.c
index 4a1361f9f,d2c076b71..93a000898
--- a/src/or/config.c
+++ b/src/or/config.c
@@@ -684,11 -670,11 +684,6 @@@ static const config_var_t testing_tor_n
#undef OBSOLETE
static const config_deprecation_t option_deprecation_notes_[] = {
-- /* Deprecated since 0.2.9.2-alpha... */
- { "AllowDotExit", "Unrestricted use of the .exit notation can be used for "
- "a wide variety of application-level attacks." },
- { "ClientDNSRejectInternalAddresses", "Turning this on makes your client "
- "easier to fingerprint, and may open you to esoteric attacks." },
-- /* End of options deprecated since 0.2.9.2-alpha. */
--
/* Deprecated since 0.3.2.0-alpha. */
{ "HTTPProxy", "It only applies to direct unencrypted HTTP connections "
"to your directory server, which your Tor probably wasn't using." },
1
0

[tor/master] consensus: Add a generic notification function on new consensus
by nickm@torproject.org 15 Sep '17
by nickm@torproject.org 15 Sep '17
15 Sep '17
commit 91c7bebfa27efe059c29dbeac935942e2cc32c86
Author: Matt Traudt <sirmatt(a)ksu.edu>
Date: Mon Jul 10 16:10:50 2017 -0400
consensus: Add a generic notification function on new consensus
Some groundwork for the KIST scheduler implementation.
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
src/or/networkstatus.c | 19 ++++++++++++++-----
src/or/networkstatus.h | 7 +++----
src/or/scheduler.c | 10 ++++++++++
src/or/scheduler.h | 5 +++++
4 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index e25a3d316..ee6d0f3cc 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -61,6 +61,7 @@
#include "router.h"
#include "routerlist.h"
#include "routerparse.h"
+#include "scheduler.h"
#include "shared_random.h"
#include "transports.h"
#include "torcert.h"
@@ -1610,6 +1611,15 @@ notify_control_networkstatus_changed(const networkstatus_t *old_c,
smartlist_free(changed);
}
+/* Called when the consensus has changed from old_c to new_c. */
+static void
+notify_networkstatus_changed(const networkstatus_t *old_c,
+ const networkstatus_t *new_c)
+{
+ notify_control_networkstatus_changed(old_c, new_c);
+ scheduler_notify_networkstatus_changed(old_c, new_c);
+}
+
/** Copy all the ancillary information (like router download status and so on)
* from <b>old_c</b> to <b>new_c</b>. */
static void
@@ -1935,8 +1945,7 @@ networkstatus_set_current_consensus(const char *consensus,
const int is_usable_flavor = flav == usable_consensus_flavor();
if (is_usable_flavor) {
- notify_control_networkstatus_changed(
- networkstatus_get_latest_consensus(), c);
+ notify_networkstatus_changed(networkstatus_get_latest_consensus(), c);
}
if (flav == FLAV_NS) {
if (current_ns_consensus) {
@@ -2387,9 +2396,9 @@ get_net_param_from_list(smartlist_t *net_params, const char *param_name,
* Make sure the value parsed from the consensus is at least
* <b>min_val</b> and at most <b>max_val</b> and raise/cap the parsed value
* if necessary. */
-int32_t
-networkstatus_get_param(const networkstatus_t *ns, const char *param_name,
- int32_t default_val, int32_t min_val, int32_t max_val)
+MOCK_IMPL(int32_t,
+networkstatus_get_param, (const networkstatus_t *ns, const char *param_name,
+ int32_t default_val, int32_t min_val, int32_t max_val))
{
if (!ns) /* if they pass in null, go find it ourselves */
ns = networkstatus_get_latest_consensus();
diff --git a/src/or/networkstatus.h b/src/or/networkstatus.h
index f9320747d..7abd47b0a 100644
--- a/src/or/networkstatus.h
+++ b/src/or/networkstatus.h
@@ -114,10 +114,9 @@ void signed_descs_update_status_from_consensus_networkstatus(
char *networkstatus_getinfo_helper_single(const routerstatus_t *rs);
char *networkstatus_getinfo_by_purpose(const char *purpose_string, time_t now);
void networkstatus_dump_bridge_status_to_file(time_t now);
-int32_t networkstatus_get_param(const networkstatus_t *ns,
- const char *param_name,
- int32_t default_val, int32_t min_val,
- int32_t max_val);
+MOCK_DECL(int32_t, networkstatus_get_param,
+ (const networkstatus_t *ns, const char *param_name,
+ int32_t default_val, int32_t min_val, int32_t max_val));
int32_t networkstatus_get_overridable_param(const networkstatus_t *ns,
int32_t torrc_value,
const char *param_name,
diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 0d31c7d58..eb31bc215 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -736,3 +736,13 @@ scheduler_set_watermarks(uint32_t lo, uint32_t hi, uint32_t max_flush)
sched_max_flush_cells = max_flush;
}
+/* XXXFORTOR Temp def of this func to get this commit to compile. Replace with
+ * real func */
+void
+scheduler_notify_networkstatus_changed(const networkstatus_t *old_c,
+ const networkstatus_t *new_c)
+{
+ (void) old_c;
+ (void) new_c;
+}
+
diff --git a/src/or/scheduler.h b/src/or/scheduler.h
index e29c13de7..699ccde7a 100644
--- a/src/or/scheduler.h
+++ b/src/or/scheduler.h
@@ -37,6 +37,11 @@ void scheduler_touch_channel(channel_t *chan);
/* Adjust the watermarks from config file*/
void scheduler_set_watermarks(uint32_t lo, uint32_t hi, uint32_t max_flush);
+/* XXXFORTOR Temp def of this func to get this commit to compile. Replace with
+ * real func */
+void scheduler_notify_networkstatus_changed(const networkstatus_t *old_c,
+ const networkstatus_t *new_c);
+
/* Things only scheduler.c and its test suite should see */
#ifdef SCHEDULER_PRIVATE_
1
0

[tor/master] sched: Remove vanilla sched options that will be going away
by nickm@torproject.org 15 Sep '17
by nickm@torproject.org 15 Sep '17
15 Sep '17
commit b2c56eacdd61429f17b9e14db665592ac4453c50
Author: Matt Traudt <sirmatt(a)ksu.edu>
Date: Mon Jul 10 10:47:56 2017 -0400
sched: Remove vanilla sched options that will be going away
- massive change to src/tgest/test_options.c since the sched options
were added all over the place in it
- removing the sched options caused some tests to pass/fail in new ways
so I assumed current behavior is correct and made them pass again
- ex: "ConnLimit must be greater" lines
- ex: "Authoritative directory servers must" line
- remove test_options_validate__scheduler in prep for new sched tests
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
src/or/config.c | 30 ++---
src/or/or.h | 22 ++--
src/test/test_options.c | 292 +++++++++++-------------------------------------
3 files changed, 87 insertions(+), 257 deletions(-)
diff --git a/src/or/config.c b/src/or/config.c
index eb89d6f5e..a7bc23af5 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -486,9 +486,11 @@ static config_var_t option_vars_[] = {
V(ServerDNSSearchDomains, BOOL, "0"),
V(ServerDNSTestAddresses, CSV,
"www.google.com,www.mit.edu,www.yahoo.com,www.slashdot.org"),
- V(SchedulerLowWaterMark__, MEMUNIT, "100 MB"),
- V(SchedulerHighWaterMark__, MEMUNIT, "101 MB"),
- V(SchedulerMaxFlushCells__, UINT, "1000"),
+ OBSOLETE("SchedulerLowWaterMark__"),
+ OBSOLETE("SchedulerHighWaterMark__"),
+ OBSOLETE("SchedulerMaxFlushCells__"),
+ V(KISTSchedRunInterval, MSEC_INTERVAL, "0 msec"),
+ V(KISTSockBufSizeFactor, DOUBLE, "1.0"),
V(ShutdownWaitLength, INTERVAL, "30 seconds"),
OBSOLETE("SocksListenAddress"),
V(SocksPolicy, LINELIST, NULL),
@@ -1811,11 +1813,14 @@ options_act(const or_options_t *old_options)
return -1;
}
+ /* XXXFORTOR remove set_watermarks */
/* Set up scheduler thresholds */
- scheduler_set_watermarks((uint32_t)options->SchedulerLowWaterMark__,
- (uint32_t)options->SchedulerHighWaterMark__,
- (options->SchedulerMaxFlushCells__ > 0) ?
- options->SchedulerMaxFlushCells__ : 1000);
+ scheduler_set_watermarks(100 * 1024*1024 /* 100 MB */,
+ 101 * 1024*1024 /* 101 MB */,
+ 100);
+
+ /* XXXFORTOR enable notification to sched that the conf might have changed */
+ //scheduler_conf_changed();
/* Set up accounting */
if (accounting_parse_options(options, 0)<0) {
@@ -3112,17 +3117,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
routerset_union(options->ExcludeExitNodesUnion_,options->ExcludeNodes);
}
- if (options->SchedulerLowWaterMark__ == 0 ||
- options->SchedulerLowWaterMark__ > UINT32_MAX) {
- log_warn(LD_GENERAL, "Bad SchedulerLowWaterMark__ option");
- return -1;
- } else if (options->SchedulerHighWaterMark__ <=
- options->SchedulerLowWaterMark__ ||
- options->SchedulerHighWaterMark__ > UINT32_MAX) {
- log_warn(LD_GENERAL, "Bad SchedulerHighWaterMark option");
- return -1;
- }
-
if (options->NodeFamilies) {
options->NodeFamilySets = smartlist_new();
for (cl = options->NodeFamilies; cl; cl = cl->next) {
diff --git a/src/or/or.h b/src/or/or.h
index 5a543b498..7116fbac7 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -4535,19 +4535,6 @@ typedef struct {
/** How long (seconds) do we keep a guard before picking a new one? */
int GuardLifetime;
- /** Low-water mark for global scheduler - start sending when estimated
- * queued size falls below this threshold.
- */
- uint64_t SchedulerLowWaterMark__;
- /** High-water mark for global scheduler - stop sending when estimated
- * queued size exceeds this threshold.
- */
- uint64_t SchedulerHighWaterMark__;
- /** Flush size for global scheduler - flush this many cells at a time
- * when sending.
- */
- int SchedulerMaxFlushCells__;
-
/** Is this an exit node? This is a tristate, where "1" means "yes, and use
* the default exit policy if none is given" and "0" means "no; exit policy
* is 'reject *'" and "auto" (-1) means "same as 1, but warn the user."
@@ -4620,6 +4607,15 @@ typedef struct {
/** Bool (default: 0). Tells Tor to never try to exec another program.
*/
int NoExec;
+
+ /** Have the KIST scheduler run every X milliseconds. If less than zero, do
+ * not use the KIST scheduler but use the old vanilla scheduler instead. If
+ * zero, do what the consensus says and fall back to using KIST as if this is
+ * set to "10 msec" if the consensus doesn't say anything. */
+ int64_t KISTSchedRunInterval;
+
+ /** A multiplier for the KIST per-socket limit calculation. */
+ double KISTSockBufSizeFactor;
} or_options_t;
/** Persistent state for an onion router, as saved to disk. */
diff --git a/src/test/test_options.c b/src/test/test_options.c
index 92e698282..507fc6b9e 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -401,8 +401,6 @@ fixed_get_uname(void)
"ClientUseIPv4 1\n" \
"VirtualAddrNetworkIPv4 127.192.0.0/10\n" \
"VirtualAddrNetworkIPv6 [FE80::]/10\n" \
- "SchedulerHighWaterMark__ 42\n" \
- "SchedulerLowWaterMark__ 10\n" \
"UseEntryGuards 1\n"
typedef struct {
@@ -507,7 +505,7 @@ test_options_validate__uname_for_server(void *ignored)
fixed_get_uname_result = "Windows 2000";
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
- expect_log_entry();
+ expect_no_log_entry();
tor_free(msg);
done:
@@ -593,13 +591,14 @@ test_options_validate__nickname(void *ignored)
tdata = get_options_test_data("Nickname AMoreValidNick");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
- tt_assert(!msg);
+ tt_str_op(msg, OP_EQ, "ConnLimit must be greater than 0, but was set to 0");
+ tor_free(msg);
free_options_test_data(tdata);
tdata = get_options_test_data("DataDirectory /tmp/somewhere");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
- tt_assert(!msg);
+ tt_str_op(msg, OP_EQ, "ConnLimit must be greater than 0, but was set to 0");
done:
free_options_test_data(tdata);
@@ -749,13 +748,13 @@ test_options_validate__authdir(void *ignored)
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
- tt_assert(!msg);
+ tt_str_op(msg, OP_EQ, "Authoritative directory servers must set "
+ "ContactInfo");
+ tor_free(msg);
free_options_test_data(tdata);
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
- "Address 100.200.10.1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "Address 100.200.10.1\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -766,9 +765,7 @@ test_options_validate__authdir(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
- "TestingTorNetwork 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "TestingTorNetwork 1\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -779,9 +776,7 @@ test_options_validate__authdir(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -793,9 +788,7 @@ test_options_validate__authdir(void *ignored)
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
"RecommendedVersions 1.2, 3.14\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(tdata->opt->RecommendedClientVersions->value, OP_EQ, "1.2, 3.14");
@@ -808,9 +801,7 @@ test_options_validate__authdir(void *ignored)
"RecommendedVersions 1.2, 3.14\n"
"RecommendedClientVersions 25\n"
"RecommendedServerVersions 4.18\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(tdata->opt->RecommendedClientVersions->value, OP_EQ, "25");
@@ -824,9 +815,7 @@ test_options_validate__authdir(void *ignored)
"RecommendedVersions 1.2, 3.14\n"
"RecommendedClientVersions 25\n"
"RecommendedServerVersions 4.18\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ, "AuthoritativeDir is set, but none of (Bridge/V3)"
@@ -838,9 +827,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"VersioningAuthoritativeDirectory 1\n"
"RecommendedServerVersions 4.18\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ, "Versioning authoritative dir servers must set "
@@ -852,9 +839,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"VersioningAuthoritativeDirectory 1\n"
"RecommendedClientVersions 4.18\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ, "Versioning authoritative dir servers must set "
@@ -865,9 +850,7 @@ test_options_validate__authdir(void *ignored)
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
"UseEntryGuards 1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
expect_log_msg("Authoritative directory servers "
@@ -879,9 +862,7 @@ test_options_validate__authdir(void *ignored)
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
"V3AuthoritativeDir 1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
expect_log_msg("Authoritative directories always try"
@@ -894,9 +875,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"DownloadExtraInfo 1\n"
"V3AuthoritativeDir 1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
expect_no_log_msg("Authoritative directories always try"
@@ -907,9 +886,7 @@ test_options_validate__authdir(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ, "AuthoritativeDir is set, but none of (Bridge/V3)"
@@ -921,9 +898,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello(a)hello.com\n"
- "V3BandwidthsFile non-existant-file\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "V3BandwidthsFile non-existant-file\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -935,9 +910,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello(a)hello.com\n"
- "V3BandwidthsFile non-existant-file\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "V3BandwidthsFile non-existant-file\n");
mock_clean_saved_logs();
options_validate(NULL, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -949,9 +922,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello(a)hello.com\n"
- "GuardfractionFile non-existant-file\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "GuardfractionFile non-existant-file\n");
mock_clean_saved_logs();
options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -963,9 +934,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
"ContactInfo hello(a)hello.com\n"
- "GuardfractionFile non-existant-file\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "GuardfractionFile non-existant-file\n");
mock_clean_saved_logs();
options_validate(NULL, tdata->opt, tdata->def_opt, 0, &msg);
tt_str_op(msg, OP_EQ,
@@ -976,9 +945,7 @@ test_options_validate__authdir(void *ignored)
tdata = get_options_test_data("AuthoritativeDirectory 1\n"
"Address 100.200.10.1\n"
"BridgeAuthoritativeDir 1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -991,9 +958,7 @@ test_options_validate__authdir(void *ignored)
"Address 100.200.10.1\n"
"DirPort 999\n"
"BridgeAuthoritativeDir 1\n"
- "ContactInfo hello(a)hello.com\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ContactInfo hello(a)hello.com\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1010,9 +975,7 @@ test_options_validate__authdir(void *ignored)
/* "ORPort 888\n" */
/* "ClientOnly 1\n" */
/* "BridgeAuthoritativeDir 1\n" */
- /* "ContactInfo hello(a)hello.com\n" */
- /* "SchedulerHighWaterMark__ 42\n" */
- /* "SchedulerLowWaterMark__ 10\n"); */
+ /* "ContactInfo hello(a)hello.com\n" ); */
/* mock_clean_saved_logs(); */
/* ret = options_validate(tdata->old_opt, tdata->opt, */
/* tdata->def_opt, 0, &msg); */
@@ -1156,9 +1119,7 @@ test_options_validate__transproxy(void *ignored)
"TransPort 127.0.0.1:123\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
- if (msg) {
- TT_DIE(("Expected NULL but got '%s'", msg));
- }
+ tt_str_op(msg, OP_EQ, "ConnLimit must be greater than 0, but was set to 0");
#elif defined(KERNEL_MAY_SUPPORT_IPFW)
tdata = get_options_test_data("TransProxyType ipfw\n"
"TransPort 127.0.0.1:123\n");
@@ -1260,9 +1221,7 @@ test_options_validate__exclude_nodes(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("ExcludeNodes {cn}\n"
- "StrictNodes 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "StrictNodes 1\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1273,9 +1232,7 @@ test_options_validate__exclude_nodes(void *ignored)
tor_free(msg);
free_options_test_data(tdata);
- tdata = get_options_test_data("ExcludeNodes {cn}\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ tdata = get_options_test_data("ExcludeNodes {cn}\n");
mock_clean_saved_logs();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1293,49 +1250,6 @@ test_options_validate__exclude_nodes(void *ignored)
}
static void
-test_options_validate__scheduler(void *ignored)
-{
- (void)ignored;
- int ret;
- char *msg;
- setup_capture_of_logs(LOG_DEBUG);
- options_test_data_t *tdata = get_options_test_data(
- "SchedulerLowWaterMark__ 0\n");
-
- ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
- tt_int_op(ret, OP_EQ, -1);
- expect_log_msg("Bad SchedulerLowWaterMark__ option\n");
- tor_free(msg);
-
- // TODO: this test cannot run on platforms where UINT32_MAX == UINT64_MAX.
- // I suspect it's unlikely this branch can actually happen
- /* free_options_test_data(tdata); */
- /* tdata = get_options_test_data( */
- /* "SchedulerLowWaterMark 10000000000000000000\n"); */
- /* tdata->opt->SchedulerLowWaterMark__ = (uint64_t)UINT32_MAX; */
- /* tdata->opt->SchedulerLowWaterMark__++; */
- /* mock_clean_saved_logs(); */
- /* ret = options_validate(tdata->old_opt, tdata->opt, */
- /* tdata->def_opt, 0, &msg); */
- /* tt_int_op(ret, OP_EQ, -1); */
- /* expect_log_msg("Bad SchedulerLowWaterMark__ option\n"); */
-
- free_options_test_data(tdata);
- tdata = get_options_test_data("SchedulerLowWaterMark__ 42\n"
- "SchedulerHighWaterMark__ 42\n");
- mock_clean_saved_logs();
- ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
- tt_int_op(ret, OP_EQ, -1);
- expect_log_msg("Bad SchedulerHighWaterMark option\n");
- tor_free(msg);
-
- done:
- teardown_capture_of_logs();
- free_options_test_data(tdata);
- tor_free(msg);
-}
-
-static void
test_options_validate__node_families(void *ignored)
{
(void)ignored;
@@ -1343,9 +1257,7 @@ test_options_validate__node_families(void *ignored)
char *msg;
options_test_data_t *tdata = get_options_test_data(
"NodeFamily flux, flax\n"
- "NodeFamily somewhere\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "NodeFamily somewhere\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1363,8 +1275,7 @@ test_options_validate__node_families(void *ignored)
tor_free(msg);
free_options_test_data(tdata);
- tdata = get_options_test_data("SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ tdata = get_options_test_data("");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1372,9 +1283,7 @@ test_options_validate__node_families(void *ignored)
tor_free(msg);
free_options_test_data(tdata);
- tdata = get_options_test_data("NodeFamily !flux\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ tdata = get_options_test_data("NodeFamily !flux\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1423,9 +1332,7 @@ test_options_validate__recommended_packages(void *ignored)
setup_capture_of_logs(LOG_WARN);
options_test_data_t *tdata = get_options_test_data(
"RecommendedPackages foo 1.2 http://foo.com sha1=123123123123\n"
- "RecommendedPackages invalid-package-line\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "RecommendedPackages invalid-package-line\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1447,9 +1354,7 @@ test_options_validate__fetch_dir(void *ignored)
char *msg;
options_test_data_t *tdata = get_options_test_data(
"FetchDirInfoExtraEarly 1\n"
- "FetchDirInfoEarly 0\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "FetchDirInfoEarly 0\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1459,9 +1364,7 @@ test_options_validate__fetch_dir(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("FetchDirInfoExtraEarly 1\n"
- "FetchDirInfoEarly 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "FetchDirInfoEarly 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1481,9 +1384,7 @@ test_options_validate__conn_limit(void *ignored)
int ret;
char *msg;
options_test_data_t *tdata = get_options_test_data(
- "ConnLimit 0\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 0\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1491,9 +1392,7 @@ test_options_validate__conn_limit(void *ignored)
tor_free(msg);
free_options_test_data(tdata);
- tdata = get_options_test_data("ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ tdata = get_options_test_data("ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1515,9 +1414,7 @@ test_options_validate__paths_needed(void *ignored)
setup_capture_of_logs(LOG_WARN);
options_test_data_t *tdata = get_options_test_data(
"PathsNeededToBuildCircuits 0.1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1530,9 +1427,7 @@ test_options_validate__paths_needed(void *ignored)
free_options_test_data(tdata);
mock_clean_saved_logs();
tdata = get_options_test_data("PathsNeededToBuildCircuits 0.99\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1545,9 +1440,7 @@ test_options_validate__paths_needed(void *ignored)
free_options_test_data(tdata);
mock_clean_saved_logs();
tdata = get_options_test_data("PathsNeededToBuildCircuits 0.91\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1570,9 +1463,7 @@ test_options_validate__max_client_circuits(void *ignored)
char *msg;
options_test_data_t *tdata = get_options_test_data(
"MaxClientCircuitsPending 0\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1582,9 +1473,7 @@ test_options_validate__max_client_circuits(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("MaxClientCircuitsPending 1025\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1594,9 +1483,7 @@ test_options_validate__max_client_circuits(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1617,9 +1504,7 @@ test_options_validate__ports(void *ignored)
options_test_data_t *tdata = get_options_test_data(
"FirewallPorts 65537\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1630,9 +1515,7 @@ test_options_validate__ports(void *ignored)
tdata = get_options_test_data("FirewallPorts 1\n"
"LongLivedPorts 124444\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1644,9 +1527,7 @@ test_options_validate__ports(void *ignored)
"LongLivedPorts 2\n"
"RejectPlaintextPorts 112233\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1659,9 +1540,7 @@ test_options_validate__ports(void *ignored)
"RejectPlaintextPorts 3\n"
"WarnPlaintextPorts 65536\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1674,9 +1553,7 @@ test_options_validate__ports(void *ignored)
"RejectPlaintextPorts 3\n"
"WarnPlaintextPorts 4\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1698,9 +1575,7 @@ test_options_validate__reachable_addresses(void *ignored)
options_test_data_t *tdata = get_options_test_data(
"FascistFirewall 1\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1718,9 +1593,7 @@ test_options_validate__reachable_addresses(void *ignored)
"ReachableDirAddresses *:81\n"
"ReachableORAddresses *:444\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
tdata->opt->FirewallPorts = smartlist_new();
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1734,9 +1607,7 @@ test_options_validate__reachable_addresses(void *ignored)
tdata = get_options_test_data("FascistFirewall 1\n"
"FirewallPort 123\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1753,9 +1624,7 @@ test_options_validate__reachable_addresses(void *ignored)
"ReachableAddresses *:83\n"
"ReachableAddresses reject *:*\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1771,9 +1640,7 @@ test_options_validate__reachable_addresses(void *ignored)
tdata = get_options_test_data("ReachableAddresses *:82\n"
"ORPort 127.0.0.1:5555\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1784,9 +1651,7 @@ test_options_validate__reachable_addresses(void *ignored)
tdata = get_options_test_data("ReachableORAddresses *:82\n"
"ORPort 127.0.0.1:5555\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1797,9 +1662,7 @@ test_options_validate__reachable_addresses(void *ignored)
tdata = get_options_test_data("ReachableDirAddresses *:82\n"
"ORPort 127.0.0.1:5555\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1810,9 +1673,7 @@ test_options_validate__reachable_addresses(void *ignored)
tdata = get_options_test_data("ClientUseIPv4 0\n"
"ORPort 127.0.0.1:5555\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1910,9 +1771,7 @@ test_options_validate__use_bridges(void *ignored)
"ClientUseIPv4 1\n"
"ORPort 127.0.0.1:5555\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1923,9 +1782,7 @@ test_options_validate__use_bridges(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("UseBridges 1\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -1938,9 +1795,7 @@ test_options_validate__use_bridges(void *ignored)
tdata = get_options_test_data("UseBridges 1\n"
"EntryNodes {cn}\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2000,9 +1855,7 @@ test_options_validate__entry_nodes(void *ignored)
"EntryNodes {cn}\n"
"UseEntryGuards 0\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2014,9 +1867,7 @@ test_options_validate__entry_nodes(void *ignored)
tdata = get_options_test_data("EntryNodes {cn}\n"
"UseEntryGuards 1\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2037,9 +1888,7 @@ test_options_validate__safe_logging(void *ignored)
char *msg;
options_test_data_t *tdata = get_options_test_data(
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2049,9 +1898,7 @@ test_options_validate__safe_logging(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("SafeLogging 0\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2061,9 +1908,7 @@ test_options_validate__safe_logging(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("SafeLogging Relay\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2073,9 +1918,7 @@ test_options_validate__safe_logging(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("SafeLogging 1\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -2085,9 +1928,7 @@ test_options_validate__safe_logging(void *ignored)
free_options_test_data(tdata);
tdata = get_options_test_data("SafeLogging stuffy\n"
"MaxClientCircuitsPending 1\n"
- "ConnLimit 1\n"
- "SchedulerHighWaterMark__ 42\n"
- "SchedulerLowWaterMark__ 10\n");
+ "ConnLimit 1\n");
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
@@ -4415,7 +4256,6 @@ struct testcase_t options_tests[] = {
LOCAL_VALIDATE_TEST(relay_with_hidden_services),
LOCAL_VALIDATE_TEST(transproxy),
LOCAL_VALIDATE_TEST(exclude_nodes),
- LOCAL_VALIDATE_TEST(scheduler),
LOCAL_VALIDATE_TEST(node_families),
LOCAL_VALIDATE_TEST(token_bucket),
LOCAL_VALIDATE_TEST(recommended_packages),
1
0

15 Sep '17
commit 2034e0d1d42c4f36a24c1eb88f95d057dacacf72
Author: Matt Traudt <sirmatt(a)ksu.edu>
Date: Mon Jul 10 16:10:29 2017 -0400
sched: Groundwork before KIST implementation
- HT_FOREACH_FN defined in an additional place because nickm did that
in an old kist prototype
- Make channel_more_to_flush mockable for future sched tests
- Add empty scheduler_{vanilla,kist}.c files and put in include.am
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
src/ext/ht.h | 2 ++
src/or/channel.c | 4 ++--
src/or/channel.h | 2 +-
src/or/include.am | 2 ++
src/or/scheduler_kist.c | 5 +++++
src/or/scheduler_vanilla.c | 5 +++++
6 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/ext/ht.h b/src/ext/ht.h
index caa420e9b..99da773fa 100644
--- a/src/ext/ht.h
+++ b/src/ext/ht.h
@@ -150,6 +150,8 @@
#define HT_CLEAR(name, head) name##_HT_CLEAR(head)
#define HT_INIT(name, head) name##_HT_INIT(head)
#define HT_REP_IS_BAD_(name, head) name##_HT_REP_IS_BAD_(head)
+#define HT_FOREACH_FN(name, head, fn, data) \
+ name##_HT_FOREACH_FN((head), (fn), (data))
/* Helper: */
static inline unsigned
ht_improve_hash(unsigned h)
diff --git a/src/or/channel.c b/src/or/channel.c
index 9f8a03683..d64a0347a 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -2601,8 +2601,8 @@ channel_flush_cells(channel_t *chan)
* available.
*/
-int
-channel_more_to_flush(channel_t *chan)
+MOCK_IMPL(int,
+channel_more_to_flush, (channel_t *chan))
{
tor_assert(chan);
diff --git a/src/or/channel.h b/src/or/channel.h
index 2d0ec3992..8c776c53f 100644
--- a/src/or/channel.h
+++ b/src/or/channel.h
@@ -568,7 +568,7 @@ MOCK_DECL(ssize_t, channel_flush_some_cells,
(channel_t *chan, ssize_t num_cells));
/* Query if data available on this channel */
-int channel_more_to_flush(channel_t *chan);
+MOCK_DECL(int, channel_more_to_flush, (channel_t *chan));
/* Notify flushed outgoing for dirreq handling */
void channel_notify_flushed(channel_t *chan);
diff --git a/src/or/include.am b/src/or/include.am
index 021f5f9d5..7216aba9a 100644
--- a/src/or/include.am
+++ b/src/or/include.am
@@ -99,6 +99,8 @@ LIBTOR_A_SOURCES = \
src/or/routerparse.c \
src/or/routerset.c \
src/or/scheduler.c \
+ src/or/scheduler_kist.c \
+ src/or/scheduler_vanilla.c \
src/or/statefile.c \
src/or/status.c \
src/or/torcert.c \
diff --git a/src/or/scheduler_kist.c b/src/or/scheduler_kist.c
new file mode 100644
index 000000000..c14084953
--- /dev/null
+++ b/src/or/scheduler_kist.c
@@ -0,0 +1,5 @@
+/* Copyright (c) 2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "scheduler.h"
+
diff --git a/src/or/scheduler_vanilla.c b/src/or/scheduler_vanilla.c
new file mode 100644
index 000000000..c14084953
--- /dev/null
+++ b/src/or/scheduler_vanilla.c
@@ -0,0 +1,5 @@
+/* Copyright (c) 2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "scheduler.h"
+
1
0