summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-01-22 19:03:25 -0500
committerNick Mathewson <nickm@torproject.org>2017-01-22 19:03:25 -0500
commitd83aa8c90ad99bed08691240e7320441b811b2d7 (patch)
tree428bbdee234da5f855ce60a1f0d97130c9635b07
parent98990452564a6c3f70bce05a299d84fb7c0024a3 (diff)
parentbcbb2d111bb08a9578d31e0240a24af8137dc766 (diff)
downloadtor-d83aa8c90ad99bed08691240e7320441b811b2d7.tar.gz
tor-d83aa8c90ad99bed08691240e7320441b811b2d7.zip
Merge branch 'maint-0.2.9' into release-0.2.9
-rw-r--r--changes/bug203077
-rw-r--r--src/or/or.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/changes/bug20307 b/changes/bug20307
new file mode 100644
index 0000000000..9112c9c78d
--- /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 an int
+ value to a uint16_t which is quite a problem for negative values that are
+ our internal reasons (ex: END_CIRC_REASON_IP_NOW_REDUNDANT). On the HS
+ side, this was causing introduction points to be flagged as unusable
+ because the reason wasn't the right one due to the bad conversion.
+ Partially fixes bug 21056 and fixes bug 20307; Bugfix on 0.2.8.1-alpha.
diff --git a/src/or/or.h b/src/or/or.h
index 66717792b4..b7c67baf93 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2964,11 +2964,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;