mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
prop250: Sort commits in lexicographical order in votes
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
63ca307127
commit
cd858d78a7
@ -1205,11 +1205,21 @@ sr_get_string_for_vote(void)
|
|||||||
|
|
||||||
/* In our vote we include every commitment in our permanent state. */
|
/* In our vote we include every commitment in our permanent state. */
|
||||||
state_commits = sr_state_get_commits();
|
state_commits = sr_state_get_commits();
|
||||||
|
smartlist_t *state_commit_vote_lines = smartlist_new();
|
||||||
DIGESTMAP_FOREACH(state_commits, key, const sr_commit_t *, commit) {
|
DIGESTMAP_FOREACH(state_commits, key, const sr_commit_t *, commit) {
|
||||||
char *line = get_vote_line_from_commit(commit, sr_state_get_phase());
|
char *line = get_vote_line_from_commit(commit, sr_state_get_phase());
|
||||||
smartlist_add(chunks, line);
|
smartlist_add(state_commit_vote_lines, line);
|
||||||
} DIGESTMAP_FOREACH_END;
|
} DIGESTMAP_FOREACH_END;
|
||||||
|
|
||||||
|
/* Sort the commit strings by version (string, not numeric), algorithm,
|
||||||
|
* and fingerprint. This makes sure the commit lines in votes are in a
|
||||||
|
* recognisable, stable order. */
|
||||||
|
smartlist_sort_strings(state_commit_vote_lines);
|
||||||
|
|
||||||
|
/* Now add the sorted list of commits to the vote */
|
||||||
|
smartlist_add_all(chunks, state_commit_vote_lines);
|
||||||
|
smartlist_free(state_commit_vote_lines);
|
||||||
|
|
||||||
/* Add the SRV value(s) if any. */
|
/* Add the SRV value(s) if any. */
|
||||||
{
|
{
|
||||||
char *srv_lines = get_ns_str_from_sr_values(sr_state_get_previous_srv(),
|
char *srv_lines = get_ns_str_from_sr_values(sr_state_get_previous_srv(),
|
||||||
|
Loading…
Reference in New Issue
Block a user