Selaa lähdekoodia

Merge remote-tracking branch 'dgoulet/bug20307_030_01'

Nick Mathewson 7 vuotta sitten
vanhempi
commit
fc2656004a
2 muutettua tiedostoa jossa 9 lisäystä ja 2 poistoa
  1. 7 0
      changes/bug20307
  2. 2 2
      src/or/or.h

+ 7 - 0
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.

+ 2 - 2
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;