mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
document an openssl gotcha
svn:r947
This commit is contained in:
parent
21cc01299b
commit
389eb48690
@ -997,7 +997,7 @@ int crypto_dh_compute_secret(crypto_dh_env_t *dh,
|
||||
goto error;
|
||||
secret_tmp = tor_malloc(crypto_dh_get_bytes(dh)+1);
|
||||
secret_len = DH_compute_key(secret_tmp, pubkey_bn, dh->dh);
|
||||
assert(secret_len == crypto_dh_get_bytes(dh));
|
||||
/* sometimes secret_len might be less than 128, e.g., 127. that's ok. */
|
||||
for (i = 0; i < secret_bytes_out; i += 20) {
|
||||
secret_tmp[secret_len] = (unsigned char) i/20;
|
||||
if (crypto_SHA_digest(secret_tmp, secret_len+1, hash))
|
||||
@ -1012,8 +1012,7 @@ int crypto_dh_compute_secret(crypto_dh_env_t *dh,
|
||||
done:
|
||||
if (pubkey_bn)
|
||||
BN_free(pubkey_bn);
|
||||
if (secret_tmp)
|
||||
free(secret_tmp);
|
||||
tor_free(secret_tmp);
|
||||
return secret_len;
|
||||
}
|
||||
void crypto_dh_free(crypto_dh_env_t *dh)
|
||||
|
@ -99,7 +99,7 @@ crypto_cipher_env_t *crypto_create_init_cipher(int cipher_type, char *key, char
|
||||
|
||||
/* SHA-1 */
|
||||
int crypto_SHA_digest(const unsigned char *m, int len, unsigned char *digest);
|
||||
crypto_digest_env_t *crypto_digest_new_env(int type);
|
||||
crypto_digest_env_t *crypto_new_digest_env(int type);
|
||||
void crypto_free_digest_env(crypto_digest_env_t *digest);
|
||||
void crypto_digest_add_bytes(crypto_digest_env_t *digest, const char *data,
|
||||
size_t len);
|
||||
|
Loading…
Reference in New Issue
Block a user