Commit 1c1d71fe authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Merge remote-tracking branch 'public/bug16013_025' into maint-0.2.6

parents 03e3cf6a 68eaaed7
Loading
Loading
Loading
Loading

changes/bug16013

0 → 100644
+5 −0
Original line number Diff line number Diff line
  o Major bugfixes (hidden service, stability):
    - Stop randomly crashing with an assertion failure when connecting to a
      busy hidden service, or connecting to a hidden service while a NEWNYM
      is in progress. Fixes bug 16013; bugfix on 0.1.0.1-rc.
+12 −0
Original line number Diff line number Diff line
@@ -2406,6 +2406,18 @@ connection_ap_handshake_attach_circuit(entry_connection_t *conn)
      return 1;
    }

    /* At this point we need to re-check the state, since it's possible that
     * our call to circuit_get_open_circ_or_launch() changed the connection's
     * state from "CIRCUIT_WAIT" to "RENDDESC_WAIT" because we decided to
     * re-fetch the descriptor.
     */
    if (ENTRY_TO_CONN(conn)->state != AP_CONN_STATE_CIRCUIT_WAIT) {
      log_info(LD_REND, "This connection is no longer ready to attach; its "
               "state changed."
               "(We probably have to re-fetch its descriptor.)");
      return 0;
    }

    if (rendcirc && (rendcirc->base_.purpose ==
                     CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED)) {
      log_info(LD_REND,