mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Merge branch 'maint-0.2.8'
This commit is contained in:
commit
dcc4fd4403
@ -1237,7 +1237,11 @@ networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
|
|||||||
/** Check if we need to download a consensus during tor's bootstrap phase.
|
/** Check if we need to download a consensus during tor's bootstrap phase.
|
||||||
* If we have no consensus, or our consensus is unusably old, return 1.
|
* If we have no consensus, or our consensus is unusably old, return 1.
|
||||||
* As soon as we have received a consensus, return 0, even if we don't have
|
* As soon as we have received a consensus, return 0, even if we don't have
|
||||||
* enough certificates to validate it. */
|
* enough certificates to validate it.
|
||||||
|
* If a fallback directory gives us a consensus we can never get certs for,
|
||||||
|
* check_consensus_waiting_for_certs() will wait 20 minutes before failing
|
||||||
|
* the cert downloads. After that, a new consensus will be fetched from a
|
||||||
|
* randomly chosen fallback. */
|
||||||
MOCK_IMPL(int,
|
MOCK_IMPL(int,
|
||||||
networkstatus_consensus_is_bootstrapping,(time_t now))
|
networkstatus_consensus_is_bootstrapping,(time_t now))
|
||||||
{
|
{
|
||||||
|
@ -652,12 +652,8 @@ test_conn_download_status(void *arg)
|
|||||||
{
|
{
|
||||||
dir_connection_t *conn = NULL;
|
dir_connection_t *conn = NULL;
|
||||||
dir_connection_t *conn2 = NULL;
|
dir_connection_t *conn2 = NULL;
|
||||||
dir_connection_t *conn3 = NULL;
|
|
||||||
dir_connection_t *conn4 = NULL;
|
dir_connection_t *conn4 = NULL;
|
||||||
connection_t *ap_conn = NULL;
|
connection_t *ap_conn = NULL;
|
||||||
connection_t *ap_conn2 = NULL;
|
|
||||||
/* we never create an ap_conn for conn3 */
|
|
||||||
connection_t *ap_conn4 = NULL;
|
|
||||||
|
|
||||||
consensus_flavor_t usable_flavor = (consensus_flavor_t)arg;
|
consensus_flavor_t usable_flavor = (consensus_flavor_t)arg;
|
||||||
|
|
||||||
@ -760,7 +756,8 @@ test_conn_download_status(void *arg)
|
|||||||
conn->base_.state = TEST_CONN_STATE;
|
conn->base_.state = TEST_CONN_STATE;
|
||||||
|
|
||||||
/* more connections, all not downloading */
|
/* more connections, all not downloading */
|
||||||
conn3 = test_conn_download_status_add_a_connection(res);
|
/* ignore the return value, it's free'd using the connection list */
|
||||||
|
(void)test_conn_download_status_add_a_connection(res);
|
||||||
tt_assert(networkstatus_consensus_is_already_downloading(res) == 0);
|
tt_assert(networkstatus_consensus_is_already_downloading(res) == 0);
|
||||||
tt_assert(networkstatus_consensus_is_already_downloading(other_res) == 0);
|
tt_assert(networkstatus_consensus_is_already_downloading(other_res) == 0);
|
||||||
tt_assert(connection_dir_count_by_purpose_and_resource(
|
tt_assert(connection_dir_count_by_purpose_and_resource(
|
||||||
@ -784,8 +781,9 @@ test_conn_download_status(void *arg)
|
|||||||
/* more connections, two downloading (should never happen, but needs
|
/* more connections, two downloading (should never happen, but needs
|
||||||
* to be tested for completeness) */
|
* to be tested for completeness) */
|
||||||
conn2->base_.state = TEST_CONN_DL_STATE;
|
conn2->base_.state = TEST_CONN_DL_STATE;
|
||||||
ap_conn2 = test_conn_get_linked_connection(TO_CONN(conn2),
|
/* ignore the return value, it's free'd using the connection list */
|
||||||
TEST_CONN_ATTACHED_STATE);
|
(void)test_conn_get_linked_connection(TO_CONN(conn2),
|
||||||
|
TEST_CONN_ATTACHED_STATE);
|
||||||
tt_assert(networkstatus_consensus_is_already_downloading(res) == 1);
|
tt_assert(networkstatus_consensus_is_already_downloading(res) == 1);
|
||||||
tt_assert(networkstatus_consensus_is_already_downloading(other_res) == 0);
|
tt_assert(networkstatus_consensus_is_already_downloading(other_res) == 0);
|
||||||
tt_assert(connection_dir_count_by_purpose_and_resource(
|
tt_assert(connection_dir_count_by_purpose_and_resource(
|
||||||
@ -823,8 +821,9 @@ test_conn_download_status(void *arg)
|
|||||||
* cache directory documents), both flavors downloading
|
* cache directory documents), both flavors downloading
|
||||||
*/
|
*/
|
||||||
conn4->base_.state = TEST_CONN_DL_STATE;
|
conn4->base_.state = TEST_CONN_DL_STATE;
|
||||||
ap_conn4 = test_conn_get_linked_connection(TO_CONN(conn4),
|
/* ignore the return value, it's free'd using the connection list */
|
||||||
TEST_CONN_ATTACHED_STATE);
|
(void)test_conn_get_linked_connection(TO_CONN(conn4),
|
||||||
|
TEST_CONN_ATTACHED_STATE);
|
||||||
tt_assert(networkstatus_consensus_is_already_downloading(res) == 1);
|
tt_assert(networkstatus_consensus_is_already_downloading(res) == 1);
|
||||||
tt_assert(networkstatus_consensus_is_already_downloading(other_res) == 1);
|
tt_assert(networkstatus_consensus_is_already_downloading(other_res) == 1);
|
||||||
tt_assert(connection_dir_count_by_purpose_and_resource(
|
tt_assert(connection_dir_count_by_purpose_and_resource(
|
||||||
@ -833,10 +832,9 @@ test_conn_download_status(void *arg)
|
|||||||
tt_assert(connection_dir_count_by_purpose_and_resource(
|
tt_assert(connection_dir_count_by_purpose_and_resource(
|
||||||
TEST_CONN_RSRC_PURPOSE,
|
TEST_CONN_RSRC_PURPOSE,
|
||||||
other_res) == 1);
|
other_res) == 1);
|
||||||
conn4->base_.state = TEST_CONN_STATE;
|
|
||||||
|
|
||||||
done:
|
done:
|
||||||
/* the teardown function removes all the connections */;
|
/* the teardown function removes all the connections in the global list*/;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CONNECTION_TESTCASE(name, fork, setup) \
|
#define CONNECTION_TESTCASE(name, fork, setup) \
|
||||||
|
Loading…
Reference in New Issue
Block a user