#20218: Fix and refactor and redocument routerstatus_has_changed -------------------------------------------------+------------------------- Reporter: nickm | Owner: (none) Type: defect | Status: | needs_revision Priority: Medium | Milestone: Tor: | 0.3.4.x-final Component: Core Tor/Tor | Version: Severity: Normal | Resolution: Keywords: ipv6, 029-proposed, tor-control, | Actual Points: easy, spec-conformance | Parent ID: | Points: .1 Reviewer: | Sponsor: -------------------------------------------------+------------------------- Changes (by teor):
* keywords: 029-proposed, tor-control, easy, spec-conformance => ipv6, 029-proposed, tor-control, easy, spec-conformance * status: new => needs_revision * milestone: Tor: unspecified => Tor: 0.3.4.x-final Comment: Oh, I'm sorry, I've been giving you bad advice. I must have searched for the wrong function name. We don't need a new function. We need to change the existing function to look at more fields. Here's what we need to do: The routerstatus_t struct has a lot of fields. routerstatus_has_changed() checks a few of them. But it needs to check every field that is output by networkstatus_getinfo_helper_single(). These missing fields can be compared using !=: * published * ipv6_orport * is_v2_dir * bandwidth_kb This missing field must be compared using tor_addr_compare(..., ..., CMP_EXACT): * ipv6_addr We don't need to worry about the summarised IPv4 exit policy output by networkstatus_getinfo_helper_single(). The descriptor_digest check will find changes in this field. Then we need to add comments to routerstatus_has_changed() saying that it checks for changes that are output by the control port. And we need to add a comment to routerstatus_format_entry() saying that any extra control port fields need to be added to routerstatus_has_changed() as well. -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20218#comment:20> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs