}
}
+ /* If the client asked for congestion control, but we don't support it,
+ * that's a failure. It should not have asked, based on our descriptor. */
+ if (data->cc_enabled && !congestion_control_enabled()) {
+ goto done;
+ }
+
/* Success. */
ret = 0;
log_info(LD_REND, "Valid INTRODUCE2 cell. Launching rendezvous circuit.");
intro_circ->cpath->prev = intro_circ->cpath;
intro_circ->hs_ident = tor_malloc_zero(sizeof(*intro_circ->hs_ident));
origin_circuit_t rend_circ;
+ TO_CIRCUIT(&rend_circ)->ccontrol = NULL;
rend_circ.hs_ident = tor_malloc_zero(sizeof(*rend_circ.hs_ident));
curve25519_keypair_generate(&rend_circ.hs_ident->rendezvous_client_kp, 0);
memset(rend_circ.hs_ident->rendezvous_cookie, 'r', HS_REND_COOKIE_LEN);