diff options
Diffstat (limited to 'proposals/315-update-dir-required-fields.txt')
-rw-r--r-- | proposals/315-update-dir-required-fields.txt | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/proposals/315-update-dir-required-fields.txt b/proposals/315-update-dir-required-fields.txt index 1ee2e54..c22536c 100644 --- a/proposals/315-update-dir-required-fields.txt +++ b/proposals/315-update-dir-required-fields.txt @@ -31,9 +31,9 @@ Status: Open 2. When fields should become required - We have three relevant kinds of directory documents: those - generated by relays, those generated by authorities, and those - generated by onion services. + We have four relevant kinds of directory documents: those + generated by public relays, those generated by bridges, those + generated by authorities, and those generated by onion services. Relays generate extrainfo documents and routerdesc documents. For these, we can safely make a field required when it is always @@ -46,6 +46,20 @@ Status: Open change the semantics so that the field is assumed to be present. Later we can remove the option.) + Bridge relays have their descriptors processed by clients + without necessarily passing through authorities. + We can make fields mandatory in bridge descriptors once we + can be confident that no bridge lacking them will actually + connect to the network-- or that all such bridges are safe + to stop using. + + For bridges, when a field becomes required, it will take some + time before all clients require that field. This would create a + partitioning opportunity, but partitioning at the first-hop + position is not so strong: the bridge already knows the client's + IP, which is a much better identifier than the client's Tor + version. + Authorities generate authority certificates, votes, consensus documents, and microdescriptors. For these, we can safely make a field required once all authorities are generating it, and we are |