vote: Return error when adding vote/signature if no dirauth module

Commit 0f3b765b3c added
tor_assert_nonfatal_unreached() to dirvote_add_vote() and
dirvote_add_signatures() when the dirauth module is disabled.

However, they need to return a value. Furthermore, the dirvote_add_vote()
needs to set the msg_out and status_out so it can be sent back. Else,
uninitialized values would be used.

Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
David Goulet 2018-05-01 10:15:28 -04:00
parent 15e8ce3937
commit d8509b450a

View File

@ -152,11 +152,14 @@ static inline struct pending_vote_t *
dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out) dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
{ {
(void) vote_body; (void) vote_body;
(void) msg_out;
(void) status_out;
/* If the dirauth module is disabled, this should NEVER be called else we /* If the dirauth module is disabled, this should NEVER be called else we
* failed to safeguard the dirauth module. */ * failed to safeguard the dirauth module. */
tor_assert_nonfatal_unreached(); tor_assert_nonfatal_unreached();
/* We need to send out an error code. */
*status_out = 400;
*msg_out = "No directory authority support";
return NULL;
} }
static inline int static inline int
@ -169,6 +172,7 @@ dirvote_add_signatures(const char *detached_signatures_body, const char *source,
/* If the dirauth module is disabled, this should NEVER be called else we /* If the dirauth module is disabled, this should NEVER be called else we
* failed to safeguard the dirauth module. */ * failed to safeguard the dirauth module. */
tor_assert_nonfatal_unreached(); tor_assert_nonfatal_unreached();
return 0;
} }
#endif /* HAVE_MODULE_DIRAUTH */ #endif /* HAVE_MODULE_DIRAUTH */