From fc330c1fa55003fa02928e27e146ab388fa65cdd Mon Sep 17 00:00:00 2001 From: iphydf Date: Wed, 10 Aug 2016 13:52:40 +0100 Subject: Silence/fix some compiler warnings. Some of these (like the incompatible pointers one) are really annoying for later refactoring. --- auto_tests/encryptsave_test.c | 15 ++++++++------- toxav/toxav_old.c | 8 +++++--- toxcore/crypto_core.c | 4 ++-- toxcore/crypto_core.h | 2 +- toxcore/network.c | 5 ++++- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/auto_tests/encryptsave_test.c b/auto_tests/encryptsave_test.c index 266dfe96..c970b756 100644 --- a/auto_tests/encryptsave_test.c +++ b/auto_tests/encryptsave_test.c @@ -41,13 +41,14 @@ void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *dat START_TEST(test_known_kdf) { unsigned char out[crypto_box_BEFORENMBYTES]; - crypto_pwhash_scryptsalsa208sha256(out, - crypto_box_BEFORENMBYTES, - pw, - pwlen, - salt, - crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE * 8, - crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE); + int res = crypto_pwhash_scryptsalsa208sha256(out, + crypto_box_BEFORENMBYTES, + pw, + pwlen, + salt, + crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE * 8, + crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE); + ck_assert_msg(res != -1, "crypto function failed"); ck_assert_msg(memcmp(out, known_key, crypto_box_BEFORENMBYTES) == 0, "derived key is wrong"); } END_TEST diff --git a/toxav/toxav_old.c b/toxav/toxav_old.c index 7d7e5e7b..0294a609 100644 --- a/toxav/toxav_old.c +++ b/toxav/toxav_old.c @@ -39,7 +39,8 @@ int toxav_add_av_groupchat(struct Tox *tox, void (*audio_callback)(void *, int, uint8_t, unsigned int, void *), void *userdata) { Messenger *m = (Messenger *)tox; - return add_av_groupchat(m->group_chat_object, audio_callback, userdata); + return add_av_groupchat(m->group_chat_object, (void (*)(Messenger *, int, int, const int16_t *, unsigned int, + uint8_t, unsigned int, void *))audio_callback, userdata); } /* Join a AV group (you need to have been invited first.) @@ -57,7 +58,8 @@ int toxav_join_av_groupchat(struct Tox *tox, int32_t friendnumber, const uint8_t void *userdata) { Messenger *m = (Messenger *)tox; - return join_av_groupchat(m->group_chat_object, friendnumber, data, length, audio_callback, userdata); + return join_av_groupchat(m->group_chat_object, friendnumber, data, length, (void (*)(Messenger *, int, int, + const int16_t *, unsigned int, uint8_t, unsigned int, void *))audio_callback, userdata); } /* Send audio to the group chat. @@ -78,4 +80,4 @@ int toxav_group_send_audio(struct Tox *tox, int groupnumber, const int16_t *pcm, { Messenger *m = (Messenger *)tox; return group_send_audio(m->group_chat_object, groupnumber, pcm, samples, channels, sample_rate); -} \ No newline at end of file +} diff --git a/toxcore/crypto_core.c b/toxcore/crypto_core.c index a733c38e..3b379ca6 100644 --- a/toxcore/crypto_core.c +++ b/toxcore/crypto_core.c @@ -76,9 +76,9 @@ int public_key_valid(const uint8_t *public_key) * encrypt/decrypt operation. * enc_key has to be crypto_box_BEFORENMBYTES bytes long. */ -void encrypt_precompute(const uint8_t *public_key, const uint8_t *secret_key, uint8_t *enc_key) +int encrypt_precompute(const uint8_t *public_key, const uint8_t *secret_key, uint8_t *enc_key) { - crypto_box_beforenm(enc_key, public_key, secret_key); + return crypto_box_beforenm(enc_key, public_key, secret_key); } int encrypt_data_symmetric(const uint8_t *secret_key, const uint8_t *nonce, const uint8_t *plain, uint32_t length, diff --git a/toxcore/crypto_core.h b/toxcore/crypto_core.h index ab509f09..1c9d7f94 100644 --- a/toxcore/crypto_core.h +++ b/toxcore/crypto_core.h @@ -87,7 +87,7 @@ int decrypt_data(const uint8_t *public_key, const uint8_t *secret_key, const uin /* Fast encrypt/decrypt operations. Use if this is not a one-time communication. encrypt_precompute does the shared-key generation once so it does not have to be preformed on every encrypt/decrypt. */ -void encrypt_precompute(const uint8_t *public_key, const uint8_t *secret_key, uint8_t *enc_key); +int encrypt_precompute(const uint8_t *public_key, const uint8_t *secret_key, uint8_t *enc_key); /* Encrypts plain of length length to encrypted of length + 16 using a * secret key crypto_box_KEYBYTES big and a 24 byte nonce. diff --git a/toxcore/network.c b/toxcore/network.c index c6cf6ed4..244512c0 100644 --- a/toxcore/network.c +++ b/toxcore/network.c @@ -451,7 +451,10 @@ int networking_at_startup(void) #ifdef USE_RANDOMBYTES_STIR randombytes_stir(); #else - sodium_init(); + + if (sodium_init() != 0) + return -1; + #endif /*USE_RANDOMBYTES_STIR*/ #endif/*VANILLA_NACL*/ -- cgit v1.2.3