Commit eaad3ab3 authored by Peter Palfrader's avatar Peter Palfrader
Browse files

Spec compliance: sort id fingerprints in consensus get requests


svn:r14450
parent 901ee58c
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -773,6 +773,17 @@ connection_dir_is_encrypted(dir_connection_t *conn)
  return TO_CONN(conn)->linked;
}

/** Helper for sorting
 *
 * sort strings alphabetically
 */
static int
_compare_strs(const void **a, const void **b)
{
  const char *s1 = *a, *s2 = *b;
  return strcmp(s1, s2);
}

/** Return the URL we should use for a consensus download.
 *
 * This url depends on whether or not the server we go to
@@ -801,6 +812,7 @@ directory_get_consensus_url(int supports_conditional_consensus)
                      ds->digest, CONDITIONAL_CONSENSUS_FPR_LEN);
        smartlist_add(authority_digets, hex);
      });
    smartlist_sort(authority_digets, _compare_strs);
    authority_id_list = smartlist_join_strings(authority_digets,
                                               "+", 0, NULL);