[tor-bugs] #21054 [Core Tor/Tor]: hs: BUG() is triggered with ephemeral service on config reload

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Dec 21 17:15:16 UTC 2016


#21054: hs: BUG() is triggered with ephemeral service on config reload
------------------------------+------------------------------------------
     Reporter:  dgoulet       |      Owner:  dgoulet
         Type:  defect        |     Status:  new
     Priority:  High          |  Milestone:  Tor: 0.3.0.x-final
    Component:  Core Tor/Tor  |    Version:  Tor: 0.3.0.1-alpha
     Severity:  Normal        |   Keywords:  tor-hs, prop224, refactoring
Actual Points:                |  Parent ID:
       Points:  0.5           |   Reviewer:
      Sponsor:  SponsorR-can  |
------------------------------+------------------------------------------
 Ticket #20853 introduced the issue with commit
 `63d3ba96f973735ded16e78bd0b8406b6fcdec35` (tor-0.3.0.1-alpha) with:

 {{{
 +        if (BUG(rend_service_is_ephemeral(new)) ||
 +            BUG(rend_service_is_ephemeral(old))) {
 +          continue;
 }}}

 The new service list does not ONLY contains ephemeral service so if you
 have one regular service and then you add an ephemeral one, a config
 reload will trigger `BUG(rend_service_is_ephemeral(new)` because that
 `new` object is from the global list containing all types of service.

 Furthermore, this whole loop that is suppose to copy the intro points from
 the current service to the newly configured one is broken with that
 commit.

 I'm working on a refactoring to first fix this bug then extract this large
 loop into a function and improve few things along the way _with_ unit
 tests. It is also an important piece of work for #20657 (prop224 service)
 because we'll need it for the v3 service list.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/21054>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list