|
@@ -1983,10 +1983,19 @@ format_networkstatus_vote(crypto_pk_env_t *private_key,
|
|
|
|
|
|
note_crypto_pk_op(SIGN_DIR);
|
|
note_crypto_pk_op(SIGN_DIR);
|
|
if (router_append_dirobj_signature(outp,endp-outp,digest,private_key)<0) {
|
|
if (router_append_dirobj_signature(outp,endp-outp,digest,private_key)<0) {
|
|
- log_warn(LD_BUG, "Unable to sign router status.");
|
|
|
|
|
|
+ log_warn(LD_BUG, "Unable to sign networkstatus vote.");
|
|
goto err;
|
|
goto err;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ {
|
|
|
|
+ networkstatus_vote_t *v;
|
|
|
|
+ if (!(v = networkstatus_parse_vote_from_string(status, 1))) {
|
|
|
|
+ log_err(LD_BUG,"Generated a networkstatus vote we couldn't parse.");
|
|
|
|
+ goto err;
|
|
|
|
+ }
|
|
|
|
+ networkstatus_vote_free(v);
|
|
|
|
+ }
|
|
|
|
+
|
|
goto done;
|
|
goto done;
|
|
|
|
|
|
err:
|
|
err:
|
|
@@ -2195,6 +2204,15 @@ generate_networkstatus_opinion(int v2)
|
|
goto done;
|
|
goto done;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ {
|
|
|
|
+ networkstatus_t *ns;
|
|
|
|
+ if (!(ns = networkstatus_parse_from_string(status))) {
|
|
|
|
+ log_err(LD_BUG,"Generated a networkstatus we couldn't parse.");
|
|
|
|
+ goto done;
|
|
|
|
+ }
|
|
|
|
+ networkstatus_free(ns);
|
|
|
|
+ }
|
|
|
|
+
|
|
{
|
|
{
|
|
cached_dir_t **ns_ptr = &the_v2_networkstatus;
|
|
cached_dir_t **ns_ptr = &the_v2_networkstatus;
|
|
if (*ns_ptr)
|
|
if (*ns_ptr)
|