Skip to content

tor-hsservice: Descriptor publisher improvements

gabi-250 requested to merge gabi-250/arti:publish-on-state-change into main

This MR fills out some more descriptor publisher TODOs. Notably, the publisher now

  • no longer keeps a partially built Descriptor around (the intermediate Descriptor struct isn't actually needed. In fact, it would've been very inconvenient to keep it, because we now read the IPTs just before building the descriptor, rather than ahead of time)
  • knows when to call upload_all (which uploads the descriptor to all HSDirs that need it). Previously, upload_all was only ever called by the code that reschedules rate-limited uploads
  • follows the instructions of the IPT manager and stops publishing if borrow_for_publish returns None
  • has an implementation for handle_svc_config_change

Merge request reports