Another automated rename.

Also simplify crypto_common_digests() to have no loop.
This commit is contained in:
Nick Mathewson 2016-02-10 15:31:43 -05:00
parent 8a4bba06d2
commit 9746aed2ba
4 changed files with 7 additions and 22 deletions

View File

@ -1323,7 +1323,7 @@ crypto_pk_get_digest(const crypto_pk_t *pk, char *digest_out)
/** Compute all digests of the DER encoding of <b>pk</b>, and store them /** Compute all digests of the DER encoding of <b>pk</b>, and store them
* in <b>digests_out</b>. Return 0 on success, -1 on failure. */ * in <b>digests_out</b>. Return 0 on success, -1 on failure. */
int int
crypto_pk_get_all_digests(crypto_pk_t *pk, common_digests_t *digests_out) crypto_pk_get_common_digests(crypto_pk_t *pk, common_digests_t *digests_out)
{ {
unsigned char *buf = NULL; unsigned char *buf = NULL;
int len; int len;
@ -1650,28 +1650,13 @@ crypto_digest512(char *digest, const char *m, size_t len,
int int
crypto_common_digests(common_digests_t *ds_out, const char *m, size_t len) crypto_common_digests(common_digests_t *ds_out, const char *m, size_t len)
{ {
int i;
tor_assert(ds_out); tor_assert(ds_out);
memset(ds_out, 0, sizeof(*ds_out)); memset(ds_out, 0, sizeof(*ds_out));
if (crypto_digest(ds_out->d[DIGEST_SHA1], m, len) < 0) if (crypto_digest(ds_out->d[DIGEST_SHA1], m, len) < 0)
return -1; return -1;
for (i = DIGEST_SHA256; i < N_COMMON_DIGEST_ALGORITHMS; ++i) { if (crypto_digest256(ds_out->d[DIGEST_SHA256], m, len, DIGEST_SHA256) < 0)
switch (i) { return -1;
case DIGEST_SHA256: /* FALLSTHROUGH */
case DIGEST_SHA3_256:
if (crypto_digest256(ds_out->d[i], m, len, i) < 0)
return -1;
break;
case DIGEST_SHA512:
case DIGEST_SHA3_512: /* FALLSTHROUGH */
tor_assert(0); /* These won't fit. */
if (crypto_digest512(ds_out->d[i], m, len, i) < 0)
return -1;
break;
default:
return -1;
}
}
return 0; return 0;
} }

View File

@ -193,7 +193,7 @@ int crypto_pk_private_hybrid_decrypt(crypto_pk_t *env, char *to,
int crypto_pk_asn1_encode(crypto_pk_t *pk, char *dest, size_t dest_len); int crypto_pk_asn1_encode(crypto_pk_t *pk, char *dest, size_t dest_len);
crypto_pk_t *crypto_pk_asn1_decode(const char *str, size_t len); crypto_pk_t *crypto_pk_asn1_decode(const char *str, size_t len);
int crypto_pk_get_digest(const crypto_pk_t *pk, char *digest_out); int crypto_pk_get_digest(const crypto_pk_t *pk, char *digest_out);
int crypto_pk_get_all_digests(crypto_pk_t *pk, common_digests_t *digests_out); int crypto_pk_get_common_digests(crypto_pk_t *pk, common_digests_t *digests_out);
int crypto_pk_get_fingerprint(crypto_pk_t *pk, char *fp_out,int add_space); int crypto_pk_get_fingerprint(crypto_pk_t *pk, char *fp_out,int add_space);
int crypto_pk_get_hashed_fingerprint(crypto_pk_t *pk, char *fp_out); int crypto_pk_get_hashed_fingerprint(crypto_pk_t *pk, char *fp_out);

View File

@ -691,7 +691,7 @@ MOCK_IMPL(STATIC tor_x509_cert_t *,
if ((pkey = X509_get_pubkey(x509_cert)) && if ((pkey = X509_get_pubkey(x509_cert)) &&
(rsa = EVP_PKEY_get1_RSA(pkey))) { (rsa = EVP_PKEY_get1_RSA(pkey))) {
crypto_pk_t *pk = crypto_new_pk_from_rsa_(rsa); crypto_pk_t *pk = crypto_new_pk_from_rsa_(rsa);
crypto_pk_get_all_digests(pk, &cert->pkey_digests); crypto_pk_get_common_digests(pk, &cert->pkey_digests);
cert->pkey_digests_set = 1; cert->pkey_digests_set = 1;
crypto_pk_free(pk); crypto_pk_free(pk);
EVP_PKEY_free(pkey); EVP_PKEY_free(pkey);

View File

@ -1098,7 +1098,7 @@ test_crypto_digests(void *arg)
tt_mem_op(hex_str(digest, DIGEST_LEN),OP_EQ, tt_mem_op(hex_str(digest, DIGEST_LEN),OP_EQ,
AUTHORITY_SIGNKEY_A_DIGEST, HEX_DIGEST_LEN); AUTHORITY_SIGNKEY_A_DIGEST, HEX_DIGEST_LEN);
r = crypto_pk_get_all_digests(k, &pkey_digests); r = crypto_pk_get_common_digests(k, &pkey_digests);
tt_mem_op(hex_str(pkey_digests.d[DIGEST_SHA1], DIGEST_LEN),OP_EQ, tt_mem_op(hex_str(pkey_digests.d[DIGEST_SHA1], DIGEST_LEN),OP_EQ,
AUTHORITY_SIGNKEY_A_DIGEST, HEX_DIGEST_LEN); AUTHORITY_SIGNKEY_A_DIGEST, HEX_DIGEST_LEN);