Opened 16 months ago

Last modified 10 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 16 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 16 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 16 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 16 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 16 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 15 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 15 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 14 months ago by nickm

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

comment:9 Changed 14 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 13 months ago by traumschule

Keywords: tor-hs hsdir added

comment:11 Changed 13 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 13 months ago by traumschule

Parent ID: #25955

exciting!

comment:13 Changed 11 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 10 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 10 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 10 months ago by teor

Keywords: 036-proposed removed

Oops

comment:17 Changed 10 months ago by teor

Keywords: 040--roadmap-proposed removed

Oops, second stage

Note: See TracTickets for help on using tickets.