summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--auto_tests/TCP_test.c10
-rw-r--r--auto_tests/assoc_test.c2
-rw-r--r--auto_tests/crypto_test.c16
-rw-r--r--auto_tests/dht_test.c66
-rw-r--r--auto_tests/encryptsave_test.c17
-rw-r--r--auto_tests/messenger_test.c48
-rw-r--r--auto_tests/network_test.c4
-rw-r--r--auto_tests/onion_test.c41
-rw-r--r--auto_tests/skeleton_test.c3
-rw-r--r--auto_tests/tox_test.c114
-rw-r--r--auto_tests/toxav_basic_test.c37
-rw-r--r--auto_tests/toxav_many_test.c43
-rw-r--r--other/DHT_bootstrap.c2
-rw-r--r--other/bootstrap_daemon/src/command_line_arguments.c2
-rw-r--r--other/bootstrap_daemon/src/config.c8
-rw-r--r--other/bootstrap_daemon/src/log.c10
-rw-r--r--other/bootstrap_daemon/src/log.h2
-rw-r--r--other/bootstrap_daemon/src/tox-bootstrapd.c6
-rw-r--r--testing/DHT_test.c47
-rw-r--r--testing/Messenger_test.c14
-rw-r--r--testing/av_test.c55
-rw-r--r--testing/dns3_test.c2
-rw-r--r--testing/irc_syncbot.c25
-rw-r--r--testing/misc_tools.c4
-rw-r--r--testing/nTox.c117
-rw-r--r--testing/nTox.h3
-rw-r--r--testing/tox_shell.c8
-rw-r--r--testing/tox_sync.c36
-rw-r--r--toxav/bwcontroller.c2
-rw-r--r--toxav/msi.c3
-rw-r--r--toxav/rtp.c6
-rw-r--r--toxcore/DHT.c16
-rw-r--r--toxcore/Messenger.c8
-rw-r--r--toxcore/group.c6
-rw-r--r--toxcore/net_crypto.c2
-rw-r--r--toxcore/network.c14
-rw-r--r--toxcore/util.c4
-rw-r--r--toxcore/util.h4
38 files changed, 416 insertions, 391 deletions
diff --git a/auto_tests/TCP_test.c b/auto_tests/TCP_test.c
index d7312be8..98edc357 100644
--- a/auto_tests/TCP_test.c
+++ b/auto_tests/TCP_test.c
@@ -130,7 +130,7 @@ struct sec_TCP_con {
130 uint8_t shared_key[crypto_box_BEFORENMBYTES]; 130 uint8_t shared_key[crypto_box_BEFORENMBYTES];
131}; 131};
132 132
133struct sec_TCP_con *new_TCP_con(TCP_Server *tcp_s) 133static struct sec_TCP_con *new_TCP_con(TCP_Server *tcp_s)
134{ 134{
135 struct sec_TCP_con *sec_c = malloc(sizeof(struct sec_TCP_con)); 135 struct sec_TCP_con *sec_c = malloc(sizeof(struct sec_TCP_con));
136 sock_t sock = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP); 136 sock_t sock = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
@@ -176,13 +176,13 @@ struct sec_TCP_con *new_TCP_con(TCP_Server *tcp_s)
176 return sec_c; 176 return sec_c;
177} 177}
178 178
179void kill_TCP_con(struct sec_TCP_con *con) 179static void kill_TCP_con(struct sec_TCP_con *con)
180{ 180{
181 kill_sock(con->sock); 181 kill_sock(con->sock);
182 free(con); 182 free(con);
183} 183}
184 184
185int write_packet_TCP_secure_connection(struct sec_TCP_con *con, uint8_t *data, uint16_t length) 185static int write_packet_TCP_secure_connection(struct sec_TCP_con *con, uint8_t *data, uint16_t length)
186{ 186{
187 uint8_t packet[sizeof(uint16_t) + length + crypto_box_MACBYTES]; 187 uint8_t packet[sizeof(uint16_t) + length + crypto_box_MACBYTES];
188 188
@@ -200,7 +200,7 @@ int write_packet_TCP_secure_connection(struct sec_TCP_con *con, uint8_t *data, u
200 return 0; 200 return 0;
201} 201}
202 202
203int read_packet_sec_TCP(struct sec_TCP_con *con, uint8_t *data, uint16_t length) 203static int read_packet_sec_TCP(struct sec_TCP_con *con, uint8_t *data, uint16_t length)
204{ 204{
205 int len = recv(con->sock, data, length, 0); 205 int len = recv(con->sock, data, length, 0);
206 ck_assert_msg(len == length, "wrong len %i\n", len); 206 ck_assert_msg(len == length, "wrong len %i\n", len);
@@ -731,7 +731,7 @@ START_TEST(test_tcp_connection2)
731} 731}
732END_TEST 732END_TEST
733 733
734Suite *TCP_suite(void) 734static Suite *TCP_suite(void)
735{ 735{
736 Suite *s = suite_create("TCP"); 736 Suite *s = suite_create("TCP");
737 737
diff --git a/auto_tests/assoc_test.c b/auto_tests/assoc_test.c
index 79a97fd5..887ffc0b 100644
--- a/auto_tests/assoc_test.c
+++ b/auto_tests/assoc_test.c
@@ -134,7 +134,7 @@ START_TEST(test_fillup)
134} 134}
135END_TEST 135END_TEST
136 136
137Suite *Assoc_suite(void) 137static Suite *Assoc_suite(void)
138{ 138{
139 Suite *s = suite_create("Assoc"); 139 Suite *s = suite_create("Assoc");
140 140
diff --git a/auto_tests/crypto_test.c b/auto_tests/crypto_test.c
index 30cc2178..ff8ab41d 100644
--- a/auto_tests/crypto_test.c
+++ b/auto_tests/crypto_test.c
@@ -12,7 +12,7 @@
12 12
13#include "helpers.h" 13#include "helpers.h"
14 14
15void rand_bytes(uint8_t *b, size_t blen) 15static void rand_bytes(uint8_t *b, size_t blen)
16{ 16{
17 size_t i; 17 size_t i;
18 18
@@ -23,27 +23,27 @@ void rand_bytes(uint8_t *b, size_t blen)
23 23
24// These test vectors are from libsodium's test suite 24// These test vectors are from libsodium's test suite
25 25
26unsigned char alicesk[32] = { 26static const unsigned char alicesk[32] = {
27 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d, 27 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d,
28 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, 0x66, 0x45, 28 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, 0x66, 0x45,
29 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, 0x99, 0x2a, 29 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, 0x99, 0x2a,
30 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a 30 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a
31}; 31};
32 32
33unsigned char bobpk[32] = { 33static const unsigned char bobpk[32] = {
34 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, 0xb4, 34 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, 0xb4,
35 0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, 0x35, 0x37, 35 0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, 0x35, 0x37,
36 0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, 0x67, 0x4d, 36 0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, 0x67, 0x4d,
37 0xad, 0xfc, 0x7e, 0x14, 0x6f, 0x88, 0x2b, 0x4f 37 0xad, 0xfc, 0x7e, 0x14, 0x6f, 0x88, 0x2b, 0x4f
38}; 38};
39 39
40unsigned char nonce[24] = { 40static const unsigned char nonce[24] = {
41 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, 0x2b, 0x73, 41 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6, 0x2b, 0x73,
42 0xcd, 0x62, 0xbd, 0xa8, 0x75, 0xfc, 0x73, 0xd6, 42 0xcd, 0x62, 0xbd, 0xa8, 0x75, 0xfc, 0x73, 0xd6,
43 0x82, 0x19, 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 43 0x82, 0x19, 0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37
44}; 44};
45 45
46unsigned char test_m[131] = { 46static const unsigned char test_m[131] = {
47 0xbe, 0x07, 0x5f, 0xc5, 0x3c, 0x81, 0xf2, 0xd5, 47 0xbe, 0x07, 0x5f, 0xc5, 0x3c, 0x81, 0xf2, 0xd5,
48 0xcf, 0x14, 0x13, 0x16, 0xeb, 0xeb, 0x0c, 0x7b, 48 0xcf, 0x14, 0x13, 0x16, 0xeb, 0xeb, 0x0c, 0x7b,
49 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4, 49 0x52, 0x28, 0xc5, 0x2a, 0x4c, 0x62, 0xcb, 0xd4,
@@ -63,7 +63,7 @@ unsigned char test_m[131] = {
63 0x5e, 0x07, 0x05 63 0x5e, 0x07, 0x05
64}; 64};
65 65
66unsigned char test_c[147] = { 66static const unsigned char test_c[147] = {
67 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5, 67 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5,
68 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9, 68 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9,
69 0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73, 69 0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73,
@@ -271,7 +271,7 @@ START_TEST(test_large_data_symmetric)
271} 271}
272END_TEST 272END_TEST
273 273
274void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num) 274static void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num)
275{ 275{
276 uint32_t num1, num2; 276 uint32_t num1, num2;
277 memcpy(&num1, nonce + (crypto_box_NONCEBYTES - sizeof(num1)), sizeof(num1)); 277 memcpy(&num1, nonce + (crypto_box_NONCEBYTES - sizeof(num1)), sizeof(num1));
@@ -323,7 +323,7 @@ START_TEST(test_increment_nonce)
323} 323}
324END_TEST 324END_TEST
325 325
326Suite *crypto_suite(void) 326static Suite *crypto_suite(void)
327{ 327{
328 Suite *s = suite_create("Crypto"); 328 Suite *s = suite_create("Crypto");
329 329
diff --git a/auto_tests/dht_test.c b/auto_tests/dht_test.c
index 7aab9573..dd68ffbe 100644
--- a/auto_tests/dht_test.c
+++ b/auto_tests/dht_test.c
@@ -10,6 +10,9 @@
10 10
11#include "helpers.h" 11#include "helpers.h"
12 12
13
14// These tests currently fail.
15#if 0
13#define swap(x,y) do \ 16#define swap(x,y) do \
14 { unsigned char swap_temp[sizeof(x) == sizeof(y) ? (signed)sizeof(x) : -1]; \ 17 { unsigned char swap_temp[sizeof(x) == sizeof(y) ? (signed)sizeof(x) : -1]; \
15 memcpy(swap_temp,&y,sizeof(x)); \ 18 memcpy(swap_temp,&y,sizeof(x)); \
@@ -18,7 +21,7 @@
18 } while(0) 21 } while(0)
19 22
20 23
21void mark_bad(IPPTsPng *ipptp) 24static void mark_bad(IPPTsPng *ipptp)
22{ 25{
23 ipptp->timestamp = unix_time() - 2 * BAD_NODE_TIMEOUT; 26 ipptp->timestamp = unix_time() - 2 * BAD_NODE_TIMEOUT;
24 ipptp->hardening.routes_requests_ok = 0; 27 ipptp->hardening.routes_requests_ok = 0;
@@ -26,7 +29,7 @@ void mark_bad(IPPTsPng *ipptp)
26 ipptp->hardening.testing_requests = 0; 29 ipptp->hardening.testing_requests = 0;
27} 30}
28 31
29void mark_possible_bad(IPPTsPng *ipptp) 32static void mark_possible_bad(IPPTsPng *ipptp)
30{ 33{
31 ipptp->timestamp = unix_time(); 34 ipptp->timestamp = unix_time();
32 ipptp->hardening.routes_requests_ok = 0; 35 ipptp->hardening.routes_requests_ok = 0;
@@ -34,7 +37,7 @@ void mark_possible_bad(IPPTsPng *ipptp)
34 ipptp->hardening.testing_requests = 0; 37 ipptp->hardening.testing_requests = 0;
35} 38}
36 39
37void mark_good(IPPTsPng *ipptp) 40static void mark_good(IPPTsPng *ipptp)
38{ 41{
39 ipptp->timestamp = unix_time(); 42 ipptp->timestamp = unix_time();
40 ipptp->hardening.routes_requests_ok = (HARDENING_ALL_OK >> 0) & 1; 43 ipptp->hardening.routes_requests_ok = (HARDENING_ALL_OK >> 0) & 1;
@@ -42,7 +45,7 @@ void mark_good(IPPTsPng *ipptp)
42 ipptp->hardening.testing_requests = (HARDENING_ALL_OK >> 2) & 1; 45 ipptp->hardening.testing_requests = (HARDENING_ALL_OK >> 2) & 1;
43} 46}
44 47
45void mark_all_good(Client_data *list, uint32_t length, uint8_t ipv6) 48static void mark_all_good(Client_data *list, uint32_t length, uint8_t ipv6)
46{ 49{
47 uint32_t i; 50 uint32_t i;
48 51
@@ -57,7 +60,7 @@ void mark_all_good(Client_data *list, uint32_t length, uint8_t ipv6)
57 60
58/* Returns 1 if public_key has a furthest distance to comp_client_id 61/* Returns 1 if public_key has a furthest distance to comp_client_id
59 than all public_key's in the list */ 62 than all public_key's in the list */
60uint8_t is_furthest(const uint8_t *comp_client_id, Client_data *list, uint32_t length, const uint8_t *public_key) 63static uint8_t is_furthest(const uint8_t *comp_client_id, Client_data *list, uint32_t length, const uint8_t *public_key)
61{ 64{
62 uint32_t i; 65 uint32_t i;
63 66
@@ -70,7 +73,7 @@ uint8_t is_furthest(const uint8_t *comp_client_id, Client_data *list, uint32_t l
70 return 1; 73 return 1;
71} 74}
72 75
73int client_in_list(Client_data *list, uint32_t length, const uint8_t *public_key) 76static int client_in_list(Client_data *list, uint32_t length, const uint8_t *public_key)
74{ 77{
75 int i; 78 int i;
76 79
@@ -83,10 +86,10 @@ int client_in_list(Client_data *list, uint32_t length, const uint8_t *public_key
83 return -1; 86 return -1;
84} 87}
85 88
86void test_addto_lists_update(DHT *dht, 89static void test_addto_lists_update(DHT *dht,
87 Client_data *list, 90 Client_data *list,
88 uint32_t length, 91 uint32_t length,
89 IP_Port *ip_port) 92 IP_Port *ip_port)
90{ 93{
91 int used, test, test1, test2, found; 94 int used, test, test1, test2, found;
92 IP_Port test_ipp; 95 IP_Port test_ipp;
@@ -157,10 +160,10 @@ void test_addto_lists_update(DHT *dht,
157 "Client IP_Port is incorrect"); 160 "Client IP_Port is incorrect");
158} 161}
159 162
160void test_addto_lists_bad(DHT *dht, 163static void test_addto_lists_bad(DHT *dht,
161 Client_data *list, 164 Client_data *list,
162 uint32_t length, 165 uint32_t length,
163 IP_Port *ip_port) 166 IP_Port *ip_port)
164{ 167{
165 // check "bad" clients replacement 168 // check "bad" clients replacement
166 int used, test1, test2, test3; 169 int used, test1, test2, test3;
@@ -200,11 +203,11 @@ void test_addto_lists_bad(DHT *dht,
200 ck_assert_msg(client_in_list(list, length, test_id3) >= 0, "Wrong bad client removed"); 203 ck_assert_msg(client_in_list(list, length, test_id3) >= 0, "Wrong bad client removed");
201} 204}
202 205
203void test_addto_lists_possible_bad(DHT *dht, 206static void test_addto_lists_possible_bad(DHT *dht,
204 Client_data *list, 207 Client_data *list,
205 uint32_t length, 208 uint32_t length,
206 IP_Port *ip_port, 209 IP_Port *ip_port,
207 const uint8_t *comp_client_id) 210 const uint8_t *comp_client_id)
208{ 211{
209 // check "possibly bad" clients replacement 212 // check "possibly bad" clients replacement
210 int used, test1, test2, test3; 213 int used, test1, test2, test3;
@@ -265,11 +268,11 @@ void test_addto_lists_possible_bad(DHT *dht,
265 } 268 }
266} 269}
267 270
268void test_addto_lists_good(DHT *dht, 271static void test_addto_lists_good(DHT *dht,
269 Client_data *list, 272 Client_data *list,
270 uint32_t length, 273 uint32_t length,
271 IP_Port *ip_port, 274 IP_Port *ip_port,
272 const uint8_t *comp_client_id) 275 const uint8_t *comp_client_id)
273{ 276{
274 uint8_t public_key[crypto_box_PUBLICKEYBYTES]; 277 uint8_t public_key[crypto_box_PUBLICKEYBYTES];
275 uint8_t ipv6 = ip_port->ip.family == AF_INET6 ? 1 : 0; 278 uint8_t ipv6 = ip_port->ip.family == AF_INET6 ? 1 : 0;
@@ -295,8 +298,6 @@ void test_addto_lists_good(DHT *dht,
295 ck_assert_msg(client_in_list(list, length, public_key) == -1, "Good client id is in the list"); 298 ck_assert_msg(client_in_list(list, length, public_key) == -1, "Good client id is in the list");
296} 299}
297 300
298// These tests currently fail.
299#if 0
300static void test_addto_lists(IP ip) 301static void test_addto_lists(IP ip)
301{ 302{
302 Networking_Core *net = new_networking(NULL, ip, TOX_PORT_DEFAULT); 303 Networking_Core *net = new_networking(NULL, ip, TOX_PORT_DEFAULT);
@@ -382,7 +383,7 @@ END_TEST
382 383
383#define DHT_LIST_LENGTH 128 384#define DHT_LIST_LENGTH 128
384 385
385void print_pk(uint8_t *public_key) 386static void print_pk(uint8_t *public_key)
386{ 387{
387 uint32_t j; 388 uint32_t j;
388 389
@@ -393,8 +394,9 @@ void print_pk(uint8_t *public_key)
393 printf("\n"); 394 printf("\n");
394} 395}
395 396
396void test_add_to_list(uint8_t cmp_list[][crypto_box_PUBLICKEYBYTES + 1], unsigned int length, const uint8_t *pk, 397static void test_add_to_list(uint8_t cmp_list[][crypto_box_PUBLICKEYBYTES + 1],
397 const uint8_t *cmp_pk) 398 unsigned int length, const uint8_t *pk,
399 const uint8_t *cmp_pk)
398{ 400{
399 uint8_t p_b[crypto_box_PUBLICKEYBYTES]; 401 uint8_t p_b[crypto_box_PUBLICKEYBYTES];
400 unsigned int i; 402 unsigned int i;
@@ -423,7 +425,7 @@ void test_add_to_list(uint8_t cmp_list[][crypto_box_PUBLICKEYBYTES + 1], unsigne
423 425
424#define NUM_DHT 100 426#define NUM_DHT 100
425 427
426void test_list_main() 428static void test_list_main(void)
427{ 429{
428 DHT *dhts[NUM_DHT]; 430 DHT *dhts[NUM_DHT];
429 431
@@ -555,7 +557,7 @@ START_TEST(test_list)
555} 557}
556END_TEST 558END_TEST
557 559
558void ip_callback(void *data, int32_t number, IP_Port ip_port) 560static void ip_callback(void *data, int32_t number, IP_Port ip_port)
559{ 561{
560} 562}
561 563
@@ -646,7 +648,7 @@ loop_top:
646} 648}
647END_TEST 649END_TEST
648 650
649Suite *dht_suite(void) 651static Suite *dht_suite(void)
650{ 652{
651 Suite *s = suite_create("DHT"); 653 Suite *s = suite_create("DHT");
652 654
diff --git a/auto_tests/encryptsave_test.c b/auto_tests/encryptsave_test.c
index 02a29016..f1e768d6 100644
--- a/auto_tests/encryptsave_test.c
+++ b/auto_tests/encryptsave_test.c
@@ -19,16 +19,16 @@
19#include "../toxencryptsave/crypto_pwhash_scryptsalsa208sha256/crypto_pwhash_scryptsalsa208sha256.h" 19#include "../toxencryptsave/crypto_pwhash_scryptsalsa208sha256/crypto_pwhash_scryptsalsa208sha256.h"
20#endif 20#endif
21 21
22unsigned char salt[32] = {0xB1, 0xC2, 0x09, 0xEE, 0x50, 0x6C, 0xF0, 0x20, 0xC4, 0xD6, 0xEB, 0xC0, 0x44, 0x51, 0x3B, 0x60, 0x4B, 0x39, 0x4A, 0xCF, 0x09, 0x53, 0x4F, 0xEA, 0x08, 0x41, 0xFA, 0xCA, 0x66, 0xD2, 0x68, 0x7F}; 22static unsigned char salt[32] = {0xB1, 0xC2, 0x09, 0xEE, 0x50, 0x6C, 0xF0, 0x20, 0xC4, 0xD6, 0xEB, 0xC0, 0x44, 0x51, 0x3B, 0x60, 0x4B, 0x39, 0x4A, 0xCF, 0x09, 0x53, 0x4F, 0xEA, 0x08, 0x41, 0xFA, 0xCA, 0x66, 0xD2, 0x68, 0x7F};
23unsigned char known_key[crypto_box_BEFORENMBYTES] = {0x29, 0x36, 0x1c, 0x9e, 0x65, 0xbb, 0x46, 0x8b, 0xde, 0xa1, 0xac, 0xf, 0xd5, 0x11, 0x81, 0xc8, 0x29, 0x28, 0x17, 0x23, 0xa6, 0xc3, 0x6b, 0x77, 0x2e, 0xd7, 0xd3, 0x10, 0xeb, 0xd2, 0xf7, 0xc8}; 23static unsigned char known_key[crypto_box_BEFORENMBYTES] = {0x29, 0x36, 0x1c, 0x9e, 0x65, 0xbb, 0x46, 0x8b, 0xde, 0xa1, 0xac, 0xf, 0xd5, 0x11, 0x81, 0xc8, 0x29, 0x28, 0x17, 0x23, 0xa6, 0xc3, 0x6b, 0x77, 0x2e, 0xd7, 0xd3, 0x10, 0xeb, 0xd2, 0xf7, 0xc8};
24const char *pw = "hunter2"; 24static const char *pw = "hunter2";
25unsigned int pwlen = 7; 25static unsigned int pwlen = 7;
26 26
27unsigned char known_key2[crypto_box_BEFORENMBYTES] = {0x7a, 0xfa, 0x95, 0x45, 0x36, 0x8a, 0xa2, 0x5c, 0x40, 0xfd, 0xc0, 0xe2, 0x35, 0x8, 0x7, 0x88, 0xfa, 0xf9, 0x37, 0x86, 0xeb, 0xff, 0x50, 0x4f, 0x3, 0xe2, 0xf6, 0xd9, 0xef, 0x9, 0x17, 0x1}; 27static unsigned char known_key2[crypto_box_BEFORENMBYTES] = {0x7a, 0xfa, 0x95, 0x45, 0x36, 0x8a, 0xa2, 0x5c, 0x40, 0xfd, 0xc0, 0xe2, 0x35, 0x8, 0x7, 0x88, 0xfa, 0xf9, 0x37, 0x86, 0xeb, 0xff, 0x50, 0x4f, 0x3, 0xe2, 0xf6, 0xd9, 0xef, 0x9, 0x17, 0x1};
28// same as above, except standard opslimit instead of extra ops limit for test_known_kdf, and hash pw before kdf for compat 28// same as above, except standard opslimit instead of extra ops limit for test_known_kdf, and hash pw before kdf for compat
29 29
30/* cause I'm shameless */ 30/* cause I'm shameless */
31void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 31static void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata)
32{ 32{
33 if (*((uint32_t *)userdata) != 974536) { 33 if (*((uint32_t *)userdata) != 974536) {
34 return; 34 return;
@@ -63,7 +63,7 @@ START_TEST(test_save_friend)
63 tox_callback_friend_request(tox2, accept_friend_request); 63 tox_callback_friend_request(tox2, accept_friend_request);
64 uint8_t address[TOX_ADDRESS_SIZE]; 64 uint8_t address[TOX_ADDRESS_SIZE];
65 tox_self_get_address(tox2, address); 65 tox_self_get_address(tox2, address);
66 uint32_t test = tox_friend_add(tox1, address, (uint8_t *)"Gentoo", 7, 0); 66 uint32_t test = tox_friend_add(tox1, address, (const uint8_t *)"Gentoo", 7, 0);
67 ck_assert_msg(test != UINT32_MAX, "Failed to add friend"); 67 ck_assert_msg(test != UINT32_MAX, "Failed to add friend");
68 68
69 size_t size = tox_get_savedata_size(tox1); 69 size_t size = tox_get_savedata_size(tox1);
@@ -186,7 +186,7 @@ START_TEST(test_keys)
186} 186}
187END_TEST 187END_TEST
188 188
189Suite *encryptsave_suite(void) 189static Suite *encryptsave_suite(void)
190{ 190{
191 Suite *s = suite_create("encryptsave"); 191 Suite *s = suite_create("encryptsave");
192 192
@@ -212,4 +212,3 @@ int main(int argc, char *argv[])
212 212
213 return number_failed; 213 return number_failed;
214} 214}
215
diff --git a/auto_tests/messenger_test.c b/auto_tests/messenger_test.c
index 2407574e..f7dc92d5 100644
--- a/auto_tests/messenger_test.c
+++ b/auto_tests/messenger_test.c
@@ -26,34 +26,34 @@
26#define REALLY_BIG_NUMBER ((1) << (sizeof(uint16_t) * 7)) 26#define REALLY_BIG_NUMBER ((1) << (sizeof(uint16_t) * 7))
27#define STRINGS_EQUAL(X, Y) (strcmp(X, Y) == 0) 27#define STRINGS_EQUAL(X, Y) (strcmp(X, Y) == 0)
28 28
29char *friend_id_str = "e4b3d5030bc99494605aecc33ceec8875640c1d74aa32790e821b17e98771c4a00000000f1db"; 29static const char *friend_id_str = "e4b3d5030bc99494605aecc33ceec8875640c1d74aa32790e821b17e98771c4a00000000f1db";
30 30
31/* in case we need more than one ID for a test */ 31/* in case we need more than one ID for a test */
32char *good_id_a_str = "DB9B569D14850ED8364C3744CAC2C8FF78985D213E980C7C508D0E91E8E45441"; 32static const char *good_id_a_str = "DB9B569D14850ED8364C3744CAC2C8FF78985D213E980C7C508D0E91E8E45441";
33char *good_id_b_str = "d3f14b6d384d8f5f2a66cff637e69f28f539c5de61bc29744785291fa4ef4d64"; 33static const char *good_id_b_str = "d3f14b6d384d8f5f2a66cff637e69f28f539c5de61bc29744785291fa4ef4d64";
34 34
35char *bad_id_str = "9B569D14ff637e69f2"; 35static const char *bad_id_str = "9B569D14ff637e69f2";
36 36
37unsigned char *friend_id = NULL; 37static unsigned char *friend_id = NULL;
38unsigned char *good_id_a = NULL; 38static unsigned char *good_id_a = NULL;
39unsigned char *good_id_b = NULL; 39static unsigned char *good_id_b = NULL;
40unsigned char *bad_id = NULL; 40static unsigned char *bad_id = NULL;
41 41
42int friend_id_num = 0; 42static int friend_id_num = 0;
43 43
44Messenger *m; 44static Messenger *m;
45 45
46START_TEST(test_m_sendmesage) 46START_TEST(test_m_sendmesage)
47{ 47{
48 char *message = "h-hi :3"; 48 const char *message = "h-hi :3";
49 int good_len = strlen(message); 49 int good_len = strlen(message);
50 int bad_len = MAX_CRYPTO_PACKET_SIZE; 50 int bad_len = MAX_CRYPTO_PACKET_SIZE;
51 51
52 52
53 ck_assert(m_send_message_generic(m, -1, MESSAGE_NORMAL, (uint8_t *)message, good_len, 0) == -1); 53 ck_assert(m_send_message_generic(m, -1, MESSAGE_NORMAL, (const uint8_t *)message, good_len, 0) == -1);
54 ck_assert(m_send_message_generic(m, REALLY_BIG_NUMBER, MESSAGE_NORMAL, (uint8_t *)message, good_len, 0) == -1); 54 ck_assert(m_send_message_generic(m, REALLY_BIG_NUMBER, MESSAGE_NORMAL, (const uint8_t *)message, good_len, 0) == -1);
55 ck_assert(m_send_message_generic(m, 17, MESSAGE_NORMAL, (uint8_t *)message, good_len, 0) == -1); 55 ck_assert(m_send_message_generic(m, 17, MESSAGE_NORMAL, (const uint8_t *)message, good_len, 0) == -1);
56 ck_assert(m_send_message_generic(m, friend_id_num, MESSAGE_NORMAL, (uint8_t *)message, bad_len, 0) == -2); 56 ck_assert(m_send_message_generic(m, friend_id_num, MESSAGE_NORMAL, (const uint8_t *)message, bad_len, 0) == -2);
57} 57}
58END_TEST 58END_TEST
59 59
@@ -77,15 +77,15 @@ END_TEST
77 77
78START_TEST(test_m_set_userstatus) 78START_TEST(test_m_set_userstatus)
79{ 79{
80 char *status = "online!"; 80 const char *status = "online!";
81 uint16_t good_length = strlen(status); 81 uint16_t good_length = strlen(status);
82 uint16_t bad_length = REALLY_BIG_NUMBER; 82 uint16_t bad_length = REALLY_BIG_NUMBER;
83 83
84 ck_assert_msg((m_set_statusmessage(m, (uint8_t *)status, bad_length) == -1), 84 ck_assert_msg((m_set_statusmessage(m, (const uint8_t *)status, bad_length) == -1),
85 "m_set_userstatus did NOT catch the following length: %d\n", 85 "m_set_userstatus did NOT catch the following length: %d\n",
86 REALLY_BIG_NUMBER); 86 REALLY_BIG_NUMBER);
87 87
88 ck_assert_msg((m_set_statusmessage(m, (uint8_t *)status, good_length) == 0), 88 ck_assert_msg((m_set_statusmessage(m, (const uint8_t *)status, good_length) == 0),
89 "m_set_userstatus did NOT return 0 on the following length: %d\n" 89 "m_set_userstatus did NOT return 0 on the following length: %d\n"
90 "MAX_STATUSMESSAGE_LENGTH: %d\n", good_length, MAX_STATUSMESSAGE_LENGTH); 90 "MAX_STATUSMESSAGE_LENGTH: %d\n", good_length, MAX_STATUSMESSAGE_LENGTH);
91} 91}
@@ -156,25 +156,25 @@ END_TEST */
156 156
157START_TEST(test_setname) 157START_TEST(test_setname)
158{ 158{
159 char *good_name = "consensualCorn"; 159 const char *good_name = "consensualCorn";
160 int good_length = strlen(good_name); 160 int good_length = strlen(good_name);
161 int bad_length = REALLY_BIG_NUMBER; 161 int bad_length = REALLY_BIG_NUMBER;
162 162
163 ck_assert_msg((setname(m, (uint8_t *)good_name, bad_length) == -1), 163 ck_assert_msg((setname(m, (const uint8_t *)good_name, bad_length) == -1),
164 "setname() did NOT error on %d as a length argument!\n", bad_length); 164 "setname() did NOT error on %d as a length argument!\n", bad_length);
165 165
166 ck_assert_msg((setname(m, (uint8_t *)good_name, good_length) == 0), 166 ck_assert_msg((setname(m, (const uint8_t *)good_name, good_length) == 0),
167 "setname() did NOT return 0 on good arguments!\n"); 167 "setname() did NOT return 0 on good arguments!\n");
168} 168}
169END_TEST 169END_TEST
170 170
171START_TEST(test_getself_name) 171START_TEST(test_getself_name)
172{ 172{
173 char *nickname = "testGallop"; 173 const char *nickname = "testGallop";
174 int len = strlen(nickname); 174 int len = strlen(nickname);
175 char nick_check[len]; 175 char nick_check[len];
176 176
177 setname(m, (uint8_t *)nickname, len); 177 setname(m, (const uint8_t *)nickname, len);
178 getself_name(m, (uint8_t *)nick_check); 178 getself_name(m, (uint8_t *)nick_check);
179 179
180 ck_assert_msg((memcmp(nickname, nick_check, len) == 0), 180 ck_assert_msg((memcmp(nickname, nick_check, len) == 0),
@@ -300,7 +300,7 @@ START_TEST(test_messenger_state_saveloadsave)
300} 300}
301END_TEST 301END_TEST
302 302
303Suite *messenger_suite(void) 303static Suite *messenger_suite(void)
304{ 304{
305 Suite *s = suite_create("Messenger"); 305 Suite *s = suite_create("Messenger");
306 306
diff --git a/auto_tests/network_test.c b/auto_tests/network_test.c
index b5d8b33e..783f3f7b 100644
--- a/auto_tests/network_test.c
+++ b/auto_tests/network_test.c
@@ -134,7 +134,7 @@ START_TEST(test_ip_equal)
134} 134}
135END_TEST 135END_TEST
136 136
137Suite *network_suite(void) 137static Suite *network_suite(void)
138{ 138{
139 Suite *s = suite_create("Network"); 139 Suite *s = suite_create("Network");
140 140
@@ -144,7 +144,7 @@ Suite *network_suite(void)
144 return s; 144 return s;
145} 145}
146 146
147int main() 147int main(void)
148{ 148{
149 srand((unsigned int) time(NULL)); 149 srand((unsigned int) time(NULL));
150 150
diff --git a/auto_tests/onion_test.c b/auto_tests/onion_test.c
index 58fde2d6..dd5a1946 100644
--- a/auto_tests/onion_test.c
+++ b/auto_tests/onion_test.c
@@ -23,7 +23,7 @@
23#define c_sleep(x) usleep(1000*x) 23#define c_sleep(x) usleep(1000*x)
24#endif 24#endif
25 25
26void do_onion(Onion *onion) 26static void do_onion(Onion *onion)
27{ 27{
28 networking_poll(onion->net, NULL); 28 networking_poll(onion->net, NULL);
29 do_DHT(onion->dht); 29 do_DHT(onion->dht);
@@ -38,7 +38,7 @@ static int handle_test_1(void *object, IP_Port source, const uint8_t *packet, ui
38 return 1; 38 return 1;
39 } 39 }
40 40
41 if (send_onion_response(onion->net, source, (uint8_t *)"install gentoo", sizeof("install gentoo"), 41 if (send_onion_response(onion->net, source, (const uint8_t *)"install gentoo", sizeof("install gentoo"),
42 packet + sizeof("Install Gentoo")) == -1) { 42 packet + sizeof("Install Gentoo")) == -1) {
43 return 1; 43 return 1;
44 } 44 }
@@ -54,14 +54,14 @@ static int handle_test_2(void *object, IP_Port source, const uint8_t *packet, ui
54 return 1; 54 return 1;
55 } 55 }
56 56
57 if (memcmp(packet, (uint8_t *)"install gentoo", sizeof("install gentoo")) != 0) { 57 if (memcmp(packet, (const uint8_t *)"install gentoo", sizeof("install gentoo")) != 0) {
58 return 1; 58 return 1;
59 } 59 }
60 60
61 handled_test_2 = 1; 61 handled_test_2 = 1;
62 return 0; 62 return 0;
63} 63}
64/* 64#if 0
65void print_client_id(uint8_t *client_id, uint32_t length) 65void print_client_id(uint8_t *client_id, uint32_t length)
66{ 66{
67 uint32_t j; 67 uint32_t j;
@@ -69,13 +69,14 @@ void print_client_id(uint8_t *client_id, uint32_t length)
69 for (j = 0; j < length; j++) { 69 for (j = 0; j < length; j++) {
70 printf("%02hhX", client_id[j]); 70 printf("%02hhX", client_id[j]);
71 } 71 }
72
72 printf("\n"); 73 printf("\n");
73} 74}
74*/ 75#endif
75uint8_t sb_data[ONION_ANNOUNCE_SENDBACK_DATA_LENGTH]; 76static uint8_t sb_data[ONION_ANNOUNCE_SENDBACK_DATA_LENGTH];
76static int handled_test_3; 77static int handled_test_3;
77uint8_t test_3_pub_key[crypto_box_PUBLICKEYBYTES]; 78static uint8_t test_3_pub_key[crypto_box_PUBLICKEYBYTES];
78uint8_t test_3_ping_id[crypto_hash_sha256_BYTES]; 79static uint8_t test_3_ping_id[crypto_hash_sha256_BYTES];
79static int handle_test_3(void *object, IP_Port source, const uint8_t *packet, uint16_t length, void *userdata) 80static int handle_test_3(void *object, IP_Port source, const uint8_t *packet, uint16_t length, void *userdata)
80{ 81{
81 Onion *onion = object; 82 Onion *onion = object;
@@ -106,7 +107,7 @@ static int handle_test_3(void *object, IP_Port source, const uint8_t *packet, ui
106 return 0; 107 return 0;
107} 108}
108 109
109uint8_t nonce[crypto_box_NONCEBYTES]; 110static uint8_t nonce[crypto_box_NONCEBYTES];
110static int handled_test_4; 111static int handled_test_4;
111static int handle_test_4(void *object, IP_Port source, const uint8_t *packet, uint16_t length, void *userdata) 112static int handle_test_4(void *object, IP_Port source, const uint8_t *packet, uint16_t length, void *userdata)
112{ 113{
@@ -165,7 +166,7 @@ START_TEST(test_basic)
165 nodes[3] = n2; 166 nodes[3] = n2;
166 Onion_Path path; 167 Onion_Path path;
167 create_onion_path(onion1->dht, &path, nodes); 168 create_onion_path(onion1->dht, &path, nodes);
168 int ret = send_onion_packet(onion1->net, &path, nodes[3].ip_port, (uint8_t *)"Install Gentoo", 169 int ret = send_onion_packet(onion1->net, &path, nodes[3].ip_port, (const uint8_t *)"Install Gentoo",
169 sizeof("Install Gentoo")); 170 sizeof("Install Gentoo"));
170 ck_assert_msg(ret == 0, "Failed to create/send onion packet."); 171 ck_assert_msg(ret == 0, "Failed to create/send onion packet.");
171 172
@@ -227,7 +228,7 @@ START_TEST(test_basic)
227 new_nonce(nonce); 228 new_nonce(nonce);
228 ret = send_data_request(onion3->net, &path, nodes[3].ip_port, onion1->dht->self_public_key, 229 ret = send_data_request(onion3->net, &path, nodes[3].ip_port, onion1->dht->self_public_key,
229 onion1->dht->self_public_key, 230 onion1->dht->self_public_key,
230 nonce, (uint8_t *)"Install gentoo", sizeof("Install gentoo")); 231 nonce, (const uint8_t *)"Install gentoo", sizeof("Install gentoo"));
231 ck_assert_msg(ret == 0, "Failed to create/send onion data_request packet."); 232 ck_assert_msg(ret == 0, "Failed to create/send onion data_request packet.");
232 handled_test_4 = 0; 233 handled_test_4 = 0;
233 234
@@ -278,7 +279,7 @@ typedef struct {
278 Onion_Client *onion_c; 279 Onion_Client *onion_c;
279} Onions; 280} Onions;
280 281
281Onions *new_onions(uint16_t port) 282static Onions *new_onions(uint16_t port)
282{ 283{
283 IP ip; 284 IP ip;
284 ip_init(&ip, 1); 285 ip_init(&ip, 1);
@@ -297,14 +298,14 @@ Onions *new_onions(uint16_t port)
297 return NULL; 298 return NULL;
298} 299}
299 300
300void do_onions(Onions *on) 301static void do_onions(Onions *on)
301{ 302{
302 networking_poll(on->onion->net, NULL); 303 networking_poll(on->onion->net, NULL);
303 do_DHT(on->onion->dht); 304 do_DHT(on->onion->dht);
304 do_onion_client(on->onion_c); 305 do_onion_client(on->onion_c);
305} 306}
306 307
307void kill_onions(Onions *on) 308static void kill_onions(Onions *on)
308{ 309{
309 Networking_Core *net = on->onion->dht->net; 310 Networking_Core *net = on->onion->dht->net;
310 DHT *dht = on->onion->dht; 311 DHT *dht = on->onion->dht;
@@ -322,8 +323,8 @@ void kill_onions(Onions *on)
322#define NUM_FIRST 7 323#define NUM_FIRST 7
323#define NUM_LAST 37 324#define NUM_LAST 37
324 325
325_Bool first_ip, last_ip; 326static _Bool first_ip, last_ip;
326void dht_ip_callback(void *object, int32_t number, IP_Port ip_port) 327static void dht_ip_callback(void *object, int32_t number, IP_Port ip_port)
327{ 328{
328 if (NUM_FIRST == number) { 329 if (NUM_FIRST == number) {
329 first_ip = 1; 330 first_ip = 1;
@@ -338,9 +339,9 @@ void dht_ip_callback(void *object, int32_t number, IP_Port ip_port)
338 ck_abort_msg("Error."); 339 ck_abort_msg("Error.");
339} 340}
340 341
341_Bool first, last; 342static _Bool first, last;
342uint8_t first_dht_pk[crypto_box_PUBLICKEYBYTES]; 343static uint8_t first_dht_pk[crypto_box_PUBLICKEYBYTES];
343uint8_t last_dht_pk[crypto_box_PUBLICKEYBYTES]; 344static uint8_t last_dht_pk[crypto_box_PUBLICKEYBYTES];
344 345
345static void dht_pk_callback(void *object, int32_t number, const uint8_t *dht_public_key, void *userdata) 346static void dht_pk_callback(void *object, int32_t number, const uint8_t *dht_public_key, void *userdata)
346{ 347{
@@ -460,7 +461,7 @@ START_TEST(test_announce)
460} 461}
461END_TEST 462END_TEST
462 463
463Suite *onion_suite(void) 464static Suite *onion_suite(void)
464{ 465{
465 Suite *s = suite_create("Onion"); 466 Suite *s = suite_create("Onion");
466 467
diff --git a/auto_tests/skeleton_test.c b/auto_tests/skeleton_test.c
index 8d3ec3bb..b8950921 100644
--- a/auto_tests/skeleton_test.c
+++ b/auto_tests/skeleton_test.c
@@ -22,7 +22,7 @@ START_TEST(test_creativetestnamegoeshere)
22} 22}
23END_TEST 23END_TEST
24 24
25Suite *creativesuitenamegoeshere_suite(void) 25static Suite *creativesuitenamegoeshere_suite(void)
26{ 26{
27 Suite *s = suite_create("creativesuitedescritptiongoeshere"); 27 Suite *s = suite_create("creativesuitedescritptiongoeshere");
28 28
@@ -46,4 +46,3 @@ int main(int argc, char *argv[])
46 46
47 return number_failed; 47 return number_failed;
48} 48}
49
diff --git a/auto_tests/tox_test.c b/auto_tests/tox_test.c
index bc6006e3..7efb5465 100644
--- a/auto_tests/tox_test.c
+++ b/auto_tests/tox_test.c
@@ -42,7 +42,7 @@
42#define TOX_LOCALHOST "127.0.0.1" 42#define TOX_LOCALHOST "127.0.0.1"
43#endif 43#endif
44 44
45void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 45static void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata)
46{ 46{
47 if (*((uint32_t *)userdata) != 974536) { 47 if (*((uint32_t *)userdata) != 974536) {
48 return; 48 return;
@@ -52,10 +52,10 @@ void accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *dat
52 tox_friend_add_norequest(m, public_key, 0); 52 tox_friend_add_norequest(m, public_key, 0);
53 } 53 }
54} 54}
55uint32_t messages_received; 55static uint32_t messages_received;
56 56
57void print_message(Tox *m, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const uint8_t *string, size_t length, 57static void print_message(Tox *m, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const uint8_t *string, size_t length,
58 void *userdata) 58 void *userdata)
59{ 59{
60 if (*((uint32_t *)userdata) != 974536) { 60 if (*((uint32_t *)userdata) != 974536) {
61 return; 61 return;
@@ -73,9 +73,9 @@ void print_message(Tox *m, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const u
73 } 73 }
74} 74}
75 75
76uint32_t name_changes; 76static uint32_t name_changes;
77 77
78void print_nickchange(Tox *m, uint32_t friendnumber, const uint8_t *string, size_t length, void *userdata) 78static void print_nickchange(Tox *m, uint32_t friendnumber, const uint8_t *string, size_t length, void *userdata)
79{ 79{
80 if (*((uint32_t *)userdata) != 974536) { 80 if (*((uint32_t *)userdata) != 974536) {
81 return; 81 return;
@@ -86,8 +86,9 @@ void print_nickchange(Tox *m, uint32_t friendnumber, const uint8_t *string, size
86 } 86 }
87} 87}
88 88
89uint32_t status_m_changes; 89static uint32_t status_m_changes;
90void print_status_m_change(Tox *tox, uint32_t friend_number, const uint8_t *message, size_t length, void *user_data) 90static void print_status_m_change(Tox *tox, uint32_t friend_number, const uint8_t *message, size_t length,
91 void *user_data)
91{ 92{
92 if (*((uint32_t *)user_data) != 974536) { 93 if (*((uint32_t *)user_data) != 974536) {
93 return; 94 return;
@@ -98,9 +99,9 @@ void print_status_m_change(Tox *tox, uint32_t friend_number, const uint8_t *mess
98 } 99 }
99} 100}
100 101
101uint32_t typing_changes; 102static uint32_t typing_changes;
102 103
103void print_typingchange(Tox *m, uint32_t friendnumber, bool typing, void *userdata) 104static void print_typingchange(Tox *m, uint32_t friendnumber, bool typing, void *userdata)
104{ 105{
105 if (*((uint32_t *)userdata) != 974536) { 106 if (*((uint32_t *)userdata) != 974536) {
106 return; 107 return;
@@ -113,9 +114,9 @@ void print_typingchange(Tox *m, uint32_t friendnumber, bool typing, void *userda
113 } 114 }
114} 115}
115 116
116uint32_t custom_packet; 117static uint32_t custom_packet;
117 118
118void handle_custom_packet(Tox *m, uint32_t friend_num, const uint8_t *data, size_t len, void *object) 119static void handle_custom_packet(Tox *m, uint32_t friend_num, const uint8_t *data, size_t len, void *object)
119{ 120{
120 uint8_t number = *((uint32_t *)object); 121 uint8_t number = *((uint32_t *)object);
121 122
@@ -135,15 +136,14 @@ void handle_custom_packet(Tox *m, uint32_t friend_num, const uint8_t *data, size
135 return; 136 return;
136} 137}
137 138
138uint64_t size_recv; 139static uint64_t size_recv;
139uint64_t sending_pos; 140static uint64_t sending_pos;
140 141
141uint8_t file_cmp_id[TOX_FILE_ID_LENGTH]; 142static uint8_t file_cmp_id[TOX_FILE_ID_LENGTH];
142uint8_t filenum; 143static uint32_t file_accepted;
143uint32_t file_accepted; 144static uint64_t file_size;
144uint64_t file_size; 145static void tox_file_receive(Tox *tox, uint32_t friend_number, uint32_t file_number, uint32_t kind, uint64_t filesize,
145void tox_file_receive(Tox *tox, uint32_t friend_number, uint32_t file_number, uint32_t kind, uint64_t filesize, 146 const uint8_t *filename, size_t filename_length, void *userdata)
146 const uint8_t *filename, size_t filename_length, void *userdata)
147{ 147{
148 if (*((uint32_t *)userdata) != 974536) { 148 if (*((uint32_t *)userdata) != 974536) {
149 return; 149 return;
@@ -208,9 +208,9 @@ void tox_file_receive(Tox *tox, uint32_t friend_number, uint32_t file_number, ui
208 ck_assert_msg(err_s == TOX_ERR_FILE_SEEK_DENIED, "tox_file_seek wrong error"); 208 ck_assert_msg(err_s == TOX_ERR_FILE_SEEK_DENIED, "tox_file_seek wrong error");
209} 209}
210 210
211uint32_t sendf_ok; 211static uint32_t sendf_ok;
212void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control, 212static void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control,
213 void *userdata) 213 void *userdata)
214{ 214{
215 if (*((uint32_t *)userdata) != 974536) { 215 if (*((uint32_t *)userdata) != 974536) {
216 return; 216 return;
@@ -222,12 +222,13 @@ void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number,
222 } 222 }
223} 223}
224 224
225uint64_t max_sending; 225static uint64_t max_sending;
226_Bool m_send_reached; 226static _Bool m_send_reached;
227uint8_t sending_num; 227static uint8_t sending_num;
228_Bool file_sending_done; 228static _Bool file_sending_done;
229void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position, size_t length, 229static void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position,
230 void *user_data) 230 size_t length,
231 void *user_data)
231{ 232{
232 if (*((uint32_t *)user_data) != 974536) { 233 if (*((uint32_t *)user_data) != 974536) {
233 return; 234 return;
@@ -277,10 +278,10 @@ void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_numb
277} 278}
278 279
279 280
280uint8_t num; 281static uint8_t num;
281_Bool file_recv; 282static _Bool file_recv;
282void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t position, const uint8_t *data, 283static void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t position, const uint8_t *data,
283 size_t length, void *user_data) 284 size_t length, void *user_data)
284{ 285{
285 if (*((uint32_t *)user_data) != 974536) { 286 if (*((uint32_t *)user_data) != 974536) {
286 return; 287 return;
@@ -307,8 +308,8 @@ void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t p
307 } 308 }
308} 309}
309 310
310unsigned int connected_t1; 311static unsigned int connected_t1;
311void tox_connection_status(Tox *tox, TOX_CONNECTION connection_status, void *user_data) 312static void tox_connection_status(Tox *tox, TOX_CONNECTION connection_status, void *user_data)
312{ 313{
313 if (*((uint32_t *)user_data) != 974536) { 314 if (*((uint32_t *)user_data) != 974536) {
314 return; 315 return;
@@ -347,7 +348,7 @@ START_TEST(test_one)
347 uint8_t address[TOX_ADDRESS_SIZE]; 348 uint8_t address[TOX_ADDRESS_SIZE];
348 tox_self_get_address(tox1, address); 349 tox_self_get_address(tox1, address);
349 TOX_ERR_FRIEND_ADD error; 350 TOX_ERR_FRIEND_ADD error;
350 uint32_t ret = tox_friend_add(tox1, address, (uint8_t *)"m", 1, &error); 351 uint32_t ret = tox_friend_add(tox1, address, (const uint8_t *)"m", 1, &error);
351 ck_assert_msg(ret == UINT32_MAX && error == TOX_ERR_FRIEND_ADD_OWN_KEY, "Adding own address worked."); 352 ck_assert_msg(ret == UINT32_MAX && error == TOX_ERR_FRIEND_ADD_OWN_KEY, "Adding own address worked.");
352 353
353 tox_self_get_address(tox2, address); 354 tox_self_get_address(tox2, address);
@@ -361,7 +362,7 @@ START_TEST(test_one)
361 "TOX_MAX_FRIEND_REQUEST_LENGTH is too big."); 362 "TOX_MAX_FRIEND_REQUEST_LENGTH is too big.");
362 363
363 address[0]++; 364 address[0]++;
364 ret = tox_friend_add(tox1, address, (uint8_t *)"m", 1, &error); 365 ret = tox_friend_add(tox1, address, (const uint8_t *)"m", 1, &error);
365 ck_assert_msg(ret == UINT32_MAX && error == TOX_ERR_FRIEND_ADD_BAD_CHECKSUM, 366 ck_assert_msg(ret == UINT32_MAX && error == TOX_ERR_FRIEND_ADD_BAD_CHECKSUM,
366 "Adding address with bad checksum worked."); 367 "Adding address with bad checksum worked.");
367 368
@@ -465,7 +466,7 @@ START_TEST(test_few_clients)
465 tox_callback_friend_request(tox2, accept_friend_request); 466 tox_callback_friend_request(tox2, accept_friend_request);
466 uint8_t address[TOX_ADDRESS_SIZE]; 467 uint8_t address[TOX_ADDRESS_SIZE];
467 tox_self_get_address(tox2, address); 468 tox_self_get_address(tox2, address);
468 uint32_t test = tox_friend_add(tox3, address, (uint8_t *)"Gentoo", 7, 0); 469 uint32_t test = tox_friend_add(tox3, address, (const uint8_t *)"Gentoo", 7, 0);
469 ck_assert_msg(test == 0, "Failed to add friend error code: %i", test); 470 ck_assert_msg(test == 0, "Failed to add friend error code: %i", test);
470 471
471 uint8_t off = 1; 472 uint8_t off = 1;
@@ -560,7 +561,7 @@ START_TEST(test_few_clients)
560 printf("tox clients connected took %llu seconds\n", time(NULL) - con_time); 561 printf("tox clients connected took %llu seconds\n", time(NULL) - con_time);
561 tox_callback_friend_name(tox3, print_nickchange); 562 tox_callback_friend_name(tox3, print_nickchange);
562 TOX_ERR_SET_INFO err_n; 563 TOX_ERR_SET_INFO err_n;
563 bool succ = tox_self_set_name(tox2, (uint8_t *)"Gentoo", sizeof("Gentoo"), &err_n); 564 bool succ = tox_self_set_name(tox2, (const uint8_t *)"Gentoo", sizeof("Gentoo"), &err_n);
564 ck_assert_msg(succ && err_n == TOX_ERR_SET_INFO_OK, "tox_self_set_name failed because %u\n", err_n); 565 ck_assert_msg(succ && err_n == TOX_ERR_SET_INFO_OK, "tox_self_set_name failed because %u\n", err_n);
565 566
566 while (1) { 567 while (1) {
@@ -582,7 +583,7 @@ START_TEST(test_few_clients)
582 ck_assert_msg(memcmp(temp_name, "Gentoo", sizeof("Gentoo")) == 0, "Name not correct"); 583 ck_assert_msg(memcmp(temp_name, "Gentoo", sizeof("Gentoo")) == 0, "Name not correct");
583 584
584 tox_callback_friend_status_message(tox3, print_status_m_change); 585 tox_callback_friend_status_message(tox3, print_status_m_change);
585 succ = tox_self_set_status_message(tox2, (uint8_t *)"Installing Gentoo", sizeof("Installing Gentoo"), &err_n); 586 succ = tox_self_set_status_message(tox2, (const uint8_t *)"Installing Gentoo", sizeof("Installing Gentoo"), &err_n);
586 ck_assert_msg(succ && err_n == TOX_ERR_SET_INFO_OK, "tox_self_set_status_message failed because %u\n", err_n); 587 ck_assert_msg(succ && err_n == TOX_ERR_SET_INFO_OK, "tox_self_set_status_message failed because %u\n", err_n);
587 588
588 while (1) { 589 while (1) {
@@ -704,7 +705,7 @@ START_TEST(test_few_clients)
704 tox_callback_file_recv_control(tox3, file_print_control, &to_compare); 705 tox_callback_file_recv_control(tox3, file_print_control, &to_compare);
705 tox_callback_file_recv(tox3, tox_file_receive, &to_compare); 706 tox_callback_file_recv(tox3, tox_file_receive, &to_compare);
706 uint64_t totalf_size = 100 * 1024 * 1024; 707 uint64_t totalf_size = 100 * 1024 * 1024;
707 uint32_t fnum = tox_file_send(tox2, 0, TOX_FILE_KIND_DATA, totalf_size, 0, (uint8_t *)"Gentoo.exe", 708 uint32_t fnum = tox_file_send(tox2, 0, TOX_FILE_KIND_DATA, totalf_size, 0, (const uint8_t *)"Gentoo.exe",
708 sizeof("Gentoo.exe"), 0); 709 sizeof("Gentoo.exe"), 0);
709 ck_assert_msg(fnum != UINT32_MAX, "tox_new_file_sender fail"); 710 ck_assert_msg(fnum != UINT32_MAX, "tox_new_file_sender fail");
710 711
@@ -751,7 +752,8 @@ START_TEST(test_few_clients)
751 tox_callback_file_recv_control(tox3, file_print_control, &to_compare); 752 tox_callback_file_recv_control(tox3, file_print_control, &to_compare);
752 tox_callback_file_recv(tox3, tox_file_receive, &to_compare); 753 tox_callback_file_recv(tox3, tox_file_receive, &to_compare);
753 totalf_size = UINT64_MAX; 754 totalf_size = UINT64_MAX;
754 fnum = tox_file_send(tox2, 0, TOX_FILE_KIND_DATA, totalf_size, 0, (uint8_t *)"Gentoo.exe", sizeof("Gentoo.exe"), 0); 755 fnum = tox_file_send(tox2, 0, TOX_FILE_KIND_DATA, totalf_size, 0, (const uint8_t *)"Gentoo.exe", sizeof("Gentoo.exe"),
756 0);
755 ck_assert_msg(fnum != UINT32_MAX, "tox_new_file_sender fail"); 757 ck_assert_msg(fnum != UINT32_MAX, "tox_new_file_sender fail");
756 758
757 ck_assert_msg(!tox_file_get_file_id(tox2, 1, fnum, file_cmp_id, &gfierr), "tox_file_get_file_id didn't fail"); 759 ck_assert_msg(!tox_file_get_file_id(tox2, 1, fnum, file_cmp_id, &gfierr), "tox_file_get_file_id didn't fail");
@@ -798,7 +800,8 @@ START_TEST(test_few_clients)
798 tox_callback_file_recv_control(tox3, file_print_control, &to_compare); 800 tox_callback_file_recv_control(tox3, file_print_control, &to_compare);
799 tox_callback_file_recv(tox3, tox_file_receive, &to_compare); 801 tox_callback_file_recv(tox3, tox_file_receive, &to_compare);
800 totalf_size = 0; 802 totalf_size = 0;
801 fnum = tox_file_send(tox2, 0, TOX_FILE_KIND_DATA, totalf_size, 0, (uint8_t *)"Gentoo.exe", sizeof("Gentoo.exe"), 0); 803 fnum = tox_file_send(tox2, 0, TOX_FILE_KIND_DATA, totalf_size, 0, (const uint8_t *)"Gentoo.exe", sizeof("Gentoo.exe"),
804 0);
802 ck_assert_msg(fnum != UINT32_MAX, "tox_new_file_sender fail"); 805 ck_assert_msg(fnum != UINT32_MAX, "tox_new_file_sender fail");
803 806
804 ck_assert_msg(!tox_file_get_file_id(tox2, 1, fnum, file_cmp_id, &gfierr), "tox_file_get_file_id didn't fail"); 807 ck_assert_msg(!tox_file_get_file_id(tox2, 1, fnum, file_cmp_id, &gfierr), "tox_file_get_file_id didn't fail");
@@ -890,7 +893,7 @@ loop_top:
890 tox_self_get_address(toxes[pairs[i].tox1], address); 893 tox_self_get_address(toxes[pairs[i].tox1], address);
891 894
892 TOX_ERR_FRIEND_ADD test; 895 TOX_ERR_FRIEND_ADD test;
893 uint32_t num = tox_friend_add(toxes[pairs[i].tox2], address, (uint8_t *)"Gentoo", 7, &test); 896 uint32_t num = tox_friend_add(toxes[pairs[i].tox2], address, (const uint8_t *)"Gentoo", 7, &test);
894 897
895 if (test == TOX_ERR_FRIEND_ADD_ALREADY_SENT) { 898 if (test == TOX_ERR_FRIEND_ADD_ALREADY_SENT) {
896 goto loop_top; 899 goto loop_top;
@@ -996,7 +999,7 @@ loop_top:
996 tox_self_get_address(toxes[pairs[i].tox1], address); 999 tox_self_get_address(toxes[pairs[i].tox1], address);
997 1000
998 TOX_ERR_FRIEND_ADD test; 1001 TOX_ERR_FRIEND_ADD test;
999 uint32_t num = tox_friend_add(toxes[pairs[i].tox2], address, (uint8_t *)"Gentoo", 7, &test); 1002 uint32_t num = tox_friend_add(toxes[pairs[i].tox2], address, (const uint8_t *)"Gentoo", 7, &test);
1000 1003
1001 if (test == TOX_ERR_FRIEND_ADD_ALREADY_SENT) { 1004 if (test == TOX_ERR_FRIEND_ADD_ALREADY_SENT) {
1002 goto loop_top; 1005 goto loop_top;
@@ -1095,7 +1098,7 @@ loop_top:
1095 tox_self_get_address(toxes[pairs[i].tox1], address); 1098 tox_self_get_address(toxes[pairs[i].tox1], address);
1096 1099
1097 TOX_ERR_FRIEND_ADD test; 1100 TOX_ERR_FRIEND_ADD test;
1098 uint32_t num = tox_friend_add(toxes[pairs[i].tox2], address, (uint8_t *)"Gentoo", 7, &test); 1101 uint32_t num = tox_friend_add(toxes[pairs[i].tox2], address, (const uint8_t *)"Gentoo", 7, &test);
1099 1102
1100 if (test == TOX_ERR_FRIEND_ADD_ALREADY_SENT) { 1103 if (test == TOX_ERR_FRIEND_ADD_ALREADY_SENT) {
1101 goto loop_top; 1104 goto loop_top;
@@ -1137,7 +1140,8 @@ END_TEST
1137 1140
1138#define NUM_GROUP_TOX 32 1141#define NUM_GROUP_TOX 32
1139 1142
1140void g_accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 1143static void g_accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length,
1144 void *userdata)
1141{ 1145{
1142 if (*((uint32_t *)userdata) != 234212) { 1146 if (*((uint32_t *)userdata) != 234212) {
1143 return; 1147 return;
@@ -1151,8 +1155,9 @@ void g_accept_friend_request(Tox *m, const uint8_t *public_key, const uint8_t *d
1151static Tox *invite_tox; 1155static Tox *invite_tox;
1152static unsigned int invite_counter; 1156static unsigned int invite_counter;
1153 1157
1154void print_group_invite_callback(Tox *tox, int32_t friendnumber, uint8_t type, const uint8_t *data, uint16_t length, 1158static void print_group_invite_callback(Tox *tox, int32_t friendnumber, uint8_t type, const uint8_t *data,
1155 void *userdata) 1159 uint16_t length,
1160 void *userdata)
1156{ 1161{
1157 if (*((uint32_t *)userdata) != 234212) { 1162 if (*((uint32_t *)userdata) != 234212) {
1158 return; 1163 return;
@@ -1178,8 +1183,8 @@ void print_group_invite_callback(Tox *tox, int32_t friendnumber, uint8_t type, c
1178 1183
1179static unsigned int num_recv; 1184static unsigned int num_recv;
1180 1185
1181void print_group_message(Tox *tox, int groupnumber, int peernumber, const uint8_t *message, uint16_t length, 1186static void print_group_message(Tox *tox, int groupnumber, int peernumber, const uint8_t *message, uint16_t length,
1182 void *userdata) 1187 void *userdata)
1183{ 1188{
1184 if (*((uint32_t *)userdata) != 234212) { 1189 if (*((uint32_t *)userdata) != 234212) {
1185 return; 1190 return;
@@ -1217,7 +1222,7 @@ group_test_restart:
1217 tox_self_get_address(toxes[NUM_GROUP_TOX - 1], address); 1222 tox_self_get_address(toxes[NUM_GROUP_TOX - 1], address);
1218 1223
1219 for (i = 0; i < NUM_GROUP_TOX; ++i) { 1224 for (i = 0; i < NUM_GROUP_TOX; ++i) {
1220 ck_assert_msg(tox_friend_add(toxes[i], address, (uint8_t *)"Gentoo", 7, 0) == 0, "Failed to add friend"); 1225 ck_assert_msg(tox_friend_add(toxes[i], address, (const uint8_t *)"Gentoo", 7, 0) == 0, "Failed to add friend");
1221 1226
1222 tox_self_get_address(toxes[i], address); 1227 tox_self_get_address(toxes[i], address);
1223 } 1228 }
@@ -1310,7 +1315,7 @@ group_test_restart:
1310 tox_callback_group_message(toxes[i], &print_group_message, &to_comp); 1315 tox_callback_group_message(toxes[i], &print_group_message, &to_comp);
1311 } 1316 }
1312 1317
1313 ck_assert_msg(tox_group_message_send(toxes[rand() % NUM_GROUP_TOX], 0, (uint8_t *)"Install Gentoo", 1318 ck_assert_msg(tox_group_message_send(toxes[rand() % NUM_GROUP_TOX], 0, (const uint8_t *)"Install Gentoo",
1314 sizeof("Install Gentoo") - 1) == 0, "Failed to send group message."); 1319 sizeof("Install Gentoo") - 1) == 0, "Failed to send group message.");
1315 num_recv = 0; 1320 num_recv = 0;
1316 1321
@@ -1358,7 +1363,7 @@ uint8_t timeout_mux = 20;
1358uint8_t timeout_mux = 10; 1363uint8_t timeout_mux = 10;
1359#endif 1364#endif
1360 1365
1361Suite *tox_suite(void) 1366static Suite *tox_suite(void)
1362{ 1367{
1363 Suite *s = suite_create("Tox"); 1368 Suite *s = suite_create("Tox");
1364 1369
@@ -1398,4 +1403,3 @@ int main(int argc, char *argv[])
1398 1403
1399 return number_failed; 1404 return number_failed;
1400} 1405}
1401
diff --git a/auto_tests/toxav_basic_test.c b/auto_tests/toxav_basic_test.c
index e3c4447e..399eac68 100644
--- a/auto_tests/toxav_basic_test.c
+++ b/auto_tests/toxav_basic_test.c
@@ -6,7 +6,7 @@
6# include <assert.h> 6# include <assert.h>
7 7
8# define ck_assert(X) assert(X); 8# define ck_assert(X) assert(X);
9# define START_TEST(NAME) void NAME () 9# define START_TEST(NAME) static void NAME (void)
10# define END_TEST 10# define END_TEST
11#else 11#else
12# include "helpers.h" 12# include "helpers.h"
@@ -66,7 +66,7 @@ typedef struct {
66/** 66/**
67 * Callbacks 67 * Callbacks
68 */ 68 */
69void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool video_enabled, void *user_data) 69static void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool video_enabled, void *user_data)
70{ 70{
71 (void) av; 71 (void) av;
72 (void) friend_number; 72 (void) friend_number;
@@ -76,7 +76,7 @@ void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool
76 printf("Handling CALL callback\n"); 76 printf("Handling CALL callback\n");
77 ((CallControl *)user_data)->incoming = true; 77 ((CallControl *)user_data)->incoming = true;
78} 78}
79void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_data) 79static void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_data)
80{ 80{
81 (void) av; 81 (void) av;
82 (void) friend_number; 82 (void) friend_number;
@@ -84,11 +84,11 @@ void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, vo
84 printf("Handling CALL STATE callback: %d\n", state); 84 printf("Handling CALL STATE callback: %d\n", state);
85 ((CallControl *)user_data)->state = state; 85 ((CallControl *)user_data)->state = state;
86} 86}
87void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number, 87static void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number,
88 uint16_t width, uint16_t height, 88 uint16_t width, uint16_t height,
89 uint8_t const *y, uint8_t const *u, uint8_t const *v, 89 uint8_t const *y, uint8_t const *u, uint8_t const *v,
90 int32_t ystride, int32_t ustride, int32_t vstride, 90 int32_t ystride, int32_t ustride, int32_t vstride,
91 void *user_data) 91 void *user_data)
92{ 92{
93 (void) av; 93 (void) av;
94 (void) friend_number; 94 (void) friend_number;
@@ -103,12 +103,12 @@ void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number,
103 (void) user_data; 103 (void) user_data;
104 printf("Received video payload\n"); 104 printf("Received video payload\n");
105} 105}
106void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number, 106static void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number,
107 int16_t const *pcm, 107 int16_t const *pcm,
108 size_t sample_count, 108 size_t sample_count,
109 uint8_t channels, 109 uint8_t channels,
110 uint32_t sampling_rate, 110 uint32_t sampling_rate,
111 void *user_data) 111 void *user_data)
112{ 112{
113 (void) av; 113 (void) av;
114 (void) friend_number; 114 (void) friend_number;
@@ -119,7 +119,8 @@ void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number,
119 (void) user_data; 119 (void) user_data;
120 printf("Received audio payload\n"); 120 printf("Received audio payload\n");
121} 121}
122void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 122static void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length,
123 void *userdata)
123{ 124{
124 (void) userdata; 125 (void) userdata;
125 126
@@ -132,7 +133,7 @@ void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t
132/** 133/**
133 * Iterate helper 134 * Iterate helper
134 */ 135 */
135int iterate_tox(Tox *bootstrap, Tox *Alice, Tox *Bob) 136static int iterate_tox(Tox *bootstrap, Tox *Alice, Tox *Bob)
136{ 137{
137 c_sleep(100); 138 c_sleep(100);
138 tox_iterate(bootstrap, NULL); 139 tox_iterate(bootstrap, NULL);
@@ -175,7 +176,7 @@ START_TEST(test_AV_flows)
175 tox_self_get_address(Alice, address); 176 tox_self_get_address(Alice, address);
176 177
177 178
178 ck_assert(tox_friend_add(Bob, address, (uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0); 179 ck_assert(tox_friend_add(Bob, address, (const uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0);
179 180
180 uint8_t off = 1; 181 uint8_t off = 1;
181 182
@@ -601,7 +602,7 @@ int main(int argc, char *argv[])
601 return 0; 602 return 0;
602} 603}
603#else 604#else
604Suite *tox_suite(void) 605static Suite *tox_suite(void)
605{ 606{
606 Suite *s = suite_create("ToxAV"); 607 Suite *s = suite_create("ToxAV");
607 608
diff --git a/auto_tests/toxav_many_test.c b/auto_tests/toxav_many_test.c
index 5d889032..e3dd5a42 100644
--- a/auto_tests/toxav_many_test.c
+++ b/auto_tests/toxav_many_test.c
@@ -6,7 +6,7 @@
6# include <assert.h> 6# include <assert.h>
7 7
8# define ck_assert(X) assert(X); 8# define ck_assert(X) assert(X);
9# define START_TEST(NAME) void NAME () 9# define START_TEST(NAME) static void NAME (void)
10# define END_TEST 10# define END_TEST
11#else 11#else
12# include "helpers.h" 12# include "helpers.h"
@@ -52,7 +52,7 @@ typedef struct {
52/** 52/**
53 * Callbacks 53 * Callbacks
54 */ 54 */
55void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool video_enabled, void *user_data) 55static void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool video_enabled, void *user_data)
56{ 56{
57 (void) av; 57 (void) av;
58 (void) audio_enabled; 58 (void) audio_enabled;
@@ -61,16 +61,16 @@ void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool
61 printf("Handling CALL callback\n"); 61 printf("Handling CALL callback\n");
62 ((CallControl *)user_data)[friend_number].incoming = true; 62 ((CallControl *)user_data)[friend_number].incoming = true;
63} 63}
64void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_data) 64static void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_data)
65{ 65{
66 printf("Handling CALL STATE callback: %d %p\n", state, (void *)av); 66 printf("Handling CALL STATE callback: %d %p\n", state, (void *)av);
67 ((CallControl *)user_data)[friend_number].state = state; 67 ((CallControl *)user_data)[friend_number].state = state;
68} 68}
69void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number, 69static void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number,
70 uint16_t width, uint16_t height, 70 uint16_t width, uint16_t height,
71 uint8_t const *y, uint8_t const *u, uint8_t const *v, 71 uint8_t const *y, uint8_t const *u, uint8_t const *v,
72 int32_t ystride, int32_t ustride, int32_t vstride, 72 int32_t ystride, int32_t ustride, int32_t vstride,
73 void *user_data) 73 void *user_data)
74{ 74{
75 (void) av; 75 (void) av;
76 (void) friend_number; 76 (void) friend_number;
@@ -84,12 +84,12 @@ void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number,
84 (void) vstride; 84 (void) vstride;
85 (void) user_data; 85 (void) user_data;
86} 86}
87void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number, 87static void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number,
88 int16_t const *pcm, 88 int16_t const *pcm,
89 size_t sample_count, 89 size_t sample_count,
90 uint8_t channels, 90 uint8_t channels,
91 uint32_t sampling_rate, 91 uint32_t sampling_rate,
92 void *user_data) 92 void *user_data)
93{ 93{
94 (void) av; 94 (void) av;
95 (void) friend_number; 95 (void) friend_number;
@@ -99,7 +99,8 @@ void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number,
99 (void) sampling_rate; 99 (void) sampling_rate;
100 (void) user_data; 100 (void) user_data;
101} 101}
102void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 102static void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length,
103 void *userdata)
103{ 104{
104 (void) userdata; 105 (void) userdata;
105 106
@@ -112,7 +113,7 @@ void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t
112/** 113/**
113 * Iterate helper 114 * Iterate helper
114 */ 115 */
115ToxAV *setup_av_instance(Tox *tox, CallControl *CC) 116static ToxAV *setup_av_instance(Tox *tox, CallControl *CC)
116{ 117{
117 TOXAV_ERR_NEW error; 118 TOXAV_ERR_NEW error;
118 119
@@ -126,7 +127,7 @@ ToxAV *setup_av_instance(Tox *tox, CallControl *CC)
126 127
127 return av; 128 return av;
128} 129}
129void *call_thread(void *pd) 130static void *call_thread(void *pd)
130{ 131{
131 ToxAV *AliceAV = ((thread_data *) pd)->AliceAV; 132 ToxAV *AliceAV = ((thread_data *) pd)->AliceAV;
132 ToxAV *BobAV = ((thread_data *) pd)->BobAV; 133 ToxAV *BobAV = ((thread_data *) pd)->BobAV;
@@ -241,9 +242,9 @@ START_TEST(test_AV_three_calls)
241 tox_self_get_address(Alice, address); 242 tox_self_get_address(Alice, address);
242 243
243 244
244 ck_assert(tox_friend_add(Bobs[0], address, (uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0); 245 ck_assert(tox_friend_add(Bobs[0], address, (const uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0);
245 ck_assert(tox_friend_add(Bobs[1], address, (uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0); 246 ck_assert(tox_friend_add(Bobs[1], address, (const uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0);
246 ck_assert(tox_friend_add(Bobs[2], address, (uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0); 247 ck_assert(tox_friend_add(Bobs[2], address, (const uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0);
247 248
248 uint8_t off = 1; 249 uint8_t off = 1;
249 250
@@ -351,7 +352,7 @@ int main(int argc, char *argv[])
351 return 0; 352 return 0;
352} 353}
353#else 354#else
354Suite *tox_suite(void) 355static Suite *tox_suite(void)
355{ 356{
356 Suite *s = suite_create("ToxAV"); 357 Suite *s = suite_create("ToxAV");
357 358
diff --git a/other/DHT_bootstrap.c b/other/DHT_bootstrap.c
index 8ea4c161..2dc24b4e 100644
--- a/other/DHT_bootstrap.c
+++ b/other/DHT_bootstrap.c
@@ -58,7 +58,7 @@
58#define PORT 33445 58#define PORT 33445
59 59
60 60
61void manage_keys(DHT *dht) 61static void manage_keys(DHT *dht)
62{ 62{
63 enum { KEYS_SIZE = crypto_box_PUBLICKEYBYTES + crypto_box_SECRETKEYBYTES }; 63 enum { KEYS_SIZE = crypto_box_PUBLICKEYBYTES + crypto_box_SECRETKEYBYTES };
64 uint8_t keys[KEYS_SIZE]; 64 uint8_t keys[KEYS_SIZE];
diff --git a/other/bootstrap_daemon/src/command_line_arguments.c b/other/bootstrap_daemon/src/command_line_arguments.c
index ecfef1ad..262dd4c8 100644
--- a/other/bootstrap_daemon/src/command_line_arguments.c
+++ b/other/bootstrap_daemon/src/command_line_arguments.c
@@ -35,7 +35,7 @@
35/** 35/**
36 * Prints --help message 36 * Prints --help message
37 */ 37 */
38void print_help() 38static void print_help(void)
39{ 39{
40 // 2 space ident 40 // 2 space ident
41 // make sure all lines fit into 80 columns 41 // make sure all lines fit into 80 columns
diff --git a/other/bootstrap_daemon/src/config.c b/other/bootstrap_daemon/src/config.c
index dc0a251c..a0c6045d 100644
--- a/other/bootstrap_daemon/src/config.c
+++ b/other/bootstrap_daemon/src/config.c
@@ -41,7 +41,7 @@
41 * 41 *
42 * Important: iff `tcp_relay_port_count` > 0, then you are responsible for freeing `tcp_relay_ports`. 42 * Important: iff `tcp_relay_port_count` > 0, then you are responsible for freeing `tcp_relay_ports`.
43 */ 43 */
44void parse_tcp_relay_ports_config(config_t *cfg, uint16_t **tcp_relay_ports, int *tcp_relay_port_count) 44static void parse_tcp_relay_ports_config(config_t *cfg, uint16_t **tcp_relay_ports, int *tcp_relay_port_count)
45{ 45{
46 const char *NAME_TCP_RELAY_PORTS = "tcp_relay_ports"; 46 const char *NAME_TCP_RELAY_PORTS = "tcp_relay_ports";
47 47
@@ -303,7 +303,7 @@ int get_general_config(const char *cfg_file_path, char **pid_file_path, char **k
303 * @return binary on success, 303 * @return binary on success,
304 * NULL on failure. 304 * NULL on failure.
305 */ 305 */
306uint8_t *hex_string_to_bin(char *hex_string) 306static uint8_t *hex_string_to_bin(const char *hex_string)
307{ 307{
308 if (strlen(hex_string) % 2 != 0) { 308 if (strlen(hex_string) % 2 != 0) {
309 return NULL; 309 return NULL;
@@ -312,7 +312,7 @@ uint8_t *hex_string_to_bin(char *hex_string)
312 size_t len = strlen(hex_string) / 2; 312 size_t len = strlen(hex_string) / 2;
313 uint8_t *ret = malloc(len); 313 uint8_t *ret = malloc(len);
314 314
315 char *pos = hex_string; 315 const char *pos = hex_string;
316 size_t i; 316 size_t i;
317 317
318 for (i = 0; i < len; ++i, pos += 2) { 318 for (i = 0; i < len; ++i, pos += 2) {
@@ -403,7 +403,7 @@ int bootstrap_from_config(const char *cfg_file_path, DHT *dht, int enable_ipv6)
403 goto next; 403 goto next;
404 } 404 }
405 405
406 uint8_t *bs_public_key_bin = hex_string_to_bin((char *)bs_public_key); 406 uint8_t *bs_public_key_bin = hex_string_to_bin((const char *)bs_public_key);
407 const int address_resolved = DHT_bootstrap_from_address(dht, bs_address, enable_ipv6, htons(bs_port), 407 const int address_resolved = DHT_bootstrap_from_address(dht, bs_address, enable_ipv6, htons(bs_port),
408 bs_public_key_bin); 408 bs_public_key_bin);
409 free(bs_public_key_bin); 409 free(bs_public_key_bin);
diff --git a/other/bootstrap_daemon/src/log.c b/other/bootstrap_daemon/src/log.c
index ee3a1421..e0fb3b33 100644
--- a/other/bootstrap_daemon/src/log.c
+++ b/other/bootstrap_daemon/src/log.c
@@ -48,7 +48,7 @@ bool open_log(LOG_BACKEND backend)
48 return true; 48 return true;
49} 49}
50 50
51bool close_log() 51bool close_log(void)
52{ 52{
53 if (current_backend == -1) { 53 if (current_backend == -1) {
54 return false; 54 return false;
@@ -63,7 +63,7 @@ bool close_log()
63 return true; 63 return true;
64} 64}
65 65
66int level_syslog(LOG_LEVEL level) 66static int level_syslog(LOG_LEVEL level)
67{ 67{
68 switch (level) { 68 switch (level) {
69 case LOG_LEVEL_INFO: 69 case LOG_LEVEL_INFO:
@@ -79,12 +79,12 @@ int level_syslog(LOG_LEVEL level)
79 return LOG_INFO; 79 return LOG_INFO;
80} 80}
81 81
82void log_syslog(LOG_LEVEL level, const char *format, va_list args) 82static void log_syslog(LOG_LEVEL level, const char *format, va_list args)
83{ 83{
84 vsyslog(level_syslog(level), format, args); 84 vsyslog(level_syslog(level), format, args);
85} 85}
86 86
87FILE *level_stdout(LOG_LEVEL level) 87static FILE *level_stdout(LOG_LEVEL level)
88{ 88{
89 switch (level) { 89 switch (level) {
90 case LOG_LEVEL_INFO: 90 case LOG_LEVEL_INFO:
@@ -98,7 +98,7 @@ FILE *level_stdout(LOG_LEVEL level)
98 return stdout; 98 return stdout;
99} 99}
100 100
101void log_stdout(LOG_LEVEL level, const char *format, va_list args) 101static void log_stdout(LOG_LEVEL level, const char *format, va_list args)
102{ 102{
103 vfprintf(level_stdout(level), format, args); 103 vfprintf(level_stdout(level), format, args);
104 fflush(level_stdout(level)); 104 fflush(level_stdout(level));
diff --git a/other/bootstrap_daemon/src/log.h b/other/bootstrap_daemon/src/log.h
index 61cb2ee3..cb374968 100644
--- a/other/bootstrap_daemon/src/log.h
+++ b/other/bootstrap_daemon/src/log.h
@@ -49,7 +49,7 @@ bool open_log(LOG_BACKEND backend);
49 * Releases all used resources by the logger. 49 * Releases all used resources by the logger.
50 * @return true on success, flase if log is already closed. 50 * @return true on success, flase if log is already closed.
51 */ 51 */
52bool close_log(); 52bool close_log(void);
53 53
54/** 54/**
55 * Writes a message to the log. 55 * Writes a message to the log.
diff --git a/other/bootstrap_daemon/src/tox-bootstrapd.c b/other/bootstrap_daemon/src/tox-bootstrapd.c
index 06ea45aa..fe360b4e 100644
--- a/other/bootstrap_daemon/src/tox-bootstrapd.c
+++ b/other/bootstrap_daemon/src/tox-bootstrapd.c
@@ -53,7 +53,7 @@
53// returns 1 on success 53// returns 1 on success
54// 0 on failure - no keys were read or stored 54// 0 on failure - no keys were read or stored
55 55
56int manage_keys(DHT *dht, char *keys_file_path) 56static int manage_keys(DHT *dht, char *keys_file_path)
57{ 57{
58 enum { KEYS_SIZE = crypto_box_PUBLICKEYBYTES + crypto_box_SECRETKEYBYTES }; 58 enum { KEYS_SIZE = crypto_box_PUBLICKEYBYTES + crypto_box_SECRETKEYBYTES };
59 uint8_t keys[KEYS_SIZE]; 59 uint8_t keys[KEYS_SIZE];
@@ -98,7 +98,7 @@ int manage_keys(DHT *dht, char *keys_file_path)
98 98
99// Prints public key 99// Prints public key
100 100
101void print_public_key(const uint8_t *public_key) 101static void print_public_key(const uint8_t *public_key)
102{ 102{
103 char buffer[2 * crypto_box_PUBLICKEYBYTES + 1]; 103 char buffer[2 * crypto_box_PUBLICKEYBYTES + 1];
104 int index = 0; 104 int index = 0;
@@ -115,7 +115,7 @@ void print_public_key(const uint8_t *public_key)
115// Demonizes the process, appending PID to the PID file and closing file descriptors based on log backend 115// Demonizes the process, appending PID to the PID file and closing file descriptors based on log backend
116// Terminates the application if the daemonization fails. 116// Terminates the application if the daemonization fails.
117 117
118void daemonize(LOG_BACKEND log_backend, char *pid_file_path) 118static void daemonize(LOG_BACKEND log_backend, char *pid_file_path)
119{ 119{
120 // Check if the PID file exists 120 // Check if the PID file exists
121 FILE *pid_file; 121 FILE *pid_file;
diff --git a/testing/DHT_test.c b/testing/DHT_test.c
index f6a2c4bc..04340b0e 100644
--- a/testing/DHT_test.c
+++ b/testing/DHT_test.c
@@ -54,7 +54,7 @@
54 54
55uint8_t zeroes_cid[crypto_box_PUBLICKEYBYTES]; 55uint8_t zeroes_cid[crypto_box_PUBLICKEYBYTES];
56 56
57void print_client_id(uint8_t *public_key) 57static void print_client_id(uint8_t *public_key)
58{ 58{
59 uint32_t j; 59 uint32_t j;
60 60
@@ -63,7 +63,7 @@ void print_client_id(uint8_t *public_key)
63 } 63 }
64} 64}
65 65
66void print_hardening(Hardening *h) 66static void print_hardening(Hardening *h)
67{ 67{
68 printf("Hardening:\n"); 68 printf("Hardening:\n");
69 printf("routes_requests_ok: %hhu\n", h->routes_requests_ok); 69 printf("routes_requests_ok: %hhu\n", h->routes_requests_ok);
@@ -81,7 +81,7 @@ void print_hardening(Hardening *h)
81 printf("\n\n"); 81 printf("\n\n");
82} 82}
83 83
84void print_assoc(IPPTsPng *assoc, uint8_t ours) 84static void print_assoc(IPPTsPng *assoc, uint8_t ours)
85{ 85{
86 IP_Port *ipp = &assoc->ip_port; 86 IP_Port *ipp = &assoc->ip_port;
87 printf("\nIP: %s Port: %u", ip_ntoa(&ipp->ip), ntohs(ipp->port)); 87 printf("\nIP: %s Port: %u", ip_ntoa(&ipp->ip), ntohs(ipp->port));
@@ -100,7 +100,7 @@ void print_assoc(IPPTsPng *assoc, uint8_t ours)
100 print_hardening(&assoc->hardening); 100 print_hardening(&assoc->hardening);
101} 101}
102 102
103void print_clientlist(DHT *dht) 103static void print_clientlist(DHT *dht)
104{ 104{
105 uint32_t i; 105 uint32_t i;
106 printf("___________________CLOSE________________________________\n"); 106 printf("___________________CLOSE________________________________\n");
@@ -120,7 +120,7 @@ void print_clientlist(DHT *dht)
120 } 120 }
121} 121}
122 122
123void print_friendlist(DHT *dht) 123static void print_friendlist(DHT *dht)
124{ 124{
125 uint32_t i, k; 125 uint32_t i, k;
126 IP_Port p_ip; 126 IP_Port p_ip;
@@ -153,7 +153,8 @@ void print_friendlist(DHT *dht)
153 } 153 }
154} 154}
155 155
156void printpacket(uint8_t *data, uint32_t length, IP_Port ip_port) 156#if 0 /* slvrTODO: */
157static void printpacket(uint8_t *data, uint32_t length, IP_Port ip_port)
157{ 158{
158 uint32_t i; 159 uint32_t i;
159 printf("UNHANDLED PACKET RECEIVED\nLENGTH:%u\nCONTENTS:\n", length); 160 printf("UNHANDLED PACKET RECEIVED\nLENGTH:%u\nCONTENTS:\n", length);
@@ -169,6 +170,7 @@ void printpacket(uint8_t *data, uint32_t length, IP_Port ip_port)
169 170
170 printf("\n--------------------END-----------------------------\n\n\n"); 171 printf("\n--------------------END-----------------------------\n\n\n");
171} 172}
173#endif
172 174
173int main(int argc, char *argv[]) 175int main(int argc, char *argv[])
174{ 176{
@@ -230,26 +232,27 @@ int main(int argc, char *argv[])
230 return 1; 232 return 1;
231 } 233 }
232 234
233 /* 235#if 0 /* slvrTODO: */
234 IP_Port ip_port; 236 IP_Port ip_port;
235 uint8_t data[MAX_UDP_PACKET_SIZE]; 237 uint8_t data[MAX_UDP_PACKET_SIZE];
236 uint32_t length; 238 uint32_t length;
237 */ 239#endif
238 240
239 while (1) { 241 while (1) {
240
241 do_DHT(dht); 242 do_DHT(dht);
242 243
243 /* slvrTODO: 244#if 0 /* slvrTODO: */
244 while(receivepacket(&ip_port, data, &length) != -1) { 245
245 if(DHT_handlepacket(data, length, ip_port) && friendreq_handlepacket(data, length, ip_port)) { 246 while (receivepacket(&ip_port, data, &length) != -1) {
246 //unhandled packet 247 if (DHT_handlepacket(data, length, ip_port) && friendreq_handlepacket(data, length, ip_port)) {
247 printpacket(data, length, ip_port); 248 //unhandled packet
248 } else { 249 printpacket(data, length, ip_port);
249 printf("Received handled packet with length: %u\n", length); 250 } else {
250 } 251 printf("Received handled packet with length: %u\n", length);
251 } 252 }
252 */ 253 }
254
255#endif
253 networking_poll(dht->net, NULL); 256 networking_poll(dht->net, NULL);
254 257
255 print_clientlist(dht); 258 print_clientlist(dht);
diff --git a/testing/Messenger_test.c b/testing/Messenger_test.c
index 668f046a..84508621 100644
--- a/testing/Messenger_test.c
+++ b/testing/Messenger_test.c
@@ -56,18 +56,18 @@
56 56
57#endif 57#endif
58 58
59void print_message(Messenger *m, uint32_t friendnumber, unsigned int type, const uint8_t *string, size_t length, 59static void print_message(Messenger *m, uint32_t friendnumber, unsigned int type, const uint8_t *string, size_t length,
60 void *userdata) 60 void *userdata)
61{ 61{
62 printf("Message with length %lu received from %u: %s \n", length, friendnumber, string); 62 printf("Message with length %lu received from %u: %s \n", length, friendnumber, string);
63 m_send_message_generic(m, friendnumber, type, (uint8_t *)"Test1", 6, 0); 63 m_send_message_generic(m, friendnumber, type, (const uint8_t *)"Test1", 6, 0);
64} 64}
65 65
66/* FIXME needed as print_request has to match the interface expected by 66/* FIXME needed as print_request has to match the interface expected by
67 * networking_requesthandler and so cannot take a Messenger * */ 67 * networking_requesthandler and so cannot take a Messenger * */
68static Messenger *m; 68static Messenger *m;
69 69
70void print_request(Messenger *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 70static void print_request(Messenger *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata)
71{ 71{
72 printf("Friend request received from: \n"); 72 printf("Friend request received from: \n");
73 printf("ClientID: "); 73 printf("ClientID: ");
@@ -164,7 +164,7 @@ int main(int argc, char *argv[])
164 printf("%hhX", address[i]); 164 printf("%hhX", address[i]);
165 } 165 }
166 166
167 setname(m, (uint8_t *)"Anon", 5); 167 setname(m, (const uint8_t *)"Anon", 5);
168 168
169 char temp_hex_id[128]; 169 char temp_hex_id[128];
170 printf("\nEnter the address of the friend you wish to add (38 bytes HEX format):\n"); 170 printf("\nEnter the address of the friend you wish to add (38 bytes HEX format):\n");
@@ -178,7 +178,7 @@ int main(int argc, char *argv[])
178 } 178 }
179 179
180 uint8_t *bin_id = hex_string_to_bin(temp_hex_id); 180 uint8_t *bin_id = hex_string_to_bin(temp_hex_id);
181 int num = m_addfriend(m, bin_id, (uint8_t *)"Install Gentoo", sizeof("Install Gentoo")); 181 int num = m_addfriend(m, bin_id, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo"));
182 free(bin_id); 182 free(bin_id);
183 183
184 perror("Initialization"); 184 perror("Initialization");
@@ -188,7 +188,7 @@ int main(int argc, char *argv[])
188 getname(m, num, name); 188 getname(m, num, name);
189 printf("%s\n", name); 189 printf("%s\n", name);
190 190
191 m_send_message_generic(m, num, MESSAGE_NORMAL, (uint8_t *)"Test", 5, 0); 191 m_send_message_generic(m, num, MESSAGE_NORMAL, (const uint8_t *)"Test", 5, 0);
192 do_messenger(m, NULL); 192 do_messenger(m, NULL);
193 c_sleep(30); 193 c_sleep(30);
194 FILE *file = fopen("Save.bak", "wb"); 194 FILE *file = fopen("Save.bak", "wb");
diff --git a/testing/av_test.c b/testing/av_test.c
index 35eb3f60..5dc2643c 100644
--- a/testing/av_test.c
+++ b/testing/av_test.c
@@ -84,15 +84,15 @@ struct toxav_thread_data {
84 int32_t sig; 84 int32_t sig;
85}; 85};
86 86
87const char *vdout = "AV Test"; /* Video output */ 87static const char *vdout = "AV Test"; /* Video output */
88PaStream *adout = NULL; /* Audio output */ 88static PaStream *adout = NULL; /* Audio output */
89 89
90typedef struct { 90typedef struct {
91 uint16_t size; 91 uint16_t size;
92 int16_t data[]; 92 int16_t data[];
93} frame; 93} frame;
94 94
95void *pa_write_thread (void *d) 95static void *pa_write_thread (void *d)
96{ 96{
97 /* The purpose of this thread is to make sure Pa_WriteStream will not block 97 /* The purpose of this thread is to make sure Pa_WriteStream will not block
98 * toxav_iterate thread 98 * toxav_iterate thread
@@ -119,21 +119,21 @@ void *pa_write_thread (void *d)
119/** 119/**
120 * Callbacks 120 * Callbacks
121 */ 121 */
122void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool video_enabled, void *user_data) 122static void t_toxav_call_cb(ToxAV *av, uint32_t friend_number, bool audio_enabled, bool video_enabled, void *user_data)
123{ 123{
124 printf("Handling CALL callback\n"); 124 printf("Handling CALL callback\n");
125 ((CallControl *)user_data)->incoming = true; 125 ((CallControl *)user_data)->incoming = true;
126} 126}
127void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_data) 127static void t_toxav_call_state_cb(ToxAV *av, uint32_t friend_number, uint32_t state, void *user_data)
128{ 128{
129 printf("Handling CALL STATE callback: %d\n", state); 129 printf("Handling CALL STATE callback: %d\n", state);
130 ((CallControl *)user_data)->state = state; 130 ((CallControl *)user_data)->state = state;
131} 131}
132void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number, 132static void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number,
133 uint16_t width, uint16_t height, 133 uint16_t width, uint16_t height,
134 uint8_t const *y, uint8_t const *u, uint8_t const *v, 134 uint8_t const *y, uint8_t const *u, uint8_t const *v,
135 int32_t ystride, int32_t ustride, int32_t vstride, 135 int32_t ystride, int32_t ustride, int32_t vstride,
136 void *user_data) 136 void *user_data)
137{ 137{
138 ystride = abs(ystride); 138 ystride = abs(ystride);
139 ustride = abs(ustride); 139 ustride = abs(ustride);
@@ -166,12 +166,12 @@ void t_toxav_receive_video_frame_cb(ToxAV *av, uint32_t friend_number,
166 cvShowImage(vdout, img); 166 cvShowImage(vdout, img);
167 free(img_data); 167 free(img_data);
168} 168}
169void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number, 169static void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number,
170 int16_t const *pcm, 170 int16_t const *pcm,
171 size_t sample_count, 171 size_t sample_count,
172 uint8_t channels, 172 uint8_t channels,
173 uint32_t sampling_rate, 173 uint32_t sampling_rate,
174 void *user_data) 174 void *user_data)
175{ 175{
176 CallControl *cc = user_data; 176 CallControl *cc = user_data;
177 frame *f = malloc(sizeof(uint16_t) + sample_count * sizeof(int16_t) * channels); 177 frame *f = malloc(sizeof(uint16_t) + sample_count * sizeof(int16_t) * channels);
@@ -182,13 +182,14 @@ void t_toxav_receive_audio_frame_cb(ToxAV *av, uint32_t friend_number,
182 free(rb_write(cc->arb, f)); 182 free(rb_write(cc->arb, f));
183 pthread_mutex_unlock(cc->arb_mutex); 183 pthread_mutex_unlock(cc->arb_mutex);
184} 184}
185void t_toxav_bit_rate_status_cb(ToxAV *av, uint32_t friend_number, 185static void t_toxav_bit_rate_status_cb(ToxAV *av, uint32_t friend_number,
186 uint32_t audio_bit_rate, uint32_t video_bit_rate, 186 uint32_t audio_bit_rate, uint32_t video_bit_rate,
187 void *user_data) 187 void *user_data)
188{ 188{
189 printf ("Suggested bit rates: audio: %d video: %d\n", audio_bit_rate, video_bit_rate); 189 printf ("Suggested bit rates: audio: %d video: %d\n", audio_bit_rate, video_bit_rate);
190} 190}
191void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 191static void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length,
192 void *userdata)
192{ 193{
193 if (length == 7 && memcmp("gentoo", data, 7) == 0) { 194 if (length == 7 && memcmp("gentoo", data, 7) == 0) {
194 assert(tox_friend_add_norequest(m, public_key, NULL) != (uint32_t) ~0); 195 assert(tox_friend_add_norequest(m, public_key, NULL) != (uint32_t) ~0);
@@ -197,7 +198,7 @@ void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const uint8_t
197 198
198/** 199/**
199 */ 200 */
200void initialize_tox(Tox **bootstrap, ToxAV **AliceAV, CallControl *AliceCC, ToxAV **BobAV, CallControl *BobCC) 201static void initialize_tox(Tox **bootstrap, ToxAV **AliceAV, CallControl *AliceCC, ToxAV **BobAV, CallControl *BobCC)
201{ 202{
202 Tox *Alice; 203 Tox *Alice;
203 Tox *Bob; 204 Tox *Bob;
@@ -235,7 +236,7 @@ void initialize_tox(Tox **bootstrap, ToxAV **AliceAV, CallControl *AliceCC, ToxA
235 tox_self_get_address(Alice, address); 236 tox_self_get_address(Alice, address);
236 237
237 238
238 assert(tox_friend_add(Bob, address, (uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0); 239 assert(tox_friend_add(Bob, address, (const uint8_t *)"gentoo", 7, NULL) != (uint32_t) ~0);
239 240
240 uint8_t off = 1; 241 uint8_t off = 1;
241 242
@@ -286,7 +287,7 @@ void initialize_tox(Tox **bootstrap, ToxAV **AliceAV, CallControl *AliceCC, ToxA
286 printf("Created 2 instances of ToxAV\n"); 287 printf("Created 2 instances of ToxAV\n");
287 printf("All set after %llu seconds!\n", time(NULL) - cur_time); 288 printf("All set after %llu seconds!\n", time(NULL) - cur_time);
288} 289}
289int iterate_tox(Tox *bootstrap, ToxAV *AliceAV, ToxAV *BobAV, void *userdata) 290static int iterate_tox(Tox *bootstrap, ToxAV *AliceAV, ToxAV *BobAV, void *userdata)
290{ 291{
291 tox_iterate(bootstrap, userdata); 292 tox_iterate(bootstrap, userdata);
292 tox_iterate(toxav_get_tox(AliceAV), userdata); 293 tox_iterate(toxav_get_tox(AliceAV), userdata);
@@ -294,7 +295,7 @@ int iterate_tox(Tox *bootstrap, ToxAV *AliceAV, ToxAV *BobAV, void *userdata)
294 295
295 return MIN(tox_iteration_interval(toxav_get_tox(AliceAV)), tox_iteration_interval(toxav_get_tox(BobAV))); 296 return MIN(tox_iteration_interval(toxav_get_tox(AliceAV)), tox_iteration_interval(toxav_get_tox(BobAV)));
296} 297}
297void *iterate_toxav (void *data) 298static void *iterate_toxav (void *data)
298{ 299{
299 struct toxav_thread_data *data_cast = data; 300 struct toxav_thread_data *data_cast = data;
300#if defined TEST_TRANSFER_V && TEST_TRANSFER_V == 1 301#if defined TEST_TRANSFER_V && TEST_TRANSFER_V == 1
@@ -330,7 +331,7 @@ void *iterate_toxav (void *data)
330 pthread_exit(NULL); 331 pthread_exit(NULL);
331} 332}
332 333
333int send_opencv_img(ToxAV *av, uint32_t friend_number, const IplImage *img) 334static int send_opencv_img(ToxAV *av, uint32_t friend_number, const IplImage *img)
334{ 335{
335 int32_t strides[3] = { 1280, 640, 640 }; 336 int32_t strides[3] = { 1280, 640, 640 };
336 uint8_t *planes[3] = { 337 uint8_t *planes[3] = {
@@ -368,7 +369,7 @@ int send_opencv_img(ToxAV *av, uint32_t friend_number, const IplImage *img)
368 free(planes[2]); 369 free(planes[2]);
369 return rc; 370 return rc;
370} 371}
371int print_audio_devices() 372static int print_audio_devices(void)
372{ 373{
373 int i = 0; 374 int i = 0;
374 375
@@ -382,7 +383,7 @@ int print_audio_devices()
382 383
383 return 0; 384 return 0;
384} 385}
385int print_help (const char *name) 386static int print_help (const char *name)
386{ 387{
387 printf("Usage: %s -[a:v:o:dh]\n" 388 printf("Usage: %s -[a:v:o:dh]\n"
388 "-a <path> audio input file\n" 389 "-a <path> audio input file\n"
diff --git a/testing/dns3_test.c b/testing/dns3_test.c
index 830ecfd8..3151dd99 100644
--- a/testing/dns3_test.c
+++ b/testing/dns3_test.c
@@ -14,7 +14,7 @@
14 14
15#endif 15#endif
16 16
17uint32_t create_packet(uint8_t *packet, uint8_t *string, uint8_t str_len, uint8_t id) 17static uint32_t create_packet(uint8_t *packet, uint8_t *string, uint8_t str_len, uint8_t id)
18{ 18{
19 memset(packet, 0, str_len + 13 + 16); 19 memset(packet, 0, str_len + 13 + 16);
20 packet[0] = id; 20 packet[0] = id;
diff --git a/testing/irc_syncbot.c b/testing/irc_syncbot.c
index 558b3631..874c31f5 100644
--- a/testing/irc_syncbot.c
+++ b/testing/irc_syncbot.c
@@ -27,12 +27,12 @@
27#define IRC_CHANNEL "#tox-real-ontopic" 27#define IRC_CHANNEL "#tox-real-ontopic"
28 28
29//IRC server ip and port. 29//IRC server ip and port.
30uint8_t ip[4] = {127, 0, 0, 1}; 30static uint8_t ip[4] = {127, 0, 0, 1};
31uint16_t port = 6667; 31static uint16_t port = 6667;
32 32
33#define SILENT_TIMEOUT 20 33#define SILENT_TIMEOUT 20
34 34
35int sock; 35static int sock;
36 36
37#define SERVER_CONNECT "NICK "IRC_NAME"\nUSER "IRC_NAME" 8 * :"IRC_NAME"\n" 37#define SERVER_CONNECT "NICK "IRC_NAME"\nUSER "IRC_NAME" 8 * :"IRC_NAME"\n"
38#define CHANNEL_JOIN "JOIN "IRC_CHANNEL"\n" 38#define CHANNEL_JOIN "JOIN "IRC_CHANNEL"\n"
@@ -40,12 +40,12 @@ int sock;
40/* In toxcore/network.c */ 40/* In toxcore/network.c */
41uint64_t current_time_monotonic(void); 41uint64_t current_time_monotonic(void);
42 42
43uint64_t get_monotime_sec(void) 43static uint64_t get_monotime_sec(void)
44{ 44{
45 return current_time_monotonic() / 1000; 45 return current_time_monotonic() / 1000;
46} 46}
47 47
48int reconnect(void) 48static int reconnect(void)
49{ 49{
50 int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 50 int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
51 51
@@ -81,7 +81,7 @@ int reconnect(void)
81#include "../toxcore/tox.h" 81#include "../toxcore/tox.h"
82#include "misc_tools.c" 82#include "misc_tools.c"
83 83
84int current_group = -1; 84static int current_group = -1;
85 85
86static void callback_group_invite(Tox *tox, int fid, uint8_t type, const uint8_t *data, uint16_t length, void *userdata) 86static void callback_group_invite(Tox *tox, int fid, uint8_t type, const uint8_t *data, uint16_t length, void *userdata)
87{ 87{
@@ -90,8 +90,9 @@ static void callback_group_invite(Tox *tox, int fid, uint8_t type, const uint8_t
90 } 90 }
91} 91}
92 92
93void callback_friend_message(Tox *tox, uint32_t fid, TOX_MESSAGE_TYPE type, const uint8_t *message, size_t length, 93static void callback_friend_message(Tox *tox, uint32_t fid, TOX_MESSAGE_TYPE type, const uint8_t *message,
94 void *userdata) 94 size_t length,
95 void *userdata)
95{ 96{
96 if (length == 1 && *message == 'c') { 97 if (length == 1 && *message == 'c') {
97 if (tox_del_groupchat(tox, current_group) == 0) { 98 if (tox_del_groupchat(tox, current_group) == 0) {
@@ -156,7 +157,7 @@ static void copy_groupmessage(Tox *tox, int groupnumber, int friendgroupnumber,
156 } 157 }
157} 158}
158 159
159void send_irc_group(Tox *tox, uint8_t *msg, uint16_t len) 160static void send_irc_group(Tox *tox, uint8_t *msg, uint16_t len)
160{ 161{
161 if (len > 1350 || len == 0 || len == 1) { 162 if (len > 1350 || len == 0 || len == 1) {
162 return; 163 return;
@@ -218,7 +219,7 @@ void send_irc_group(Tox *tox, uint8_t *msg, uint16_t len)
218 tox_group_message_send(tox, current_group, message, length); 219 tox_group_message_send(tox, current_group, message, length);
219} 220}
220 221
221Tox *init_tox(int argc, char *argv[]) 222static Tox *init_tox(int argc, char *argv[])
222{ 223{
223 uint8_t ipv6enabled = 1; /* x */ 224 uint8_t ipv6enabled = 1; /* x */
224 int argvoffset = cmdline_parsefor_ipv46(argc, argv, &ipv6enabled); 225 int argvoffset = cmdline_parsefor_ipv46(argc, argv, &ipv6enabled);
@@ -239,7 +240,7 @@ Tox *init_tox(int argc, char *argv[])
239 exit(1); 240 exit(1);
240 } 241 }
241 242
242 tox_self_set_name(tox, (uint8_t *)IRC_NAME, sizeof(IRC_NAME) - 1, 0); 243 tox_self_set_name(tox, (const uint8_t *)IRC_NAME, sizeof(IRC_NAME) - 1, 0);
243 tox_callback_friend_message(tox, &callback_friend_message); 244 tox_callback_friend_message(tox, &callback_friend_message);
244 tox_callback_group_invite(tox, &callback_group_invite, 0); 245 tox_callback_group_invite(tox, &callback_group_invite, 0);
245 tox_callback_group_message(tox, &copy_groupmessage, 0); 246 tox_callback_group_message(tox, &copy_groupmessage, 0);
@@ -258,7 +259,7 @@ Tox *init_tox(int argc, char *argv[])
258 free(binary_string); 259 free(binary_string);
259 260
260 uint8_t *bin_id = hex_string_to_bin(temp_id); 261 uint8_t *bin_id = hex_string_to_bin(temp_id);
261 uint32_t num = tox_friend_add(tox, bin_id, (uint8_t *)"Install Gentoo", sizeof("Install Gentoo") - 1, 0); 262 uint32_t num = tox_friend_add(tox, bin_id, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo") - 1, 0);
262 free(bin_id); 263 free(bin_id);
263 264
264 if (num == UINT32_MAX) { 265 if (num == UINT32_MAX) {
diff --git a/testing/misc_tools.c b/testing/misc_tools.c
index b667f991..8fdc936c 100644
--- a/testing/misc_tools.c
+++ b/testing/misc_tools.c
@@ -35,7 +35,7 @@
35#endif // TOX_DEBUG 35#endif // TOX_DEBUG
36 36
37// You are responsible for freeing the return value! 37// You are responsible for freeing the return value!
38uint8_t *hex_string_to_bin(char *hex_string) 38uint8_t *hex_string_to_bin(const char *hex_string)
39{ 39{
40 // byte is represented by exactly 2 hex digits, so lenth of binary string 40 // byte is represented by exactly 2 hex digits, so lenth of binary string
41 // is half of that of the hex one. only hex string with even length 41 // is half of that of the hex one. only hex string with even length
@@ -44,7 +44,7 @@ uint8_t *hex_string_to_bin(char *hex_string)
44 // then the last byte just won't be written in 'ret'. 44 // then the last byte just won't be written in 'ret'.
45 size_t i, len = strlen(hex_string) / 2; 45 size_t i, len = strlen(hex_string) / 2;
46 uint8_t *ret = malloc(len); 46 uint8_t *ret = malloc(len);
47 char *pos = hex_string; 47 const char *pos = hex_string;
48 48
49 for (i = 0; i < len; ++i, pos += 2) { 49 for (i = 0; i < len; ++i, pos += 2) {
50 sscanf(pos, "%2hhx", &ret[i]); 50 sscanf(pos, "%2hhx", &ret[i]);
diff --git a/testing/nTox.c b/testing/nTox.c
index fcfbe004..fe62e047 100644
--- a/testing/nTox.c
+++ b/testing/nTox.c
@@ -52,13 +52,16 @@
52#define c_sleep(x) usleep(1000*x) 52#define c_sleep(x) usleep(1000*x)
53#endif 53#endif
54 54
55char lines[HISTORY][STRING_LENGTH]; 55static void new_lines(char const *line);
56uint8_t flag[HISTORY]; 56static void do_refresh(void);
57char input_line[STRING_LENGTH]; 57
58static char lines[HISTORY][STRING_LENGTH];
59static uint8_t flag[HISTORY];
60static char input_line[STRING_LENGTH];
58 61
59/* wrap: continuation mark */ 62/* wrap: continuation mark */
60enum { wrap_cont_len = 3 }; 63enum { wrap_cont_len = 3 };
61const char wrap_cont_str[] = "\n+ "; 64static const char wrap_cont_str[] = "\n+ ";
62 65
63#define STRING_LENGTH_WRAPPED (STRING_LENGTH + 16 * (wrap_cont_len + 1)) 66#define STRING_LENGTH_WRAPPED (STRING_LENGTH + 16 * (wrap_cont_len + 1))
64 67
@@ -66,7 +69,7 @@ const char wrap_cont_str[] = "\n+ ";
66/* undocumented: d (tox_do()) */ 69/* undocumented: d (tox_do()) */
67 70
68/* 251+1 characters */ 71/* 251+1 characters */
69char *help_main = 72static const char *help_main =
70 "[i] Available main commands:\n+ " 73 "[i] Available main commands:\n+ "
71 "/x (to print one's own id)|" 74 "/x (to print one's own id)|"
72 "/s status (to change status, e.g. AFK)|" 75 "/s status (to change status, e.g. AFK)|"
@@ -77,7 +80,7 @@ char *help_main =
77 "/h group (for group related commands)"; 80 "/h group (for group related commands)";
78 81
79/* 190+1 characters */ 82/* 190+1 characters */
80char *help_friend1 = 83static const char *help_friend1 =
81 "[i] Available friend commands (1/2):\n+ " 84 "[i] Available friend commands (1/2):\n+ "
82 "/l list (to list friends)|" 85 "/l list (to list friends)|"
83 "/r friend no. (to remove from the friend list)|" 86 "/r friend no. (to remove from the friend list)|"
@@ -85,14 +88,14 @@ char *help_friend1 =
85 "/a request no. (to accept a friend request)"; 88 "/a request no. (to accept a friend request)";
86 89
87/* 187+1 characters */ 90/* 187+1 characters */
88char *help_friend2 = 91static const char *help_friend2 =
89 "[i] Available friend commands (2/2):\n+ " 92 "[i] Available friend commands (2/2):\n+ "
90 "/m friend no. message (to send a message)|" 93 "/m friend no. message (to send a message)|"
91 "/t friend no. filename (to send a file to a friend)|" 94 "/t friend no. filename (to send a file to a friend)|"
92 "/cf friend no. (to talk to that friend per default)"; 95 "/cf friend no. (to talk to that friend per default)";
93 96
94/* 253+1 characters */ 97/* 253+1 characters */
95char *help_group = 98static const char *help_group =
96 "[i] Available group commands:\n+ " 99 "[i] Available group commands:\n+ "
97 "/g (to create a group)|" 100 "/g (to create a group)|"
98 "/i friend no. group no. (to invite a friend to a group)|" 101 "/i friend no. group no. (to invite a friend to a group)|"
@@ -100,17 +103,17 @@ char *help_group =
100 "/p group no. (to list a group's peers)|" 103 "/p group no. (to list a group's peers)|"
101 "/cg group no. (to talk to that group per default)"; 104 "/cg group no. (to talk to that group per default)";
102 105
103int x, y; 106static int x, y;
104 107
105int conversation_default = 0; 108static int conversation_default = 0;
106 109
107typedef struct { 110typedef struct {
108 uint8_t id[TOX_PUBLIC_KEY_SIZE]; 111 uint8_t id[TOX_PUBLIC_KEY_SIZE];
109 uint8_t accepted; 112 uint8_t accepted;
110} Friend_request; 113} Friend_request;
111 114
112Friend_request pending_requests[256]; 115static Friend_request pending_requests[256];
113uint8_t num_requests = 0; 116static uint8_t num_requests = 0;
114 117
115#define NUM_FILE_SENDERS 64 118#define NUM_FILE_SENDERS 64
116typedef struct { 119typedef struct {
@@ -118,11 +121,12 @@ typedef struct {
118 uint32_t friendnum; 121 uint32_t friendnum;
119 uint32_t filenumber; 122 uint32_t filenumber;
120} File_Sender; 123} File_Sender;
121File_Sender file_senders[NUM_FILE_SENDERS]; 124static File_Sender file_senders[NUM_FILE_SENDERS];
122uint8_t numfilesenders; 125static uint8_t numfilesenders;
123 126
124void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position, size_t length, 127static void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position,
125 void *user_data) 128 size_t length,
129 void *user_data)
126{ 130{
127 unsigned int i; 131 unsigned int i;
128 132
@@ -148,7 +152,7 @@ void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_numb
148} 152}
149 153
150 154
151uint32_t add_filesender(Tox *m, uint16_t friendnum, char *filename) 155static uint32_t add_filesender(Tox *m, uint16_t friendnum, char *filename)
152{ 156{
153 FILE *tempfile = fopen(filename, "rb"); 157 FILE *tempfile = fopen(filename, "rb");
154 158
@@ -206,7 +210,7 @@ static void fraddr_to_str(uint8_t *id_bin, char *id_str)
206 } 210 }
207} 211}
208 212
209void get_id(Tox *m, char *data) 213static void get_id(Tox *m, char *data)
210{ 214{
211 sprintf(data, "[i] ID: "); 215 sprintf(data, "[i] ID: ");
212 int offset = strlen(data); 216 int offset = strlen(data);
@@ -215,7 +219,7 @@ void get_id(Tox *m, char *data)
215 fraddr_to_str(address, data + offset); 219 fraddr_to_str(address, data + offset);
216} 220}
217 221
218int getfriendname_terminated(Tox *m, int friendnum, char *namebuf) 222static int getfriendname_terminated(Tox *m, int friendnum, char *namebuf)
219{ 223{
220 tox_friend_get_name(m, friendnum, (uint8_t *)namebuf, NULL); 224 tox_friend_get_name(m, friendnum, (uint8_t *)namebuf, NULL);
221 int res = tox_friend_get_name_size(m, friendnum, NULL); 225 int res = tox_friend_get_name_size(m, friendnum, NULL);
@@ -229,7 +233,7 @@ int getfriendname_terminated(Tox *m, int friendnum, char *namebuf)
229 return res; 233 return res;
230} 234}
231 235
232void new_lines_mark(char *line, uint8_t special) 236static void new_lines_mark(char const *line, uint8_t special)
233{ 237{
234 int i = 0; 238 int i = 0;
235 239
@@ -244,15 +248,15 @@ void new_lines_mark(char *line, uint8_t special)
244 do_refresh(); 248 do_refresh();
245} 249}
246 250
247void new_lines(char *line) 251static void new_lines(char const *line)
248{ 252{
249 new_lines_mark(line, 0); 253 new_lines_mark(line, 0);
250} 254}
251 255
252 256
253const char ptrn_friend[] = "[i] Friend %i: %s\n+ id: %s"; 257static const char ptrn_friend[] = "[i] Friend %i: %s\n+ id: %s";
254const int id_str_len = TOX_ADDRESS_SIZE * 2 + 3; 258static const int id_str_len = TOX_ADDRESS_SIZE * 2 + 3;
255void print_friendlist(Tox *m) 259static void print_friendlist(Tox *m)
256{ 260{
257 new_lines("[i] Friend List:"); 261 new_lines("[i] Friend List:");
258 262
@@ -328,9 +332,9 @@ static void print_formatted_message(Tox *m, char *message, int friendnum, uint8_
328 332
329/* forward declarations */ 333/* forward declarations */
330static int save_data(Tox *m); 334static int save_data(Tox *m);
331void print_groupchatpeers(Tox *m, int groupnumber); 335static void print_groupchatpeers(Tox *m, int groupnumber);
332 336
333void line_eval(Tox *m, char *line) 337static void line_eval(Tox *m, char *line)
334{ 338{
335 if (line[0] == '/') { 339 if (line[0] == '/') {
336 char inpt_command = line[1]; 340 char inpt_command = line[1];
@@ -353,7 +357,7 @@ void line_eval(Tox *m, char *line)
353 357
354 unsigned char *bin_string = hex_string_to_bin(temp_id); 358 unsigned char *bin_string = hex_string_to_bin(temp_id);
355 TOX_ERR_FRIEND_ADD error; 359 TOX_ERR_FRIEND_ADD error;
356 uint32_t num = tox_friend_add(m, bin_string, (uint8_t *)"Install Gentoo", sizeof("Install Gentoo"), &error); 360 uint32_t num = tox_friend_add(m, bin_string, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo"), &error);
357 free(bin_string); 361 free(bin_string);
358 char numstring[100]; 362 char numstring[100];
359 363
@@ -659,7 +663,7 @@ void line_eval(Tox *m, char *line)
659/* basic wrap, ignores embedded '\t', '\n' or '|' 663/* basic wrap, ignores embedded '\t', '\n' or '|'
660 * inserts continuation markers if there's enough space left, 664 * inserts continuation markers if there's enough space left,
661 * otherwise turns spaces into newlines if possible */ 665 * otherwise turns spaces into newlines if possible */
662void wrap(char output[STRING_LENGTH_WRAPPED], char input[STRING_LENGTH], int line_width) 666static void wrap(char output[STRING_LENGTH_WRAPPED], char input[STRING_LENGTH], int line_width)
663{ 667{
664 size_t i, len = strlen(input); 668 size_t i, len = strlen(input);
665 669
@@ -741,7 +745,7 @@ void wrap(char output[STRING_LENGTH_WRAPPED], char input[STRING_LENGTH], int lin
741 * marks wrapped lines with "+ " in front, which does expand output 745 * marks wrapped lines with "+ " in front, which does expand output
742 * does NOT honor '\t': would require a lot more work (and tab width isn't always 8) 746 * does NOT honor '\t': would require a lot more work (and tab width isn't always 8)
743 */ 747 */
744void wrap_bars(char output[STRING_LENGTH_WRAPPED], char input[STRING_LENGTH], size_t line_width) 748static void wrap_bars(char output[STRING_LENGTH_WRAPPED], char input[STRING_LENGTH], size_t line_width)
745{ 749{
746 size_t len = strlen(input); 750 size_t len = strlen(input);
747 size_t ipos, opos = 0; 751 size_t ipos, opos = 0;
@@ -840,7 +844,7 @@ void wrap_bars(char output[STRING_LENGTH_WRAPPED], char input[STRING_LENGTH], si
840 output[opos] = 0; 844 output[opos] = 0;
841} 845}
842 846
843int count_lines(char *string) 847static int count_lines(char *string)
844{ 848{
845 size_t i, len = strlen(string); 849 size_t i, len = strlen(string);
846 int count = 1; 850 int count = 1;
@@ -854,7 +858,7 @@ int count_lines(char *string)
854 return count; 858 return count;
855} 859}
856 860
857char *appender(char *str, const char c) 861static char *appender(char *str, const char c)
858{ 862{
859 size_t len = strlen(str); 863 size_t len = strlen(str);
860 864
@@ -866,7 +870,7 @@ char *appender(char *str, const char c)
866 return str; 870 return str;
867} 871}
868 872
869void do_refresh() 873static void do_refresh(void)
870{ 874{
871 int count = 0; 875 int count = 0;
872 char wrap_output[STRING_LENGTH_WRAPPED]; 876 char wrap_output[STRING_LENGTH_WRAPPED];
@@ -897,10 +901,10 @@ void do_refresh()
897 refresh(); 901 refresh();
898} 902}
899 903
900void print_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata) 904static void print_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_t length, void *userdata)
901{ 905{
902 new_lines("[i] received friend request with message:"); 906 new_lines("[i] received friend request with message:");
903 new_lines((char *)data); 907 new_lines((const char *)data);
904 char numchar[100]; 908 char numchar[100];
905 sprintf(numchar, "[i] accept request with /a %u", num_requests); 909 sprintf(numchar, "[i] accept request with /a %u", num_requests);
906 new_lines(numchar); 910 new_lines(numchar);
@@ -910,8 +914,8 @@ void print_request(Tox *m, const uint8_t *public_key, const uint8_t *data, size_
910 do_refresh(); 914 do_refresh();
911} 915}
912 916
913void print_message(Tox *m, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const uint8_t *string, size_t length, 917static void print_message(Tox *m, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const uint8_t *string, size_t length,
914 void *userdata) 918 void *userdata)
915{ 919{
916 /* ensure null termination */ 920 /* ensure null termination */
917 uint8_t null_string[length + 1]; 921 uint8_t null_string[length + 1];
@@ -920,7 +924,7 @@ void print_message(Tox *m, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const u
920 print_formatted_message(m, (char *)null_string, friendnumber, 0); 924 print_formatted_message(m, (char *)null_string, friendnumber, 0);
921} 925}
922 926
923void print_nickchange(Tox *m, uint32_t friendnumber, const uint8_t *string, size_t length, void *userdata) 927static void print_nickchange(Tox *m, uint32_t friendnumber, const uint8_t *string, size_t length, void *userdata)
924{ 928{
925 char name[TOX_MAX_NAME_LENGTH + 1]; 929 char name[TOX_MAX_NAME_LENGTH + 1];
926 930
@@ -937,7 +941,7 @@ void print_nickchange(Tox *m, uint32_t friendnumber, const uint8_t *string, size
937 } 941 }
938} 942}
939 943
940void print_statuschange(Tox *m, uint32_t friendnumber, const uint8_t *string, size_t length, void *userdata) 944static void print_statuschange(Tox *m, uint32_t friendnumber, const uint8_t *string, size_t length, void *userdata)
941{ 945{
942 char name[TOX_MAX_NAME_LENGTH + 1]; 946 char name[TOX_MAX_NAME_LENGTH + 1];
943 947
@@ -954,9 +958,9 @@ void print_statuschange(Tox *m, uint32_t friendnumber, const uint8_t *string, si
954 } 958 }
955} 959}
956 960
957static char *data_file_name = NULL; 961static const char *data_file_name = NULL;
958 962
959static Tox *load_data() 963static Tox *load_data(void)
960{ 964{
961 FILE *data_file = fopen(data_file_name, "r"); 965 FILE *data_file = fopen(data_file_name, "r");
962 966
@@ -1024,7 +1028,7 @@ static int save_data(Tox *m)
1024 return res; 1028 return res;
1025} 1029}
1026 1030
1027static int save_data_file(Tox *m, char *path) 1031static int save_data_file(Tox *m, const char *path)
1028{ 1032{
1029 data_file_name = path; 1033 data_file_name = path;
1030 1034
@@ -1035,7 +1039,7 @@ static int save_data_file(Tox *m, char *path)
1035 return 0; 1039 return 0;
1036} 1040}
1037 1041
1038void print_help(char *prog_name) 1042static void print_help(char *prog_name)
1039{ 1043{
1040 printf("nTox %.1f - Command-line tox-core client\n", 0.1); 1044 printf("nTox %.1f - Command-line tox-core client\n", 0.1);
1041 printf("Usage: %s [--ipv4|--ipv6] IP PORT KEY [-f keyfile]\n", prog_name); 1045 printf("Usage: %s [--ipv4|--ipv6] IP PORT KEY [-f keyfile]\n", prog_name);
@@ -1046,7 +1050,7 @@ void print_help(char *prog_name)
1046 puts(" -f keyfile [Optional] Specify a keyfile to read from and write to."); 1050 puts(" -f keyfile [Optional] Specify a keyfile to read from and write to.");
1047} 1051}
1048 1052
1049void print_invite(Tox *m, int friendnumber, uint8_t type, const uint8_t *data, uint16_t length, void *userdata) 1053static void print_invite(Tox *m, int friendnumber, uint8_t type, const uint8_t *data, uint16_t length, void *userdata)
1050{ 1054{
1051 char msg[256]; 1055 char msg[256];
1052 1056
@@ -1060,7 +1064,7 @@ void print_invite(Tox *m, int friendnumber, uint8_t type, const uint8_t *data, u
1060 new_lines(msg); 1064 new_lines(msg);
1061} 1065}
1062 1066
1063void print_groupchatpeers(Tox *m, int groupnumber) 1067static void print_groupchatpeers(Tox *m, int groupnumber)
1064{ 1068{
1065 int num = tox_group_number_peers(m, groupnumber); 1069 int num = tox_group_number_peers(m, groupnumber);
1066 1070
@@ -1109,8 +1113,8 @@ void print_groupchatpeers(Tox *m, int groupnumber)
1109 new_lines_mark(msg, 1); 1113 new_lines_mark(msg, 1);
1110} 1114}
1111 1115
1112void print_groupmessage(Tox *m, int groupnumber, int peernumber, const uint8_t *message, uint16_t length, 1116static void print_groupmessage(Tox *m, int groupnumber, int peernumber, const uint8_t *message, uint16_t length,
1113 void *userdata) 1117 void *userdata)
1114{ 1118{
1115 char msg[256 + length]; 1119 char msg[256 + length];
1116 uint8_t name[TOX_MAX_NAME_LENGTH] = {0}; 1120 uint8_t name[TOX_MAX_NAME_LENGTH] = {0};
@@ -1129,7 +1133,7 @@ void print_groupmessage(Tox *m, int groupnumber, int peernumber, const uint8_t *
1129 1133
1130 new_lines(msg); 1134 new_lines(msg);
1131} 1135}
1132void print_groupnamelistchange(Tox *m, int groupnumber, int peernumber, uint8_t change, void *userdata) 1136static void print_groupnamelistchange(Tox *m, int groupnumber, int peernumber, uint8_t change, void *userdata)
1133{ 1137{
1134 char msg[256]; 1138 char msg[256];
1135 1139
@@ -1175,8 +1179,9 @@ void print_groupnamelistchange(Tox *m, int groupnumber, int peernumber, uint8_t
1175 print_groupchatpeers(m, groupnumber); 1179 print_groupchatpeers(m, groupnumber);
1176 } 1180 }
1177} 1181}
1178void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number, uint32_t type, uint64_t file_size, 1182static void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number, uint32_t type,
1179 const uint8_t *filename, size_t filename_length, void *user_data) 1183 uint64_t file_size,
1184 const uint8_t *filename, size_t filename_length, void *user_data)
1180{ 1185{
1181 if (type != TOX_FILE_KIND_DATA) { 1186 if (type != TOX_FILE_KIND_DATA) {
1182 new_lines("Refused invalid file type."); 1187 new_lines("Refused invalid file type.");
@@ -1196,8 +1201,8 @@ void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number,
1196 } 1201 }
1197} 1202}
1198 1203
1199void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control, 1204static void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control,
1200 void *user_data) 1205 void *user_data)
1201{ 1206{
1202 char msg[512] = {0}; 1207 char msg[512] = {0};
1203 sprintf(msg, "[t] control %u received", control); 1208 sprintf(msg, "[t] control %u received", control);
@@ -1219,8 +1224,8 @@ void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number,
1219 } 1224 }
1220} 1225}
1221 1226
1222void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t position, const uint8_t *data, 1227static void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t position, const uint8_t *data,
1223 size_t length, void *user_data) 1228 size_t length, void *user_data)
1224{ 1229{
1225 if (length == 0) { 1230 if (length == 0) {
1226 char msg[512]; 1231 char msg[512];
@@ -1246,7 +1251,7 @@ void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t p
1246 fclose(pFile); 1251 fclose(pFile);
1247} 1252}
1248 1253
1249void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *userdata) 1254static void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *userdata)
1250{ 1255{
1251 if (status) { 1256 if (status) {
1252 printf("\nOther went online.\n"); 1257 printf("\nOther went online.\n");
@@ -1263,7 +1268,7 @@ void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *
1263 } 1268 }
1264} 1269}
1265 1270
1266char timeout_getch(Tox *m) 1271static char timeout_getch(Tox *m)
1267{ 1272{
1268 char c; 1273 char c;
1269 int slpval = tox_iteration_interval(m); 1274 int slpval = tox_iteration_interval(m);
@@ -1312,7 +1317,7 @@ int main(int argc, char *argv[])
1312 } 1317 }
1313 1318
1314 int on = 0; 1319 int on = 0;
1315 char *filename = "data"; 1320 const char *filename = "data";
1316 char idstring[200] = {0}; 1321 char idstring[200] = {0};
1317 Tox *m; 1322 Tox *m;
1318 1323
diff --git a/testing/nTox.h b/testing/nTox.h
index 44def142..61f86a9b 100644
--- a/testing/nTox.h
+++ b/testing/nTox.h
@@ -36,7 +36,4 @@
36#define STRING_LENGTH 256 36#define STRING_LENGTH 256
37#define HISTORY 50 37#define HISTORY 50
38 38
39void new_lines(char *line);
40void do_refresh();
41
42#endif 39#endif
diff --git a/testing/tox_shell.c b/testing/tox_shell.c
index 77047a44..40890453 100644
--- a/testing/tox_shell.c
+++ b/testing/tox_shell.c
@@ -45,7 +45,7 @@
45 45
46#define c_sleep(x) usleep(1000*x) 46#define c_sleep(x) usleep(1000*x)
47 47
48void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *userdata) 48static void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *userdata)
49{ 49{
50 if (status) { 50 if (status) {
51 printf("\nOther went online.\n"); 51 printf("\nOther went online.\n");
@@ -54,8 +54,8 @@ void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *
54 } 54 }
55} 55}
56 56
57void print_message(Tox *tox, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const uint8_t *string, size_t length, 57static void print_message(Tox *tox, uint32_t friendnumber, TOX_MESSAGE_TYPE type, const uint8_t *string, size_t length,
58 void *userdata) 58 void *userdata)
59{ 59{
60 int master = *((int *)userdata); 60 int master = *((int *)userdata);
61 write(master, string, length); 61 write(master, string, length);
@@ -129,7 +129,7 @@ int main(int argc, char *argv[])
129 } 129 }
130 130
131 uint8_t *bin_id = hex_string_to_bin(temp_id); 131 uint8_t *bin_id = hex_string_to_bin(temp_id);
132 uint32_t num = tox_friend_add(tox, bin_id, (uint8_t *)"Install Gentoo", sizeof("Install Gentoo"), 0); 132 uint32_t num = tox_friend_add(tox, bin_id, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo"), 0);
133 free(bin_id); 133 free(bin_id);
134 134
135 if (num == UINT32_MAX) { 135 if (num == UINT32_MAX) {
diff --git a/testing/tox_sync.c b/testing/tox_sync.c
index f30ce059..36b01cf4 100644
--- a/testing/tox_sync.c
+++ b/testing/tox_sync.c
@@ -49,12 +49,13 @@ typedef struct {
49 uint32_t friendnum; 49 uint32_t friendnum;
50 uint32_t filenumber; 50 uint32_t filenumber;
51} File_t; 51} File_t;
52File_t file_senders[NUM_FILE_SENDERS]; 52static File_t file_senders[NUM_FILE_SENDERS];
53File_t file_recv[NUM_FILE_SENDERS]; 53static File_t file_recv[NUM_FILE_SENDERS];
54uint8_t numfilesenders; 54static uint8_t numfilesenders;
55 55
56void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position, size_t length, 56static void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position,
57 void *user_data) 57 size_t length,
58 void *user_data)
58{ 59{
59 unsigned int i; 60 unsigned int i;
60 61
@@ -78,7 +79,7 @@ void tox_file_chunk_request(Tox *tox, uint32_t friend_number, uint32_t file_numb
78} 79}
79 80
80 81
81uint32_t add_filesender(Tox *m, uint16_t friendnum, char *filename) 82static uint32_t add_filesender(Tox *m, uint16_t friendnum, char *filename)
82{ 83{
83 FILE *tempfile = fopen(filename, "rb"); 84 FILE *tempfile = fopen(filename, "rb");
84 85
@@ -103,7 +104,7 @@ uint32_t add_filesender(Tox *m, uint16_t friendnum, char *filename)
103 return filenum; 104 return filenum;
104} 105}
105 106
106void kill_filesender(Tox *m, uint32_t filenum) 107static void kill_filesender(Tox *m, uint32_t filenum)
107{ 108{
108 uint32_t i; 109 uint32_t i;
109 110
@@ -114,7 +115,7 @@ void kill_filesender(Tox *m, uint32_t filenum)
114 } 115 }
115 } 116 }
116} 117}
117int not_sending() 118static int not_sending(void)
118{ 119{
119 uint32_t i; 120 uint32_t i;
120 121
@@ -129,8 +130,9 @@ int not_sending()
129 130
130static char path[1024]; 131static char path[1024];
131 132
132void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number, uint32_t type, uint64_t file_size, 133static void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number, uint32_t type,
133 const uint8_t *filename, size_t filename_length, void *user_data) 134 uint64_t file_size,
135 const uint8_t *filename, size_t filename_length, void *user_data)
134{ 136{
135 if (type != TOX_FILE_KIND_DATA) { 137 if (type != TOX_FILE_KIND_DATA) {
136 printf("Refused invalid file type."); 138 printf("Refused invalid file type.");
@@ -142,7 +144,7 @@ void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number,
142 uint32_t i; 144 uint32_t i;
143 uint16_t rm = 0; 145 uint16_t rm = 0;
144 146
145 for (i = 0; i < strlen((char *)filename); ++i) { 147 for (i = 0; i < strlen((const char *)filename); ++i) {
146 if (filename[i] == '/') { 148 if (filename[i] == '/') {
147 rm = i; 149 rm = i;
148 } 150 }
@@ -175,8 +177,8 @@ void file_request_accept(Tox *tox, uint32_t friend_number, uint32_t file_number,
175 } 177 }
176} 178}
177 179
178void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control, 180static void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control,
179 void *user_data) 181 void *user_data)
180{ 182{
181 if (file_number < (1 << 15) && (control == TOX_FILE_CONTROL_CANCEL)) { 183 if (file_number < (1 << 15) && (control == TOX_FILE_CONTROL_CANCEL)) {
182 kill_filesender(tox, file_number); 184 kill_filesender(tox, file_number);
@@ -192,8 +194,8 @@ void file_print_control(Tox *tox, uint32_t friend_number, uint32_t file_number,
192 } 194 }
193} 195}
194 196
195void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t position, const uint8_t *data, 197static void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t position, const uint8_t *data,
196 size_t length, void *user_data) 198 size_t length, void *user_data)
197{ 199{
198 uint8_t file_index = (filenumber >> 16) - 1; 200 uint8_t file_index = (filenumber >> 16) - 1;
199 201
@@ -214,7 +216,7 @@ void write_file(Tox *tox, uint32_t friendnumber, uint32_t filenumber, uint64_t p
214 } 216 }
215} 217}
216 218
217void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *userdata) 219static void print_online(Tox *tox, uint32_t friendnumber, TOX_CONNECTION status, void *userdata)
218{ 220{
219 if (status) { 221 if (status) {
220 printf("\nOther went online.\n"); 222 printf("\nOther went online.\n");
@@ -284,7 +286,7 @@ int main(int argc, char *argv[])
284 } 286 }
285 287
286 uint8_t *bin_id = hex_string_to_bin(temp_id); 288 uint8_t *bin_id = hex_string_to_bin(temp_id);
287 uint32_t num = tox_friend_add(tox, bin_id, (uint8_t *)"Install Gentoo", sizeof("Install Gentoo"), 0); 289 uint32_t num = tox_friend_add(tox, bin_id, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo"), 0);
288 free(bin_id); 290 free(bin_id);
289 291
290 if (num == UINT32_MAX) { 292 if (num == UINT32_MAX) {
diff --git a/toxav/bwcontroller.c b/toxav/bwcontroller.c
index a38d71c0..5619c715 100644
--- a/toxav/bwcontroller.c
+++ b/toxav/bwcontroller.c
@@ -177,7 +177,7 @@ void send_update(BWController *bwc)
177 bwc->cycle.lsu = current_time_monotonic(); 177 bwc->cycle.lsu = current_time_monotonic();
178 } 178 }
179} 179}
180int on_update (BWController *bwc, struct BWCMessage *msg) 180static int on_update (BWController *bwc, struct BWCMessage *msg)
181{ 181{
182 LOGGER_DEBUG(bwc->m->log, "%p Got update from peer", bwc); 182 LOGGER_DEBUG(bwc->m->log, "%p Got update from peer", bwc);
183 183
diff --git a/toxav/msi.c b/toxav/msi.c
index a62bdb35..76c727a9 100644
--- a/toxav/msi.c
+++ b/toxav/msi.c
@@ -682,7 +682,8 @@ void handle_init (MSICall *call, const MSIMessage *msg)
682 } 682 }
683 break; 683 break;
684 684
685 default: { 685 case msi_CallRequested:
686 case msi_CallRequesting: {
686 LOGGER_WARNING(call->session->messenger->log, "Session: %p Invalid state on 'init'"); 687 LOGGER_WARNING(call->session->messenger->log, "Session: %p Invalid state on 'init'");
687 call->error = msi_EInvalidState; 688 call->error = msi_EInvalidState;
688 goto FAILURE; 689 goto FAILURE;
diff --git a/toxav/rtp.c b/toxav/rtp.c
index 38e64dd7..6e0c22b2 100644
--- a/toxav/rtp.c
+++ b/toxav/rtp.c
@@ -191,7 +191,7 @@ int rtp_send_data (RTPSession *session, const uint8_t *data, uint16_t length)
191} 191}
192 192
193 193
194bool chloss (const RTPSession *session, const struct RTPHeader *header) 194static bool chloss (const RTPSession *session, const struct RTPHeader *header)
195{ 195{
196 if (ntohl(header->timestamp) < session->rtimestamp) { 196 if (ntohl(header->timestamp) < session->rtimestamp) {
197 uint16_t hosq, lost = 0; 197 uint16_t hosq, lost = 0;
@@ -213,7 +213,7 @@ bool chloss (const RTPSession *session, const struct RTPHeader *header)
213 213
214 return false; 214 return false;
215} 215}
216struct RTPMessage *new_message (size_t allocate_len, const uint8_t *data, uint16_t data_length) 216static struct RTPMessage *new_message (size_t allocate_len, const uint8_t *data, uint16_t data_length)
217{ 217{
218 assert(allocate_len >= data_length); 218 assert(allocate_len >= data_length);
219 219
@@ -246,7 +246,7 @@ int handle_rtp_packet (Messenger *m, uint32_t friendnumber, const uint8_t *data,
246 return -1; 246 return -1;
247 } 247 }
248 248
249 const struct RTPHeader *header = (struct RTPHeader *) data; 249 const struct RTPHeader *header = (const struct RTPHeader *) data;
250 250
251 if (header->pt != session->payload_type % 128) { 251 if (header->pt != session->payload_type % 128) {
252 LOGGER_WARNING(m->log, "Invalid payload type with the session"); 252 LOGGER_WARNING(m->log, "Invalid payload type with the session");
diff --git a/toxcore/DHT.c b/toxcore/DHT.c
index ac94a36e..2e475d01 100644
--- a/toxcore/DHT.c
+++ b/toxcore/DHT.c
@@ -2136,6 +2136,7 @@ static void do_NAT(DHT *dht)
2136#define CHECK_TYPE_TEST_REQ 4 2136#define CHECK_TYPE_TEST_REQ 4
2137#define CHECK_TYPE_TEST_RES 5 2137#define CHECK_TYPE_TEST_RES 5
2138 2138
2139#if DHT_HARDENING
2139static int send_hardening_req(DHT *dht, Node_format *sendto, uint8_t type, uint8_t *contents, uint16_t length) 2140static int send_hardening_req(DHT *dht, Node_format *sendto, uint8_t type, uint8_t *contents, uint16_t length)
2140{ 2141{
2141 if (length > HARDREQ_DATA_SIZE - 1) { 2142 if (length > HARDREQ_DATA_SIZE - 1) {
@@ -2164,6 +2165,7 @@ static int send_hardening_getnode_req(DHT *dht, Node_format *dest, Node_format *
2164 memcpy(data + sizeof(Node_format), search_id, crypto_box_PUBLICKEYBYTES); 2165 memcpy(data + sizeof(Node_format), search_id, crypto_box_PUBLICKEYBYTES);
2165 return send_hardening_req(dht, dest, CHECK_TYPE_GETNODE_REQ, data, sizeof(Node_format) + crypto_box_PUBLICKEYBYTES); 2166 return send_hardening_req(dht, dest, CHECK_TYPE_GETNODE_REQ, data, sizeof(Node_format) + crypto_box_PUBLICKEYBYTES);
2166} 2167}
2168#endif
2167 2169
2168/* Send a get node hardening response */ 2170/* Send a get node hardening response */
2169static int send_hardening_getnode_res(const DHT *dht, const Node_format *sendto, const uint8_t *queried_client_id, 2171static int send_hardening_getnode_res(const DHT *dht, const Node_format *sendto, const uint8_t *queried_client_id,
@@ -2316,10 +2318,11 @@ static int handle_hardening(void *object, IP_Port source, const uint8_t *source_
2316 return 1; 2318 return 1;
2317} 2319}
2318 2320
2321#if DHT_HARDENING
2319/* Return a random node from all the nodes we are connected to. 2322/* Return a random node from all the nodes we are connected to.
2320 * TODO: improve this function. 2323 * TODO: improve this function.
2321 */ 2324 */
2322Node_format random_node(DHT *dht, sa_family_t sa_family) 2325static Node_format random_node(DHT *dht, sa_family_t sa_family)
2323{ 2326{
2324 uint8_t id[crypto_box_PUBLICKEYBYTES]; 2327 uint8_t id[crypto_box_PUBLICKEYBYTES];
2325 uint32_t i; 2328 uint32_t i;
@@ -2339,12 +2342,13 @@ Node_format random_node(DHT *dht, sa_family_t sa_family)
2339 2342
2340 return nodes_list[rand() % num_nodes]; 2343 return nodes_list[rand() % num_nodes];
2341} 2344}
2345#endif
2342 2346
2343/* Put up to max_num nodes in nodes from the closelist. 2347/* Put up to max_num nodes in nodes from the closelist.
2344 * 2348 *
2345 * return the number of nodes. 2349 * return the number of nodes.
2346 */ 2350 */
2347uint16_t list_nodes(Client_data *list, unsigned int length, Node_format *nodes, uint16_t max_num) 2351static uint16_t list_nodes(Client_data *list, unsigned int length, Node_format *nodes, uint16_t max_num)
2348{ 2352{
2349 if (max_num == 0) { 2353 if (max_num == 0) {
2350 return 0; 2354 return 0;
@@ -2417,7 +2421,8 @@ uint16_t closelist_nodes(DHT *dht, Node_format *nodes, uint16_t max_num)
2417 return list_nodes(dht->close_clientlist, LCLIENT_LIST, nodes, max_num); 2421 return list_nodes(dht->close_clientlist, LCLIENT_LIST, nodes, max_num);
2418} 2422}
2419 2423
2420void do_hardening(DHT *dht) 2424#if DHT_HARDENING
2425static void do_hardening(DHT *dht)
2421{ 2426{
2422 uint32_t i; 2427 uint32_t i;
2423 2428
@@ -2469,6 +2474,7 @@ void do_hardening(DHT *dht)
2469 //TODO: add the 2 other testers. 2474 //TODO: add the 2 other testers.
2470 } 2475 }
2471} 2476}
2477#endif
2472 2478
2473/*----------------------------------------------------------------------------------*/ 2479/*----------------------------------------------------------------------------------*/
2474 2480
@@ -2589,7 +2595,9 @@ void do_DHT(DHT *dht)
2589 do_DHT_friends(dht); 2595 do_DHT_friends(dht);
2590 do_NAT(dht); 2596 do_NAT(dht);
2591 do_to_ping(dht->ping); 2597 do_to_ping(dht->ping);
2592 //do_hardening(dht); 2598#if DHT_HARDENING
2599 do_hardening(dht);
2600#endif
2593#ifdef ENABLE_ASSOC_DHT 2601#ifdef ENABLE_ASSOC_DHT
2594 2602
2595 if (dht->assoc) 2603 if (dht->assoc)
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c
index 472ddd9e..7ec2ad01 100644
--- a/toxcore/Messenger.c
+++ b/toxcore/Messenger.c
@@ -56,7 +56,7 @@ static uint8_t friend_not_valid(const Messenger *m, int32_t friendnumber)
56 * 56 *
57 * return -1 if realloc fails. 57 * return -1 if realloc fails.
58 */ 58 */
59int realloc_friendlist(Messenger *m, uint32_t num) 59static int realloc_friendlist(Messenger *m, uint32_t num)
60{ 60{
61 if (num == 0) { 61 if (num == 0) {
62 free(m->friendlist); 62 free(m->friendlist);
@@ -1191,8 +1191,8 @@ long int new_filesender(const Messenger *m, int32_t friendnumber, uint32_t file_
1191 return i; 1191 return i;
1192} 1192}
1193 1193
1194int send_file_control_packet(const Messenger *m, int32_t friendnumber, uint8_t send_receive, uint8_t filenumber, 1194static int send_file_control_packet(const Messenger *m, int32_t friendnumber, uint8_t send_receive, uint8_t filenumber,
1195 uint8_t control_type, uint8_t *data, uint16_t data_length) 1195 uint8_t control_type, uint8_t *data, uint16_t data_length)
1196{ 1196{
1197 if ((unsigned int)(1 + 3 + data_length) > MAX_CRYPTO_DATA_SIZE) { 1197 if ((unsigned int)(1 + 3 + data_length) > MAX_CRYPTO_DATA_SIZE) {
1198 return -1; 1198 return -1;
@@ -2845,7 +2845,7 @@ static int messenger_load_state_callback(void *outer, const uint8_t *data, uint3
2845 switch (type) { 2845 switch (type) {
2846 case MESSENGER_STATE_TYPE_NOSPAMKEYS: 2846 case MESSENGER_STATE_TYPE_NOSPAMKEYS:
2847 if (length == crypto_box_PUBLICKEYBYTES + crypto_box_SECRETKEYBYTES + sizeof(uint32_t)) { 2847 if (length == crypto_box_PUBLICKEYBYTES + crypto_box_SECRETKEYBYTES + sizeof(uint32_t)) {
2848 set_nospam(&(m->fr), *(uint32_t *)data); 2848 set_nospam(&(m->fr), *(const uint32_t *)data);
2849 load_secret_key(m->net_crypto, (&data[sizeof(uint32_t)]) + crypto_box_PUBLICKEYBYTES); 2849 load_secret_key(m->net_crypto, (&data[sizeof(uint32_t)]) + crypto_box_PUBLICKEYBYTES);
2850 2850
2851 if (public_key_cmp((&data[sizeof(uint32_t)]), m->net_crypto->self_public_key) != 0) { 2851 if (public_key_cmp((&data[sizeof(uint32_t)]), m->net_crypto->self_public_key) != 0) {
diff --git a/toxcore/group.c b/toxcore/group.c
index f1086657..dbfb31cd 100644
--- a/toxcore/group.c
+++ b/toxcore/group.c
@@ -1188,7 +1188,7 @@ static unsigned int send_message_group(const Group_Chats *g_c, int groupnumber,
1188 uint16_t len); 1188 uint16_t len);
1189 1189
1190#define GROUP_MESSAGE_PING_ID 0 1190#define GROUP_MESSAGE_PING_ID 0
1191int group_ping_send(const Group_Chats *g_c, int groupnumber) 1191static int group_ping_send(const Group_Chats *g_c, int groupnumber)
1192{ 1192{
1193 if (send_message_group(g_c, groupnumber, GROUP_MESSAGE_PING_ID, 0, 0)) { 1193 if (send_message_group(g_c, groupnumber, GROUP_MESSAGE_PING_ID, 0, 0)) {
1194 return 0; 1194 return 0;
@@ -1203,8 +1203,8 @@ int group_ping_send(const Group_Chats *g_c, int groupnumber)
1203 * return 0 on success 1203 * return 0 on success
1204 * return -1 on failure 1204 * return -1 on failure
1205 */ 1205 */
1206int group_new_peer_send(const Group_Chats *g_c, int groupnumber, uint16_t peer_num, const uint8_t *real_pk, 1206static int group_new_peer_send(const Group_Chats *g_c, int groupnumber, uint16_t peer_num, const uint8_t *real_pk,
1207 uint8_t *temp_pk) 1207 uint8_t *temp_pk)
1208{ 1208{
1209 uint8_t packet[GROUP_MESSAGE_NEW_PEER_LENGTH]; 1209 uint8_t packet[GROUP_MESSAGE_NEW_PEER_LENGTH];
1210 1210
diff --git a/toxcore/net_crypto.c b/toxcore/net_crypto.c
index 0d8fabac..e09d7444 100644
--- a/toxcore/net_crypto.c
+++ b/toxcore/net_crypto.c
@@ -458,7 +458,7 @@ static int add_ip_port_connection(Net_Crypto *c, int crypt_connection_id, IP_Por
458 * return IP_Port with family 0 on failure. 458 * return IP_Port with family 0 on failure.
459 * return IP_Port on success. 459 * return IP_Port on success.
460 */ 460 */
461IP_Port return_ip_port_connection(Net_Crypto *c, int crypt_connection_id) 461static IP_Port return_ip_port_connection(Net_Crypto *c, int crypt_connection_id)
462{ 462{
463 IP_Port empty; 463 IP_Port empty;
464 empty.ip.family = 0; 464 empty.ip.family = 0;
diff --git a/toxcore/network.c b/toxcore/network.c
index 05867adc..2097078a 100644
--- a/toxcore/network.c
+++ b/toxcore/network.c
@@ -268,11 +268,11 @@ uint64_t current_time_monotonic(void)
268 268
269static uint32_t data_0(uint16_t buflen, const uint8_t *buffer) 269static uint32_t data_0(uint16_t buflen, const uint8_t *buffer)
270{ 270{
271 return buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0; 271 return buflen > 4 ? ntohl(*(const uint32_t *)&buffer[1]) : 0;
272} 272}
273static uint32_t data_1(uint16_t buflen, const uint8_t *buffer) 273static uint32_t data_1(uint16_t buflen, const uint8_t *buffer)
274{ 274{
275 return buflen > 7 ? ntohl(*(uint32_t *)&buffer[5]) : 0; 275 return buflen > 7 ? ntohl(*(const uint32_t *)&buffer[5]) : 0;
276} 276}
277 277
278static void loglogdata(Logger *log, const char *message, const uint8_t *buffer, 278static void loglogdata(Logger *log, const char *message, const uint8_t *buffer,
@@ -359,7 +359,7 @@ int sendpacket(Networking_Core *net, IP_Port ip_port, const uint8_t *data, uint1
359 return -1; 359 return -1;
360 } 360 }
361 361
362 int res = sendto(net->sock, (char *) data, length, 0, (struct sockaddr *)&addr, addrsize); 362 int res = sendto(net->sock, (const char *) data, length, 0, (struct sockaddr *)&addr, addrsize);
363 363
364 loglogdata(net->log, "O=>", data, length, ip_port, res); 364 loglogdata(net->log, "O=>", data, length, ip_port, res);
365 365
@@ -874,13 +874,13 @@ const char *ip_ntoa(const IP *ip)
874 if (ip) { 874 if (ip) {
875 if (ip->family == AF_INET) { 875 if (ip->family == AF_INET) {
876 /* returns standard quad-dotted notation */ 876 /* returns standard quad-dotted notation */
877 struct in_addr *addr = (struct in_addr *)&ip->ip4; 877 const struct in_addr *addr = (const struct in_addr *)&ip->ip4;
878 878
879 addresstext[0] = 0; 879 addresstext[0] = 0;
880 inet_ntop(ip->family, addr, addresstext, sizeof(addresstext)); 880 inet_ntop(ip->family, addr, addresstext, sizeof(addresstext));
881 } else if (ip->family == AF_INET6) { 881 } else if (ip->family == AF_INET6) {
882 /* returns hex-groups enclosed into square brackets */ 882 /* returns hex-groups enclosed into square brackets */
883 struct in6_addr *addr = (struct in6_addr *)&ip->ip6; 883 const struct in6_addr *addr = (const struct in6_addr *)&ip->ip6;
884 884
885 addresstext[0] = '['; 885 addresstext[0] = '[';
886 inet_ntop(ip->family, addr, &addresstext[1], sizeof(addresstext) - 3); 886 inet_ntop(ip->family, addr, &addresstext[1], sizeof(addresstext) - 3);
@@ -921,12 +921,12 @@ int ip_parse_addr(const IP *ip, char *address, size_t length)
921 } 921 }
922 922
923 if (ip->family == AF_INET) { 923 if (ip->family == AF_INET) {
924 struct in_addr *addr = (struct in_addr *)&ip->ip4; 924 const struct in_addr *addr = (const struct in_addr *)&ip->ip4;
925 return inet_ntop(ip->family, addr, address, length) != NULL; 925 return inet_ntop(ip->family, addr, address, length) != NULL;
926 } 926 }
927 927
928 if (ip->family == AF_INET6) { 928 if (ip->family == AF_INET6) {
929 struct in6_addr *addr = (struct in6_addr *)&ip->ip6; 929 const struct in6_addr *addr = (const struct in6_addr *)&ip->ip6;
930 return inet_ntop(ip->family, addr, address, length) != NULL; 930 return inet_ntop(ip->family, addr, address, length) != NULL;
931 } 931 }
932 932
diff --git a/toxcore/util.c b/toxcore/util.c
index 9f1a7e28..92ad4510 100644
--- a/toxcore/util.c
+++ b/toxcore/util.c
@@ -38,7 +38,7 @@
38static uint64_t unix_time_value; 38static uint64_t unix_time_value;
39static uint64_t unix_base_time_value; 39static uint64_t unix_base_time_value;
40 40
41void unix_time_update() 41void unix_time_update(void)
42{ 42{
43 if (unix_base_time_value == 0) { 43 if (unix_base_time_value == 0) {
44 unix_base_time_value = ((uint64_t)time(NULL) - (current_time_monotonic() / 1000ULL)); 44 unix_base_time_value = ((uint64_t)time(NULL) - (current_time_monotonic() / 1000ULL));
@@ -47,7 +47,7 @@ void unix_time_update()
47 unix_time_value = (current_time_monotonic() / 1000ULL) + unix_base_time_value; 47 unix_time_value = (current_time_monotonic() / 1000ULL) + unix_base_time_value;
48} 48}
49 49
50uint64_t unix_time() 50uint64_t unix_time(void)
51{ 51{
52 return unix_time_value; 52 return unix_time_value;
53} 53}
diff --git a/toxcore/util.h b/toxcore/util.h
index 17b1a27b..840f0a3e 100644
--- a/toxcore/util.h
+++ b/toxcore/util.h
@@ -32,8 +32,8 @@
32#define MIN(a,b) (((a)<(b))?(a):(b)) 32#define MIN(a,b) (((a)<(b))?(a):(b))
33#define PAIR(TYPE1__, TYPE2__) struct { TYPE1__ first; TYPE2__ second; } 33#define PAIR(TYPE1__, TYPE2__) struct { TYPE1__ first; TYPE2__ second; }
34 34
35void unix_time_update(); 35void unix_time_update(void);
36uint64_t unix_time(); 36uint64_t unix_time(void);
37int is_timeout(uint64_t timestamp, uint64_t timeout); 37int is_timeout(uint64_t timestamp, uint64_t timeout);
38 38
39 39