Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T15:01:41Zhttps://gitlab.torproject.org/legacy/trac/-/issues/20218Fix and refactor and redocument routerstatus_has_changed2020-06-13T15:01:41ZNick MathewsonFix and refactor and redocument routerstatus_has_changedThe routerstatus_has_changed() function is used by controllers to to tell which rs entries are new. But it only looks at a fraction of the fields which might change in a routerstatus. Also, it only checks for semantic changes that tor ...The routerstatus_has_changed() function is used by controllers to to tell which rs entries are new. But it only looks at a fraction of the fields which might change in a routerstatus. Also, it only checks for semantic changes that tor cares about (though this is not documented).Tor: 0.4.3.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/29216Document how to make new files/modules in Tor2020-06-13T15:37:27ZNick 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/legacy/trac/-/issues/30828Design tests for as-yet-untested controller commands in Stem2020-06-13T15:42:23ZNick MathewsonDesign tests for as-yet-untested controller commands in StemIn #30676, we inventoried the controller commands that don't currently get testing by stem, even with the ONLINE tests. They are:
```
dropguards
dropownership
hspost
mapaddress
postdescriptor
redirectstream
resolve
```
Let's describe ...In #30676, we inventoried the controller commands that don't currently get testing by stem, even with the ONLINE tests. They are:
```
dropguards
dropownership
hspost
mapaddress
postdescriptor
redirectstream
resolve
```
Let's describe a set of tests for each, and open tickets for adding them to stem.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/31180Remove easy deprecated options in 0.4.42020-06-13T15:43:39ZNick MathewsonRemove easy deprecated options in 0.4.4We have accumulated a handful of deprecated options; Teor intends to remove (some of?) them in 0.4.3.We have accumulated a handful of deprecated options; Teor intends to remove (some of?) them in 0.4.3.Tor: unspecifiedNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/31181Deprecate more options in 0.4.32020-06-13T15:43:40ZNick MathewsonDeprecate more options in 0.4.3In 0.4.3, we should look for more options that nobody uses (or nobody _should_ use) and deprecate them.In 0.4.3, we should look for more options that nobody uses (or nobody _should_ use) and deprecate them.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/31891make autostyle doesn't work when building outside the source tree2020-06-13T15:46:08ZTaylor Yumake autostyle doesn't work when building outside the source treeIt looks like `make autostyle` doesn't work correctly if building outside the source tree. (Here I'm building in a subdirectory of the source tree.)
```
$ make -k autostyle
abs_top_srcdir="/Users/tlyu/src/tor/build-norust/.." python3 ../...It looks like `make autostyle` doesn't work correctly if building outside the source tree. (Here I'm building in a subdirectory of the source tree.)
```
$ make -k autostyle
abs_top_srcdir="/Users/tlyu/src/tor/build-norust/.." python3 ../scripts/maint/update_versions.py
Traceback (most recent call last):
File "../scripts/maint/update_versions.py", line 98, in <module>
with open("configure.ac") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'configure.ac'
make: *** [update-versions] Error 1
python3 scripts/maint/annotate_ifdef_directives.py ../src/lib/*/*.[ch] ../src/core/*/*.[ch] ../src/feature/*/*.[ch] ../src/app/*/*.[ch] ../src/test/*.[ch] ../src/test/*/*.[ch] ../src/tools/*.[ch]
/Users/tlyu/src/brew/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'scripts/maint/annotate_ifdef_directives.py': [Errno 2] No such file or directory
make: *** [autostyle-ifdefs] Error 2
python3 scripts/maint/rectify_include_paths.py
/Users/tlyu/src/brew/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'scripts/maint/rectify_include_paths.py': [Errno 2] No such file or directory
make: *** [rectify-includes] Error 2
make: Target `autostyle' not remade because of errors.
```Tor: 0.4.3.x-finalhttps://gitlab.torproject.org/legacy/trac/-/issues/31913Add more robust Tor API documentation2020-06-13T15:46:12ZChelsea KomloAdd more robust Tor API documentationCurrently, Tor's API is not well-documented- adding more rich documentation (and ideally a separate how-to technical guide) would be helpful for external applications to learn how to embed tor.
For example, tor_control_socket_t needs...Currently, Tor's API is not well-documented- adding more rich documentation (and ideally a separate how-to technical guide) would be helpful for external applications to learn how to embed tor.
For example, tor_control_socket_t needs documentation. https://gitweb.torproject.org/tor.git/tree/src/feature/api/tor_api.h#n60
Furthermore, it isn't clear what are the tradeoffs between embedding Tor or running it as an executable: https://gitweb.torproject.org/tor.git/tree/src/feature/api/tor_api.h#n11
Also, it would be helpful to add additional documentation about how to interface with tor once it has been invoked (e.g, reading/writing from the control port via SOCKS). https://gitweb.torproject.org/tor.git/tree/src/feature/api/tor_api.h#n26Tor: 0.4.4.x-finalhttps://gitlab.torproject.org/legacy/trac/-/issues/31940Fail unit tests that hang2020-06-13T15:46:18ZteorFail unit tests that hangFollow up to #31841.
We should set a time limit for each individual unit test, and fail it if it takes too long.
We might also want to timelimit checks as well.
We can set a time limit on entire shell commands using the "timelimit" co...Follow up to #31841.
We should set a time limit for each individual unit test, and fail it if it takes too long.
We might also want to timelimit checks as well.
We can set a time limit on entire shell commands using the "timelimit" command. But we will need to write test code to do it per-unit test.Tor: unspecifiedNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/32181remove custom Android logging, use syslog2020-06-13T15:47:05Zeighthaveremove custom Android logging, use syslogAs far as I can tell, syslog.h is fully supported for logging to Android's logcat. `syslog.h` is present as early as NDK r10e, if not earlier. It is also included on _android-9_ (2.3). My quick tests show syslog working fine on _andro...As far as I can tell, syslog.h is fully supported for logging to Android's logcat. `syslog.h` is present as early as NDK r10e, if not earlier. It is also included on _android-9_ (2.3). My quick tests show syslog working fine on _android-22_ (5.1) through _android-29_ (10) emulators. _android-24_ (7.0) is currently the oldest version of Android supported by Google. syslog severity and identity tag are already mapped to the logcat versions.
@ahf is there some detail I'm missing? Were you having problems with syslog on Android?
Since the "android" logging option was never documented, I think it should just be removed, long with the `add_android_log()` code that was added in #24362 https://github.com/torproject/tor/commit/b0b8f7c30c8296344c77d06a24821f35b667e3dd
FYI, since syslog support is added about the same time as logcat support, #32036 is still an issue when using syslog with Android.Tor: unspecifiedNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/32208write description of control subsystem architecture2020-06-13T15:47:13ZTaylor Yuwrite description of control subsystem architectureTor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/32249Speed up practracker, by passing it a list of modified file names2020-06-13T15:47:25ZteorSpeed up practracker, by passing it a list of modified file namesAfter #31919, the git hooks will know which files have been modified in the commit/push. We should pass those files to practracker.py and practracker/includes.py.After #31919, the git hooks will know which files have been modified in the commit/push. We should pass those files to practracker.py and practracker/includes.py.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/32315Can't perform reverse DNS lookup for a (binary) IPv6 address2020-06-13T15:47:35ZTracCan't perform reverse DNS lookup for a (binary) IPv6 addressTor provides the "RESOLVE_PTR" (0xF1) command as an extension to the SOCKS5 protocol, which can in theory be used to perform a reverse DNS lookup of an IPv4 or IPv6 address.
As with other SOCKS5 commands, this command takes an argument ...Tor provides the "RESOLVE_PTR" (0xF1) command as an extension to the SOCKS5 protocol, which can in theory be used to perform a reverse DNS lookup of an IPv4 or IPv6 address.
As with other SOCKS5 commands, this command takes an argument which can either be a binary IPv4 or IPv6 address, or an ASCII string.
Somewhat contrary to ticket #32314, this command works for IPv6 addresses only if the address is specified as an ASCII string (address type 3) with no brackets. If the address is specified in binary (address type 4), or as a string enclosed in brackets, Tor will reject it.
**Trac**:
**Username**: liberatTor: 0.4.2.x-finalhttps://gitlab.torproject.org/legacy/trac/-/issues/32369Should rename_c_identifier.py also update practracker/exceptions.txt2020-06-13T15:47:47ZteorShould rename_c_identifier.py also update practracker/exceptions.txtIn #32213, I got a commit hook error, because rename_c_identifier.py renamed some functions, but did not rename their entries in practracker/exceptions.txt.
Should we rename entries in practracker/exceptions.txt automatically?In #32213, I got a commit hook error, because rename_c_identifier.py renamed some functions, but did not rename their entries in practracker/exceptions.txt.
Should we rename entries in practracker/exceptions.txt automatically?Tor: unspecifiedNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/32474Remove CodeStructure.md once I'm sure that it is subsumed by intro.html2020-06-13T15:48:11ZNick MathewsonRemove CodeStructure.md once I'm sure that it is subsumed by intro.htmlTor: unspecifiedNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/32487Phase 1: Stop compiling "acting as a directory cache" in --disable-module-relay2020-06-13T15:48:12ZteorPhase 1: Stop compiling "acting as a directory cache" in --disable-module-relayWe want to stop compiling the code that makes tor act as a directory cache, when the relay module is disabled.
(We already disable DirPort and DirCache, so the functionality is not available.)
At each stage, we should work to minimize ...We want to stop compiling the code that makes tor act as a directory cache, when the relay module is disabled.
(We already disable DirPort and DirCache, so the functionality is not available.)
At each stage, we should work to minimize layer-violations: there should generally not be calls from src/core/ into relay-specific code, and we should plan to refactor as needed to minimize them. We can reduce layer violations in parallel with the above.Tor: 0.4.3.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/32620Put man page options in smaller sections2020-06-13T15:48:39ZteorPut man page options in smaller sectionsAfter we sort alphabetically in #4310, some related options won't be near each other. We can fix this issue by having smaller man page sections.After we sort alphabetically in #4310, some related options won't be near each other. We can fix this issue by having smaller man page sections.Tor: 0.4.3.x-finalhttps://gitlab.torproject.org/legacy/trac/-/issues/4310alphabetize torrc options within sections2020-06-13T15:48:39ZRoger Dingledinealphabetize torrc options within sectionsOnce upon a time the man page entries were alphabetical. Then we started adding a few near the other ones when it made sense. Now it's a mishmash of alphabetical-except-when-we-decided-not-to-do-it-that-way.
We should take a step back a...Once upon a time the man page entries were alphabetical. Then we started adding a few near the other ones when it made sense. Now it's a mishmash of alphabetical-except-when-we-decided-not-to-do-it-that-way.
We should take a step back and think about a way to organize the options into categories so it's possible to a) get a sense of what all you can configure, and b) find the thing you're looking for.Tor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/32627deploy torspec as HTML to GitLab Pages2020-06-13T15:48:42Zeighthavedeploy torspec as HTML to GitLab Pageshttps://github.com/torproject/torspec/pull/96 will deploy torspec in HTML to any GitLab fork setup with CI and Pages (default on gitlab.com). it only adds one file: _.gitlab-ci.yml_
Once merged, the site will show up automatically on ht...https://github.com/torproject/torspec/pull/96 will deploy torspec in HTML to any GitLab fork setup with CI and Pages (default on gitlab.com). it only adds one file: _.gitlab-ci.yml_
Once merged, the site will show up automatically on https://torproject.gitlab.io/torspec, and it'll sync every commit from the canonical repo and automatically rebuild the HTML.
The sed regexps in _.gitlab-ci.yml_ could be used as the beginnings of a conversion to Markdown format, as needed.Tor: 0.4.3.x-finalhttps://gitlab.torproject.org/legacy/trac/-/issues/32691Image broken in 'src-ref' documentation2020-06-13T15:48:55ZoparaImage broken in 'src-ref' documentationFor example if you visit https://src-ref.docs.torproject.org/tor/dataflow.html, the "structure hierarchy for connection types" image is missing (the img tag has a 404). There are possibly other missing images as well, but I can't find th...For example if you visit https://src-ref.docs.torproject.org/tor/dataflow.html, the "structure hierarchy for connection types" image is missing (the img tag has a 404). There are possibly other missing images as well, but I can't find the markdown files to check (there were the original versions, then they were moved to the tor git repo and edited iirc, but now they're gone).
There's also another image missing on the same page, but has no <img> tag (compare the top of the https://people.torproject.org/~nickm/tor-auto/internal/02-dataflow.html and https://src-ref.docs.torproject.org/tor/dataflow.html pages). But it may have been removed on purpose.Tor: unspecifiedNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/32722Make the seccomp sandbox work with Ubuntu Xenial and Bionic2020-06-13T15:49:05ZteorMake the seccomp sandbox work with Ubuntu Xenial and BionicTor's Linux seccomp sandbox fails on Ubuntu Xenial and Bionic, when running tor via chutney.
A --disable-seccomp build succeeds:
https://travis-ci.org/teor2345/tor/jobs/622543371?utm_medium=notification&utm_source=github_status
But a ...Tor's Linux seccomp sandbox fails on Ubuntu Xenial and Bionic, when running tor via chutney.
A --disable-seccomp build succeeds:
https://travis-ci.org/teor2345/tor/jobs/622543371?utm_medium=notification&utm_source=github_status
But a build with CHUTNEY_NET_DIR=/tmp fails:
https://travis-ci.org/teor2345/tor/jobs/622543706
We should modify tor to work with those glibc versions.Tor: unspecified