get rid of routerstatus->version_supports_optimistic_data

Clients are now willing to send optimistic circuit data (before they
receive a 'connected' cell) to relays of any version. We used to
only do it for relays running 0.2.3.1-alpha or later, but now all
relays are new enough.

Resolves ticket 13153.
This commit is contained in:
Roger Dingledine 2014-09-21 19:04:18 -04:00
parent 4c8b809b96
commit bbfb1aca55
4 changed files with 6 additions and 8 deletions

5
changes/feature13153 Normal file
View File

@ -0,0 +1,5 @@
o Code simplication:
- Clients are now willing to send optimistic circuit data (before they
receive a 'connected' cell) to relays of any version. We used to
only do it for relays running 0.2.3.1-alpha or later, but now all
relays are new enough. Resolves ticket 13153.

View File

@ -2110,8 +2110,7 @@ link_apconn_to_circ(entry_connection_t *apconn, origin_circuit_t *circ,
exitnode->rs) { exitnode->rs) {
/* Okay; we know what exit node this is. */ /* Okay; we know what exit node this is. */
if (optimistic_data_enabled() && if (optimistic_data_enabled() &&
circ->base_.purpose == CIRCUIT_PURPOSE_C_GENERAL && circ->base_.purpose == CIRCUIT_PURPOSE_C_GENERAL)
exitnode->rs->version_supports_optimistic_data)
apconn->may_use_optimistic_data = 1; apconn->may_use_optimistic_data = 1;
else else
apconn->may_use_optimistic_data = 0; apconn->may_use_optimistic_data = 0;

View File

@ -2149,9 +2149,6 @@ typedef struct routerstatus_t {
/** True iff this router is a version that, if it caches directory info, /** True iff this router is a version that, if it caches directory info,
* we can get microdescriptors from. */ * we can get microdescriptors from. */
unsigned int version_supports_microdesc_cache:1; unsigned int version_supports_microdesc_cache:1;
/** True iff this router is a version that allows DATA cells to arrive on
* a stream before it has sent a CONNECTED cell. */
unsigned int version_supports_optimistic_data:1;
/** True iff this router has a version that allows it to accept EXTEND2 /** True iff this router has a version that allows it to accept EXTEND2
* cells */ * cells */
unsigned int version_supports_extend2_cells:1; unsigned int version_supports_extend2_cells:1;

View File

@ -1916,12 +1916,9 @@ routerstatus_parse_entry_from_string(memarea_t *area,
rs->version_known = 1; rs->version_known = 1;
if (strcmpstart(tok->args[0], "Tor ")) { if (strcmpstart(tok->args[0], "Tor ")) {
rs->version_supports_microdesc_cache = 1; rs->version_supports_microdesc_cache = 1;
rs->version_supports_optimistic_data = 1;
} else { } else {
rs->version_supports_microdesc_cache = rs->version_supports_microdesc_cache =
tor_version_supports_microdescriptors(tok->args[0]); tor_version_supports_microdescriptors(tok->args[0]);
rs->version_supports_optimistic_data =
tor_version_as_new_as(tok->args[0], "0.2.3.1-alpha");
rs->version_supports_extend2_cells = rs->version_supports_extend2_cells =
tor_version_as_new_as(tok->args[0], "0.2.4.8-alpha"); tor_version_as_new_as(tok->args[0], "0.2.4.8-alpha");
} }