diff --git a/src/or/consdiff.c b/src/or/consdiff.c
index c33bad1940..ea1613d65f 100644
--- a/src/or/consdiff.c
+++ b/src/or/consdiff.c
@@ -41,7 +41,10 @@ static const char* hash_token = "hash";
static char *consensus_join_lines(const smartlist_t *inp);
-/** DOCDOC */
+/** Compute the digest of cons, and store the result in
+ * digest_out. Return 0 on success, -1 on failure. */
+/* This is a separate, mockable function so that we can override it when
+ * fuzzing. */
MOCK_IMPL(STATIC int,
consensus_compute_digest,(const char *cons,
consensus_digest_t *digest_out))
@@ -51,7 +54,9 @@ consensus_compute_digest,(const char *cons,
return r;
}
-/** DOCDOC */
+/** Return true iff d1 and d2 contain the same digest */
+/* This is a separate, mockable function so that we can override it when
+ * fuzzing. */
MOCK_IMPL(STATIC int,
consensus_digest_eq,(const uint8_t *d1,
const uint8_t *d2))
@@ -1040,7 +1045,14 @@ consdiff_apply_diff(const smartlist_t *cons1,
return cons2_str;
}
-/**DOCDOC*/
+/**
+ * Helper: For every NL-terminated line in s, add a copy of that line
+ * (without trailing newline) to out. Return -1 if there are any
+ * non-NL terminated lines; 0 otherwise.
+ *
+ * Unlike smartlist_split_string, this function avoids ambiguity on its
+ * handling of a final line that isn't NL-terminated.
+ */
static int
consensus_split_lines(smartlist_t *out, const char *s)
{
@@ -1057,7 +1069,11 @@ consensus_split_lines(smartlist_t *out, const char *s)
return 0;
}
-/** DOCDOC */
+/** Given a list of lines, return a newly allocated string containing
+ * all of the lines, terminated with NL, concatenated.
+ *
+ * Unlike smartlist_join_strings(), avoids lossy operations on empty
+ * lists. */
static char *
consensus_join_lines(const smartlist_t *inp)
{
@@ -1077,7 +1093,9 @@ consensus_join_lines(const smartlist_t *inp)
return result;
}
-/**DOCDOC */
+/** Given two consensus documents, try to compute a diff between them. On
+ * success, retun a newly allocated string containing that diff. On failure,
+ * return NULL. */
char *
consensus_diff_generate(const char *cons1,
const char *cons2)
@@ -1115,7 +1133,9 @@ consensus_diff_generate(const char *cons1,
return result;
}
-/** DOCDOC */
+/** Given a consensus document and a diff, try to apply the diff to the
+ * consensus. On success return a newly allocated string containing the new
+ * consensus. On failure, return NULL. */
char *
consensus_diff_apply(const char *consensus,
const char *diff)