diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-01-13 16:56:56 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-01-13 16:56:56 -0500 |
commit | fc2656004ace977d886e8b8240a4d19de6825734 (patch) | |
tree | 4af9b43382238ffa3bbd4719d6f6b9875ea8e02a | |
parent | 94e8f60901eee5d0f0da512703e4de7fb7e0b449 (diff) | |
parent | 955d4b7abdb1f4a3295e9c3ef5fa7abf6f71f057 (diff) | |
download | tor-fc2656004ace977d886e8b8240a4d19de6825734.tar.gz tor-fc2656004ace977d886e8b8240a4d19de6825734.zip |
Merge remote-tracking branch 'dgoulet/bug20307_030_01'
-rw-r--r-- | changes/bug20307 | 7 | ||||
-rw-r--r-- | src/or/or.h | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/changes/bug20307 b/changes/bug20307 new file mode 100644 index 0000000000..6036b99516 --- /dev/null +++ b/changes/bug20307 @@ -0,0 +1,7 @@ + o Minor bugfixes (circuit, hidden service) + - When closing a circuit, the reason for doing so was assigned from a int + value to a uint16_t which is quite a problem for negative value that are + our internal reasons (ex: END_CIRC_REASON_IP_NOW_REDUNDANT). On the HS + side, this was causing introduction point to be flagged as unusable + because the reason wasn't the right one due to the bad conversion. + Partially fixes #21056 and fixes #20307; Bugfix on tor-0.2.8.1-alpha. diff --git a/src/or/or.h b/src/or/or.h index 600bd9dbe6..2e1d2af599 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3039,11 +3039,11 @@ typedef struct circuit_t { /** For what reason (See END_CIRC_REASON...) is this circuit being closed? * This field is set in circuit_mark_for_close and used later in * circuit_about_to_free. */ - uint16_t marked_for_close_reason; + int marked_for_close_reason; /** As marked_for_close_reason, but reflects the underlying reason for * closing this circuit. */ - uint16_t marked_for_close_orig_reason; + int marked_for_close_orig_reason; /** Unique ID for measuring tunneled network status requests. */ uint64_t dirreq_id; |