Unverified Commit 3158777d authored by teor's avatar teor
Browse files

Rename routerstatus_version_supports_ntor to *_supports_extend2_cells

This helps avoid the confusion that caused bug 20472.
Bugfix on commit 10aa913a from #19163 in tor-0.2.9.3-alpha.
parent d81f2b5d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -2360,10 +2360,10 @@ client_would_use_router(const routerstatus_t *rs, time_t now,
    /* We'd drop it immediately for being too old. */
    return 0;
  }
  if (!routerstatus_version_supports_ntor(rs, 1)) {
    /* We'd ignore it because it doesn't support ntor.
  if (!routerstatus_version_supports_extend2_cells(rs, 1)) {
    /* We'd ignore it because it doesn't support EXTEND2 cells.
     * If we don't know the version, download the descriptor so we can
     * check if it supports ntor. */
     * check if it supports EXTEND2 cells and ntor. */
    return 0;
  }
  return 1;
+8 −6
Original line number Diff line number Diff line
@@ -2344,9 +2344,10 @@ router_add_running_nodes_to_smartlist(smartlist_t *sl, int allow_invalid,
      continue;
    if (node_is_unreliable(node, need_uptime, need_capacity, need_guard))
      continue;
    /* Don't choose nodes if we are certain they can't do ntor */
    if (node->rs && !routerstatus_version_supports_ntor(node->rs, 1))
    /* Don't choose nodes if we are certain they can't do EXTEND2 cells */
    if (node->rs && !routerstatus_version_supports_extend2_cells(node->rs, 1))
      continue;
    /* Don't choose nodes if we are certain they can't do ntor. */
    if ((node->ri || node->md) && !node_has_curve25519_onion_key(node))
      continue;
    /* Choose a node with an OR address that matches the firewall rules */
@@ -5609,12 +5610,13 @@ routerinfo_has_curve25519_onion_key(const routerinfo_t *ri)
  return 1;
}

/* Is rs running a tor version known to support ntor?
/* Is rs running a tor version known to support EXTEND2 cells?
 * If allow_unknown_versions is true, return true if we can't tell
 * (from a versions line or a protocols line) whether it supports ntor.
 * (from a versions line or a protocols line) whether it supports extend2
 * cells.
 * Otherwise, return false if the version is unknown. */
int
routerstatus_version_supports_ntor(const routerstatus_t *rs,
routerstatus_version_supports_extend2_cells(const routerstatus_t *rs,
                                            int allow_unknown_versions)
{
  if (!rs) {
+2 −2
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ int routerinfo_incompatible_with_extrainfo(const crypto_pk_t *ri,
                                           signed_descriptor_t *sd,
                                           const char **msg);
int routerinfo_has_curve25519_onion_key(const routerinfo_t *ri);
int routerstatus_version_supports_ntor(const routerstatus_t *rs,
int routerstatus_version_supports_extend2_cells(const routerstatus_t *rs,
                                                int allow_unknown_versions);

void routerlist_assert_ok(const routerlist_t *rl);