diff options
Diffstat (limited to 'toxcore')
-rw-r--r-- | toxcore/DHT.c | 12 | ||||
-rw-r--r-- | toxcore/Messenger.c | 2 | ||||
-rw-r--r-- | toxcore/network.c | 17 | ||||
-rw-r--r-- | toxcore/util.c | 4 |
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) | |||
1477 | int DHT_load(DHT *dht, uint8_t *data, uint32_t size) | 1477 | int 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 |
1224 | static time_t lastdump = 0; | 1224 | static time_t lastdump = 0; |
1225 | static char IDString[CLIENT_ID_SIZE * 2 + 1]; | 1225 | static char IDString[CLIENT_ID_SIZE * 2 + 1]; |
1226 | static char *ID2String(uint8_t *client_id) | 1226 | static 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 | }; |
59 | void loglog(char *text) | 59 | void 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 | } |