Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #26549
Closed (moved) (moved)
Open
Issue created Jun 28, 2018 by Trac@tracbot

Revision counter for v3 ephemeral hidden service is lost

When a controller is using a client to provide two or more v3 ephemeral hidden services, with the private keys managed by the controller, and there's a client session where the controller activates one of the hidden services but not the others, the revision counters for the other hidden services are lost. This prevents the other services from being activated in future sessions because their descriptors are rejected by the HSDirs.

This happens because increment_descriptor_revision_counter() in hs_service.c calls update_revision_counters_in_state(), which loops over all the services currently being provided by the client, saves their counters, and removes any other counters from the state file. Thus if any hidden service is activated during a session, the revision counters of any services not activated during that session are lost.

Steps to reproduce:

  • Use ADD_ONION NEW:ED25519-V3 ... to create two hidden services
  • Save the private keys
  • Shut down and restart tor
  • Use ADD_ONION ED25519-V3:<private_key_1> ... to activate the first service
  • Shut down and restart tor
  • Use SETEVENTS HS_DESC to register for HS descriptor events
  • Use ADD_ONION ED25519-V3:<private_key_1> ... to activate the first service
  • The descriptor should be published successfully
  • Use ADD_ONION ED25519-V3:<private_key_2> ... to activate the second service
  • The controller receives HS_DESC_FAILED events with REASON=UPLOAD_REJECTED

It looks like this bug is related to #25552 (moved). I don't know whether the solution to that ticket will fix it.

Trac:
Username: akwizgran

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking