diff options
Diffstat (limited to 'toxcore/onion_client.c')
-rw-r--r-- | toxcore/onion_client.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/toxcore/onion_client.c b/toxcore/onion_client.c index 60a80bc6..7494ea94 100644 --- a/toxcore/onion_client.c +++ b/toxcore/onion_client.c | |||
@@ -701,7 +701,8 @@ static int client_add_to_list(Onion_Client *onion_c, uint32_t num, const uint8_t | |||
701 | 701 | ||
702 | sort_onion_node_list(list_nodes, list_length, onion_c->mono_time, reference_id); | 702 | sort_onion_node_list(list_nodes, list_length, onion_c->mono_time, reference_id); |
703 | 703 | ||
704 | int index = -1, stored = 0; | 704 | int index = -1; |
705 | int stored = 0; | ||
705 | unsigned int i; | 706 | unsigned int i; |
706 | 707 | ||
707 | if (onion_node_timed_out(&list_nodes[0], onion_c->mono_time) | 708 | if (onion_node_timed_out(&list_nodes[0], onion_c->mono_time) |
@@ -1046,10 +1047,12 @@ int send_onion_data(Onion_Client *onion_c, int friend_num, const uint8_t *data, | |||
1046 | return -1; | 1047 | return -1; |
1047 | } | 1048 | } |
1048 | 1049 | ||
1049 | unsigned int i, good_nodes[MAX_ONION_CLIENTS], num_good = 0, num_nodes = 0; | 1050 | unsigned int good_nodes[MAX_ONION_CLIENTS]; |
1051 | unsigned int num_good = 0; | ||
1052 | unsigned int num_nodes = 0; | ||
1050 | Onion_Node *list_nodes = onion_c->friends_list[friend_num].clients_list; | 1053 | Onion_Node *list_nodes = onion_c->friends_list[friend_num].clients_list; |
1051 | 1054 | ||
1052 | for (i = 0; i < MAX_ONION_CLIENTS; ++i) { | 1055 | for (unsigned int i = 0; i < MAX_ONION_CLIENTS; ++i) { |
1053 | if (onion_node_timed_out(&list_nodes[i], onion_c->mono_time)) { | 1056 | if (onion_node_timed_out(&list_nodes[i], onion_c->mono_time)) { |
1054 | continue; | 1057 | continue; |
1055 | } | 1058 | } |
@@ -1081,7 +1084,7 @@ int send_onion_data(Onion_Client *onion_c, int friend_num, const uint8_t *data, | |||
1081 | 1084 | ||
1082 | unsigned int good = 0; | 1085 | unsigned int good = 0; |
1083 | 1086 | ||
1084 | for (i = 0; i < num_good; ++i) { | 1087 | for (unsigned int i = 0; i < num_good; ++i) { |
1085 | Onion_Path path; | 1088 | Onion_Path path; |
1086 | 1089 | ||
1087 | if (random_path(onion_c, &onion_c->onion_paths_friends, -1, &path) == -1) { | 1090 | if (random_path(onion_c, &onion_c->onion_paths_friends, -1, &path) == -1) { |
@@ -1210,7 +1213,8 @@ static int send_dhtpk_announce(Onion_Client *onion_c, uint16_t friend_num, uint8 | |||
1210 | } | 1213 | } |
1211 | } | 1214 | } |
1212 | 1215 | ||
1213 | int num1 = -1, num2 = -1; | 1216 | int num1 = -1; |
1217 | int num2 = -1; | ||
1214 | 1218 | ||
1215 | if (onion_dht_both != 1) { | 1219 | if (onion_dht_both != 1) { |
1216 | num1 = send_onion_data(onion_c, friend_num, data, DHTPK_DATA_MIN_LENGTH + nodes_len); | 1220 | num1 = send_onion_data(onion_c, friend_num, data, DHTPK_DATA_MIN_LENGTH + nodes_len); |
@@ -1289,9 +1293,9 @@ int onion_addfriend(Onion_Client *onion_c, const uint8_t *public_key) | |||
1289 | return num; | 1293 | return num; |
1290 | } | 1294 | } |
1291 | 1295 | ||
1292 | unsigned int i, index = -1; | 1296 | unsigned int index = -1; |
1293 | 1297 | ||
1294 | for (i = 0; i < onion_c->num_friends; ++i) { | 1298 | for (unsigned int i = 0; i < onion_c->num_friends; ++i) { |
1295 | if (onion_c->friends_list[i].status == 0) { | 1299 | if (onion_c->friends_list[i].status == 0) { |
1296 | index = i; | 1300 | index = i; |
1297 | break; | 1301 | break; |
@@ -1659,10 +1663,10 @@ void oniondata_registerhandler(Onion_Client *onion_c, uint8_t byte, oniondata_ha | |||
1659 | 1663 | ||
1660 | static void do_announce(Onion_Client *onion_c) | 1664 | static void do_announce(Onion_Client *onion_c) |
1661 | { | 1665 | { |
1662 | unsigned int i, count = 0; | 1666 | unsigned int count = 0; |
1663 | Onion_Node *list_nodes = onion_c->clients_announce_list; | 1667 | Onion_Node *list_nodes = onion_c->clients_announce_list; |
1664 | 1668 | ||
1665 | for (i = 0; i < MAX_ONION_CLIENTS_ANNOUNCE; ++i) { | 1669 | for (unsigned int i = 0; i < MAX_ONION_CLIENTS_ANNOUNCE; ++i) { |
1666 | if (onion_node_timed_out(&list_nodes[i], onion_c->mono_time)) { | 1670 | if (onion_node_timed_out(&list_nodes[i], onion_c->mono_time)) { |
1667 | continue; | 1671 | continue; |
1668 | } | 1672 | } |
@@ -1735,7 +1739,7 @@ static void do_announce(Onion_Client *onion_c) | |||
1735 | 1739 | ||
1736 | if (count <= random_u32() % MAX_ONION_CLIENTS_ANNOUNCE) { | 1740 | if (count <= random_u32() % MAX_ONION_CLIENTS_ANNOUNCE) { |
1737 | if (num_nodes != 0) { | 1741 | if (num_nodes != 0) { |
1738 | for (i = 0; i < (MAX_ONION_CLIENTS_ANNOUNCE / 2); ++i) { | 1742 | for (unsigned int i = 0; i < (MAX_ONION_CLIENTS_ANNOUNCE / 2); ++i) { |
1739 | const uint32_t num = random_u32() % num_nodes; | 1743 | const uint32_t num = random_u32() % num_nodes; |
1740 | client_send_announce_request(onion_c, 0, path_nodes[num].ip_port, path_nodes[num].public_key, nullptr, -1); | 1744 | client_send_announce_request(onion_c, 0, path_nodes[num].ip_port, path_nodes[num].public_key, nullptr, -1); |
1741 | } | 1745 | } |
@@ -1749,7 +1753,8 @@ static void do_announce(Onion_Client *onion_c) | |||
1749 | */ | 1753 | */ |
1750 | static int onion_isconnected(const Onion_Client *onion_c) | 1754 | static int onion_isconnected(const Onion_Client *onion_c) |
1751 | { | 1755 | { |
1752 | unsigned int i, num = 0, announced = 0; | 1756 | unsigned int num = 0; |
1757 | unsigned int announced = 0; | ||
1753 | 1758 | ||
1754 | if (mono_time_is_timeout(onion_c->mono_time, onion_c->last_packet_recv, ONION_OFFLINE_TIMEOUT)) { | 1759 | if (mono_time_is_timeout(onion_c->mono_time, onion_c->last_packet_recv, ONION_OFFLINE_TIMEOUT)) { |
1755 | return 0; | 1760 | return 0; |
@@ -1759,7 +1764,7 @@ static int onion_isconnected(const Onion_Client *onion_c) | |||
1759 | return 0; | 1764 | return 0; |
1760 | } | 1765 | } |
1761 | 1766 | ||
1762 | for (i = 0; i < MAX_ONION_CLIENTS_ANNOUNCE; ++i) { | 1767 | for (unsigned int i = 0; i < MAX_ONION_CLIENTS_ANNOUNCE; ++i) { |
1763 | if (!onion_node_timed_out(&onion_c->clients_announce_list[i], onion_c->mono_time)) { | 1768 | if (!onion_node_timed_out(&onion_c->clients_announce_list[i], onion_c->mono_time)) { |
1764 | ++num; | 1769 | ++num; |
1765 | 1770 | ||