tor-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 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
April 2020
- 25 participants
- 2156 discussions

29 Apr '20
commit de8aa0d721f67d39a6618abebce5dae80c2dc160
Merge: 93bd0e2 2ddbc01
Author: hiro <hiro(a)torproject.org>
Date: Wed Apr 29 15:25:32 2020 +0200
This fix padding issues in the websites footer
https://gitlab.torproject.org/torproject/web/lego/-/issues/10
Merge remote-tracking branch 'nicoleiocana/padding/margin-issue-in-footer'
templates/footer.html | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
1
0
commit 2ddbc01be88a18c4f56043c90250b18d81f210c2
Author: Nicolei Ocana <nicoleiocana(a)gmail.com>
Date: Sat Apr 11 17:20:47 2020 +0000
Fix padding/margin issue in footer
---
templates/footer.html | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/templates/footer.html b/templates/footer.html
index 0bc2814..01fd857 100644
--- a/templates/footer.html
+++ b/templates/footer.html
@@ -68,6 +68,8 @@
</div>
</div>
</div>
+
+ <div class="row">
<div class="col-12 d-flex justify-content-center">
<div class="col-sm-6 offset-lx-1 offset-sm-0 mt-5">
<p class="text-primary-light text-uppercase">{{ _('Subscribe to our Newsletter') }}</p>
@@ -87,7 +89,9 @@
</div>
</div>
</div>
-
+ </div>
+
+ <div class="row">
<div class="col-12 d-flex justify-content-center">
<div class="col-sm-6 offset-lx-1 offset-sm-0 mt-5">
{% from "macros/footer.html" import render_faq %}
@@ -108,12 +112,13 @@
</div>
</div>
</div>
- <script src="{{ '/static/js/jquery-3.2.1.min.js'|asseturl }}" ></script>
- <script src="{{ '/static/js/popper.min.js'|asseturl }}" ></script>
- <script src="{{ '/static/js/bootstrap.bundle.min.js'|asseturl }}" ></script>
- <script src="{{ '/static/js/scrollspy.min.js'|asseturl }}" ></script>
- <script src="{{ '/static/js/modernizr.js'|asseturl }}" ></script>
- <script src="{{ '/static/js/download.js'|asseturl }}" ></script>
- <script src="{{ '/static/js/fallback.js'|asseturl }}" ></script>
+ </div>
+ <script src="{{ '/static/js/jquery-3.2.1.min.js'|asseturl }}" ></script>
+ <script src="{{ '/static/js/popper.min.js'|asseturl }}" ></script>
+ <script src="{{ '/static/js/bootstrap.bundle.min.js'|asseturl }}" ></script>
+ <script src="{{ '/static/js/scrollspy.min.js'|asseturl }}" ></script>
+ <script src="{{ '/static/js/modernizr.js'|asseturl }}" ></script>
+ <script src="{{ '/static/js/download.js'|asseturl }}" ></script>
+ <script src="{{ '/static/js/fallback.js'|asseturl }}" ></script>
</div>
</div>
1
0

[translation/bridgedb_completed] https://gitweb.torproject.org/translation.git/commit/?h=bridgedb_completed
by translation@torproject.org 29 Apr '20
by translation@torproject.org 29 Apr '20
29 Apr '20
commit 75477d674319e2ea86321f8b66120235a3f96be0
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Apr 29 13:15:26 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=bridgedb_completed
---
da/LC_MESSAGES/bridgedb.po | 230 +++++++++++++++++++++++----------------------
1 file changed, 118 insertions(+), 112 deletions(-)
diff --git a/da/LC_MESSAGES/bridgedb.po b/da/LC_MESSAGES/bridgedb.po
index 1f5f116b65..c3c3809fc3 100644
--- a/da/LC_MESSAGES/bridgedb.po
+++ b/da/LC_MESSAGES/bridgedb.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Tor Project\n"
"Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywo…'\n"
-"POT-Creation-Date: 2020-02-04 10:59-0800\n"
-"PO-Revision-Date: 2020-02-07 07:22+0000\n"
+"POT-Creation-Date: 2020-04-09 14:45-0700\n"
+"PO-Revision-Date: 2020-04-29 13:10+0000\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/otf/torproject/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -45,18 +45,16 @@ msgstr ""
#. variable.
#. We use our metrics singleton to keep track of BridgeDB metrics such as
#. "number of failed HTTPS bridge requests."
+#. Convert all key/value pairs from bytes to str.
#. TRANSLATORS: Please DO NOT translate the following words and/or phrases in
#. any string (regardless of capitalization and/or punctuation):
#. "BridgeDB"
#. "pluggable transport"
#. "pluggable transports"
-#. "obfs2"
-#. "obfs3"
-#. "scramblesuit"
-#. "fteproxy"
+#. "obfs4"
#. "Tor"
#. "Tor Browser"
-#: bridgedb/distributors/https/server.py:138
+#: bridgedb/distributors/https/server.py:154
msgid "Sorry! Something went wrong with your request."
msgstr ""
@@ -64,15 +62,15 @@ msgstr ""
msgid "Language"
msgstr ""
-#: bridgedb/distributors/https/templates/base.html:92
+#: bridgedb/distributors/https/templates/base.html:94
msgid "Report a Bug"
msgstr ""
-#: bridgedb/distributors/https/templates/base.html:95
+#: bridgedb/distributors/https/templates/base.html:97
msgid "Source Code"
msgstr ""
-#: bridgedb/distributors/https/templates/base.html:98
+#: bridgedb/distributors/https/templates/base.html:100
msgid "Changelog"
msgstr ""
@@ -93,7 +91,7 @@ msgstr ""
#. for Italian, you might translate this into "Mama mia!",
#. or for French: "Sacrebleu!". :)
#: bridgedb/distributors/https/templates/bridges.html:67
-#: bridgedb/distributors/https/templates/bridges.html:125
+#: bridgedb/distributors/https/templates/bridges.html:119
msgid "Uh oh, spaghettios!"
msgstr ""
@@ -107,12 +105,12 @@ msgid ""
" your bridge lines onto mobile and other devices."
msgstr ""
-#: bridgedb/distributors/https/templates/bridges.html:131
+#: bridgedb/distributors/https/templates/bridges.html:125
msgid "There currently aren't any bridges available..."
msgstr ""
-#: bridgedb/distributors/https/templates/bridges.html:133
-#: bridgedb/distributors/https/templates/bridges.html:137
+#: bridgedb/distributors/https/templates/bridges.html:127
+#: bridgedb/distributors/https/templates/bridges.html:131
#, python-format
msgid ""
" Perhaps you should try %s going back %s and choosing a different bridge "
@@ -188,64 +186,32 @@ msgstr ""
msgid "%sG%set Bridges"
msgstr ""
-#: bridgedb/strings.py:43
-msgid "[This is an automated message; please do not reply.]"
+#: bridgedb/strings.py:33
+msgid "[This is an automated email.]"
msgstr ""
-#: bridgedb/strings.py:45
+#: bridgedb/strings.py:35
msgid "Here are your bridges:"
msgstr ""
-#: bridgedb/strings.py:47
+#: bridgedb/strings.py:37
#, python-format
msgid ""
"You have exceeded the rate limit. Please slow down! The minimum time between\n"
"emails is %s hours. All further emails during this time period will be ignored."
msgstr ""
-#: bridgedb/strings.py:50
-msgid ""
-"COMMANDs: (combine COMMANDs to specify multiple options simultaneously)"
-msgstr ""
-
-#. TRANSLATORS: Please DO NOT translate the word "BridgeDB".
-#: bridgedb/strings.py:53
-msgid "Welcome to BridgeDB!"
-msgstr ""
-
-#. TRANSLATORS: Please DO NOT translate the words "transport" or "TYPE".
-#: bridgedb/strings.py:55
-msgid "Currently supported transport TYPEs:"
-msgstr ""
-
-#: bridgedb/strings.py:56
-#, python-format
-msgid "Hey, %s!"
-msgstr ""
-
-#: bridgedb/strings.py:57
-msgid "Hello, friend!"
-msgstr ""
-
-#: bridgedb/distributors/https/templates/base.html:100 bridgedb/strings.py:58
-msgid "Public Keys"
-msgstr ""
-
-#. TRANSLATORS: This string will end up saying something like:
-#. "This email was generated with rainbows, unicorns, and sparkles
-#. for alice(a)example.com on Friday, 09 May, 2014 at 18:59:39."
-#: bridgedb/strings.py:62
-#, python-format
+#: bridgedb/strings.py:40
msgid ""
-"This email was generated with rainbows, unicorns, and sparkles\n"
-"for %s on %s at %s."
+"If these bridges are not what you need, reply to this email with one of\n"
+"the following commands in the message body:"
msgstr ""
#. TRANSLATORS: Please DO NOT translate "BridgeDB".
#. TRANSLATORS: Please DO NOT translate "Pluggable Transports".
#. TRANSLATORS: Please DO NOT translate "Tor".
#. TRANSLATORS: Please DO NOT translate "Tor Network".
-#: bridgedb/strings.py:72
+#: bridgedb/strings.py:50
#, python-format
msgid ""
"BridgeDB can provide bridges with several %stypes of Pluggable Transports%s,\n"
@@ -256,7 +222,7 @@ msgid ""
msgstr ""
#. TRANSLATORS: Please DO NOT translate "Pluggable Transports".
-#: bridgedb/strings.py:79
+#: bridgedb/strings.py:57
msgid ""
"Some bridges with IPv6 addresses are also available, though some Pluggable\n"
"Transports aren't IPv6 compatible.\n"
@@ -268,7 +234,7 @@ msgstr ""
#. regular, or unexciting". Like vanilla ice cream. It refers to bridges
#. which do not have Pluggable Transports, and only speak the regular,
#. boring Tor protocol. Translate it as you see fit. Have fun with it.
-#: bridgedb/strings.py:88
+#: bridgedb/strings.py:66
#, python-format
msgid ""
"Additionally, BridgeDB has plenty of plain-ol'-vanilla bridges %s without any\n"
@@ -277,21 +243,21 @@ msgid ""
"\n"
msgstr ""
-#: bridgedb/strings.py:101 bridgedb/test/test_https.py:383
+#: bridgedb/strings.py:78 bridgedb/test/test_https.py:356
msgid "What are bridges?"
msgstr ""
-#: bridgedb/strings.py:102
+#: bridgedb/strings.py:79
#, python-format
msgid "%s Bridges %s are Tor relays that help you circumvent censorship."
msgstr ""
-#: bridgedb/strings.py:107
+#: bridgedb/strings.py:84
msgid "I need an alternative way of getting bridges!"
msgstr ""
#. TRANSLATORS: Please DO NOT translate "get transport obfs4".
-#: bridgedb/strings.py:109
+#: bridgedb/strings.py:86
#, python-format
msgid ""
"Another way to get bridges is to send an email to %s. Leave the email subject\n"
@@ -300,106 +266,146 @@ msgid ""
"providers: %s or %s."
msgstr ""
-#: bridgedb/strings.py:117
+#: bridgedb/strings.py:94
msgid "My bridges don't work! I need help!"
msgstr ""
#. TRANSLATORS: Please DO NOT translate "Tor Browser".
#. TRANSLATORS: The two '%s' are substituted with "Tor Browser Manual" and
#. "Support Portal", respectively.
-#: bridgedb/strings.py:121
+#: bridgedb/strings.py:98
#, python-format
msgid ""
"If your Tor Browser cannot connect, please take a look at the %s and our %s."
msgstr ""
-#: bridgedb/strings.py:125
+#: bridgedb/strings.py:102
msgid "Here are your bridge lines:"
msgstr ""
-#: bridgedb/strings.py:126
+#: bridgedb/strings.py:103
msgid "Get Bridges!"
msgstr ""
-#: bridgedb/strings.py:130
-msgid "Please select options for bridge type:"
+#: bridgedb/strings.py:107
+msgid "Bridge distribution mechanisms"
msgstr ""
-#: bridgedb/strings.py:131
-msgid "Do you need IPv6 addresses?"
+#. TRANSLATORS: Please DO NOT translate "BridgeDB", "HTTPS", and "Moat".
+#: bridgedb/strings.py:109
+#, python-format
+msgid ""
+"BridgeDB implements four mechanisms to distribute bridges: \"HTTPS\", \"Moat\",\n"
+"\"Email\", and \"Reserved\". Bridges that are not distributed over BridgeDB use\n"
+"the pseudo-mechanism \"None\". The following list briefly explains how these\n"
+"mechanisms work and our %sBridgeDB metrics%s visualize how popular each of the\n"
+"mechanisms is."
msgstr ""
-#: bridgedb/strings.py:132
+#: bridgedb/strings.py:115
#, python-format
-msgid "Do you need a %s?"
+msgid ""
+"The \"HTTPS\" distribution mechanism hands out bridges over this website. To get\n"
+"bridges, go to %sbridges.torproject.org%s, select your preferred options, and\n"
+"solve the subsequent CAPTCHA."
msgstr ""
-#: bridgedb/strings.py:136
-msgid "Your browser is not displaying images properly."
+#: bridgedb/strings.py:119
+#, python-format
+msgid ""
+"The \"Moat\" distribution mechanism is part of Tor Browser, allowing users to\n"
+"request bridges from inside their Tor Browser settings. To get bridges, go to\n"
+"your Tor Browser's %sTor settings%s, click on \"request a new bridge\", solve the\n"
+"subsequent CAPTCHA, and Tor Browser will automatically add your new\n"
+"bridges."
msgstr ""
-#: bridgedb/strings.py:137
-msgid "Enter the characters from the image above..."
+#: bridgedb/strings.py:125
+#, python-format
+msgid ""
+"Users can request bridges from the \"Email\" distribution mechanism by sending an\n"
+"email to %sbridges(a)torproject.org%s and writing \"get transport obfs4\" in the\n"
+"email body."
msgstr ""
-#: bridgedb/strings.py:141
-msgid "How to start using your bridges"
+#: bridgedb/strings.py:129
+msgid "Reserved"
msgstr ""
-#. TRANSLATORS: Please DO NOT translate "Tor Browser".
-#: bridgedb/strings.py:143
+#: bridgedb/strings.py:130
#, python-format
msgid ""
-"To enter bridges into Tor Browser, first go to the %s Tor Browser download\n"
-"page %s and then follow the instructions there for downloading and starting\n"
-"Tor Browser."
+"BridgeDB maintains a small number of bridges that are not distributed\n"
+"automatically. Instead, we reserve these bridges for manual distribution and\n"
+"hand them out to NGOs and other organizations and individuals that need\n"
+"bridges. Bridges that are distributed over the \"Reserved\" mechanism may not\n"
+"see users for a long time. Note that the \"Reserved\" distribution mechanism is\n"
+"called \"Unallocated\" in %sbridge pool assignment%s files."
msgstr ""
-#. TRANSLATORS: Please DO NOT translate "Tor".
-#: bridgedb/strings.py:148
-msgid ""
-"When the 'Tor Network Settings' dialogue pops up, click 'Configure' and follow\n"
-"the wizard until it asks:"
+#: bridgedb/strings.py:137
+msgid "None"
msgstr ""
-#. TRANSLATORS: Please DO NOT translate "Tor".
-#: bridgedb/strings.py:152
+#: bridgedb/strings.py:138
msgid ""
-"Does your Internet Service Provider (ISP) block or otherwise censor connections\n"
-"to the Tor network?"
+"Bridges whose distribution mechanism is \"None\" are not distributed by BridgeDB.\n"
+"It is the bridge operator's responsibility to distribute their bridges to\n"
+"users. Note that on Relay Search, a freshly set up bridge's distribution\n"
+"mechanism says \"None\" for up to approximately one day. Be a bit patient, and\n"
+"it will then change to the bridge's actual distribution mechanism.\n"
msgstr ""
-#. TRANSLATORS: Please DO NOT translate "Tor".
-#: bridgedb/strings.py:156
-msgid ""
-"Select 'Yes' and then click 'Next'. To configure your new bridges, copy and\n"
-"paste the bridge lines into the text input box. Finally, click 'Connect', and\n"
-"you should be good to go! If you experience trouble, try clicking the 'Help'\n"
-"button in the 'Tor Network Settings' wizard for further assistance."
+#: bridgedb/strings.py:148
+msgid "Please select options for bridge type:"
+msgstr ""
+
+#: bridgedb/strings.py:149
+msgid "Do you need IPv6 addresses?"
msgstr ""
-#: bridgedb/strings.py:164
-msgid "Displays this message."
+#: bridgedb/strings.py:150
+#, python-format
+msgid "Do you need a %s?"
msgstr ""
-#. TRANSLATORS: Please try to make it clear that "vanilla" here refers to the
-#. same non-Pluggable Transport bridges described above as being
-#. "plain-ol'-vanilla" bridges.
-#: bridgedb/strings.py:168
-msgid "Request vanilla bridges."
+#: bridgedb/strings.py:154
+msgid "Your browser is not displaying images properly."
msgstr ""
-#: bridgedb/strings.py:169
-msgid "Request IPv6 bridges."
+#: bridgedb/strings.py:155
+msgid "Enter the characters from the image above..."
msgstr ""
-#. TRANSLATORS: Please DO NOT translate the word the word "TYPE".
-#: bridgedb/strings.py:171
-msgid "Request a Pluggable Transport by TYPE."
+#: bridgedb/strings.py:159
+msgid "How to start using your bridges"
+msgstr ""
+
+#. TRANSLATORS: Please DO NOT translate "Tor Browser".
+#: bridgedb/strings.py:161
+#, python-format
+msgid ""
+" First, you need to %sdownload Tor Browser%s. Our Tor Browser User\n"
+" Manual explains how you can add your bridges to Tor Browser. If you are\n"
+" using Windows, Linux, or OS X, %sclick here%s to learn more. If you\n"
+" are using Android, %sclick here%s."
+msgstr ""
+
+#: bridgedb/strings.py:166
+msgid ""
+"Add these bridges to your Tor Browser by opening your browser\n"
+"preferences, clicking on \"Tor\", and then adding them to the \"Provide a\n"
+"bridge\" field."
+msgstr ""
+
+#: bridgedb/strings.py:173
+msgid "(Request unobfuscated Tor bridges.)"
msgstr ""
-#. TRANSLATORS: Please DO NOT translate "BridgeDB".
-#. TRANSLATORS: Please DO NOT translate "GnuPG".
#: bridgedb/strings.py:174
-msgid "Get a copy of BridgeDB's public GnuPG key."
+msgid "(Request IPv6 bridges.)"
+msgstr ""
+
+#: bridgedb/strings.py:175
+msgid "(Request obfs4 obfuscated bridges.)"
msgstr ""
1
0

[translation/bridgedb] https://gitweb.torproject.org/translation.git/commit/?h=bridgedb
by translation@torproject.org 29 Apr '20
by translation@torproject.org 29 Apr '20
29 Apr '20
commit bcc1befada491ee6eea2e985d0c6ba3d35d613a8
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Apr 29 13:15:20 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=bridgedb
---
da/LC_MESSAGES/bridgedb.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/da/LC_MESSAGES/bridgedb.po b/da/LC_MESSAGES/bridgedb.po
index 653515b78f..bbcf5cfdfa 100644
--- a/da/LC_MESSAGES/bridgedb.po
+++ b/da/LC_MESSAGES/bridgedb.po
@@ -16,7 +16,7 @@ msgstr ""
"Project-Id-Version: Tor Project\n"
"Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywo…'\n"
"POT-Creation-Date: 2020-04-09 14:45-0700\n"
-"PO-Revision-Date: 2020-04-29 12:43+0000\n"
+"PO-Revision-Date: 2020-04-29 13:10+0000\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/otf/torproject/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -341,7 +341,7 @@ msgid ""
"bridges. Bridges that are distributed over the \"Reserved\" mechanism may not\n"
"see users for a long time. Note that the \"Reserved\" distribution mechanism is\n"
"called \"Unallocated\" in %sbridge pool assignment%s files."
-msgstr ""
+msgstr "BridgeDB vedligeholder et mindre antal broer som ikke distribueres automatisk.\nVi reserverer i stedet broerne til manuel distribution og uddeler dem til\nikke-statslige organisationer og andre organisationer og enkeltpersoner som\nbehøver broer. Broer som distribueres over mekanismen \"Reserveret\" ser måske\nikke brugere i lang tid. Bemærk at distributionsmekanismen \"Reverseret\" kaldes\n\"Unallocated\" i %sbridge pool assignment%s-filer."
#: bridgedb/strings.py:137
msgid "None"
@@ -354,7 +354,7 @@ msgid ""
"users. Note that on Relay Search, a freshly set up bridge's distribution\n"
"mechanism says \"None\" for up to approximately one day. Be a bit patient, and\n"
"it will then change to the bridge's actual distribution mechanism.\n"
-msgstr ""
+msgstr "Broer som anvender distributionsmekanismen \"Ingen\" distribueres ikke af BridgeDB.\nDet er brooperatørens ansvar er at distribuere deres broer til brugerne.\nBemærk ved Relæsøgning vil en frisk opsætning af broers distributionsmekanisme\nsige \"Ingen\" i op til cirka en dag. Vær lidt tålmodig og\nden vil blive ændret til broens faktiske distributionsmekanisme.\n"
#: bridgedb/strings.py:148
msgid "Please select options for bridge type:"
1
0

29 Apr '20
commit 4d855e74585ac099e4c5526c83c04302093305d2
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Apr 29 15:02:28 2020 +0200
Add GeKo to nightly build emails
---
tools/ansible/group_vars/boklm-tbb-nightly/tbb-nightly-build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/ansible/group_vars/boklm-tbb-nightly/tbb-nightly-build.yml b/tools/ansible/group_vars/boklm-tbb-nightly/tbb-nightly-build.yml
index 8e4bc05..6addb1d 100644
--- a/tools/ansible/group_vars/boklm-tbb-nightly/tbb-nightly-build.yml
+++ b/tools/ansible/group_vars/boklm-tbb-nightly/tbb-nightly-build.yml
@@ -2,5 +2,5 @@
nightly_build_hostname: f4amtbsowhix7rrf.onion
nightly_build_url: 'http://{{ nightly_build_hostname }}'
nightly_build_email_from: "'Tor Browser Nightly Builds (boklm) <boklm-tbb-nightly(a)riseup.net>',"
-nightly_build_email_to: "[ 'boklm(a)torproject.org', 'sysrqb(a)torproject.org', ],"
+nightly_build_email_to: "[ 'boklm(a)torproject.org', 'gk(a)torproject.org', 'sysrqb(a)torproject.org', ],"
nightly_build_sign_build: 1
1
0

[translation/tbmanual-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot
by translation@torproject.org 29 Apr '20
by translation@torproject.org 29 Apr '20
29 Apr '20
commit aff20dbfb1a6d75603b580b37d0927d1ccabbc4b
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Apr 29 12:51:02 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot
---
contents+pt-PT.po | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/contents+pt-PT.po b/contents+pt-PT.po
index adcf9945f0..dbfc889629 100644
--- a/contents+pt-PT.po
+++ b/contents+pt-PT.po
@@ -1,9 +1,10 @@
+#
# Translators:
# Emma Peel, 2019
-# Hugo9191 <hugoncosta(a)gmail.com>, 2020
# erinm, 2020
# Rui <xymarior(a)yandex.com>, 2020
# Manuela Silva <manuelarodsilva(a)gmail.com>, 2020
+# Hugo9191 <hugoncosta(a)gmail.com>, 2020
#
msgid ""
msgstr ""
@@ -11,7 +12,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-04-12 08:00+CET\n"
"PO-Revision-Date: 2018-11-14 12:31+0000\n"
-"Last-Translator: Manuela Silva <manuelarodsilva(a)gmail.com>, 2020\n"
+"Last-Translator: Hugo9191 <hugoncosta(a)gmail.com>, 2020\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/otf/teams/1519/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -81,7 +82,7 @@ msgstr "Transferência"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Running Tor Browser for the First Time"
-msgstr ""
+msgstr "Executar o Tor Browser pela primeira vez"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -101,7 +102,7 @@ msgstr "Pontes"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Managing Identities"
-msgstr ""
+msgstr "Gerir Identidades"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -150,7 +151,7 @@ msgstr "Problemas conhecidos"
#: https//tb-manual.torproject.org/mobile-tor/
#: (content/mobile-tor/contents+en.lrtopic.title)
msgid "Mobile Tor"
-msgstr ""
+msgstr "Mobile Tor"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -160,7 +161,7 @@ msgstr "Traduzir o Tor"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Making Tor Browser Portable"
-msgstr ""
+msgstr "Tornar o Tor Browser portátil"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -605,6 +606,9 @@ msgid ""
"at a certain point, see the [Troubleshooting](../troubleshooting) page for "
"help solving the problem."
msgstr ""
+"Se estiver numa ligação relativamente rápida, mas esta barra parecer estar "
+"bloqueada num ponto determinado, consulte a página de [Resolução de "
+"Problemas](../troubleshooting) para ajudar a resolver o problema."
#: https//tb-manual.torproject.org/running-tor-browser/
#: (content/running-tor-browser/contents+en.lrtopic.body)
1
0

[translation/bridgedb] https://gitweb.torproject.org/translation.git/commit/?h=bridgedb
by translation@torproject.org 29 Apr '20
by translation@torproject.org 29 Apr '20
29 Apr '20
commit 673aa5d845cc8f788fa1f5beaf1d928c89024681
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Apr 29 12:45:19 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=bridgedb
---
da/LC_MESSAGES/bridgedb.po | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/da/LC_MESSAGES/bridgedb.po b/da/LC_MESSAGES/bridgedb.po
index c507718a10..653515b78f 100644
--- a/da/LC_MESSAGES/bridgedb.po
+++ b/da/LC_MESSAGES/bridgedb.po
@@ -16,7 +16,7 @@ msgstr ""
"Project-Id-Version: Tor Project\n"
"Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywo…'\n"
"POT-Creation-Date: 2020-04-09 14:45-0700\n"
-"PO-Revision-Date: 2020-04-28 15:39+0000\n"
+"PO-Revision-Date: 2020-04-29 12:43+0000\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish (http://www.transifex.com/otf/torproject/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -300,7 +300,7 @@ msgid ""
"the pseudo-mechanism \"None\". The following list briefly explains how these\n"
"mechanisms work and our %sBridgeDB metrics%s visualize how popular each of the\n"
"mechanisms is."
-msgstr ""
+msgstr "BridgeDB implementerer fire mekanismer til at distribuere broer: \"HTTPS\", \"Moat\",\n\"E-mail\" og \"Reserveret\". Broer som ikke distribueres over BridgeDB bruger\npseudomekanismen \"Ingen\". Følgende liste forklarer kort hvordan mekanismerne\nvirker og vores %sBridgeDB metrics%s visualiserer hvor populær hver\nmekanisme er."
#: bridgedb/strings.py:115
#, python-format
@@ -308,7 +308,7 @@ msgid ""
"The \"HTTPS\" distribution mechanism hands out bridges over this website. To get\n"
"bridges, go to %sbridges.torproject.org%s, select your preferred options, and\n"
"solve the subsequent CAPTCHA."
-msgstr ""
+msgstr "Distributionsmekanismen \"HTTPS\" uddeler broer over webstedet. Få broer ved at\ngå til %sbridges.torproject.org%s og vælge dine foretrukne valgmuligheder\nog løs den efterfølgende CAPTCHA."
#: bridgedb/strings.py:119
#, python-format
@@ -318,7 +318,7 @@ msgid ""
"your Tor Browser's %sTor settings%s, click on \"request a new bridge\", solve the\n"
"subsequent CAPTCHA, and Tor Browser will automatically add your new\n"
"bridges."
-msgstr ""
+msgstr "Distributionsmekanismen \"Moat\" er en del af Tor Browser som giver brugerne\nmulighed for at anmode om broer i deres Tor Browser-indstillinger. Få broer ved\nat gå til din Tor Browsers %sTor-indstillinger%s og klik på \"Anmod om en ny bro\", løs\nden efterfølgende CAPTCHA og Tor Browser tilføjer automatisk dine nye\nbroer."
#: bridgedb/strings.py:125
#, python-format
@@ -389,7 +389,7 @@ msgid ""
" Manual explains how you can add your bridges to Tor Browser. If you are\n"
" using Windows, Linux, or OS X, %sclick here%s to learn more. If you\n"
" are using Android, %sclick here%s."
-msgstr ""
+msgstr " Først skal du %sdownloade Tor Browser%s. Vores Tor Browser-brugermanual\n forklarer hvordan du kan tilføje dine broer til Tor Browser. Hvis du\n bruger Windows, Linux eller OS X, så klik på %sklik her%s for at lærer mere.\n Hvis du bruger Android, så %sklik her%s."
#: bridgedb/strings.py:166
msgid ""
1
0
commit 84fe1c891bc77a2363a119f3c7dc834127bcacc7
Author: cypherpunks <cypherpunks(a)torproject.org>
Date: Thu Mar 12 19:55:12 2020 +0000
core/mainloop: remove noisy logging
---
src/core/mainloop/connection.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 3c8527dd5..218873ae6 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -3687,9 +3687,6 @@ connection_buf_read_from_socket(connection_t *conn, ssize_t *max_to_read,
/* Do not allow inbuf to grow past INT_MAX - 1. */
const ssize_t maximum = INT_MAX - 1 - buf_datalen(conn->inbuf);
if (at_most > maximum) {
- log_debug(LD_NET, "%d: inbuf_datalen=%"TOR_PRIuSZ", adding %"
- TOR_PRIdSZ" might overflow.",
- (int)conn->s, buf_datalen(conn->inbuf), at_most);
at_most = maximum;
}
1
0

29 Apr '20
commit fd3e0c154236c59c2972b549500675980bb02507
Author: cypherpunks <cypherpunks(a)torproject.org>
Date: Tue Mar 3 07:01:05 2020 +0000
core/mainloop: Limit growth of conn->inbuf
If the buf_t's length could potentially become greater than INT_MAX - 1,
it sets off an IF_BUG_ONCE in buf_read_from_tls().
All of the rest of the buffers.c code has similar BUG/asserts for this
invariant.
---
changes/bug33131 | 3 +++
src/core/mainloop/connection.c | 9 +++++++++
2 files changed, 12 insertions(+)
diff --git a/changes/bug33131 b/changes/bug33131
new file mode 100644
index 000000000..bc5ef7bc2
--- /dev/null
+++ b/changes/bug33131
@@ -0,0 +1,3 @@
+ o Minor bugfixes (mainloop):
+ - Better guard against growing a buffer past its maximum 2GB in size.
+ Fixes bug 33131; bugfix on 0.3.0.4-rc.
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 3595bba85..3c8527dd5 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -3684,6 +3684,15 @@ connection_buf_read_from_socket(connection_t *conn, ssize_t *max_to_read,
at_most = connection_bucket_read_limit(conn, approx_time());
}
+ /* Do not allow inbuf to grow past INT_MAX - 1. */
+ const ssize_t maximum = INT_MAX - 1 - buf_datalen(conn->inbuf);
+ if (at_most > maximum) {
+ log_debug(LD_NET, "%d: inbuf_datalen=%"TOR_PRIuSZ", adding %"
+ TOR_PRIdSZ" might overflow.",
+ (int)conn->s, buf_datalen(conn->inbuf), at_most);
+ at_most = maximum;
+ }
+
slack_in_buf = buf_slack(conn->inbuf);
again:
if ((size_t)at_most > slack_in_buf && slack_in_buf >= 1024) {
1
0
commit d3ded1cc1c4a1bcd158c1705c4c26425ed538be9
Merge: 84fe1c891 29420ab39
Author: cypherpunks <cypherpunks(a)torproject.org>
Date: Tue Mar 24 05:51:12 2020 +0000
Merge branch 'maint-0.4.3'
.appveyor.yml | 4 +-
.gitignore | 16 +-
.gitlab-ci.yml | 30 -
.travis.yml | 88 +-
ChangeLog | 4578 ++++++++++-
Doxyfile.in | 2597 +++++--
LICENSE | 3 +-
Makefile.am | 181 +-
ReleaseNotes | 4184 +++++++++-
autogen.sh | 5 +-
changes/29241_diagnostic | 4 -
changes/bug12399 | 3 -
changes/bug13221 | 5 -
changes/bug22619 | 3 -
changes/bug23507 | 5 -
changes/bug23818_v2 | 6 -
changes/bug23818_v3 | 6 -
changes/bug24661 | 3 -
changes/bug27197 | 3 -
changes/bug27199 | 3 -
changes/bug27740 | 4 -
changes/bug27741 | 5 -
changes/bug27750 | 6 -
changes/bug27800 | 4 -
changes/bug27804 | 3 -
changes/bug27841 | 7 -
changes/bug27948 | 6 -
changes/bug27963_timeradd | 4 -
changes/bug27968 | 3 -
changes/bug28096 | 13 -
changes/bug28115 | 3 -
changes/bug28127 | 7 -
changes/bug28183 | 4 -
changes/bug28202 | 4 -
changes/bug28245 | 6 -
changes/bug28298 | 4 -
changes/bug28303 | 3 -
changes/bug28348_034 | 5 -
changes/bug28399 | 4 -
changes/bug28413 | 4 -
changes/bug28419 | 3 -
changes/bug28435 | 3 -
changes/bug28441 | 4 -
changes/bug28454 | 4 -
changes/bug28485 | 3 -
changes/bug28524 | 4 -
changes/bug28525 | 7 -
changes/bug28554 | 3 -
changes/bug28562 | 5 -
changes/bug28568 | 4 -
changes/bug28569 | 3 -
changes/bug28612 | 4 -
changes/bug28619 | 6 -
changes/bug28656 | 3 -
changes/bug28698 | 3 -
changes/bug28895 | 5 -
changes/bug28920 | 6 -
changes/bug28938 | 4 -
changes/bug28974 | 3 -
changes/bug28979 | 4 -
changes/bug28981 | 5 -
changes/bug28995 | 5 -
changes/bug29017 | 4 -
changes/bug29029 | 5 -
changes/bug29034 | 5 -
changes/bug29036 | 5 -
changes/bug29040 | 4 -
changes/bug29042 | 5 -
changes/bug29135 | 5 -
changes/bug29144 | 5 -
changes/bug29145 | 3 -
changes/bug29161 | 3 -
changes/bug29175_035 | 4 -
changes/bug29241 | 6 -
changes/bug29244 | 4 -
changes/bug29530_035 | 5 -
changes/bug29599 | 3 -
changes/bug29601 | 6 -
changes/bug29665 | 7 -
changes/bug29670 | 4 -
changes/bug29703 | 4 -
changes/bug29706_minimal | 4 -
changes/bug29819 | 8 -
changes/bug29875 | 11 -
changes/bug29922 | 4 -
changes/bug30011 | 4 -
changes/bug30021 | 8 -
changes/bug30040 | 9 -
changes/bug30041 | 5 -
changes/bug30148 | 4 -
changes/bug30189 | 4 -
changes/bug30190 | 3 -
changes/bug30316 | 4 -
changes/bug30344 | 4 -
changes/bug30452 | 3 -
changes/bug30475 | 4 -
changes/bug30561 | 6 -
changes/bug30713 | 5 -
changes/bug30744 | 3 -
changes/bug30781 | 4 -
changes/bug30894 | 4 -
changes/bug30916 | 4 -
changes/bug31003 | 4 -
changes/bug31107 | 4 -
changes/bug31343 | 9 -
changes/bug31408 | 5 -
changes/bug31463 | 3 -
changes/bug31571 | 7 -
changes/bug31657 | 5 -
changes/bug31837 | 5 -
changes/bug31884 | 3 -
changes/bug31939 | 3 -
changes/bug32449 | 5 -
changes/bug32753 | 3 -
changes/bug33032 | 6 +
changes/bug33374 | 5 +
changes/bug33668 | 4 +
changes/bug33674 | 4 +
changes/chutney_ci | 3 -
changes/cid1444119 | 3 -
changes/doc31089 | 4 -
changes/doc32971 | 3 +
changes/geoip-2018-11-06 | 4 -
changes/geoip-2018-12-05 | 4 -
changes/geoip-2019-01-03 | 4 -
changes/geoip-2019-02-05 | 4 -
changes/geoip-2019-03-04 | 4 -
changes/geoip-2019-04-02 | 4 -
changes/geoip-2019-05-13 | 4 -
changes/geoip-2019-06-10 | 4 -
changes/geoip-2019-10-01 | 4 -
changes/geoip-2019-11-06 | 4 -
changes/geoip-2019-12-03 | 4 -
changes/rust_asan | 8 -
changes/ticket19566 | 6 -
changes/ticket24803 | 5 -
changes/ticket27471 | 5 -
changes/ticket27751 | 2 -
changes/ticket27838 | 4 -
changes/ticket27913 | 3 -
changes/ticket27995 | 4 -
changes/ticket28026 | 3 -
changes/ticket28113 | 5 -
changes/ticket28128 | 4 -
changes/ticket28229_diag | 3 -
changes/ticket28275 | 4 -
changes/ticket28318 | 3 -
changes/ticket28459 | 4 -
changes/ticket28574 | 4 -
changes/ticket28668 | 3 -
changes/ticket28669 | 6 -
changes/ticket28795 | 5 -
changes/ticket28838 | 8 -
changes/ticket28851 | 4 -
changes/ticket28879 | 5 -
changes/ticket28881 | 4 -
changes/ticket28883 | 4 -
changes/ticket28912 | 6 -
changes/ticket28924 | 4 -
changes/ticket28970 | 6 -
changes/ticket28973 | 6 -
changes/ticket28992 | 3 +
changes/ticket29026 | 4 -
changes/ticket29160 | 4 -
changes/ticket29168 | 5 -
changes/ticket29435 | 3 -
changes/ticket29617 | 4 -
changes/ticket29702 | 4 -
changes/ticket29806 | 7 -
changes/ticket29962 | 3 -
changes/ticket30117 | 4 -
changes/ticket30213 | 3 -
changes/ticket30234 | 2 -
changes/ticket30454 | 10 -
changes/ticket30591 | 3 -
changes/ticket30694 | 3 -
changes/ticket30860 | 3 -
changes/ticket30871 | 6 -
changes/ticket31372_appveyor | 4 -
changes/ticket31372_travis | 4 -
changes/ticket31374 | 4 -
changes/ticket31406 | 3 -
changes/ticket31466 | 5 -
changes/ticket31548 | 7 -
changes/ticket31554 | 4 -
changes/ticket31673 | 3 -
changes/ticket31687_1 | 4 -
changes/ticket31687_2 | 5 -
changes/ticket31859 | 3 -
changes/ticket31919_bionic | 5 -
changes/ticket32058 | 5 -
changes/ticket32086 | 3 -
changes/ticket32240 | 4 -
changes/ticket32241 | 2 -
changes/ticket32242 | 2 -
changes/ticket32407 | 4 -
changes/ticket32500 | 5 -
changes/ticket32629 | 4 -
changes/ticket32672 | 4 +
changes/ticket32792 | 3 +
changes/ticket33029 | 5 +
changes/ticket33075 | 4 -
changes/ticket33119 | 8 +
changes/ticket33188 | 5 +
changes/ticket33194 | 4 +
changes/ticket33195 | 4 +
changes/ticket33212 | 4 -
changes/ticket33213 | 3 +
changes/ticket33290 | 4 +
changes/ticket33361 | 3 +
changes/ticket33460 | 4 +
changes/ticket33619 | 5 +
changes/ticket33623 | 2 +
changes/ticket33643 | 5 +
changes/ticket33643_part2 | 3 +
changes/ticket33678_043 | 3 +
changes/trove_2020_003 | 4 +
configure.ac | 337 +-
contrib/README | 2 -
contrib/client-tools/tor-resolve.py | 15 +-
contrib/client-tools/torify | 2 +-
.../dirauth-tools/nagios-check-tor-authority-cert | 10 +-
contrib/dist/suse/tor.sh.in | 118 -
contrib/dist/tor.sh.in | 123 -
contrib/dist/torctl.in | 195 -
contrib/include.am | 4 -
contrib/operator-tools/linux-tor-prio.sh | 192 -
contrib/or-tools/check-tor | 41 -
contrib/win32build/tor-mingw.nsi.in | 2 +-
doc/HACKING/CircuitPaddingDevelopment.md | 1234 +++
doc/HACKING/CircuitPaddingQuickStart.md | 263 +
doc/HACKING/CodeStructure.md | 151 +-
doc/HACKING/CodingStandards.md | 129 +-
doc/HACKING/CodingStandardsRust.md | 6 +-
doc/HACKING/EndOfLifeTor.md | 50 +
doc/HACKING/Fuzzing.md | 14 +-
doc/HACKING/HelpfulTools.md | 45 +-
doc/HACKING/HowToReview.md | 2 +-
doc/HACKING/Maintaining.md | 113 +
doc/HACKING/Module.md | 35 +-
doc/HACKING/ReleasingTor.md | 147 +-
doc/asciidoc-helper.sh | 6 +-
doc/include.am | 24 +-
doc/tor-doxygen.css | 10 +
doc/tor-print-ed-signing-cert.1.txt | 6 +
doc/tor.1.txt | 3312 ++++----
m4/pprint.m4 | 228 +
scripts/coccinelle/apply.sh | 9 +
scripts/coccinelle/check_cocci_parse.sh | 98 +
scripts/coccinelle/ctrl-reply-cleanup.cocci | 43 +
scripts/coccinelle/ctrl-reply.cocci | 87 +
scripts/coccinelle/debugmm.cocci | 29 +
scripts/coccinelle/exceptions.txt | 24 +
scripts/coccinelle/test-operator-cleanup | 13 +
scripts/coccinelle/tor-coccinelle.h | 63 +
scripts/coccinelle/try_parse.sh | 46 +
scripts/codegen/fuzzing_include_am.py | 10 +-
scripts/codegen/gen_server_ciphers.py | 19 +-
scripts/codegen/get_mozilla_ciphers.py | 13 +-
scripts/codegen/makedesc.py | 25 +-
scripts/codegen/run_trunnel.sh | 4 +-
scripts/git/git-merge-forward.sh | 436 ++
scripts/git/git-pull-all.sh | 259 +
scripts/git/git-push-all.sh | 330 +
scripts/git/git-setup-dirs.sh | 550 ++
scripts/git/post-merge.git-hook | 51 +
scripts/git/pre-commit.git-hook | 99 +
scripts/git/pre-push.git-hook | 124 +
scripts/maint/add_c_file.py | 333 +
scripts/maint/annotate_ifdef_directives | 74 -
scripts/maint/annotate_ifdef_directives.py | 322 +
scripts/maint/checkIncludes.py | 120 +-
scripts/maint/checkShellScripts.sh | 61 +
scripts/maint/checkSpace.pl | 84 +-
scripts/maint/checkSpaceTest.sh | 36 +
scripts/maint/checkspace_tests/dubious.c | 83 +
scripts/maint/checkspace_tests/dubious.h | 4 +
scripts/maint/checkspace_tests/expected.txt | 31 +
scripts/maint/checkspace_tests/good_guard.h | 6 +
scripts/maint/checkspace_tests/same_guard.h | 6 +
scripts/maint/checkspace_tests/subdir/dubious.c | 1 +
scripts/maint/fallback.whitelist | 997 ---
scripts/maint/format_changelog.py | 49 +-
scripts/maint/generateFallbackDirLine.py | 38 -
scripts/maint/lintChanges.py | 61 +-
scripts/maint/locatemissingdoxygen.py | 11 +-
scripts/maint/lookupFallbackDirContact.py | 28 -
scripts/maint/practracker/README | 21 +
scripts/maint/practracker/exceptions.txt | 336 +
scripts/maint/practracker/includes.py | 295 +
scripts/maint/practracker/metrics.py | 62 +
scripts/maint/practracker/practracker.py | 320 +
scripts/maint/practracker/practracker_tests.py | 72 +
scripts/maint/practracker/problem.py | 266 +
scripts/maint/practracker/test_practracker.sh | 96 +
scripts/maint/practracker/testdata/.may_include | 4 +
scripts/maint/practracker/testdata/a.c | 41 +
scripts/maint/practracker/testdata/b.c | 15 +
scripts/maint/practracker/testdata/ex.txt | 0
.../maint/practracker/testdata/ex0-expected.txt | 13 +
scripts/maint/practracker/testdata/ex0.txt | 0
.../maint/practracker/testdata/ex1-expected.txt | 5 +
.../testdata/ex1-overbroad-expected.txt | 4 +
.../practracker/testdata/ex1-regen-expected.txt | 46 +
.../testdata/ex1-regen-overbroad-expected.txt | 45 +
scripts/maint/practracker/testdata/ex1.txt | 18 +
scripts/maint/practracker/testdata/header.h | 8 +
scripts/maint/practracker/testdata/not_c_file | 2 +
scripts/maint/practracker/util.py | 61 +
scripts/maint/rectify_include_paths.py | 20 +-
scripts/maint/redox.py | 28 +-
scripts/maint/rename_c_identifier.py | 266 +
scripts/maint/run_calltool.sh | 4 +-
scripts/maint/sortChanges.py | 15 +-
scripts/maint/updateCopyright.pl | 6 +-
scripts/maint/updateFallbackDirs.py | 2216 ------
scripts/maint/updateRustDependencies.sh | 18 +-
scripts/maint/updateVersions.pl.in | 59 -
scripts/maint/update_versions.py | 136 +
scripts/test/appveyor-irc-notify.py | 4 +-
scripts/test/chutney-git-bisect.sh | 14 +-
scripts/test/cov-diff | 9 +-
scripts/test/cov-test-determinism.sh | 51 +
scripts/test/coverage | 18 +-
scripts/test/scan-build.sh | 5 +
src/app/app.md | 6 +
src/app/config/.may_include | 2 +
src/app/config/app_config.md | 6 +
src/app/config/config.c | 3680 ++++-----
src/app/config/config.h | 112 +-
src/app/config/confparse.c | 1207 ---
src/app/config/confparse.h | 233 -
src/app/config/include.am | 21 +
src/app/config/or_options_st.h | 184 +-
src/app/config/or_state_st.h | 15 +-
src/app/config/quiet_level.c | 38 +
src/app/config/quiet_level.h | 30 +
src/app/config/statefile.c | 152 +-
src/app/config/statefile.h | 6 +-
src/app/config/testnet.inc | 32 +
src/app/config/tor_cmdline_mode.h | 34 +
src/app/main/.may_include | 1 +
src/app/main/app_main.md | 2 +
src/app/main/include.am | 18 +
src/app/main/main.c | 380 +-
src/app/main/main.h | 8 +-
src/app/main/ntmain.c | 14 +-
src/app/main/ntmain.h | 5 +-
src/app/main/shutdown.c | 168 +
src/app/main/shutdown.h | 18 +
src/app/main/subsysmgr.c | 464 ++
src/app/main/subsysmgr.h | 51 +
src/app/main/subsystem_list.c | 74 +
src/app/main/tor_main.c | 2 +-
src/arch_goals.md | 31 +
src/config/mmdb-convert.py | 9 +-
src/config/torrc.minimal.in-staging | 3 +
src/config/torrc.sample.in | 9 +-
src/core/core.md | 18 +
src/core/crypto/.may_include | 10 +
src/core/crypto/core_crypto.md | 6 +
src/core/crypto/hs_ntor.c | 16 +-
src/core/crypto/hs_ntor.h | 11 +-
src/core/crypto/include.am | 18 +
src/core/crypto/onion_crypto.c | 2 +-
src/core/crypto/onion_crypto.h | 4 +-
src/core/crypto/onion_fast.c | 2 +-
src/core/crypto/onion_fast.h | 2 +-
src/core/crypto/onion_ntor.c | 2 +-
src/core/crypto/onion_ntor.h | 7 +-
src/core/crypto/onion_tap.c | 2 +-
src/core/crypto/onion_tap.h | 2 +-
src/core/crypto/relay_crypto.c | 55 +-
src/core/crypto/relay_crypto.h | 13 +-
src/core/include.am | 363 +-
src/core/mainloop/.may_include | 24 +
src/core/mainloop/connection.c | 517 +-
src/core/mainloop/connection.h | 205 +-
src/core/mainloop/core_mainloop.md | 10 +
src/core/mainloop/cpuworker.c | 13 +-
src/core/mainloop/cpuworker.h | 6 +-
src/core/mainloop/include.am | 22 +
src/core/mainloop/mainloop.c | 874 +--
src/core/mainloop/mainloop.h | 25 +-
src/core/mainloop/mainloop_pubsub.c | 179 +
src/core/mainloop/mainloop_pubsub.h | 61 +
src/core/mainloop/mainloop_state.inc | 19 +
src/core/mainloop/mainloop_state_st.h | 23 +
src/core/mainloop/mainloop_sys.c | 89 +
src/core/mainloop/mainloop_sys.h | 17 +
src/core/mainloop/netstatus.c | 144 +-
src/core/mainloop/netstatus.h | 23 +-
src/core/mainloop/periodic.c | 223 +-
src/core/mainloop/periodic.h | 37 +-
src/core/or/.may_include | 40 +
src/core/or/addr_policy_st.h | 9 +-
src/core/or/address_set.c | 4 +-
src/core/or/address_set.h | 4 +-
src/core/or/cell_queue_st.h | 11 +-
src/core/or/cell_st.h | 10 +-
src/core/or/channel.c | 64 +-
src/core/or/channel.h | 77 +-
src/core/or/channelpadding.c | 11 +-
src/core/or/channelpadding.h | 2 +-
src/core/or/channeltls.c | 140 +-
src/core/or/channeltls.h | 9 +-
src/core/or/circuit_st.h | 77 +-
src/core/or/circuitbuild.c | 208 +-
src/core/or/circuitbuild.h | 16 +-
src/core/or/circuitlist.c | 215 +-
src/core/or/circuitlist.h | 42 +-
src/core/or/circuitmux.c | 99 +-
src/core/or/circuitmux.h | 70 +-
src/core/or/circuitmux_ewma.c | 115 +-
src/core/or/circuitmux_ewma.h | 114 +-
src/core/or/circuitpadding.c | 3101 ++++++++
src/core/or/circuitpadding.h | 813 ++
src/core/or/circuitpadding_machines.c | 454 ++
src/core/or/circuitpadding_machines.h | 35 +
src/core/or/circuitstats.c | 14 +-
src/core/or/circuitstats.h | 4 +-
src/core/or/circuituse.c | 137 +-
src/core/or/circuituse.h | 11 +-
src/core/or/command.c | 26 +-
src/core/or/command.h | 3 +-
src/core/or/connection_edge.c | 255 +-
src/core/or/connection_edge.h | 21 +-
src/core/or/connection_or.c | 214 +-
src/core/or/connection_or.h | 41 +-
src/core/or/connection_st.h | 9 +-
src/core/or/core_or.md | 62 +
src/core/or/cpath_build_state_st.h | 10 +-
src/core/or/crypt_path.c | 262 +
src/core/or/crypt_path.h | 46 +
src/core/or/crypt_path_reference_st.h | 10 +-
src/core/or/crypt_path_st.h | 32 +-
src/core/or/dataflow.md | 236 +
src/core/or/destroy_cell_queue_st.h | 14 +-
src/core/or/dos.c | 15 +-
src/core/or/dos.h | 6 +-
src/core/or/edge_connection_st.h | 10 +-
src/core/or/entry_connection_st.h | 10 +-
src/core/or/entry_port_cfg_st.h | 13 +-
src/core/or/extend_info_st.h | 9 +-
src/core/or/half_edge_st.h | 10 +-
src/core/or/include.am | 98 +
src/core/or/listener_connection_st.h | 10 +-
src/core/or/ocirc_event.c | 128 +
src/core/or/ocirc_event.h | 72 +
src/core/or/ocirc_event_sys.h | 13 +
src/core/or/onion.c | 2 +-
src/core/or/onion.h | 2 +-
src/core/or/or.h | 39 +-
src/core/or/or_circuit_st.h | 22 +-
src/core/or/or_connection_st.h | 13 +-
src/core/or/or_handshake_certs_st.h | 9 +-
src/core/or/or_handshake_state_st.h | 10 +-
src/core/or/or_periodic.c | 67 +
src/core/or/or_periodic.h | 17 +
src/core/or/or_sys.c | 43 +
src/core/or/or_sys.h | 17 +
src/core/or/orconn_event.c | 99 +
src/core/or/orconn_event.h | 103 +
src/core/or/orconn_event_sys.h | 12 +
src/core/or/origin_circuit_st.h | 13 +-
src/core/or/policies.c | 254 +-
src/core/or/policies.h | 5 +-
src/core/or/port_cfg_st.h | 10 +-
src/core/or/protover.c | 18 +-
src/core/or/protover.h | 26 +-
src/core/or/protover_rust.c | 2 +-
src/core/or/reasons.c | 2 +-
src/core/or/reasons.h | 2 +-
src/core/or/relay.c | 715 +-
src/core/or/relay.h | 23 +-
src/core/or/relay_crypto_st.h | 13 +-
src/core/or/scheduler.c | 11 +-
src/core/or/scheduler.h | 17 +-
src/core/or/scheduler_kist.c | 35 +-
src/core/or/scheduler_vanilla.c | 12 +-
src/core/or/sendme.c | 710 ++
src/core/or/sendme.h | 80 +
src/core/or/server_port_cfg_st.h | 10 +-
src/core/or/socks_request_st.h | 16 +-
src/core/or/status.c | 2 +-
src/core/or/status.h | 8 +-
src/core/or/tor_version_st.h | 10 +-
src/core/or/var_cell_st.h | 10 +-
src/core/or/versions.c | 110 +-
src/core/or/versions.h | 6 +-
src/core/proto/.may_include | 14 +
src/core/proto/core_proto.md | 6 +
src/core/proto/include.am | 18 +
src/core/proto/proto_cell.c | 12 +-
src/core/proto/proto_cell.h | 8 +-
src/core/proto/proto_control0.c | 10 +-
src/core/proto/proto_control0.h | 8 +-
src/core/proto/proto_ext_or.c | 10 +-
src/core/proto/proto_ext_or.h | 7 +-
src/core/proto/proto_haproxy.c | 45 +
src/core/proto/proto_haproxy.h | 12 +
src/core/proto/proto_http.c | 10 +-
src/core/proto/proto_http.h | 8 +-
src/core/proto/proto_socks.c | 19 +-
src/core/proto/proto_socks.h | 7 +-
src/ext/.may_include | 10 +
src/ext/csiphash.c | 18 +-
src/ext/ed25519/ref10/base.py | 19 +-
src/ext/ed25519/ref10/base2.py | 15 +-
src/ext/ed25519/ref10/d.py | 7 +-
src/ext/ed25519/ref10/d2.py | 7 +-
src/ext/ed25519/ref10/sqrtm1.py | 7 +-
src/ext/ht.h | 9 +-
src/ext/include.am | 2 +
src/ext/readpassphrase.c | 2 +-
src/ext/siphash.h | 2 +
src/ext/timeouts/.may_include | 5 +
src/ext/timeouts/test-timeout.c | 2 +-
src/ext/timeouts/timeout.c | 11 +-
src/ext/timeouts/timeout.h | 10 +-
src/ext/tinytest.c | 6 +
src/ext/tinytest.h | 3 +
src/ext/tinytest_macros.h | 4 +-
src/ext/trunnel/trunnel-impl.h | 2 +-
src/ext/trunnel/trunnel.c | 2 +-
src/ext/trunnel/trunnel.h | 2 +-
src/feature/api/.may_include | 1 +
src/feature/api/feature_api.md | 2 +
src/feature/api/include.am | 11 +
src/feature/api/tor_api.c | 6 +-
src/feature/api/tor_api.h | 4 +-
src/feature/api/tor_api_internal.h | 7 +-
src/feature/client/.may_include | 1 +
src/feature/client/addressmap.c | 4 +-
src/feature/client/addressmap.h | 8 +-
src/feature/client/bridges.c | 7 +-
src/feature/client/bridges.h | 2 +-
src/feature/client/circpathbias.c | 39 +-
src/feature/client/circpathbias.h | 2 +-
src/feature/client/dnsserv.c | 10 +-
src/feature/client/dnsserv.h | 2 +-
src/feature/client/entrynodes.c | 8 +-
src/feature/client/entrynodes.h | 8 +-
src/feature/client/feature_client.md | 5 +
src/feature/client/include.am | 20 +
src/feature/client/proxymode.c | 32 +
src/feature/client/proxymode.h | 17 +
src/feature/client/transports.c | 379 +-
src/feature/client/transports.h | 20 +-
src/feature/control/.may_include | 1 +
src/feature/control/btrack.c | 64 +
src/feature/control/btrack_circuit.c | 166 +
src/feature/control/btrack_circuit.h | 18 +
src/feature/control/btrack_orconn.c | 206 +
src/feature/control/btrack_orconn.h | 41 +
src/feature/control/btrack_orconn_cevent.c | 160 +
src/feature/control/btrack_orconn_cevent.h | 18 +
src/feature/control/btrack_orconn_maps.c | 223 +
src/feature/control/btrack_orconn_maps.h | 18 +
src/feature/control/btrack_sys.h | 14 +
src/feature/control/control.c | 7996 +-------------------
src/feature/control/control.h | 376 +-
src/feature/control/control_auth.c | 441 ++
src/feature/control/control_auth.h | 32 +
src/feature/control/control_bootstrap.c | 383 +
src/feature/control/control_cmd.c | 2422 ++++++
src/feature/control/control_cmd.h | 113 +
src/feature/control/control_cmd_args_st.h | 52 +
src/feature/control/control_connection_st.h | 12 +-
src/feature/control/control_events.c | 2314 ++++++
src/feature/control/control_events.h | 353 +
src/feature/control/control_fmt.c | 274 +
src/feature/control/control_fmt.h | 25 +
src/feature/control/control_getinfo.c | 1757 +++++
src/feature/control/control_getinfo.h | 65 +
src/feature/control/control_hs.c | 335 +
src/feature/control/control_hs.h | 34 +
src/feature/control/control_proto.c | 434 ++
src/feature/control/control_proto.h | 120 +
src/feature/control/feature_control.md | 8 +
src/feature/control/fmt_serverstatus.c | 15 +-
src/feature/control/fmt_serverstatus.h | 4 +-
src/feature/control/getinfo_geoip.c | 9 +
src/feature/control/getinfo_geoip.h | 9 +-
src/feature/control/include.am | 39 +
src/feature/dirauth/.may_include | 2 +
src/feature/dirauth/authmode.c | 11 +-
src/feature/dirauth/authmode.h | 18 +-
src/feature/dirauth/bridgeauth.c | 60 +
src/feature/dirauth/bridgeauth.h | 17 +
src/feature/dirauth/bwauth.c | 69 +-
src/feature/dirauth/bwauth.h | 8 +-
src/feature/dirauth/dirauth_config.c | 470 ++
src/feature/dirauth/dirauth_config.h | 91 +
src/feature/dirauth/dirauth_options.inc | 105 +
src/feature/dirauth/dirauth_options_st.h | 24 +
src/feature/dirauth/dirauth_periodic.c | 168 +
src/feature/dirauth/dirauth_periodic.h | 30 +
src/feature/dirauth/dirauth_stub.c | 33 +
src/feature/dirauth/dirauth_sys.c | 70 +
src/feature/dirauth/dirauth_sys.h | 32 +
src/feature/dirauth/dircollate.c | 10 +-
src/feature/dirauth/dircollate.h | 10 +-
src/feature/dirauth/dirvote.c | 192 +-
src/feature/dirauth/dirvote.h | 43 +-
src/feature/dirauth/dsigs_parse.c | 4 +-
src/feature/dirauth/dsigs_parse.h | 4 +-
src/feature/dirauth/feature_dirauth.md | 9 +
src/feature/dirauth/guardfraction.c | 2 +-
src/feature/dirauth/guardfraction.h | 6 +-
src/feature/dirauth/include.am | 52 +
src/feature/dirauth/keypin.c | 6 +-
src/feature/dirauth/keypin.h | 27 +-
src/feature/dirauth/ns_detached_signatures_st.h | 10 +-
src/feature/dirauth/process_descs.c | 382 +-
src/feature/dirauth/process_descs.h | 140 +-
src/feature/dirauth/reachability.c | 12 +-
src/feature/dirauth/reachability.h | 26 +-
src/feature/dirauth/recommend_pkg.c | 2 +-
src/feature/dirauth/recommend_pkg.h | 16 +-
src/feature/dirauth/shared_random.c | 99 +-
src/feature/dirauth/shared_random.h | 67 +-
src/feature/dirauth/shared_random_state.c | 290 +-
src/feature/dirauth/shared_random_state.h | 64 +-
src/feature/dirauth/vote_microdesc_hash_st.h | 10 +-
src/feature/dirauth/voteflags.c | 154 +-
src/feature/dirauth/voteflags.h | 22 +-
src/feature/dircache/.may_include | 1 +
src/feature/dircache/cached_dir_st.h | 10 +-
src/feature/dircache/conscache.c | 13 +-
src/feature/dircache/conscache.h | 13 +-
src/feature/dircache/consdiffmgr.c | 91 +-
src/feature/dircache/consdiffmgr.h | 30 +-
src/feature/dircache/dircache.c | 210 +-
src/feature/dircache/dircache.h | 4 +-
src/feature/dircache/dircache_stub.c | 78 +
src/feature/dircache/dirserv.c | 207 +-
src/feature/dircache/dirserv.h | 44 +-
src/feature/dircache/feature_dircache.md | 6 +
src/feature/dircache/include.am | 21 +
src/feature/dirclient/.may_include | 1 +
src/feature/dirclient/dir_server_st.h | 9 +-
src/feature/dirclient/dirclient.c | 114 +-
src/feature/dirclient/dirclient.h | 6 +-
src/feature/dirclient/dirclient_modes.c | 95 +
src/feature/dirclient/dirclient_modes.h | 24 +
src/feature/dirclient/dlstatus.c | 7 +-
src/feature/dirclient/dlstatus.h | 4 +-
src/feature/dirclient/download_status_st.h | 10 +-
src/feature/dirclient/feature_dirclient.md | 7 +
src/feature/dirclient/include.am | 14 +
src/feature/dircommon/.may_include | 1 +
src/feature/dircommon/consdiff.c | 50 +-
src/feature/dircommon/consdiff.h | 22 +-
src/feature/dircommon/dir_connection_st.h | 13 +-
src/feature/dircommon/directory.c | 117 +-
src/feature/dircommon/directory.h | 9 +-
src/feature/dircommon/feature_dircommon.md | 7 +
src/feature/dircommon/fp_pair.c | 14 +-
src/feature/dircommon/fp_pair.h | 6 +-
src/feature/dircommon/include.am | 16 +
src/feature/dircommon/vote_timing_st.h | 10 +-
src/feature/dircommon/voting_schedule.c | 5 +-
src/feature/dircommon/voting_schedule.h | 15 +-
src/feature/dirparse/.may_include | 1 +
src/feature/dirparse/authcert_members.h | 29 +
src/feature/dirparse/authcert_members.i | 13 -
src/feature/dirparse/authcert_parse.c | 26 +-
src/feature/dirparse/authcert_parse.h | 3 +-
src/feature/dirparse/feature_dirparse.md | 8 +
src/feature/dirparse/include.am | 25 +
src/feature/dirparse/microdesc_parse.c | 318 +-
src/feature/dirparse/microdesc_parse.h | 4 +-
src/feature/dirparse/ns_parse.c | 64 +-
src/feature/dirparse/ns_parse.h | 16 +-
src/feature/dirparse/parsecommon.c | 60 +-
src/feature/dirparse/parsecommon.h | 2 +-
src/feature/dirparse/policy_parse.c | 4 +-
src/feature/dirparse/policy_parse.h | 2 +-
src/feature/dirparse/routerparse.c | 8 +-
src/feature/dirparse/routerparse.h | 5 +-
src/feature/dirparse/sigcommon.c | 2 +-
src/feature/dirparse/sigcommon.h | 4 +-
src/feature/dirparse/signing.c | 2 +-
src/feature/dirparse/signing.h | 4 +-
src/feature/dirparse/unparseable.c | 7 +-
src/feature/dirparse/unparseable.h | 6 +-
src/feature/feature.md | 7 +
src/feature/hibernate/.may_include | 1 +
src/feature/hibernate/feature_hibernate.md | 14 +
src/feature/hibernate/hibernate.c | 37 +-
src/feature/hibernate/hibernate.h | 3 +-
src/feature/hibernate/include.am | 8 +
src/feature/hs/.may_include | 1 +
src/feature/hs/feature_hs.md | 8 +
src/feature/hs/hs_cache.c | 238 +-
src/feature/hs/hs_cache.h | 45 +-
src/feature/hs/hs_cell.c | 189 +-
src/feature/hs/hs_cell.h | 58 +-
src/feature/hs/hs_circuit.c | 334 +-
src/feature/hs/hs_circuit.h | 17 +-
src/feature/hs/hs_circuitmap.c | 90 +-
src/feature/hs/hs_circuitmap.h | 15 +-
src/feature/hs/hs_client.c | 984 ++-
src/feature/hs/hs_client.h | 88 +-
src/feature/hs/hs_common.c | 294 +-
src/feature/hs/hs_common.h | 79 +-
src/feature/hs/hs_config.c | 105 +-
src/feature/hs/hs_config.h | 11 +-
src/feature/hs/hs_control.c | 57 +-
src/feature/hs/hs_control.h | 6 +-
src/feature/hs/hs_descriptor.c | 563 +-
src/feature/hs/hs_descriptor.h | 165 +-
src/feature/hs/hs_dos.c | 221 +
src/feature/hs/hs_dos.h | 42 +
src/feature/hs/hs_ident.c | 27 +-
src/feature/hs/hs_ident.h | 52 +-
src/feature/hs/hs_intropoint.c | 247 +-
src/feature/hs/hs_intropoint.h | 14 +-
src/feature/hs/hs_service.c | 560 +-
src/feature/hs/hs_service.h | 165 +-
src/feature/hs/hs_stats.c | 2 +-
src/feature/hs/hs_stats.h | 6 +-
src/feature/hs/hsdir_index_st.h | 17 +-
src/feature/hs/include.am | 35 +
src/feature/hs_common/.may_include | 1 +
src/feature/hs_common/feature_hs_common.md | 3 +
src/feature/hs_common/include.am | 10 +
src/feature/hs_common/replaycache.c | 2 +-
src/feature/hs_common/replaycache.h | 15 +-
src/feature/hs_common/shared_random_client.c | 22 +-
src/feature/hs_common/shared_random_client.h | 4 +-
src/feature/keymgt/.may_include | 1 +
src/feature/keymgt/feature_keymgt.md | 3 +
src/feature/keymgt/include.am | 8 +
src/feature/keymgt/loadkey.c | 4 +-
src/feature/keymgt/loadkey.h | 4 +-
src/feature/nodelist/.may_include | 1 +
src/feature/nodelist/authcert.c | 5 +-
src/feature/nodelist/authcert.h | 4 +-
src/feature/nodelist/authority_cert_st.h | 10 +-
src/feature/nodelist/desc_store_st.h | 9 +-
src/feature/nodelist/describe.c | 174 +-
src/feature/nodelist/describe.h | 36 +-
src/feature/nodelist/dirlist.c | 35 +-
src/feature/nodelist/dirlist.h | 6 +-
src/feature/nodelist/document_signature_st.h | 10 +-
src/feature/nodelist/extrainfo_st.h | 10 +-
src/feature/nodelist/feature_nodelist.md | 2 +
src/feature/nodelist/fmt_routerstatus.c | 61 +-
src/feature/nodelist/fmt_routerstatus.h | 3 +-
src/feature/nodelist/include.am | 49 +
src/feature/nodelist/microdesc.c | 53 +-
src/feature/nodelist/microdesc.h | 2 +-
src/feature/nodelist/microdesc_st.h | 18 +-
src/feature/nodelist/networkstatus.c | 362 +-
src/feature/nodelist/networkstatus.h | 24 +-
src/feature/nodelist/networkstatus_sr_info_st.h | 10 +-
src/feature/nodelist/networkstatus_st.h | 12 +-
src/feature/nodelist/networkstatus_voter_info_st.h | 9 +-
src/feature/nodelist/nickname.c | 2 +-
src/feature/nodelist/nickname.h | 4 +-
src/feature/nodelist/node_select.c | 138 +-
src/feature/nodelist/node_select.h | 6 +-
src/feature/nodelist/node_st.h | 10 +-
src/feature/nodelist/nodefamily.c | 416 +
src/feature/nodelist/nodefamily.h | 50 +
src/feature/nodelist/nodefamily_st.h | 53 +
src/feature/nodelist/nodelist.c | 307 +-
src/feature/nodelist/nodelist.h | 23 +-
src/feature/nodelist/routerinfo.c | 7 +-
src/feature/nodelist/routerinfo.h | 6 +-
src/feature/nodelist/routerinfo_st.h | 9 +-
src/feature/nodelist/routerlist.c | 47 +-
src/feature/nodelist/routerlist.h | 11 +-
src/feature/nodelist/routerlist_st.h | 10 +-
src/feature/nodelist/routerset.c | 120 +-
src/feature/nodelist/routerset.h | 8 +-
src/feature/nodelist/routerstatus_st.h | 16 +-
src/feature/nodelist/signed_descriptor_st.h | 10 +-
src/feature/nodelist/torcert.c | 8 +-
src/feature/nodelist/torcert.h | 9 +-
src/feature/nodelist/vote_routerstatus_st.h | 8 +-
src/feature/relay/.may_include | 1 +
src/feature/relay/dns.c | 95 +-
src/feature/relay/dns.h | 7 +-
src/feature/relay/dns_structs.h | 5 +-
src/feature/relay/ext_orport.c | 7 +-
src/feature/relay/ext_orport.h | 7 +-
src/feature/relay/feature_relay.md | 4 +
src/feature/relay/include.am | 40 +
src/feature/relay/onion_queue.c | 12 +-
src/feature/relay/onion_queue.h | 4 +-
src/feature/relay/relay_config.c | 1444 ++++
src/feature/relay/relay_config.h | 196 +
src/feature/relay/relay_periodic.c | 310 +
src/feature/relay/relay_periodic.h | 31 +
src/feature/relay/relay_stub.c | 20 +
src/feature/relay/relay_sys.c | 48 +
src/feature/relay/relay_sys.h | 25 +
src/feature/relay/router.c | 837 +-
src/feature/relay/router.h | 35 +-
src/feature/relay/routerkeys.c | 20 +-
src/feature/relay/routerkeys.h | 11 +-
src/feature/relay/routermode.c | 24 +-
src/feature/relay/routermode.h | 22 +-
src/feature/relay/selftest.c | 7 +-
src/feature/relay/selftest.h | 4 +-
src/feature/relay/transport_config.c | 307 +
src/feature/relay/transport_config.h | 85 +
src/feature/rend/.may_include | 1 +
src/feature/rend/feature_rend.md | 7 +
src/feature/rend/include.am | 22 +
src/feature/rend/rend_authorized_client_st.h | 10 +-
.../rend/rend_encoded_v2_service_descriptor_st.h | 10 +-
src/feature/rend/rend_intro_point_st.h | 9 +-
src/feature/rend/rend_service_descriptor_st.h | 10 +-
src/feature/rend/rendcache.c | 38 +-
src/feature/rend/rendcache.h | 4 +-
src/feature/rend/rendclient.c | 111 +-
src/feature/rend/rendclient.h | 5 +-
src/feature/rend/rendcommon.c | 27 +-
src/feature/rend/rendcommon.h | 2 +-
src/feature/rend/rendmid.c | 38 +-
src/feature/rend/rendmid.h | 2 +-
src/feature/rend/rendparse.c | 19 +-
src/feature/rend/rendparse.h | 8 +-
src/feature/rend/rendservice.c | 40 +-
src/feature/rend/rendservice.h | 2 +-
src/feature/stats/.may_include | 1 +
src/feature/stats/feature_stats.md | 10 +
src/feature/stats/geoip_stats.c | 6 +-
src/feature/stats/geoip_stats.h | 3 +-
src/feature/stats/include.am | 12 +
src/feature/stats/predict_ports.c | 2 +-
src/feature/stats/predict_ports.h | 6 +-
src/feature/stats/rephist.c | 4 +-
src/feature/stats/rephist.h | 4 +-
src/include.am | 44 +
src/lib/arch/bytes.h | 29 +-
src/lib/arch/include.am | 1 +
src/lib/arch/lib_arch.md | 2 +
src/lib/buf/.may_include | 10 +
src/lib/{container => buf}/buffers.c | 28 +-
src/lib/{container => buf}/buffers.h | 2 +-
src/lib/buf/include.am | 19 +
src/lib/buf/lib_buf.md | 13 +
src/lib/cc/.may_include | 1 +
src/lib/cc/compat_compiler.h | 51 +-
src/lib/cc/ctassert.h | 53 +
src/lib/cc/include.am | 3 +
src/lib/cc/lib_cc.md | 2 +
src/lib/cc/tokpaste.h | 30 +
src/lib/cc/torint.h | 19 +-
src/lib/compress/.may_include | 2 +
src/lib/compress/compress.c | 23 +-
src/lib/compress/compress.h | 4 +-
src/lib/compress/compress_buf.c | 4 +-
src/lib/compress/compress_lzma.c | 6 +-
src/lib/compress/compress_lzma.h | 2 +-
src/lib/compress/compress_none.c | 2 +-
src/lib/compress/compress_none.h | 2 +-
src/lib/compress/compress_sys.h | 14 +
src/lib/compress/compress_zlib.c | 2 +-
src/lib/compress/compress_zlib.h | 2 +-
src/lib/compress/compress_zstd.c | 28 +-
src/lib/compress/compress_zstd.h | 2 +-
src/lib/compress/include.am | 3 +
src/lib/compress/lib_compress.md | 6 +
src/lib/conf/.may_include | 3 +
src/lib/conf/confdecl.h | 221 +
src/lib/conf/config.md | 126 +
src/lib/conf/confmacros.h | 72 +
src/lib/conf/conftesting.h | 89 +
src/lib/conf/conftypes.h | 381 +
src/lib/conf/include.am | 7 +
src/lib/conf/lib_conf.md | 3 +
src/lib/confmgt/.may_include | 12 +
src/lib/confmgt/confmgt.c | 1406 ++++
src/lib/confmgt/confmgt.h | 136 +
src/lib/confmgt/include.am | 27 +
src/lib/confmgt/lib_confmgt.md | 7 +
src/lib/confmgt/structvar.c | 239 +
src/lib/confmgt/structvar.h | 54 +
src/lib/confmgt/type_defs.c | 849 +++
src/lib/confmgt/type_defs.h | 17 +
src/lib/confmgt/typedvar.c | 236 +
src/lib/confmgt/typedvar.h | 38 +
src/lib/confmgt/unitparse.c | 254 +
src/lib/confmgt/unitparse.h | 35 +
src/lib/confmgt/var_type_def_st.h | 167 +
src/lib/container/.may_include | 9 +-
src/lib/container/bitarray.h | 4 +-
src/lib/container/bloomfilt.c | 4 +-
src/lib/container/bloomfilt.h | 2 +-
src/lib/container/handles.h | 25 +-
src/lib/container/include.am | 7 +-
src/lib/container/lib_container.md | 49 +
src/lib/container/map.c | 4 +-
src/lib/container/map.h | 65 +-
src/lib/container/namemap.c | 189 +
src/lib/container/namemap.h | 35 +
src/lib/container/namemap_st.h | 41 +
src/lib/container/order.c | 2 +-
src/lib/container/order.h | 4 +-
src/lib/container/smartlist.c | 12 +-
src/lib/container/smartlist.h | 15 +-
src/lib/crypt_ops/.may_include | 8 +-
src/lib/crypt_ops/aes.h | 4 +-
src/lib/crypt_ops/aes_nss.c | 6 +-
src/lib/crypt_ops/aes_openssl.c | 11 +-
src/lib/crypt_ops/certs.md | 30 +
src/lib/crypt_ops/compat_openssl.h | 4 +-
src/lib/crypt_ops/crypto_cipher.c | 2 +-
src/lib/crypt_ops/crypto_cipher.h | 6 +-
src/lib/crypt_ops/crypto_curve25519.c | 2 +-
src/lib/crypt_ops/crypto_curve25519.h | 6 +-
src/lib/crypt_ops/crypto_dh.c | 2 +-
src/lib/crypt_ops/crypto_dh.h | 2 +-
src/lib/crypt_ops/crypto_dh_nss.c | 4 +-
src/lib/crypt_ops/crypto_dh_openssl.c | 22 +-
src/lib/crypt_ops/crypto_digest.c | 710 +-
src/lib/crypt_ops/crypto_digest.h | 37 +-
src/lib/crypt_ops/crypto_digest_nss.c | 563 ++
src/lib/crypt_ops/crypto_digest_openssl.c | 521 ++
src/lib/crypt_ops/crypto_ed25519.c | 6 +-
src/lib/crypt_ops/crypto_ed25519.h | 2 +-
src/lib/crypt_ops/crypto_format.c | 92 +-
src/lib/crypt_ops/crypto_format.h | 14 +-
src/lib/crypt_ops/crypto_hkdf.c | 12 +-
src/lib/crypt_ops/crypto_hkdf.h | 2 +-
src/lib/crypt_ops/crypto_init.c | 132 +-
src/lib/crypt_ops/crypto_init.h | 4 +-
src/lib/crypt_ops/crypto_nss_mgt.c | 6 +-
src/lib/crypt_ops/crypto_nss_mgt.h | 6 +-
src/lib/crypt_ops/crypto_ope.c | 11 +-
src/lib/crypt_ops/crypto_ope.h | 17 +-
src/lib/crypt_ops/crypto_openssl_mgt.c | 52 +-
src/lib/crypt_ops/crypto_openssl_mgt.h | 4 +-
src/lib/crypt_ops/crypto_options.inc | 19 +
src/lib/crypt_ops/crypto_options_st.h | 23 +
src/lib/crypt_ops/crypto_pwbox.c | 2 +-
src/lib/crypt_ops/crypto_pwbox.h | 2 +-
src/lib/crypt_ops/crypto_rand.c | 135 +-
src/lib/crypt_ops/crypto_rand.h | 60 +-
src/lib/crypt_ops/crypto_rand_fast.c | 438 ++
src/lib/crypt_ops/crypto_rand_numeric.c | 194 +
src/lib/crypt_ops/crypto_rsa.c | 31 +-
src/lib/crypt_ops/crypto_rsa.h | 15 +-
src/lib/crypt_ops/crypto_rsa_nss.c | 20 +-
src/lib/crypt_ops/crypto_rsa_openssl.c | 80 +-
src/lib/crypt_ops/crypto_s2k.c | 10 +-
src/lib/crypt_ops/crypto_s2k.h | 2 +-
src/lib/crypt_ops/crypto_sys.h | 14 +
src/lib/crypt_ops/crypto_util.c | 10 +-
src/lib/crypt_ops/crypto_util.h | 2 +-
src/lib/crypt_ops/digestset.c | 4 +-
src/lib/crypt_ops/digestset.h | 4 +-
src/lib/crypt_ops/include.am | 9 +
src/lib/crypt_ops/lib_crypt_ops.md | 137 +
src/lib/ctime/di_ops.c | 5 +-
src/lib/ctime/di_ops.h | 25 +-
src/lib/ctime/include.am | 2 +
src/lib/ctime/lib_ctime.md | 14 +
src/lib/defs/dh_sizes.h | 4 +-
src/lib/defs/digest_sizes.h | 4 +-
src/lib/defs/include.am | 3 +
src/lib/defs/lib_defs.md | 2 +
src/lib/defs/logging_types.h | 23 +
src/lib/defs/time.h | 23 +
src/lib/defs/x25519_sizes.h | 12 +-
src/lib/dispatch/.may_include | 11 +
src/lib/dispatch/dispatch.h | 114 +
src/lib/dispatch/dispatch_cfg.c | 141 +
src/lib/dispatch/dispatch_cfg.h | 50 +
src/lib/dispatch/dispatch_cfg_st.h | 33 +
src/lib/dispatch/dispatch_core.c | 260 +
src/lib/dispatch/dispatch_naming.c | 70 +
src/lib/dispatch/dispatch_naming.h | 51 +
src/lib/dispatch/dispatch_new.c | 176 +
src/lib/dispatch/dispatch_st.h | 108 +
src/lib/dispatch/include.am | 27 +
src/lib/dispatch/lib_dispatch.md | 14 +
src/lib/dispatch/msgtypes.h | 80 +
src/lib/encoding/.may_include | 1 +
src/lib/encoding/binascii.c | 24 +-
src/lib/encoding/binascii.h | 5 +-
src/lib/encoding/confline.c | 17 +-
src/lib/encoding/confline.h | 6 +-
src/lib/encoding/cstring.c | 2 +-
src/lib/encoding/cstring.h | 2 +-
src/lib/encoding/include.am | 6 +
src/lib/encoding/keyval.c | 2 +-
src/lib/encoding/keyval.h | 4 +-
src/lib/encoding/kvline.c | 297 +
src/lib/encoding/kvline.h | 27 +
src/lib/encoding/lib_encoding.md | 6 +
src/lib/encoding/pem.c | 12 +-
src/lib/encoding/pem.h | 4 +-
src/lib/encoding/qstring.c | 90 +
src/lib/encoding/qstring.h | 18 +
src/lib/encoding/time_fmt.c | 2 +-
src/lib/encoding/time_fmt.h | 4 +-
src/lib/err/.may_include | 3 +
src/lib/err/backtrace.c | 86 +-
src/lib/err/backtrace.h | 13 +-
src/lib/err/include.am | 10 +-
src/lib/err/lib_err.md | 13 +
src/lib/err/torerr.c | 79 +-
src/lib/err/torerr.h | 12 +-
src/lib/err/torerr_sys.c | 46 +
src/lib/err/torerr_sys.h | 14 +
src/lib/evloop/.may_include | 5 +-
src/lib/evloop/compat_libevent.c | 6 +-
src/lib/evloop/compat_libevent.h | 8 +-
src/lib/evloop/evloop_sys.c | 49 +
src/lib/evloop/evloop_sys.h | 17 +
src/lib/evloop/include.am | 5 +-
src/lib/evloop/lib_evloop.md | 7 +
src/lib/evloop/procmon.c | 8 +-
src/lib/evloop/procmon.h | 2 +-
src/lib/evloop/time_periodic.md | 76 +
src/lib/evloop/timers.c | 15 +-
src/lib/evloop/timers.h | 3 +-
src/lib/evloop/token_bucket.c | 54 +-
src/lib/evloop/token_bucket.h | 35 +-
src/lib/evloop/workqueue.c | 38 +-
src/lib/evloop/workqueue.h | 9 +-
src/lib/fdio/fdio.c | 13 +-
src/lib/fdio/fdio.h | 5 +-
src/lib/fdio/include.am | 2 +
src/lib/fdio/lib_fdio.md | 5 +
src/lib/fs/.may_include | 2 +-
src/lib/fs/conffile.c | 2 +-
src/lib/fs/conffile.h | 4 +-
src/lib/fs/dir.c | 6 +-
src/lib/fs/dir.h | 4 +-
src/lib/fs/files.c | 2 +-
src/lib/fs/files.h | 16 +-
src/lib/fs/freespace.c | 2 +-
src/lib/fs/include.am | 2 +
src/lib/fs/lib_fs.md | 9 +
src/lib/fs/lockfile.c | 2 +-
src/lib/fs/lockfile.h | 4 +-
src/lib/fs/mmap.c | 20 +-
src/lib/fs/mmap.h | 9 +-
src/lib/fs/path.c | 17 +-
src/lib/fs/path.h | 6 +-
src/lib/fs/storagedir.c | 2 +-
src/lib/fs/storagedir.h | 6 +-
src/lib/fs/userdb.c | 2 +-
src/lib/fs/userdb.h | 6 +-
src/lib/fs/winlib.c | 2 +-
src/lib/fs/winlib.h | 6 +-
src/lib/geoip/country.h | 10 +-
src/lib/geoip/geoip.c | 18 +-
src/lib/geoip/geoip.h | 3 +-
src/lib/geoip/include.am | 2 +
src/lib/geoip/lib_geoip.md | 3 +
src/lib/intmath/addsub.c | 2 +-
src/lib/intmath/addsub.h | 4 +-
src/lib/intmath/bits.c | 2 +-
src/lib/intmath/bits.h | 2 +-
src/lib/intmath/cmp.h | 5 +-
src/lib/intmath/include.am | 2 +
src/lib/intmath/lib_intmath.md | 2 +
src/lib/intmath/logic.h | 4 +-
src/lib/intmath/muldiv.c | 16 +-
src/lib/intmath/muldiv.h | 4 +-
src/lib/intmath/weakrng.c | 2 +-
src/lib/intmath/weakrng.h | 7 +-
src/lib/lib.md | 131 +
src/lib/lock/compat_mutex.c | 12 +-
src/lib/lock/compat_mutex.h | 9 +-
src/lib/lock/compat_mutex_pthreads.c | 24 +-
src/lib/lock/compat_mutex_winthreads.c | 2 +-
src/lib/lock/include.am | 2 +
src/lib/lock/lib_lock.md | 6 +
src/lib/log/.may_include | 5 +-
src/lib/log/escape.c | 2 +-
src/lib/log/escape.h | 4 +-
src/lib/log/include.am | 12 +-
src/lib/log/lib_log.md | 10 +
src/lib/log/log.c | 182 +-
src/lib/log/log.h | 149 +-
src/lib/log/log_sys.c | 37 +
src/lib/log/log_sys.h | 14 +
src/lib/log/ratelim.c | 2 +-
src/lib/log/ratelim.h | 6 +-
src/lib/log/util_bug.c | 76 +-
src/lib/log/util_bug.h | 66 +-
src/lib/log/win32err.c | 4 +-
src/lib/log/win32err.h | 4 +-
src/lib/malloc/.may_include | 2 +-
src/lib/malloc/include.am | 8 +-
src/lib/malloc/lib_malloc.md | 76 +
src/lib/malloc/malloc.c | 2 +-
src/lib/malloc/malloc.h | 6 +-
src/lib/malloc/map_anon.c | 271 +
src/lib/malloc/map_anon.h | 71 +
src/lib/math/.may_include | 2 +
src/lib/math/fp.c | 32 +-
src/lib/math/fp.h | 5 +-
src/lib/math/include.am | 9 +-
src/lib/math/laplace.c | 2 +-
src/lib/math/laplace.h | 4 +-
src/lib/math/lib_math.md | 6 +
src/lib/math/prob_distr.c | 1690 +++++
src/lib/math/prob_distr.h | 253 +
src/lib/memarea/.may_include | 2 +-
src/lib/memarea/include.am | 2 +
src/lib/memarea/lib_memarea.md | 28 +
src/lib/memarea/memarea.c | 9 +-
src/lib/memarea/memarea.h | 5 +-
src/lib/meminfo/include.am | 2 +
src/lib/meminfo/lib_meminfo.md | 5 +
src/lib/meminfo/meminfo.c | 8 +-
src/lib/meminfo/meminfo.h | 4 +-
src/lib/net/.may_include | 6 +-
src/lib/net/address.c | 138 +-
src/lib/net/address.h | 26 +-
src/lib/net/alertsock.c | 2 +-
src/lib/net/alertsock.h | 4 +-
src/lib/net/buffers_net.c | 138 +-
src/lib/net/buffers_net.h | 11 +-
src/lib/net/gethostname.c | 2 +-
src/lib/net/gethostname.h | 4 +-
src/lib/net/inaddr.c | 16 +-
src/lib/net/inaddr.h | 4 +-
src/lib/net/inaddr_st.h | 4 +-
src/lib/net/include.am | 4 +
src/lib/net/lib_net.md | 6 +
src/lib/net/nettypes.h | 6 +-
src/lib/net/network_sys.c | 46 +
src/lib/net/network_sys.h | 14 +
src/lib/net/resolve.c | 359 +-
src/lib/net/resolve.h | 21 +-
src/lib/net/socket.c | 46 +-
src/lib/net/socket.h | 7 +-
src/lib/net/socketpair.c | 18 +-
src/lib/net/socketpair.h | 9 +-
src/lib/net/socks5_status.h | 14 +-
src/lib/osinfo/include.am | 2 +
src/lib/osinfo/lib_osinfo.md | 8 +
src/lib/osinfo/uname.c | 4 +-
src/lib/osinfo/uname.h | 4 +-
src/lib/process/.may_include | 7 +-
src/lib/process/daemon.c | 4 +-
src/lib/process/daemon.h | 4 +-
src/lib/process/env.c | 5 +-
src/lib/process/env.h | 4 +-
src/lib/process/include.am | 18 +-
src/lib/process/lib_process.md | 2 +
src/lib/process/pidfile.c | 2 +-
src/lib/process/pidfile.h | 4 +-
src/lib/process/process.c | 798 ++
src/lib/process/process.h | 148 +
src/lib/process/process_sys.c | 33 +
src/lib/process/process_sys.h | 14 +
src/lib/process/process_unix.c | 698 ++
src/lib/process/process_unix.h | 68 +
src/lib/process/process_win32.c | 1105 +++
src/lib/process/process_win32.h | 97 +
src/lib/process/restrict.c | 6 +-
src/lib/process/restrict.h | 2 +-
src/lib/process/setuid.c | 16 +-
src/lib/process/setuid.h | 4 +-
src/lib/process/subprocess.c | 1236 ---
src/lib/process/subprocess.h | 134 -
src/lib/process/waitpid.c | 4 +-
src/lib/process/waitpid.h | 2 +-
src/lib/process/winprocess_sys.c | 66 +
src/lib/process/winprocess_sys.h | 14 +
src/lib/pubsub/.may_include | 10 +
src/lib/pubsub/include.am | 28 +
src/lib/pubsub/lib_pubsub.md | 14 +
src/lib/pubsub/pub_binding_st.h | 38 +
src/lib/pubsub/publish_subscribe.md | 144 +
src/lib/pubsub/pubsub.h | 89 +
src/lib/pubsub/pubsub_build.c | 307 +
src/lib/pubsub/pubsub_build.h | 97 +
src/lib/pubsub/pubsub_builder_st.h | 161 +
src/lib/pubsub/pubsub_check.c | 414 +
src/lib/pubsub/pubsub_connect.h | 54 +
src/lib/pubsub/pubsub_flags.h | 32 +
src/lib/pubsub/pubsub_macros.h | 373 +
src/lib/pubsub/pubsub_publish.c | 72 +
src/lib/pubsub/pubsub_publish.h | 20 +
src/lib/sandbox/.may_include | 7 +-
src/lib/sandbox/include.am | 2 +
src/lib/sandbox/lib_sandbox.md | 15 +
src/lib/sandbox/sandbox.c | 27 +-
src/lib/sandbox/sandbox.h | 14 +-
src/lib/smartlist_core/.may_include | 2 +-
src/lib/smartlist_core/include.am | 2 +
src/lib/smartlist_core/lib_smartlist_core.md | 10 +
src/lib/smartlist_core/smartlist_core.c | 28 +-
src/lib/smartlist_core/smartlist_core.h | 7 +-
src/lib/smartlist_core/smartlist_foreach.h | 15 +-
src/lib/smartlist_core/smartlist_split.c | 2 +-
src/lib/smartlist_core/smartlist_split.h | 4 +-
src/lib/string/.may_include | 4 +-
src/lib/string/compat_ctype.c | 2 +-
src/lib/string/compat_ctype.h | 2 +-
src/lib/string/compat_string.c | 6 +-
src/lib/string/compat_string.h | 13 +-
src/lib/string/include.am | 2 +
src/lib/string/lib_string.md | 13 +
src/lib/string/parse_int.c | 7 +-
src/lib/string/parse_int.h | 4 +-
src/lib/string/printf.c | 10 +-
src/lib/string/printf.h | 4 +-
src/lib/string/scanf.c | 2 +-
src/lib/string/scanf.h | 4 +-
src/lib/string/strings.md | 102 +
src/lib/string/util_string.c | 56 +-
src/lib/string/util_string.h | 9 +-
src/lib/subsys/.may_include | 1 +
src/lib/subsys/include.am | 4 +
src/lib/subsys/initialization.md | 75 +
src/lib/subsys/lib_subsys.md | 32 +
src/lib/subsys/subsys.h | 205 +
src/lib/term/.may_include | 3 +-
src/lib/term/getpass.c | 4 +-
src/lib/term/getpass.h | 4 +-
src/lib/term/include.am | 2 +
src/lib/term/lib_term.md | 2 +
src/lib/testsupport/include.am | 1 +
src/lib/testsupport/lib_testsupport.md | 2 +
src/lib/testsupport/testsupport.h | 57 +-
src/lib/thread/.may_include | 1 +
src/lib/thread/compat_pthreads.c | 4 +-
src/lib/thread/compat_threads.c | 30 +-
src/lib/thread/compat_winthreads.c | 2 +-
src/lib/thread/include.am | 7 +-
src/lib/thread/lib_thread.md | 7 +
src/lib/thread/numcpus.c | 2 +-
src/lib/thread/numcpus.h | 4 +-
src/lib/thread/thread_sys.h | 14 +
src/lib/thread/threading.md | 26 +
src/lib/thread/threads.h | 22 +-
src/lib/time/.may_include | 2 +
src/lib/time/compat_time.c | 30 +-
src/lib/time/compat_time.h | 152 +-
src/lib/time/include.am | 4 +
src/lib/time/lib_time.md | 9 +
src/lib/time/time_sys.c | 28 +
src/lib/time/time_sys.h | 14 +
src/lib/time/tvdiff.c | 5 +-
src/lib/time/tvdiff.h | 4 +-
src/lib/tls/.may_include | 7 +-
src/lib/tls/buffers_tls.c | 12 +-
src/lib/tls/buffers_tls.h | 2 +-
src/lib/tls/include.am | 3 +
src/lib/tls/lib_tls.md | 11 +
src/lib/tls/nss_countbytes.c | 2 +-
src/lib/tls/nss_countbytes.h | 4 +-
src/lib/tls/tortls.c | 21 +-
src/lib/tls/tortls.h | 12 +-
src/lib/tls/tortls_internal.h | 15 +-
src/lib/tls/tortls_nss.c | 6 +-
src/lib/tls/tortls_openssl.c | 26 +-
src/lib/tls/tortls_st.h | 14 +-
src/lib/tls/tortls_sys.h | 14 +
src/lib/tls/x509.c | 2 +-
src/lib/tls/x509.h | 8 +-
src/lib/tls/x509_internal.h | 4 +-
src/lib/tls/x509_nss.c | 10 +-
src/lib/tls/x509_openssl.c | 10 +-
src/lib/trace/debug.h | 4 +-
src/lib/trace/events.h | 8 +-
src/lib/trace/include.am | 3 +-
src/lib/trace/lib_trace.md | 6 +
src/lib/trace/trace.c | 2 +-
src/lib/trace/trace.h | 4 +-
src/lib/version/.may_include | 3 +
src/lib/{log => version}/git_revision.c | 19 +-
src/lib/{log => version}/git_revision.h | 7 +-
src/lib/version/include.am | 27 +
src/lib/version/lib_version.md | 2 +
src/lib/version/torversion.h | 17 +
src/lib/version/version.c | 59 +
src/lib/wallclock/.may_include | 1 +
src/lib/wallclock/approx_time.c | 26 +-
src/lib/wallclock/approx_time.h | 4 +-
src/lib/wallclock/include.am | 5 +-
src/lib/wallclock/lib_wallclock.md | 11 +
src/lib/wallclock/time_to_tm.c | 2 +-
src/lib/wallclock/time_to_tm.h | 4 +-
src/lib/wallclock/timeval.h | 27 +-
src/lib/wallclock/tor_gettimeofday.c | 2 +-
src/lib/wallclock/tor_gettimeofday.h | 4 +-
src/lib/wallclock/wallclock_sys.h | 14 +
src/mainpage.md | 147 +
src/rust/build.rs | 4 +-
src/rust/protover/ffi.rs | 2 +
src/rust/protover/protover.rs | 12 +-
src/rust/tor_log/tor_log.rs | 8 +-
src/rust/tor_util/strings.rs | 6 +-
src/test/.may_include | 2 +
src/test/Makefile.nmake | 8 +-
src/test/bench.c | 121 +-
src/test/bt_test.py | 4 +
src/test/conf_examples/badnick_1/error | 1 +
.../badnick_1/expected_log_no_dirauth_relay | 1 +
.../badnick_1/expected_no_dirauth_relay | 1 +
src/test/conf_examples/badnick_1/torrc | 4 +
src/test/conf_examples/badnick_2/error | 1 +
.../badnick_2/expected_log_no_dirauth_relay | 1 +
.../badnick_2/expected_no_dirauth_relay | 1 +
src/test/conf_examples/badnick_2/torrc | 4 +
.../conf_examples/bridgeauth_1/error_no_dirauth | 1 +
.../bridgeauth_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/bridgeauth_1/expected | 7 +
src/test/conf_examples/bridgeauth_1/expected_log | 1 +
src/test/conf_examples/bridgeauth_1/torrc | 8 +
src/test/conf_examples/contactinfo_notutf8/error | 1 +
.../expected_log_no_dirauth_relay | 1 +
.../contactinfo_notutf8/expected_no_dirauth_relay | 1 +
src/test/conf_examples/contactinfo_notutf8/torrc | 5 +
src/test/conf_examples/controlsock/error | 1 +
src/test/conf_examples/controlsock/torrc | 1 +
src/test/conf_examples/crypto_accel/expected | 2 +
src/test/conf_examples/crypto_accel/expected_log | 1 +
.../conf_examples/crypto_accel/expected_log_nss | 1 +
src/test/conf_examples/crypto_accel/expected_nss | 2 +
src/test/conf_examples/crypto_accel/torrc | 3 +
src/test/conf_examples/crypto_accel_req/error | 1 +
.../crypto_accel_req/expected_log_nss | 1 +
.../conf_examples/crypto_accel_req/expected_nss | 2 +
src/test/conf_examples/crypto_accel_req/torrc | 3 +
src/test/conf_examples/dirauth_1/error_no_dirauth | 1 +
.../conf_examples/dirauth_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/dirauth_1/expected | 8 +
src/test/conf_examples/dirauth_1/expected_log | 1 +
src/test/conf_examples/dirauth_1/torrc | 8 +
src/test/conf_examples/dirauth_2/expected | 1 +
src/test/conf_examples/dirauth_2/expected_log | 1 +
.../dirauth_2/expected_log_no_dirauth | 1 +
.../dirauth_2/expected_log_no_dirauth_relay | 1 +
.../conf_examples/dirauth_2/expected_no_dirauth | 0
.../dirauth_2/expected_no_dirauth_relay | 0
src/test/conf_examples/dirauth_2/torrc | 5 +
src/test/conf_examples/empty_1/expected | 0
src/test/conf_examples/empty_1/expected_log | 1 +
src/test/conf_examples/empty_1/torrc | 0
src/test/conf_examples/empty_2/cmdline | 0
src/test/conf_examples/empty_2/expected | 0
src/test/conf_examples/empty_2/expected_log | 1 +
src/test/conf_examples/empty_2/torrc | 0
src/test/conf_examples/empty_2/torrc.defaults | 0
src/test/conf_examples/empty_3/expected | 0
src/test/conf_examples/empty_3/expected_log | 1 +
src/test/conf_examples/empty_3/included/empty | 0
src/test/conf_examples/empty_3/torrc | 1 +
src/test/conf_examples/empty_4/error | 1 +
src/test/conf_examples/example_1/expected | 2 +
src/test/conf_examples/example_1/expected_log | 1 +
src/test/conf_examples/example_1/torrc | 5 +
src/test/conf_examples/example_2/error | 1 +
src/test/conf_examples/example_2/torrc | 1 +
src/test/conf_examples/example_3/cmdline | 1 +
src/test/conf_examples/example_3/expected | 1 +
src/test/conf_examples/example_3/expected_log | 1 +
src/test/conf_examples/example_3/torrc | 0
.../conf_examples/include_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/include_1/expected | 3 +
src/test/conf_examples/include_1/expected_log | 1 +
src/test/conf_examples/include_1/included.inc | 4 +
src/test/conf_examples/include_1/nested.inc | 2 +
src/test/conf_examples/include_1/torrc | 4 +
.../include_bug_31408/error_no_dirauth_relay | 1 +
src/test/conf_examples/include_bug_31408/expected | 2 +
.../conf_examples/include_bug_31408/expected_log | 1 +
.../include_bug_31408/included/01_nickname.inc | 1 +
.../include_bug_31408/included/02_no_configs.inc | 3 +
src/test/conf_examples/include_bug_31408/torrc | 2 +
.../conf_examples/large_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/large_1/expected | 159 +
src/test/conf_examples/large_1/expected_log | 1 +
.../conf_examples/large_1/expected_log_no_dirauth | 1 +
src/test/conf_examples/large_1/expected_no_dirauth | 158 +
src/test/conf_examples/large_1/torrc | 167 +
src/test/conf_examples/lzma_zstd_1/expected | 0
src/test/conf_examples/lzma_zstd_1/expected_log | 1 +
.../conf_examples/lzma_zstd_1/expected_log_lzma | 1 +
.../lzma_zstd_1/expected_log_lzma_zstd | 1 +
.../conf_examples/lzma_zstd_1/expected_log_zstd | 1 +
src/test/conf_examples/lzma_zstd_1/expected_lzma | 0
.../conf_examples/lzma_zstd_1/expected_lzma_zstd | 0
src/test/conf_examples/lzma_zstd_1/expected_zstd | 0
src/test/conf_examples/lzma_zstd_1/torrc | 1 +
src/test/conf_examples/missing_cl_arg/cmdline | 1 +
src/test/conf_examples/missing_cl_arg/error | 1 +
src/test/conf_examples/missing_cl_arg/torrc | 0
src/test/conf_examples/nss_1/expected | 0
src/test/conf_examples/nss_1/expected_log | 1 +
src/test/conf_examples/nss_1/expected_log_nss | 1 +
src/test/conf_examples/nss_1/expected_nss | 0
src/test/conf_examples/nss_1/torrc | 1 +
src/test/conf_examples/obsolete_1/expected | 0
src/test/conf_examples/obsolete_1/expected_log | 1 +
src/test/conf_examples/obsolete_1/torrc | 70 +
src/test/conf_examples/obsolete_2/expected | 0
src/test/conf_examples/obsolete_2/expected_log | 1 +
src/test/conf_examples/obsolete_2/torrc | 5 +
src/test/conf_examples/obsolete_3/expected | 0
src/test/conf_examples/obsolete_3/expected_log | 1 +
src/test/conf_examples/obsolete_3/torrc | 4 +
src/test/conf_examples/ops_1/cmdline | 1 +
.../conf_examples/ops_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_1/expected | 2 +
src/test/conf_examples/ops_1/expected_log | 1 +
src/test/conf_examples/ops_1/torrc | 3 +
src/test/conf_examples/ops_2/cmdline | 1 +
src/test/conf_examples/ops_2/expected | 0
src/test/conf_examples/ops_2/expected_log | 1 +
src/test/conf_examples/ops_2/torrc | 3 +
src/test/conf_examples/ops_3/cmdline | 1 +
.../conf_examples/ops_3/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_3/expected | 3 +
src/test/conf_examples/ops_3/expected_log | 1 +
src/test/conf_examples/ops_3/torrc | 3 +
.../conf_examples/ops_4/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_4/expected | 2 +
src/test/conf_examples/ops_4/expected_log | 1 +
src/test/conf_examples/ops_4/torrc | 3 +
src/test/conf_examples/ops_4/torrc.defaults | 1 +
.../conf_examples/ops_5/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_5/expected | 3 +
src/test/conf_examples/ops_5/expected_log | 1 +
src/test/conf_examples/ops_5/torrc | 3 +
src/test/conf_examples/ops_5/torrc.defaults | 1 +
src/test/conf_examples/ops_6/expected | 0
src/test/conf_examples/ops_6/expected_log | 1 +
src/test/conf_examples/ops_6/torrc | 3 +
src/test/conf_examples/ops_6/torrc.defaults | 1 +
src/test/conf_examples/pt_01/expected | 0
src/test/conf_examples/pt_01/expected_log | 1 +
src/test/conf_examples/pt_01/torrc | 7 +
src/test/conf_examples/pt_02/error | 1 +
.../pt_02/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_02/expected_no_dirauth_relay | 8 +
src/test/conf_examples/pt_02/torrc | 13 +
src/test/conf_examples/pt_03/expected | 1 +
src/test/conf_examples/pt_03/expected_log | 1 +
.../pt_03/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_03/expected_no_dirauth_relay | 1 +
src/test/conf_examples/pt_03/torrc | 4 +
src/test/conf_examples/pt_04/expected | 3 +
src/test/conf_examples/pt_04/expected_log | 1 +
.../pt_04/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_04/expected_no_dirauth_relay | 3 +
src/test/conf_examples/pt_04/torrc | 6 +
.../conf_examples/pt_05/error_no_dirauth_relay | 1 +
src/test/conf_examples/pt_05/expected | 4 +
src/test/conf_examples/pt_05/expected_log | 1 +
src/test/conf_examples/pt_05/torrc | 6 +
src/test/conf_examples/pt_06/expected | 6 +
src/test/conf_examples/pt_06/expected_log | 1 +
.../pt_06/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_06/expected_no_dirauth_relay | 6 +
src/test/conf_examples/pt_06/torrc | 9 +
.../conf_examples/pt_07/error_no_dirauth_relay | 1 +
src/test/conf_examples/pt_07/expected | 4 +
src/test/conf_examples/pt_07/expected_log | 1 +
src/test/conf_examples/pt_07/torrc | 6 +
src/test/conf_examples/pt_08/error | 1 +
.../pt_08/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_08/expected_no_dirauth_relay | 2 +
src/test/conf_examples/pt_08/torrc | 7 +
src/test/conf_examples/pt_09/error | 1 +
.../conf_examples/pt_09/error_no_dirauth_relay | 1 +
src/test/conf_examples/pt_09/torrc | 7 +
src/test/conf_examples/relay_01/expected | 0
src/test/conf_examples/relay_01/expected_log | 1 +
src/test/conf_examples/relay_01/torrc | 5 +
src/test/conf_examples/relay_02/error | 1 +
.../conf_examples/relay_02/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_02/torrc | 7 +
.../conf_examples/relay_03/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_03/expected | 2 +
src/test/conf_examples/relay_03/expected_log | 1 +
src/test/conf_examples/relay_03/torrc | 5 +
.../conf_examples/relay_04/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_04/expected | 2 +
src/test/conf_examples/relay_04/expected_log | 1 +
src/test/conf_examples/relay_04/torrc | 4 +
.../conf_examples/relay_05/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_05/expected | 3 +
src/test/conf_examples/relay_05/expected_log | 1 +
src/test/conf_examples/relay_05/torrc | 5 +
.../conf_examples/relay_06/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_06/expected | 3 +
src/test/conf_examples/relay_06/expected_log | 1 +
src/test/conf_examples/relay_06/torrc | 5 +
.../conf_examples/relay_07/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_07/expected | 3 +
src/test/conf_examples/relay_07/expected_log | 1 +
src/test/conf_examples/relay_07/torrc | 5 +
.../conf_examples/relay_08/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_08/expected | 3 +
src/test/conf_examples/relay_08/expected_log | 1 +
src/test/conf_examples/relay_08/torrc | 6 +
.../conf_examples/relay_09/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_09/expected | 3 +
src/test/conf_examples/relay_09/expected_log | 1 +
src/test/conf_examples/relay_09/torrc | 6 +
.../conf_examples/relay_10/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_10/expected | 3 +
src/test/conf_examples/relay_10/expected_log | 1 +
src/test/conf_examples/relay_10/torrc | 7 +
src/test/conf_examples/relay_11/error | 1 +
.../conf_examples/relay_11/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_11/torrc | 4 +
src/test/conf_examples/relay_12/error | 1 +
.../conf_examples/relay_12/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_12/torrc | 4 +
src/test/conf_examples/relay_13/error | 1 +
.../conf_examples/relay_13/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_13/torrc | 4 +
.../conf_examples/relay_14/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_14/expected | 1 +
src/test/conf_examples/relay_14/expected_log | 1 +
src/test/conf_examples/relay_14/torrc | 4 +
src/test/conf_examples/relay_15/error | 1 +
.../conf_examples/relay_15/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_15/torrc | 5 +
src/test/conf_examples/relay_16/error | 1 +
.../conf_examples/relay_16/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_16/torrc | 4 +
.../conf_examples/relay_17/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_17/expected | 4 +
src/test/conf_examples/relay_17/expected_log | 1 +
src/test/conf_examples/relay_17/torrc | 6 +
src/test/conf_examples/relay_18/error | 1 +
.../conf_examples/relay_18/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_18/torrc | 4 +
.../conf_examples/relay_19/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_19/expected | 3 +
src/test/conf_examples/relay_19/expected_log | 1 +
src/test/conf_examples/relay_19/torrc | 5 +
src/test/conf_examples/relay_20/error | 1 +
.../conf_examples/relay_20/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_20/torrc | 5 +
.../conf_examples/relay_21/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_21/expected | 3 +
src/test/conf_examples/relay_21/expected_log | 1 +
src/test/conf_examples/relay_21/torrc | 5 +
src/test/conf_examples/relay_22/error | 1 +
.../conf_examples/relay_22/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_22/torrc | 6 +
src/test/conf_examples/relay_23/error | 1 +
.../conf_examples/relay_23/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_23/torrc | 5 +
src/test/conf_examples/relay_24/error | 1 +
.../conf_examples/relay_24/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_24/torrc | 5 +
src/test/conf_examples/relay_25/error | 1 +
.../conf_examples/relay_25/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_25/torrc | 5 +
src/test/conf_examples/relay_26/error | 1 +
.../conf_examples/relay_26/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_26/torrc | 5 +
src/test/conf_examples/relay_27/error | 1 +
.../conf_examples/relay_27/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_27/torrc | 5 +
src/test/conf_examples/relay_28/error | 1 +
.../conf_examples/relay_28/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_28/torrc | 5 +
.../conf_examples/relay_29/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_29/expected | 2 +
src/test/conf_examples/relay_29/expected_log | 1 +
src/test/conf_examples/relay_29/torrc | 5 +
src/test/conf_examples/relpath_rad/error | 1 +
src/test/conf_examples/relpath_rad/torrc | 4 +
src/test/conf_failures/README | 5 +
src/test/conf_failures/fail-error-success/error | 1 +
src/test/conf_failures/fail-error-success/torrc | 0
src/test/conf_failures/fail-error/error | 1 +
src/test/conf_failures/fail-error/torrc | 1 +
.../conf_failures/fail-expected-error/expected | 0
src/test/conf_failures/fail-expected-error/torrc | 1 +
src/test/conf_failures/fail-expected-log/expected | 0
.../conf_failures/fail-expected-log/expected_log | 1 +
src/test/conf_failures/fail-expected-log/torrc | 0
src/test/conf_failures/fail-expected/expected | 1 +
src/test/conf_failures/fail-expected/torrc | 0
src/test/ed25519_exts_ref.py | 25 +-
src/test/fakechans.h | 2 +-
src/test/fakecircs.c | 91 +
src/test/fakecircs.h | 17 +
src/test/fuzz/.may_include | 1 +
src/test/fuzz/fixup_filenames.sh | 6 +-
src/test/fuzz/fuzz_consensus.c | 8 +-
src/test/fuzz/fuzz_descriptor.c | 2 +-
src/test/fuzz/fuzz_diff.c | 34 +-
src/test/fuzz/fuzz_diff_apply.c | 15 +-
src/test/fuzz/fuzz_extrainfo.c | 2 +-
src/test/fuzz/fuzz_hsdescv2.c | 2 +-
src/test/fuzz/fuzz_hsdescv3.c | 13 +-
src/test/fuzz/fuzz_http.c | 4 +-
src/test/fuzz/fuzz_http_connect.c | 4 +-
src/test/fuzz/fuzz_iptsv2.c | 2 +-
src/test/fuzz/fuzz_microdesc.c | 2 +-
src/test/fuzz/fuzz_multi.sh | 6 +-
src/test/fuzz/fuzz_socks.c | 4 +-
src/test/fuzz/fuzz_strops.c | 253 +
src/test/fuzz/fuzz_vrs.c | 26 +-
src/test/fuzz/fuzzing.h | 4 +-
src/test/fuzz/fuzzing_common.c | 23 +-
src/test/fuzz/include.am | 29 +
src/test/fuzz/minimize.sh | 2 +-
src/test/fuzz_static_testcases.sh | 2 +-
src/test/hs_build_address.py | 5 +
src/test/hs_indexes.py | 5 +
src/test/hs_ntor_ref.py | 5 +
src/test/hs_test_helpers.c | 159 +-
src/test/hs_test_helpers.h | 9 +-
src/test/include.am | 81 +-
src/test/log_test_helpers.c | 2 +-
src/test/log_test_helpers.h | 2 +-
src/test/ntor_ref.py | 7 +-
src/test/ope_ref.py | 7 +-
src/test/opts_test_helpers.c | 38 +
src/test/opts_test_helpers.h | 22 +
src/test/prob_distr_mpfr_ref.c | 64 +
src/test/ptr_helpers.c | 50 +
src/test/ptr_helpers.h | 23 +
src/test/rend_test_helpers.c | 2 +-
src/test/rend_test_helpers.h | 2 +-
src/test/resolve_test_helpers.c | 85 +
src/test/resolve_test_helpers.h | 18 +
src/test/rng_test_helpers.c | 259 +
src/test/rng_test_helpers.h | 25 +
src/test/slow_ed25519.py | 5 +
src/test/slownacl_curve25519.py | 7 +-
src/test/sr_commit_calc_ref.py | 5 +
src/test/sr_srv_calc_ref.py | 5 +
src/test/test-child.c | 61 -
src/test/test-memwipe.c | 4 +-
src/test/test-network.sh | 48 +-
src/test/test-process.c | 85 +
src/test/test-timers.c | 4 +-
src/test/test.c | 230 +-
src/test/test.h | 155 +-
src/test/test_accounting.c | 18 +-
src/test/test_addr.c | 668 +-
src/test/test_address.c | 168 +-
src/test/test_address_set.c | 17 +-
src/test/test_bridges.c | 4 +-
src/test/test_bt.sh | 2 -
src/test/test_bt_cl.c | 16 +-
src/test/test_btrack.c | 129 +
src/test/test_buffers.c | 4 +-
src/test/test_bwmgt.c | 219 +-
src/test/test_cell_formats.c | 2 +-
src/test/test_cell_queue.c | 2 +-
src/test/test_channel.c | 39 +-
src/test/test_channelpadding.c | 13 +-
src/test/test_channeltls.c | 6 +-
src/test/test_checkdir.c | 2 +-
src/test/test_circuitbuild.c | 9 +-
src/test/test_circuitlist.c | 6 +-
src/test/test_circuitmux.c | 395 +-
src/test/test_circuitmux_ewma.c | 228 +
src/test/test_circuitpadding.c | 3147 ++++++++
src/test/test_circuitstats.c | 22 +-
src/test/test_circuituse.c | 2 +-
src/test/test_cmdline.sh | 65 +
src/test/test_compat_libevent.c | 7 +-
src/test/test_config.c | 605 +-
src/test/test_confmgr.c | 499 ++
src/test/test_confparse.c | 1091 +++
src/test/test_connection.c | 100 +-
src/test/test_connection.h | 7 +-
src/test/test_conscache.c | 2 +-
src/test/test_consdiff.c | 96 +-
src/test/test_consdiffmgr.c | 47 +-
src/test/test_containers.c | 92 +-
src/test/test_controller.c | 624 +-
src/test/test_controller_events.c | 353 +-
src/test/test_crypto.c | 256 +-
src/test/test_crypto_ope.c | 2 +-
src/test/test_crypto_openssl.c | 2 +-
src/test/test_crypto_rng.c | 332 +
src/test/test_crypto_slow.c | 6 +-
src/test/test_data.c | 2 +-
src/test/test_dir.c | 2025 +++--
src/test/test_dir_common.c | 19 +-
src/test/test_dir_common.h | 6 +-
src/test/test_dir_handle_get.c | 214 +-
src/test/test_dispatch.c | 278 +
src/test/test_dns.c | 243 +-
src/test/test_dos.c | 6 +-
src/test/test_entryconn.c | 4 +-
src/test/test_entrynodes.c | 71 +-
src/test/test_extorport.c | 37 +-
src/test/test_geoip.c | 2 +-
src/test/test_guardfraction.c | 2 +-
src/test/test_handles.c | 2 +-
src/test/test_helpers.c | 152 +-
src/test/test_helpers.h | 11 +-
src/test/test_hs.c | 18 +-
src/test/test_hs_cache.c | 171 +-
src/test/test_hs_cell.c | 102 +-
src/test/test_hs_client.c | 507 +-
src/test/test_hs_common.c | 56 +-
src/test/test_hs_config.c | 119 +-
src/test/test_hs_control.c | 514 +-
src/test/test_hs_descriptor.c | 168 +-
src/test/test_hs_dos.c | 176 +
src/test/test_hs_intropoint.c | 228 +-
src/test/test_hs_ntor.c | 2 +-
src/test/test_hs_ntor.sh | 2 +-
src/test/test_hs_ntor_cl.c | 2 +-
src/test/test_hs_service.c | 172 +-
src/test/test_introduce.c | 5 +-
src/test/test_key_expiration.sh | 40 +-
src/test/test_keygen.sh | 70 +-
src/test/test_keypin.c | 2 +-
src/test/test_link_handshake.c | 20 +-
src/test/test_logging.c | 28 +-
src/test/test_mainloop.c | 243 +-
src/test/test_microdesc.c | 175 +-
src/test/test_namemap.c | 174 +
src/test/test_netinfo.c | 48 +
src/test/test_nodelist.c | 1197 ++-
src/test/test_ntor_cl.c | 2 +-
src/test/test_oom.c | 4 +-
src/test/test_oos.c | 2 +-
src/test/test_options.c | 2204 +++---
src/test/test_options_act.c | 272 +
src/test/test_parsecommon.c | 594 ++
src/test/test_parseconf.sh | 655 ++
src/test/test_pem.c | 32 +-
src/test/test_periodic_event.c | 104 +-
src/test/test_policy.c | 287 +-
src/test/test_prob_distr.c | 1404 ++++
src/test/test_process.c | 669 ++
src/test/test_process_descs.c | 70 +
src/test/test_process_slow.c | 365 +
src/test/test_procmon.c | 5 +-
src/test/test_proto_haproxy.c | 66 +
src/test/test_proto_http.c | 4 +-
src/test/test_proto_misc.c | 4 +-
src/test/test_protover.c | 12 +-
src/test/test_pt.c | 132 +-
src/test/test_ptr_slow.c | 106 +
src/test/test_pubsub_build.c | 578 ++
src/test/test_pubsub_msg.c | 305 +
src/test/test_rebind.py | 8 +-
src/test/test_rebind.sh | 46 +-
src/test/test_relay.c | 41 +-
src/test/test_relaycell.c | 10 +-
src/test/test_relaycrypt.c | 12 +-
src/test/test_rendcache.c | 43 +-
src/test/test_replay.c | 2 +-
src/test/test_rng.c | 59 +
src/test/test_router.c | 277 +-
src/test/test_routerkeys.c | 14 +-
src/test/test_routerlist.c | 26 +-
src/test/test_routerset.c | 1033 ++-
src/test/test_rust.sh | 5 +-
src/test/test_scheduler.c | 60 +-
src/test/test_sendme.c | 365 +
src/test/test_shared_random.c | 380 +-
src/test/test_slow.c | 6 +-
src/test/test_socks.c | 41 +-
src/test/test_stats.c | 258 +
src/test/test_status.c | 632 +-
src/test/test_storagedir.c | 2 +-
src/test/test_switch_id.c | 4 +-
src/test/test_switch_id.sh | 4 +-
src/test/test_threads.c | 4 +-
src/test/test_token_bucket.c | 152 +
src/test/test_tortls.c | 10 +-
src/test/test_tortls.h | 4 +-
src/test/test_tortls_openssl.c | 14 +-
src/test/test_util.c | 616 +-
src/test/test_util_format.c | 15 +-
src/test/test_util_process.c | 4 +-
src/test/test_util_slow.c | 396 -
src/test/test_voting_flags.c | 193 +
src/test/test_voting_schedule.c | 2 +-
src/test/test_workqueue.c | 12 +-
src/test/test_workqueue_cancel.sh | 2 +-
src/test/test_workqueue_efd.sh | 2 +-
src/test/test_workqueue_efd2.sh | 2 +-
src/test/test_workqueue_pipe.sh | 2 +-
src/test/test_workqueue_pipe2.sh | 2 +-
src/test/test_workqueue_socketpair.sh | 2 +-
src/test/test_x509.c | 2 +-
src/test/test_zero_length_keys.sh | 40 +-
src/test/testing_common.c | 65 +-
src/test/testing_rsakeys.c | 7 +-
src/test/zero_length_keys.sh | 6 +-
src/tools/.may_include | 1 +
src/tools/include.am | 7 +-
src/tools/tools.md | 6 +
src/tools/tor-gencert.c | 8 +-
src/tools/tor-print-ed-signing-cert.c | 9 +-
src/tools/tor-resolve.c | 402 +-
src/tools/tor_runner.c | 2 +-
src/trunnel/.may_include | 1 +
src/trunnel/channelpadding_negotiation.c | 2 +-
src/trunnel/channelpadding_negotiation.h | 2 +-
src/trunnel/circpad_negotiation.c | 549 ++
src/trunnel/circpad_negotiation.h | 195 +
src/trunnel/circpad_negotiation.trunnel | 44 +
src/trunnel/ed25519_cert.c | 2 +-
src/trunnel/ed25519_cert.h | 2 +-
src/trunnel/ed25519_cert.trunnel | 6 -
src/trunnel/hs/.may_include | 1 +
src/trunnel/hs/cell_common.c | 118 +-
src/trunnel/hs/cell_common.h | 100 +-
src/trunnel/hs/cell_common.trunnel | 4 +-
src/trunnel/hs/cell_establish_intro.c | 471 +-
src/trunnel/hs/cell_establish_intro.h | 161 +-
src/trunnel/hs/cell_establish_intro.trunnel | 23 +
src/trunnel/hs/cell_introduce1.c | 2 +-
src/trunnel/hs/cell_introduce1.h | 2 +-
src/trunnel/hs/cell_rendezvous.c | 2 +-
src/trunnel/hs/cell_rendezvous.h | 2 +-
src/trunnel/include.am | 14 +-
src/trunnel/link_handshake.c | 2 +-
src/trunnel/link_handshake.h | 2 +-
src/trunnel/netinfo.c | 723 ++
src/trunnel/netinfo.h | 226 +
src/trunnel/netinfo.trunnel | 24 +
src/trunnel/pwbox.c | 2 +-
src/trunnel/pwbox.h | 2 +-
src/trunnel/sendme_cell.c | 347 +
src/trunnel/sendme_cell.h | 101 +
src/trunnel/sendme_cell.trunnel | 19 +
src/trunnel/socks5.c | 15 +-
src/trunnel/socks5.h | 2 +-
src/trunnel/socks5.trunnel | 2 +-
src/trunnel/trunnel-local.h | 1 +
src/win32/orconfig.h | 5 +-
1840 files changed, 108321 insertions(+), 35898 deletions(-)
1
0