|
@@ -46,26 +46,12 @@ static void
|
|
|
test_v1_record_digest(void *arg)
|
|
|
{
|
|
|
or_circuit_t *or_circ = NULL;
|
|
|
- origin_circuit_t *orig_circ = NULL;
|
|
|
circuit_t *circ = NULL;
|
|
|
|
|
|
(void) arg;
|
|
|
|
|
|
- /* Create our dummy circuits. */
|
|
|
- orig_circ = origin_circuit_new();
|
|
|
- tt_assert(orig_circ);
|
|
|
+ /* Create our dummy circuit. */
|
|
|
or_circ = or_circuit_new(1, NULL);
|
|
|
-
|
|
|
- /* Start by pointing to the origin circuit. */
|
|
|
- circ = TO_CIRCUIT(orig_circ);
|
|
|
- circ->purpose = CIRCUIT_PURPOSE_S_REND_JOINED;
|
|
|
-
|
|
|
- /* We should never note SENDME digest on origin circuit. */
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
- tt_assert(!circ->sendme_last_digests);
|
|
|
- /* We do not need the origin circuit for now. */
|
|
|
- orig_circ = NULL;
|
|
|
- circuit_free_(circ);
|
|
|
/* Points it to the OR circuit now. */
|
|
|
circ = TO_CIRCUIT(or_circ);
|
|
|
|
|
@@ -73,23 +59,23 @@ test_v1_record_digest(void *arg)
|
|
|
* in order to catched the CIRCWINDOW_INCREMENT-nth cell. Try something that
|
|
|
* shouldn't be noted. */
|
|
|
circ->package_window = CIRCWINDOW_INCREMENT;
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
+ sendme_record_cell_digest_on_circ(circ, NULL);
|
|
|
tt_assert(!circ->sendme_last_digests);
|
|
|
|
|
|
/* This should work now. Package window at CIRCWINDOW_INCREMENT + 1. */
|
|
|
circ->package_window++;
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
+ sendme_record_cell_digest_on_circ(circ, NULL);
|
|
|
tt_assert(circ->sendme_last_digests);
|
|
|
tt_int_op(smartlist_len(circ->sendme_last_digests), OP_EQ, 1);
|
|
|
|
|
|
/* Next cell in the package window shouldn't do anything. */
|
|
|
circ->package_window++;
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
+ sendme_record_cell_digest_on_circ(circ, NULL);
|
|
|
tt_int_op(smartlist_len(circ->sendme_last_digests), OP_EQ, 1);
|
|
|
|
|
|
/* The next CIRCWINDOW_INCREMENT should add one more digest. */
|
|
|
circ->package_window = (CIRCWINDOW_INCREMENT * 2) + 1;
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
+ sendme_record_cell_digest_on_circ(circ, NULL);
|
|
|
tt_int_op(smartlist_len(circ->sendme_last_digests), OP_EQ, 2);
|
|
|
|
|
|
done:
|
|
@@ -188,7 +174,7 @@ test_v1_build_cell(void *arg)
|
|
|
|
|
|
/* Note the wrong digest in the circuit, cell should fail validation. */
|
|
|
circ->package_window = CIRCWINDOW_INCREMENT + 1;
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
+ sendme_record_cell_digest_on_circ(circ, NULL);
|
|
|
tt_int_op(smartlist_len(circ->sendme_last_digests), OP_EQ, 1);
|
|
|
setup_full_capture_of_logs(LOG_INFO);
|
|
|
tt_int_op(sendme_is_valid(circ, payload, sizeof(payload)), OP_EQ, false);
|
|
@@ -200,7 +186,7 @@ test_v1_build_cell(void *arg)
|
|
|
/* Record the cell digest into the circuit, cell should validate. */
|
|
|
memcpy(or_circ->crypto.sendme_digest, digest, sizeof(digest));
|
|
|
circ->package_window = CIRCWINDOW_INCREMENT + 1;
|
|
|
- sendme_record_cell_digest(circ);
|
|
|
+ sendme_record_cell_digest_on_circ(circ, NULL);
|
|
|
tt_int_op(smartlist_len(circ->sendme_last_digests), OP_EQ, 1);
|
|
|
tt_int_op(sendme_is_valid(circ, payload, sizeof(payload)), OP_EQ, true);
|
|
|
/* After a validation, the last digests is always popped out. */
|