|
@@ -1086,14 +1086,21 @@ test_build_update_descriptors(void *arg)
|
|
|
ri.purpose = ROUTER_PURPOSE_GENERAL;
|
|
|
/* Ugly yes but we never free the "ri" object so this just makes things
|
|
|
* easier. */
|
|
|
- ri.protocol_list = (char *) "HSDir 1-2";
|
|
|
+ ri.protocol_list = (char *) "HSDir=1-2 LinkAuth=3";
|
|
|
ret = curve25519_secret_key_generate(&curve25519_secret_key, 0);
|
|
|
tt_int_op(ret, OP_EQ, 0);
|
|
|
ri.onion_curve25519_pkey =
|
|
|
tor_malloc_zero(sizeof(curve25519_public_key_t));
|
|
|
+ ri.onion_pkey = crypto_pk_new();
|
|
|
curve25519_public_key_generate(ri.onion_curve25519_pkey,
|
|
|
&curve25519_secret_key);
|
|
|
memset(ri.cache_info.identity_digest, 'A', DIGEST_LEN);
|
|
|
+ /* Setup ed25519 identity */
|
|
|
+ ed25519_keypair_t kp1;
|
|
|
+ ed25519_keypair_generate(&kp1, 0);
|
|
|
+ ri.cache_info.signing_key_cert = tor_malloc_zero(sizeof(tor_cert_t));
|
|
|
+ tt_assert(ri.cache_info.signing_key_cert);
|
|
|
+ ed25519_pubkey_copy(&ri.cache_info.signing_key_cert->signing_key, &kp1.pubkey);
|
|
|
nodelist_set_routerinfo(&ri, NULL);
|
|
|
node = node_get_mutable_by_id(ri.cache_info.identity_digest);
|
|
|
tt_assert(node);
|
|
@@ -1104,6 +1111,8 @@ test_build_update_descriptors(void *arg)
|
|
|
setup_full_capture_of_logs(LOG_INFO);
|
|
|
update_all_descriptors(now);
|
|
|
tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */
|
|
|
+ tor_free(node->ri->cache_info.signing_key_cert);
|
|
|
+ crypto_pk_free(node->ri->onion_pkey);
|
|
|
expect_log_msg_containing("just picked 1 intro points and wanted 3. It "
|
|
|
"currently has 0 intro points. Launching "
|
|
|
"ESTABLISH_INTRO circuit shortly.");
|