diff options
Diffstat (limited to 'toxencryptsave/toxencryptsave.c')
-rw-r--r-- | toxencryptsave/toxencryptsave.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/toxencryptsave/toxencryptsave.c b/toxencryptsave/toxencryptsave.c index b38209a4..e2f28a58 100644 --- a/toxencryptsave/toxencryptsave.c +++ b/toxencryptsave/toxencryptsave.c | |||
@@ -82,7 +82,8 @@ bool tox_get_salt(const uint8_t *data, uint8_t *salt) | |||
82 | * | 82 | * |
83 | * returns true on success | 83 | * returns true on success |
84 | */ | 84 | */ |
85 | bool tox_derive_key_from_pass(uint8_t *passphrase, size_t pplength, TOX_PASS_KEY *out_key, TOX_ERR_KEY_DERIVATION *error) | 85 | bool tox_derive_key_from_pass(uint8_t *passphrase, size_t pplength, TOX_PASS_KEY *out_key, |
86 | TOX_ERR_KEY_DERIVATION *error) | ||
86 | { | 87 | { |
87 | uint8_t salt[crypto_pwhash_scryptsalsa208sha256_SALTBYTES]; | 88 | uint8_t salt[crypto_pwhash_scryptsalsa208sha256_SALTBYTES]; |
88 | randombytes(salt, sizeof salt); | 89 | randombytes(salt, sizeof salt); |
@@ -212,10 +213,12 @@ bool tox_pass_key_decrypt(const uint8_t *data, size_t length, const TOX_PASS_KEY | |||
212 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_INVALID_LENGTH); | 213 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_INVALID_LENGTH); |
213 | return 0; | 214 | return 0; |
214 | } | 215 | } |
216 | |||
215 | if (!data || !key || !out) { | 217 | if (!data || !key || !out) { |
216 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_NULL); | 218 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_NULL); |
217 | return 0; | 219 | return 0; |
218 | } | 220 | } |
221 | |||
219 | if (memcmp(data, TOX_ENC_SAVE_MAGIC_NUMBER, TOX_ENC_SAVE_MAGIC_LENGTH) != 0) { | 222 | if (memcmp(data, TOX_ENC_SAVE_MAGIC_NUMBER, TOX_ENC_SAVE_MAGIC_LENGTH) != 0) { |
220 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_BAD_FORMAT); | 223 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_BAD_FORMAT); |
221 | return 0; | 224 | return 0; |
@@ -256,10 +259,12 @@ bool tox_pass_decrypt(const uint8_t *data, size_t length, uint8_t *passphrase, s | |||
256 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_INVALID_LENGTH); | 259 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_INVALID_LENGTH); |
257 | return 0; | 260 | return 0; |
258 | } | 261 | } |
262 | |||
259 | if (!data || !passphrase || !out) { | 263 | if (!data || !passphrase || !out) { |
260 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_NULL); | 264 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_NULL); |
261 | return 0; | 265 | return 0; |
262 | } | 266 | } |
267 | |||
263 | if (memcmp(data, TOX_ENC_SAVE_MAGIC_NUMBER, TOX_ENC_SAVE_MAGIC_LENGTH) != 0) { | 268 | if (memcmp(data, TOX_ENC_SAVE_MAGIC_NUMBER, TOX_ENC_SAVE_MAGIC_LENGTH) != 0) { |
264 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_BAD_FORMAT); | 269 | SET_ERROR_PARAMETER(error, TOX_ERR_DECRYPTION_BAD_FORMAT); |
265 | return 0; | 270 | return 0; |