[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #23790 [Core Tor/Tor]: rend_service_prune_list_impl_() doesn't copy over desc_is_dirty when copying intro points
#23790: rend_service_prune_list_impl_() doesn't copy over desc_is_dirty when
copying intro points
------------------------------+--------------------------
Reporter: jl | Owner: (none)
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Core Tor/Tor | Version: Tor: 0.3.1.7
Severity: Normal | Keywords:
Actual Points: | Parent ID:
Points: | Reviewer:
Sponsor: |
------------------------------+--------------------------
In `rend_service_prune_list_impl_(void)` (src/or/rendservice.c), the
introduction points are copied over from the old to new `rend_service_t`:
{{{#!c
smartlist_add_all(new->intro_nodes, old->intro_nodes);
}}}
but, the `desc_is_dirty` field is not copied over.
If a reload occurs between after a hidden service is added, but before its
descriptor is published for the first time (triggered via
`desc_is_dirty`), it will not publish its first descriptor until:
{{{#!c
rendinitialpostdelay + crypto_rand_int(2*rendpostperiod)
}}}
It looks like it's simply missing `new->desc_is_dirty =
old->desc_is_dirty;` prior to copying of introduction points.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23790>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs