This might require a spec change - it's likely implicit in the spec already.
For completeness, the set of printable ASCII characters is defined in dir-spec.txt ... Where I assume "printing ASCII" means "space to tilde", but we should also clarify that in the torspec.
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.
I'm moving this one to 029-proposed because legacy/trac#17238 (moved) is planned for 029 (HOPEFULLY). This is a check in the current code under development for which I think is a good idea.
Although, I would see that being implemented in routerparse.c with some flag asking for non-ASCII check and not being an HS specific thing so if legacy/trac#18938 (moved) gets in 029, we have this for free else we can differ it until it's supported upstream.
Trac: Summary: HS Descriptors should only contain printable ASCII to HS Descriptors should only contain UTF-8 Keywords: N/Adeleted, prop285 added Description: In legacy/trac#18938 (moved), we discovered some relays publishing platform lines or extrainfo documents with non-ASCII characters.
This seems to occur due to memory corruption.
So let's make sure that a non-ASCII check is done on:
hidden services: unencrypted or encrypted descriptor
HSDirs: encrypted descriptor
clients: unencrypted or encrypted descriptor
This might require a spec change - it's likely implicit in the spec already.
For completeness, the set of printable ASCII characters is defined in dir-spec.txt as:
NL = The ascii LF character (hex value 0x0a). KeywordChar ::= 'A' ... 'Z' | 'a' ... 'z' | '0' ... '9' | '-' ArgumentChar ::= any printing ASCII character except NL. WS = (SP | TAB)+
Where I assume "printing ASCII" means "space to tilde", but we should also clarify that in the torspec.
to
In legacy/trac#18938 (moved), we discovered some relays publishing platform lines or extrainfo documents with non-ASCII characters.
This seems to occur due to memory corruption.
So let's make sure that a non-ASCII UTF-8 check is done on:
hidden services: unencrypted or encrypted descriptor
This might require a spec change - it's likely implicit in the spec already.
For completeness, the set of printable ASCII characters is defined in dir-spec.txt ... Where I assume "printing ASCII" means "space to tilde", but we should also clarify that in the torspec.