The Tor Project issueshttps://gitlab.torproject.org/groups/tpo/-/issues2021-07-22T16:19:44Zhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30955Update the fallback entry in the man page2021-07-22T16:19:44ZteorUpdate the fallback entry in the man page"FallbackDir ipv4address:port"
"FallbackDir ipv4address:dirport"
"DirAuthority [nickname] [flags] ipv4address:port"
"DirAuthority [nickname] [flags] ipv4address:dirport"
And similarly for orport.
"The provided port value is a dirport;..."FallbackDir ipv4address:port"
"FallbackDir ipv4address:dirport"
"DirAuthority [nickname] [flags] ipv4address:port"
"DirAuthority [nickname] [flags] ipv4address:dirport"
And similarly for orport.
"The provided port value is a dirport; clients ignore this in favor of the specified "orport=" value."
"Clients always use the orport. Relays prefer the dirport, but will use the orport in some circumstances."
Add something to the FallbackDir entry talking about how the DirPort is used by the checking script?Tor: 0.4.2.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30745Document disabled CI2021-07-22T16:19:44ZteorDocument disabled CIAdd a section to our CI status page for disabled CI
Add a section to doc/HACKING/ReleasingTor.md reminding releasers to
manually check the status of whatever the disabled CI would have
checked.
CI person should periodically look at the...Add a section to our CI status page for disabled CI
Add a section to doc/HACKING/ReleasingTor.md reminding releasers to
manually check the status of whatever the disabled CI would have
checked.
CI person should periodically look at these jobs.Tor: 0.4.3.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30630Put CI URLs in ReleasingTor.md2021-07-22T16:19:44ZteorPut CI URLs in ReleasingTor.mdarma asked us where the CI builders are.
The list is in ReleasingTor.md and on the wiki, but only the wiki has the URLs:
https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CIFailures#CIBuildersarma asked us where the CI builders are.
The list is in ReleasingTor.md and on the wiki, but only the wiki has the URLs:
https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CIFailures#CIBuildersTor: 0.4.1.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30455Improve documentation for chutney warnings in "make test-network-all"2021-07-22T16:19:43ZNick MathewsonImprove documentation for chutney warnings in "make test-network-all"It appears that in fb32c522320430f, we added a second call to test-network.sh inside our test-network-all loop. Now the code looks like this:
```
for f in $$flavors; do \
$(SHELL) $(top_srcdir)/test-driver --test-name $$f --log-file...It appears that in fb32c522320430f, we added a second call to test-network.sh inside our test-network-all loop. Now the code looks like this:
```
for f in $$flavors; do \
$(SHELL) $(top_srcdir)/test-driver --test-name $$f --log-file $(TEST_NETWORK_ALL_LOG_DIR)/$$f.log --trs-file $(TEST_NETWORK_ALL_LOG_DIR)/$$f.trs $(TEST_NETWORK_ALL_DRIVER_FLAGS) $(top_srcdir)/src/test/test-network.sh --flavor $$f $(TEST_NETWORK_FLAGS); \
$(top_srcdir)/src/test/test-network.sh $(TEST_NETWORK_WARNING_FLAGS); \
done; \
```
I might be wrong, but it looks to me like we're calling test-network.sh twice in each loop: once through `test-driver`, and once directly.
I'm not going to work on this till teor is back, though, since there are dragons here that I do not understand.Tor: 0.4.2.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30349Document member-hiding conventions for structs2022-06-17T14:06:50ZTaylor YuDocument member-hiding conventions for structsWe should document whatever conventions we choose for hiding struct members, probably in doc/HACKING. Also we should make tools for searching for violations, e.g., code that directly accesses private members without using the appropriate...We should document whatever conventions we choose for hiding struct members, probably in doc/HACKING. Also we should make tools for searching for violations, e.g., code that directly accesses private members without using the appropriate macros. (A fairly simple Coccinelle script should work for this.)https://gitlab.torproject.org/tpo/core/tor/-/issues/30261Add "How do I find bug or feature versions?" to doc/HACKING2021-07-22T16:19:43ZteorAdd "How do I find bug or feature versions?" to doc/HACKINGWe need to find bugfix versions for changes files and backports, and feature versions for specifications.
Let's document the git commands to do that.
For an example, see:
https://trac.torproject.org/projects/tor/ticket/30224#comment:4We need to find bugfix versions for changes files and backports, and feature versions for specifications.
Let's document the git commands to do that.
For an example, see:
https://trac.torproject.org/projects/tor/ticket/30224#comment:4Tor: 0.4.1.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30240Tor should ship docker images of onion services (and other services)2022-06-17T16:09:30ZGeorge KadianakisTor should ship docker images of onion services (and other services)Seems like people are interested in docker images of Tor relays, or onion services (or even bridgedb). We should consider providing docker images for the people who want to use them.
Here is a recent attempt by Alessandro Fiori:
https:/...Seems like people are interested in docker images of Tor relays, or onion services (or even bridgedb). We should consider providing docker images for the people who want to use them.
Here is a recent attempt by Alessandro Fiori:
https://lists.torproject.org/pipermail/tor-dev/2019-March/013756.html
and there have been previous attempts as well here:
https://blog.jessfraz.com/post/running-a-tor-relay-with-docker/ (tor relay)
Also see this page for an organized version of infrastructure related projects:
https://trac.torproject.org/projects/tor/wiki/community/relay_infrastructure
https://www.andreafortuna.org/2018/11/05/easily-setup-a-onion-service-using-docker/
https://0day.work/dockerized-tor-onion-services-with-vanity-v3-tor-addresses/ (onion services)
We should figure out how to make these unofficial attempt useful to other people by legitimizing them and offering them to people in a useful way.https://gitlab.torproject.org/tpo/core/tor/-/issues/30119cert-spec uses binary encodings but does not specify byte order2021-07-22T16:19:43Zirlcert-spec uses binary encodings but does not specify byte orderFrom looking at the Tor implementation (in a black box way, didn't look at the source code) these seem to be big endian byte order. We should have a note in cert-spec for implementors so they don't have to guess.From looking at the Tor implementation (in a black box way, didn't look at the source code) these seem to be big endian byte order. We should have a note in cert-spec for implementors so they don't have to guess.Tor: unspecifiedhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30112Fix outdated comments in dirserv_read_measured_bandwidths()2021-09-16T14:19:58ZteorFix outdated comments in dirserv_read_measured_bandwidths()We refactored the function to use tor_getdelim(), but didn't remove the comments about fgets().We refactored the function to use tor_getdelim(), but didn't remove the comments about fgets().Tor: 0.4.1.x-finalteorteorhttps://gitlab.torproject.org/tpo/core/tor/-/issues/30109Document that MapAddress is automatically strict, but does not handle redirects2021-08-23T15:16:06ZteorDocument that MapAddress is automatically strict, but does not handle redirectsWe should document that:
1. StrictNodes does not apply to MapAddress
2. MapAddress ~~falls back to a random exit by default~~ fails rather than falling back to a random exit
Edited to add:
3. If the site does a redirect, MapAddress does...We should document that:
1. StrictNodes does not apply to MapAddress
2. MapAddress ~~falls back to a random exit by default~~ fails rather than falling back to a random exit
Edited to add:
3. If the site does a redirect, MapAddress does not apply to the new siteTor: 0.4.0.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/29979Don't recommend expect() in CodingStandardsRust, because it panics2021-07-22T16:19:43ZteorDon't recommend expect() in CodingStandardsRust, because it panicsSee the pull request from a GitHub contributor:
https://github.com/torproject/tor/pull/883See the pull request from a GitHub contributor:
https://github.com/torproject/tor/pull/883Tor: 0.4.1.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/29911Update HelpfulTools.md once we have some experience with practracker2021-07-22T16:19:43ZteorUpdate HelpfulTools.md once we have some experience with practrackerOnce legacy/trac#29792 closes, we will have a standard way of using practracker.
We should trial it for a few weeks, then update HelpfulTools.md.Once legacy/trac#29792 closes, we will have a standard way of using practracker.
We should trial it for a few weeks, then update HelpfulTools.md.https://gitlab.torproject.org/tpo/core/tor/-/issues/29656describe global initialization in our tinytest-based unit tests2022-06-17T13:49:59ZTaylor Yudescribe global initialization in our tinytest-based unit testsI was trying to figure out how global state initialization happens in our unit tests. I eventually found that src/test/test_common.c is the location of the `main()` function for the tinytest-based test programs. We should document this...I was trying to figure out how global state initialization happens in our unit tests. I eventually found that src/test/test_common.c is the location of the `main()` function for the tinytest-based test programs. We should document this better, probably in doc/HACKING/WritingTests.md.https://gitlab.torproject.org/tpo/core/tor/-/issues/29635tor man page screws up quotes when telling you to use quotes for command line2021-07-22T16:19:43ZRoger Dingledinetor man page screws up quotes when telling you to use quotes for command linetor.1.txt says
```
You will need to
quote options with spaces in them: if you want Tor to log all debugging
messages to debug.log, you will probably need to say --Log 'debug file
debug.log'.
```
which results in a man page that says
```
...tor.1.txt says
```
You will need to
quote options with spaces in them: if you want Tor to log all debugging
messages to debug.log, you will probably need to say --Log 'debug file
debug.log'.
```
which results in a man page that says
```
You will need to quote options with spaces in them:
if you want Tor to log all debugging messages to debug.log, you will
probably need to say --Log debug file debug.log.
```
which sure isn't going to help anybody.
Changing both the ' to " seems like it resolves it.
The bad quotes went in during commit f5e86bc.Tor: 0.4.1.x-finalhttps://gitlab.torproject.org/tpo/core/tor/-/issues/29310control-spec: "limits/max-mem-in-queues" appears to be undocumented2021-07-22T16:19:43Znusenucontrol-spec: "limits/max-mem-in-queues" appears to be undocumented```
GETINFO info/names
[...]
limits/max-mem-in-queues -- Actual limit on memory in queues
[...]
```
but it can not be found in:
https://gitweb.torproject.org/torspec.git/tree/control-spec.txt```
GETINFO info/names
[...]
limits/max-mem-in-queues -- Actual limit on memory in queues
[...]
```
but it can not be found in:
https://gitweb.torproject.org/torspec.git/tree/control-spec.txtTor: 0.4.1.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/tpo/core/tor/-/issues/29224Abstractions and best practices for disabled modules2021-09-16T14:24:09ZNick MathewsonAbstractions and best practices for disabled modulesWe arrived at some of these when we started making directory authority code optional; we can do more once we have more of our modularity designs in pace.
We may need additional code and tooling here.We arrived at some of these when we started making directory authority code optional; we can do more once we have more of our modularity designs in pace.
We may need additional code and tooling here.https://gitlab.torproject.org/tpo/core/tor/-/issues/29220Update review guidelines to list best practices2021-07-22T16:19:43ZNick MathewsonUpdate review guidelines to list best practicesWhen we come up with some target guidelines in legacy/trac#29219 , we should make sure that our coding standards document them.When we come up with some target guidelines in legacy/trac#29219 , we should make sure that our coding standards document them.https://gitlab.torproject.org/tpo/core/tor/-/issues/29219Write (more) guidelines for Tor coding best practices2021-07-22T16:19:43ZNick MathewsonWrite (more) guidelines for Tor coding best practicesWe should extend our best practices guidelines in doc/HACKING with all/most of the following:
* Avoiding layer violations
* Fewer levels of block nesting
* Small functions
* Small files
* Few includes per file
* Smaller state obje...We should extend our best practices guidelines in doc/HACKING with all/most of the following:
* Avoiding layer violations
* Fewer levels of block nesting
* Small functions
* Small files
* Few includes per file
* Smaller state objects
* Making new features compile-time optional modules
* incremental implementation and testing
* Fewer branches
* Fewer callers/callees per function
* "Leave it better than you find it"
* Well-bounded modules
* Fewer data dependencies
Some of these can be quantified; the ones that can be should have targets.
I'm putting an optimistically low time estimate on this one under the assumption that we will have only minimal debate. :)Tor: unspecifiedhttps://gitlab.torproject.org/tpo/core/tor/-/issues/29216Document how to make new files/modules in Tor2021-07-22T16:20:05ZNick MathewsonDocument how to make new files/modules in TorWe should document how to make option/required files/modules in rust/CWe should document how to make option/required files/modules in rust/CTor: unspecifiedhttps://gitlab.torproject.org/tpo/core/tor/-/issues/29215Document target, modular tor architecture2021-11-06T12:55:36ZNick MathewsonDocument target, modular tor architectureWe'll be working during sponsor31 to make sure that we are moving towards a nice modular architecture. We should document what we're actually trying to achieve, and what our target architecture is, so that we can tell people "do it like ...We'll be working during sponsor31 to make sure that we are moving towards a nice modular architecture. We should document what we're actually trying to achieve, and what our target architecture is, so that we can tell people "do it like X, not necessarily like Tor does it now."
The official deliverable here is "Architectural documentation for how Tor modules work with one another, covering both the actuality and the refactored architecture". The "actuality" is under legacy/trac#29214.Nick MathewsonNick Mathewson