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->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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user