summaryrefslogtreecommitdiff
path: root/toxcore
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore')
-rw-r--r--toxcore/DHT.c12
-rw-r--r--toxcore/Messenger.c2
-rw-r--r--toxcore/network.c17
-rw-r--r--toxcore/util.c4
4 files changed, 19 insertions, 16 deletions
diff --git a/toxcore/DHT.c b/toxcore/DHT.c
index 2f7b2263..db9bfe3c 100644
--- a/toxcore/DHT.c
+++ b/toxcore/DHT.c
@@ -200,8 +200,8 @@ static void get_close_nodes_inner(DHT *dht, uint8_t *client_id, Node_format *nod
200 time_t timestamp, int *num_nodes_ptr) 200 time_t timestamp, int *num_nodes_ptr)
201{ 201{
202 int num_nodes = *num_nodes_ptr; 202 int num_nodes = *num_nodes_ptr;
203 int i, tout, inlist, ipv46x, j, closest; 203 int tout, inlist, ipv46x, j, closest;
204 204 uint32_t i;
205 for (i = 0; i < client_list_length; i++) { 205 for (i = 0; i < client_list_length; i++) {
206 Client_data *client = &client_list[i]; 206 Client_data *client = &client_list[i];
207 tout = is_timeout(timestamp, client->timestamp, BAD_NODE_TIMEOUT); 207 tout = is_timeout(timestamp, client->timestamp, BAD_NODE_TIMEOUT);
@@ -726,10 +726,10 @@ static int handle_sendnodes(void *object, IP_Port source, uint8_t *packet, uint3
726#ifdef TOX_ENABLE_IPV6 726#ifdef TOX_ENABLE_IPV6
727 Node4_format *nodes4_list = (Node4_format *)(plain + sizeof(ping_id)); 727 Node4_format *nodes4_list = (Node4_format *)(plain + sizeof(ping_id));
728 728
729 int num_nodes_ok = 0; 729 uint32_t num_nodes_ok = 0;
730 730
731 for (i = 0; i < num_nodes; i++) 731 for (i = 0; i < num_nodes; i++)
732 if ((nodes4_list[i].ip_port.ip.uint32 != 0) && (nodes4_list[i].ip_port.ip.uint32 != ~0)) { 732 if ((nodes4_list[i].ip_port.ip.uint32 != 0) && (nodes4_list[i].ip_port.ip.uint32 != (uint32_t)~0)) {
733 memcpy(nodes_list[num_nodes_ok].client_id, nodes4_list[i].client_id, CLIENT_ID_SIZE); 733 memcpy(nodes_list[num_nodes_ok].client_id, nodes4_list[i].client_id, CLIENT_ID_SIZE);
734 nodes_list[num_nodes_ok].ip_port.ip.family = AF_INET; 734 nodes_list[num_nodes_ok].ip_port.ip.family = AF_INET;
735 nodes_list[num_nodes_ok].ip_port.ip.ip4.uint32 = nodes4_list[i].ip_port.ip.uint32; 735 nodes_list[num_nodes_ok].ip_port.ip.ip4.uint32 = nodes4_list[i].ip_port.ip.uint32;
@@ -1477,14 +1477,14 @@ void DHT_save(DHT *dht, uint8_t *data)
1477int DHT_load(DHT *dht, uint8_t *data, uint32_t size) 1477int DHT_load(DHT *dht, uint8_t *data, uint32_t size)
1478{ 1478{
1479 if (size < sizeof(dht->close_clientlist)) { 1479 if (size < sizeof(dht->close_clientlist)) {
1480 fprintf(stderr, "DHT_load: Expected at least %lu bytes, got %u.\n", sizeof(dht->close_clientlist), size); 1480 fprintf(stderr, "DHT_load: Expected at least %u bytes, got %u.\n", sizeof(dht->close_clientlist), size);
1481 return -1; 1481 return -1;
1482 } 1482 }
1483 1483
1484 uint32_t friendlistsize = size - sizeof(dht->close_clientlist); 1484 uint32_t friendlistsize = size - sizeof(dht->close_clientlist);
1485 1485
1486 if (friendlistsize % sizeof(DHT_Friend) != 0) { 1486 if (friendlistsize % sizeof(DHT_Friend) != 0) {
1487 fprintf(stderr, "DHT_load: Expected a multiple of %lu, got %u.\n", sizeof(DHT_Friend), friendlistsize); 1487 fprintf(stderr, "DHT_load: Expected a multiple of %u, got %u.\n", sizeof(DHT_Friend), friendlistsize);
1488 return -1; 1488 return -1;
1489 } 1489 }
1490 1490
diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c
index eb18e3a3..c46e3938 100644
--- a/toxcore/Messenger.c
+++ b/toxcore/Messenger.c
@@ -1220,7 +1220,7 @@ void doInbound(Messenger *m)
1220} 1220}
1221 1221
1222#ifdef LOGGING 1222#ifdef LOGGING
1223#define DUMPING_CLIENTS_FRIENDS_EVERY_N_SECONDS 60 1223#define DUMPING_CLIENTS_FRIENDS_EVERY_N_SECONDS 60UL
1224static time_t lastdump = 0; 1224static time_t lastdump = 0;
1225static char IDString[CLIENT_ID_SIZE * 2 + 1]; 1225static char IDString[CLIENT_ID_SIZE * 2 + 1];
1226static char *ID2String(uint8_t *client_id) 1226static char *ID2String(uint8_t *client_id)
diff --git a/toxcore/network.c b/toxcore/network.c
index 4b6dc3be..4f6b0aae 100644
--- a/toxcore/network.c
+++ b/toxcore/network.c
@@ -154,14 +154,15 @@ static int receivepacket(sock_t sock, IP_Port *ip_port, uint8_t *data, uint32_t
154#ifdef WIN32 154#ifdef WIN32
155 int addrlen = sizeof(addr); 155 int addrlen = sizeof(addr);
156#else 156#else
157 uint32_t addrlen = sizeof(addr); 157 socklen_t addrlen = sizeof(addr);
158#endif 158#endif
159 (*(int32_t *)length) = recvfrom(sock, (char *) data, MAX_UDP_PACKET_SIZE, 0, (struct sockaddr *)&addr, &addrlen); 159 *length = 0;
160 int fail_or_len = recvfrom(sock, (char *) data, MAX_UDP_PACKET_SIZE, 0, (struct sockaddr *)&addr, &addrlen);
160 161
161 if (*(int32_t *)length <= 0) { 162 if (fail_or_len <= 0) {
162#ifdef LOGGING 163#ifdef LOGGING
163 164
164 if ((length < 0) && (errno != EWOULDBLOCK)) { 165 if ((fail_or_len < 0) && (errno != EWOULDBLOCK)) {
165 sprintf(logbuffer, "Unexpected error reading from socket: %u, %s\n", errno, strerror(errno)); 166 sprintf(logbuffer, "Unexpected error reading from socket: %u, %s\n", errno, strerror(errno));
166 loglog(logbuffer); 167 loglog(logbuffer);
167 } 168 }
@@ -170,6 +171,8 @@ static int receivepacket(sock_t sock, IP_Port *ip_port, uint8_t *data, uint32_t
170 return -1; /* Nothing received or empty packet. */ 171 return -1; /* Nothing received or empty packet. */
171 } 172 }
172 173
174 *length = (uint32_t)fail_or_len;
175
173#ifdef TOX_ENABLE_IPV6 176#ifdef TOX_ENABLE_IPV6
174 177
175 if (addr.ss_family == AF_INET) { 178 if (addr.ss_family == AF_INET) {
@@ -863,15 +866,15 @@ static void loglogdata(char *message, uint8_t *buffer, size_t buflen, IP_Port *i
863 ip_ntoa(&ip_port->ip), ntohs(ip_port->port), errno, 866 ip_ntoa(&ip_port->ip), ntohs(ip_port->port), errno,
864 strerror(errno), buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0, 867 strerror(errno), buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0,
865 buflen > 7 ? ntohl(*(uint32_t *)(&buffer[5])) : 0); 868 buflen > 7 ? ntohl(*(uint32_t *)(&buffer[5])) : 0);
866 else if ((res > 0) && (res <= buflen)) 869 else if ((res > 0) && ((size_t)res <= buflen))
867 snprintf(logbuffer, sizeof(logbuffer), "[%2u] %s %3u%c %s:%u (%u: %s) | %04x%04x\n", 870 snprintf(logbuffer, sizeof(logbuffer), "[%2u] %s %3u%c %s:%u (%u: %s) | %04x%04x\n",
868 buffer[0], message, res < 999 ? res : 999, res < buflen ? '<' : '=', 871 buffer[0], message, res < 999 ? res : 999, (size_t)res < buflen ? '<' : '=',
869 ip_ntoa(&ip_port->ip), ntohs(ip_port->port), 0, 872 ip_ntoa(&ip_port->ip), ntohs(ip_port->port), 0,
870 "OK", buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0, 873 "OK", buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0,
871 buflen > 7 ? ntohl(*(uint32_t *)(&buffer[5])) : 0); 874 buflen > 7 ? ntohl(*(uint32_t *)(&buffer[5])) : 0);
872 else /* empty or overwrite */ 875 else /* empty or overwrite */
873 snprintf(logbuffer, sizeof(logbuffer), "[%2u] %s %u%c%u %s:%u (%u: %s) | %04x%04x\n", 876 snprintf(logbuffer, sizeof(logbuffer), "[%2u] %s %u%c%u %s:%u (%u: %s) | %04x%04x\n",
874 buffer[0], message, res, !res ? '0' : '>', buflen, 877 buffer[0], message, res, !res ? '!' : '>', buflen,
875 ip_ntoa(&ip_port->ip), ntohs(ip_port->port), 0, 878 ip_ntoa(&ip_port->ip), ntohs(ip_port->port), 0,
876 "OK", buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0, 879 "OK", buflen > 4 ? ntohl(*(uint32_t *)&buffer[1]) : 0,
877 buflen > 7 ? ntohl(*(uint32_t *)(&buffer[5])) : 0); 880 buflen > 7 ? ntohl(*(uint32_t *)(&buffer[5])) : 0);
diff --git a/toxcore/util.c b/toxcore/util.c
index 8960fe36..e1c46ee5 100644
--- a/toxcore/util.c
+++ b/toxcore/util.c
@@ -52,14 +52,14 @@ void loginit(uint16_t port)
52 if (logfile) 52 if (logfile)
53 fclose(logfile); 53 fclose(logfile);
54 54
55 sprintf(logbuffer, "%u-%u.log", ntohs(port), now()); 55 sprintf(logbuffer, "%u-%u.log", ntohs(port), (uint32_t)now());
56 logfile = fopen(logbuffer, "w"); 56 logfile = fopen(logbuffer, "w");
57 starttime = now(); 57 starttime = now();
58}; 58};
59void loglog(char *text) 59void loglog(char *text)
60{ 60{
61 if (logfile) { 61 if (logfile) {
62 fprintf(logfile, "%4u ", now() - starttime); 62 fprintf(logfile, "%4u ", (uint32_t)(now() - starttime));
63 fprintf(logfile, text); 63 fprintf(logfile, text);
64 fflush(logfile); 64 fflush(logfile);
65 } 65 }