#20376: Do not mark circs for close again after relay_send_command_from_edge() -----------------------------+------------------------------------ Reporter: twim | Owner: twim Type: defect | Status: needs_review Priority: Medium | Milestone: Tor: 0.3.0.x-final Component: Core Tor/Tor | Version: Severity: Minor | Resolution: Keywords: review-group-11 | Actual Points: Parent ID: | Points: 0.2 Reviewer: | Sponsor: -----------------------------+------------------------------------
Comment (by dgoulet): Hey thanks for this twim! Good find! So I had to think hard about this one as it has quite a bit of implication especially when adding an assert like that. I've refactored your branch slightly (and fixing couple things) in this branch: `bug20376_030_01`. The main part you'll notice is the change to `relay_send_command_from_edge_()` which I turned into a simple if/else (no unknown else condition anymore) where we either have a origin circuit or not and depending on that, we set the direction and assert on the `cpath_layer` which MUST be present if we are outbound. As far as I understand it, that function only does OP->OR or OR->OP meaning it can't be a middle hop and thus if it's an origin circuit, it must be outbound and have a cpath else we are using that function very wrong. Plausible? The branch passes `make test-network-all`. -- Ticket URL: <https://troodi.torproject.org/projects/tor/ticket/20376#comment:8> 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