mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-23 22:47:12 +01:00
Test a full array of s2k flags with pwbox test.
Suggested by yawning.
This commit is contained in:
parent
05a6439f1f
commit
d0f5d2b662
1 changed files with 19 additions and 9 deletions
|
@ -1019,25 +1019,35 @@ test_crypto_pwbox(void *arg)
|
|||
{
|
||||
uint8_t *boxed=NULL, *decoded=NULL;
|
||||
size_t len, dlen;
|
||||
unsigned i;
|
||||
const char msg[] = "This bunny reminds you that you still have a "
|
||||
"salamander in your sylladex. She is holding the bunny Dave got you. "
|
||||
"It’s sort of uncanny how similar they are, aside from the knitted "
|
||||
"enhancements. Seriously, what are the odds?? So weird.";
|
||||
const char pw[] = "I'm a night owl and a wise bird too";
|
||||
|
||||
const unsigned flags[] = { 0,
|
||||
S2K_FLAG_NO_SCRYPT,
|
||||
S2K_FLAG_LOW_MEM,
|
||||
S2K_FLAG_NO_SCRYPT|S2K_FLAG_LOW_MEM,
|
||||
S2K_FLAG_USE_PBKDF2 };
|
||||
(void)arg;
|
||||
|
||||
tt_int_op(0, ==, crypto_pwbox(&boxed, &len, (const uint8_t*)msg, strlen(msg),
|
||||
pw, strlen(pw), 0));
|
||||
tt_assert(boxed);
|
||||
tt_assert(len > 128+32);
|
||||
for (i = 0; i < ARRAY_LENGTH(flags); ++i) {
|
||||
tt_int_op(0, ==, crypto_pwbox(&boxed, &len, (const uint8_t*)msg, strlen(msg),
|
||||
pw, strlen(pw), flags[i]));
|
||||
tt_assert(boxed);
|
||||
tt_assert(len > 128+32);
|
||||
|
||||
tt_int_op(0, ==, crypto_unpwbox(&decoded, &dlen, boxed, len,
|
||||
pw, strlen(pw)));
|
||||
tt_int_op(0, ==, crypto_unpwbox(&decoded, &dlen, boxed, len,
|
||||
pw, strlen(pw)));
|
||||
|
||||
tt_assert(decoded);
|
||||
tt_uint_op(dlen, ==, strlen(msg));
|
||||
tt_mem_op(decoded, ==, msg, dlen);
|
||||
tt_assert(decoded);
|
||||
tt_uint_op(dlen, ==, strlen(msg));
|
||||
tt_mem_op(decoded, ==, msg, dlen);
|
||||
tor_free(boxed);
|
||||
tor_free(decoded);
|
||||
}
|
||||
|
||||
done:
|
||||
tor_free(boxed);
|
||||
|
|
Loading…
Add table
Reference in a new issue