aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/shared_random.c2
-rw-r--r--src/or/shared_random.h7
-rw-r--r--src/test/test_shared_random.c12
3 files changed, 18 insertions, 3 deletions
diff --git a/src/or/shared_random.c b/src/or/shared_random.c
index e9e6cbcfde..612e1c6bde 100644
--- a/src/or/shared_random.c
+++ b/src/or/shared_random.c
@@ -140,6 +140,8 @@ commit_new(const char *rsa_identity)
commit = tor_malloc_zero(sizeof(*commit));
commit->alg = SR_DIGEST_ALG;
memcpy(commit->rsa_identity, rsa_identity, sizeof(commit->rsa_identity));
+ base16_encode(commit->rsa_identity_hex, sizeof(commit->rsa_identity_hex),
+ commit->rsa_identity, sizeof(commit->rsa_identity));
return commit;
}
diff --git a/src/or/shared_random.h b/src/or/shared_random.h
index 51f3b550d8..7c0a3e749d 100644
--- a/src/or/shared_random.h
+++ b/src/or/shared_random.h
@@ -76,8 +76,10 @@ typedef struct sr_commit_t {
/* Commit owner info */
- /* The RSA identity key of the authority. */
+ /* The RSA identity key of the authority and it's base16 representation
+ * which includes the NUL terminated byte. */
char rsa_identity[DIGEST_LEN];
+ char rsa_identity_hex[HEX_DIGEST_LEN + 1];
/* Commitment information */
@@ -121,8 +123,7 @@ void sr_srv_encode(char *dst, size_t dst_len, const sr_srv_t *srv);
static inline
const char *sr_commit_get_rsa_fpr(const sr_commit_t *commit)
{
- return hex_str((const char *) commit->rsa_identity,
- sizeof(commit->rsa_identity));
+ return commit->rsa_identity_hex;
}
void sr_compute_srv(void);
diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
index d001785340..270cd81228 100644
--- a/src/test/test_shared_random.c
+++ b/src/test/test_shared_random.c
@@ -702,6 +702,9 @@ test_sr_setup_commits(void)
/* Do some surgery on the commit */
memset(commit_a->rsa_identity, 'A', sizeof(commit_a->rsa_identity));
+ base16_encode(commit_a->rsa_identity_hex,
+ sizeof(commit_a->rsa_identity_hex), commit_a->rsa_identity,
+ sizeof(commit_a->rsa_identity));
strlcpy(commit_a->encoded_reveal,
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
sizeof(commit_a->encoded_reveal));
@@ -716,6 +719,9 @@ test_sr_setup_commits(void)
/* Do some surgery on the commit */
memset(commit_b->rsa_identity, 'B', sizeof(commit_b->rsa_identity));
+ base16_encode(commit_b->rsa_identity_hex,
+ sizeof(commit_b->rsa_identity_hex), commit_b->rsa_identity,
+ sizeof(commit_b->rsa_identity));
strlcpy(commit_b->encoded_reveal,
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
sizeof(commit_b->encoded_reveal));
@@ -730,6 +736,9 @@ test_sr_setup_commits(void)
/* Do some surgery on the commit */
memset(commit_c->rsa_identity, 'C', sizeof(commit_c->rsa_identity));
+ base16_encode(commit_c->rsa_identity_hex,
+ sizeof(commit_c->rsa_identity_hex), commit_c->rsa_identity,
+ sizeof(commit_c->rsa_identity));
strlcpy(commit_c->encoded_reveal,
"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC",
sizeof(commit_c->encoded_reveal));
@@ -744,6 +753,9 @@ test_sr_setup_commits(void)
/* Do some surgery on the commit */
memset(commit_d->rsa_identity, 'D', sizeof(commit_d->rsa_identity));
+ base16_encode(commit_d->rsa_identity_hex,
+ sizeof(commit_d->rsa_identity_hex), commit_d->rsa_identity,
+ sizeof(commit_d->rsa_identity));
strlcpy(commit_d->encoded_reveal,
"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
sizeof(commit_d->encoded_reveal));