But "Foo_Bar=1", ",,,=1", and arbitrary Unicode strings like "Risqu\u00e9=1" are accepted. Bytes that aren't even valid Unicode like "\xc1=1" are also fine, as long as no bytes are the null byte, =, or the space character.
Trac: Username: cyberpunks
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
dir-spec.txt defines a protocol name as a Keyword, and strictly limits what character set is allowed in a Keyword:
{{{
Keyword = KeywordChar+
KeywordChar ::= 'A' ... 'Z' | 'a' ... 'z' | '0' ... '9' | '-'
}}}
But "Foo_Bar=1", ",,,=1", and arbitrary Unicode strings like "Risqu\u00e9=1" are accepted.
We can safely reject descriptors, votes, and consensuses containing non-keyword characters.
Bytes that aren't even valid Unicode like "\xc1=1" are also fine, as long as no bytes are the null byte, =, or the space character.
Tor doesn't do any Unicode checks on directory documents yet.
(More precisely, when built without Rust, tor doesn't do any Unicode checks. When built with Rust, protover does Unicode checks.)
Here's a proposal for consistently checking Unicode in directory documents:
https://gitweb.torproject.org/torspec.git/tree/proposals/285-utf-8.txt
The 0.3.5 feature freeze is today (Friday 14 September).
But bug fixes are not features, so we review them and backport them to previous releases as needed.
I tried reviewing this branch, but it seems to contain a whole bunch of fixes. Most of the fixes have other tickets. Can you provide one branch per fix, with no other fixes?
If there are dependencies, can you say which branches depend on other branches, so that I know which branches to review first?
Also, we try not to use tor_assert() for non-fatal bugs, because it terminates the process. Instead, we use tor_assert_nonfatal(), or if(BUG()) { /* action on failure */ }.
This branch doesn't merge cleanly into master, I think because some of the fixes have already been merged to master. Can you rebase this branch on the latest maint-0.2.9?