mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
sr: add the base16 RSA identity digest to commit
Keep the base16 representation of the RSA identity digest in the commit object so we can use it without using hex_str() or dynamically encoding it everytime we need it. It's used extensively in the logs for instance. Fixes #19561 Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
be78e9ff37
commit
267e16ea61
@ -140,6 +140,8 @@ commit_new(const char *rsa_identity)
|
|||||||
commit = tor_malloc_zero(sizeof(*commit));
|
commit = tor_malloc_zero(sizeof(*commit));
|
||||||
commit->alg = SR_DIGEST_ALG;
|
commit->alg = SR_DIGEST_ALG;
|
||||||
memcpy(commit->rsa_identity, rsa_identity, sizeof(commit->rsa_identity));
|
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;
|
return commit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,8 +76,10 @@ typedef struct sr_commit_t {
|
|||||||
|
|
||||||
/* Commit owner info */
|
/* 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[DIGEST_LEN];
|
||||||
|
char rsa_identity_hex[HEX_DIGEST_LEN + 1];
|
||||||
|
|
||||||
/* Commitment information */
|
/* Commitment information */
|
||||||
|
|
||||||
@ -121,8 +123,7 @@ void sr_srv_encode(char *dst, size_t dst_len, const sr_srv_t *srv);
|
|||||||
static inline
|
static inline
|
||||||
const char *sr_commit_get_rsa_fpr(const sr_commit_t *commit)
|
const char *sr_commit_get_rsa_fpr(const sr_commit_t *commit)
|
||||||
{
|
{
|
||||||
return hex_str((const char *) commit->rsa_identity,
|
return commit->rsa_identity_hex;
|
||||||
sizeof(commit->rsa_identity));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void sr_compute_srv(void);
|
void sr_compute_srv(void);
|
||||||
|
@ -702,6 +702,9 @@ test_sr_setup_commits(void)
|
|||||||
|
|
||||||
/* Do some surgery on the commit */
|
/* Do some surgery on the commit */
|
||||||
memset(commit_a->rsa_identity, 'A', sizeof(commit_a->rsa_identity));
|
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,
|
strlcpy(commit_a->encoded_reveal,
|
||||||
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
|
||||||
sizeof(commit_a->encoded_reveal));
|
sizeof(commit_a->encoded_reveal));
|
||||||
@ -716,6 +719,9 @@ test_sr_setup_commits(void)
|
|||||||
|
|
||||||
/* Do some surgery on the commit */
|
/* Do some surgery on the commit */
|
||||||
memset(commit_b->rsa_identity, 'B', sizeof(commit_b->rsa_identity));
|
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,
|
strlcpy(commit_b->encoded_reveal,
|
||||||
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
|
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
|
||||||
sizeof(commit_b->encoded_reveal));
|
sizeof(commit_b->encoded_reveal));
|
||||||
@ -730,6 +736,9 @@ test_sr_setup_commits(void)
|
|||||||
|
|
||||||
/* Do some surgery on the commit */
|
/* Do some surgery on the commit */
|
||||||
memset(commit_c->rsa_identity, 'C', sizeof(commit_c->rsa_identity));
|
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,
|
strlcpy(commit_c->encoded_reveal,
|
||||||
"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC",
|
"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC",
|
||||||
sizeof(commit_c->encoded_reveal));
|
sizeof(commit_c->encoded_reveal));
|
||||||
@ -744,6 +753,9 @@ test_sr_setup_commits(void)
|
|||||||
|
|
||||||
/* Do some surgery on the commit */
|
/* Do some surgery on the commit */
|
||||||
memset(commit_d->rsa_identity, 'D', sizeof(commit_d->rsa_identity));
|
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,
|
strlcpy(commit_d->encoded_reveal,
|
||||||
"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
|
"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
|
||||||
sizeof(commit_d->encoded_reveal));
|
sizeof(commit_d->encoded_reveal));
|
||||||
|
Loading…
Reference in New Issue
Block a user