Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #12500

Closed (moved)
Open
Opened Jun 30, 2014 by Andrea Shepard@andrea

Add an option to upload hidden service descriptors some time after startup

#4243 (moved) is bullshit; it doesn't seem to describe the actual behavior, but what it describes would be the correct thing if it were what we did. We should investigate this and render it sane.

Descriptor upload happens from rend_consider_services_upload(time_t now) - some things to consider:

1.) Where does now come from? Is this another thing that should use CLOCK_MONOTONIC when available?

2.) Looks like we correctly randomize the upload time for new descriptors:

3239     if (!service->next_upload_time) { /* never been uploaded yet */
3240       /* The fixed lower bound of 30 seconds ensures that the descriptor
3241        * is stable before being published. See comment below. */
3242       service->next_upload_time =
3243         now + 30 + crypto_rand_int(2*rendpostperiod);
3244     }

...but we make our decision on what to upload based on next_upload_time or desc_is_dirty:

3245     if (service->next_upload_time < now ||
3246         (service->desc_is_dirty &&
3247          service->desc_is_dirty < now-30)) {
3248       /* if it's time, or if the directory servers have a wrong service
3249        * descriptor and ours has been stable for 30 seconds, upload a
3250        * new one of each format. */
3251       rend_service_update_descriptor(service);
3252       upload_service_descriptor(service);
3253     }

We should look at how desc_is_dirty gets set and make sure this doesn't cause newly created HS descriptors to always be immediately uploaded.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
Tor: unspecified
Milestone
Tor: unspecified
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#12500