Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-16T01:10:52Zhttps://gitlab.torproject.org/legacy/trac/-/issues/32542hs-v3: Add the 2 missing SOCKS extended errors from prop3042020-06-16T01:10:52ZDavid Gouletdgoulet@torproject.orghs-v3: Add the 2 missing SOCKS extended errors from prop304The two missing codes are the intro failure and RP failure.
```
* X'F2' Onion Service Introduction Failed
Client failed to introduce to the service meaning the descriptor was
found but the service is not anymore at the ...The two missing codes are the intro failure and RP failure.
```
* X'F2' Onion Service Introduction Failed
Client failed to introduce to the service meaning the descriptor was
found but the service is not anymore at the introduction points. The
service has likely changed its descriptor or is not running.
* X'F3' Onion Service Rendezvous Failed
Client failed to rendezvous with the service which means that the client
is unable to finalize the connection.
```Tor: 0.4.4.x-finalDavid Gouletdgoulet@torproject.orgDavid Gouletdgoulet@torproject.orghttps://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/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/32467Document tor's --dump-config command in the man page2020-06-13T15:51:39ZteorDocument tor's --dump-config command in the man pageI went to find the documentation for `tor --dump-config` today, but there's nothing in the man page.
Nick, can you do a quick man page update?
I think you wrote `tor --dump-config` in 0.3.2 ?I went to find the documentation for `tor --dump-config` today, but there's nothing in the man page.
Nick, can you do a quick man page update?
I think you wrote `tor --dump-config` in 0.3.2 ?Tor: 0.4.3.x-finalNick MathewsonNick Mathewsonhttps://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/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/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/32208write description of control subsystem architecture2020-06-13T15:47:13ZTaylor Yuwrite description of control subsystem architectureTor: unspecifiedhttps://gitlab.torproject.org/legacy/trac/-/issues/32193update .gitlab-ci.yml to remove broken cruft and add a complete test suite2020-06-13T15:50:51Zeighthaveupdate .gitlab-ci.yml to remove broken cruft and add a complete test suiteThis removes the old, broken cruft from the GitLab CI setup, and adds a whole range of new jobs. The most valuable is complete Android builds with NDK r17b and r20, then a limited test run in an Android emulator.
Since I was working on ...This removes the old, broken cruft from the GitLab CI setup, and adds a whole range of new jobs. The most valuable is complete Android builds with NDK r17b and r20, then a limited test run in an Android emulator.
Since I was working on ./configure, I added tests across the GNU/Linux distros. The jobs are added in order of value, so the commits on top could easily be omitted as needed.
This currently does not limit when these jobs runs, and it probably should. Most of the jobs are various GNU/Linux distros and releases, which should be the same for most things. For all those tests, I think they should probably be run only on the stable release branches, e.g.:
```
...
.test-template: &test-template
only:
- /^release-.*$/
script:
...
```
@hiro @catalyst pinging you since you did the previous edits on .gitlab-ci.yml.
The code is here:
https://github.com/torproject/tor/pull/1448Tor: 0.4.4.x-finalhttps://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/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/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/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/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/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/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/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/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/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: unspecified