Opened 12 months ago

Last modified 6 months ago

#26168 new enhancement

Rename HSDir consensus flag to OnionDir

Reported by: arma Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs, hsdir, needs-proposal, 035-removed-20180711, 040-roadmap-proposed
Cc: Actual Points:
Parent ID: #25955 Points:
Reviewer: Sponsor:

Description

Over time, nobody is going to know what an HSDir is. Eventually we will want to use a more understandable name. I propose OnionDir.

Step 1: Make clients able to parse the OnionDir flag, and they just treat it as a synonym for HSDir.

Step 2: Wait a long time until all clients from before step 1 are gone.

Step 3: Have dir auths start saying OnionDir instead of HSDir.

(In the above plan, step 2 could take years. But I think it's still the simplest plan. The only real risk is if we somehow screw up with step 1, and don't notice the screw-up until we try step 3.)

Child Tickets

Change History (17)

comment:1 Changed 12 months ago by arma

Here is I think the patch we want for step 1. (patch on maint-0.2.9 so it will last the longest)

diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 521e237..f72e995 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -2948,6 +2948,8 @@ routerstatus_parse_entry_from_string(memarea_t *area,
         rs->is_unnamed = 1;
       } else if (!strcmp(tok->args[i], "HSDir")) {
         rs->is_hs_dir = 1;
+      } else if (!strcmp(tok->args[i], "OnionDir")) {
+        rs->is_hs_dir = 1;
       } else if (!strcmp(tok->args[i], "V2Dir")) {
         rs->is_v2_dir = 1;
       }

comment:2 Changed 12 months ago by arma

An interesting side note: there is a protocol version named HSDir too. We could leave that one alone, for historical reasons, or we could start understanding a synonym OnionDir protocol version too. There might be a bit more code changes on that one.

comment:3 in reply to:  2 Changed 12 months ago by teor

Replying to arma:

An interesting side note: there is a protocol version named HSDir too. We could leave that one alone, for historical reasons, or we could start understanding a synonym OnionDir protocol version too. There might be a bit more code changes on that one.

I think we should make sure that all references to HSDir have a plan to migrate to OnionDir.
But we don't need to do them all in this ticket. (For example, there is already a ticket to alias the HS options.)

comment:4 Changed 12 months ago by nickm

Keywords: 035-proposed needs-proposal added
Milestone: Tor: 0.3.5.x-final

If we do this, we might want to consider doing it as part of a more general planned strings-revamp in our directory documents.

comment:5 Changed 12 months ago by dgoulet

Datapoints. From tor-spec.txt, the protover names:

9.4. "HSIntro"
9.5. "HSRend"
9.6. "HSDir"

Hidden service consensus params:

"hs_intro_min_introduce2"
"hs_intro_max_introduce2"
"hs_intro_min_lifetime"
"hs_intro_max_lifetime"  
"hs_intro_num_extra"     
"hsdir_interval"         
"hsdir_n_replicas"       
"hsdir_spread_fetch"     
"hsdir_spread_store"     
"HSV3MaxDescriptorSize"  
"hs_service_max_rdv_failures"

comment:6 Changed 11 months ago by arma

dgoulet asked today how much I want this in 0.3.5. Given that it's a two line patch to start, and it's already been written, it seems worth continuing to consider for 0.3.5. :)

comment:7 in reply to:  5 Changed 11 months ago by teor

Replying to dgoulet:

Datapoints. From tor-spec.txt, the protover names:

9.4. "HSIntro"
9.5. "HSRend"
9.6. "HSDir"

Hidden service consensus params:

"hs_intro_min_introduce2"
"hs_intro_max_introduce2"
"hs_intro_min_lifetime"
"hs_intro_max_lifetime"  
"hs_intro_num_extra"     
"hsdir_interval"         
"hsdir_n_replicas"       
"hsdir_spread_fetch"     
"hsdir_spread_store"     
"HSV3MaxDescriptorSize"  
"hs_service_max_rdv_failures"

Let's change the protover names at the same time, and then call it done?
(The protover names appear in descriptors and in consensus-health, but the C function names do not.)

comment:8 Changed 10 months ago by nickm

Keywords: 035-roadmap-proposed added; 035-proposed removed

comment:9 Changed 10 months ago by nickm

Keywords: 035-removed-20180711 added
Milestone: Tor: 0.3.5.x-finalTor: unspecified

These tickets are being triaged out of 0.3.5. The ones marked "035-roadmap-proposed" may return.

comment:10 Changed 9 months ago by traumschule

Keywords: tor-hs hsdir added

comment:11 Changed 9 months ago by teor

Keywords: 036-proposed added

I'm in favour of accepting the OnionDir flag in 0.3.6, updating torspec, and calling this ticket done.

All of the other "hsdir" strings aren't likely to be seen by most users or relay operators.

comment:12 Changed 9 months ago by traumschule

Parent ID: #25955

exciting!

comment:13 Changed 7 months ago by teor

Keywords: 036-roadmap-proposed added; 035-roadmap-proposed removed

Move likely enhancements from 035-roadmap-proposed to 036-roadmap-proposed

comment:14 Changed 6 months ago by teor

Keywords: 040-roadmap-proposed added; 036-roadmap-proposed removed

0.3.6 is now 0.4.0: changing roadmap keywords

comment:15 Changed 6 months ago by teor

Keywords: 040--roadmap-proposed added

0.3.6 is now 0.4.0: also changing -roadmap to -roadmap-proposed

comment:16 Changed 6 months ago by teor

Keywords: 036-proposed removed

Oops

comment:17 Changed 6 months ago by teor

Keywords: 040--roadmap-proposed removed

Oops, second stage

Note: See TracTickets for help on using tickets.