diff options
author | irungentoo <irungentoo@gmail.com> | 2013-08-02 15:57:53 -0400 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2013-08-02 15:57:53 -0400 |
commit | 7b46b04ce7f579815214f68092e359938823d7f0 (patch) | |
tree | 40b38d5afc08c02efd82fe056222388b7cc19ae5 | |
parent | 346e4b28ca92d82117a0a796eb0344104fc7310e (diff) |
Time is better as an unsigned variable.
-rw-r--r-- | core/DHT.c | 54 | ||||
-rw-r--r-- | core/DHT.h | 2 | ||||
-rw-r--r-- | core/Messenger.c | 4 |
3 files changed, 30 insertions, 30 deletions
@@ -64,12 +64,12 @@ | |||
64 | typedef struct { | 64 | typedef struct { |
65 | uint8_t client_id[CLIENT_ID_SIZE]; | 65 | uint8_t client_id[CLIENT_ID_SIZE]; |
66 | IP_Port ip_port; | 66 | IP_Port ip_port; |
67 | uint32_t timestamp; | 67 | uint64_t timestamp; |
68 | uint32_t last_pinged; | 68 | uint64_t last_pinged; |
69 | 69 | ||
70 | /* Returned by this node. Either our friend or us */ | 70 | /* Returned by this node. Either our friend or us */ |
71 | IP_Port ret_ip_port; | 71 | IP_Port ret_ip_port; |
72 | uint32_t ret_timestamp; | 72 | uint64_t ret_timestamp; |
73 | } Client_data; | 73 | } Client_data; |
74 | 74 | ||
75 | typedef struct { | 75 | typedef struct { |
@@ -77,17 +77,17 @@ typedef struct { | |||
77 | Client_data client_list[MAX_FRIEND_CLIENTS]; | 77 | Client_data client_list[MAX_FRIEND_CLIENTS]; |
78 | 78 | ||
79 | /* time at which the last get_nodes request was sent. */ | 79 | /* time at which the last get_nodes request was sent. */ |
80 | uint32_t lastgetnode; | 80 | uint64_t lastgetnode; |
81 | 81 | ||
82 | /* Symetric NAT hole punching stuff */ | 82 | /* Symetric NAT hole punching stuff */ |
83 | 83 | ||
84 | /* 1 if currently hole punching, otherwise 0 */ | 84 | /* 1 if currently hole punching, otherwise 0 */ |
85 | uint8_t hole_punching; | 85 | uint8_t hole_punching; |
86 | uint32_t punching_index; | 86 | uint32_t punching_index; |
87 | uint32_t punching_timestamp; | 87 | uint64_t punching_timestamp; |
88 | int64_t recvNATping_timestamp; | 88 | uint64_t recvNATping_timestamp; |
89 | uint64_t NATping_id; | 89 | uint64_t NATping_id; |
90 | uint32_t NATping_timestamp; | 90 | uint64_t NATping_timestamp; |
91 | } Friend; | 91 | } Friend; |
92 | 92 | ||
93 | typedef struct { | 93 | typedef struct { |
@@ -98,7 +98,7 @@ typedef struct { | |||
98 | typedef struct { | 98 | typedef struct { |
99 | IP_Port ip_port; | 99 | IP_Port ip_port; |
100 | uint64_t ping_id; | 100 | uint64_t ping_id; |
101 | int64_t timestamp; | 101 | uint64_t timestamp; |
102 | } Pinged; | 102 | } Pinged; |
103 | 103 | ||
104 | /*----------------------------------------------------------------------------------*/ | 104 | /*----------------------------------------------------------------------------------*/ |
@@ -146,7 +146,7 @@ int id_closest(uint8_t * client_id, uint8_t * client_id1, uint8_t * client_id2) | |||
146 | int client_in_list(Client_data * list, uint32_t length, uint8_t * client_id, IP_Port ip_port) | 146 | int client_in_list(Client_data * list, uint32_t length, uint8_t * client_id, IP_Port ip_port) |
147 | { | 147 | { |
148 | uint32_t i; | 148 | uint32_t i; |
149 | int64_t temp_time = unix_time(); | 149 | uint64_t temp_time = unix_time(); |
150 | 150 | ||
151 | for(i = 0; i < length; ++i) { | 151 | for(i = 0; i < length; ++i) { |
152 | /*If ip_port is assigned to a different client_id replace it*/ | 152 | /*If ip_port is assigned to a different client_id replace it*/ |
@@ -199,7 +199,7 @@ static int friend_number(uint8_t * client_id) | |||
199 | int get_close_nodes(uint8_t * client_id, Node_format * nodes_list) | 199 | int get_close_nodes(uint8_t * client_id, Node_format * nodes_list) |
200 | { | 200 | { |
201 | uint32_t i, j, k; | 201 | uint32_t i, j, k; |
202 | int64_t temp_time = unix_time(); | 202 | uint64_t temp_time = unix_time(); |
203 | int num_nodes = 0, closest, tout, inlist; | 203 | int num_nodes = 0, closest, tout, inlist; |
204 | 204 | ||
205 | for (i = 0; i < LCLIENT_LIST; ++i) { | 205 | for (i = 0; i < LCLIENT_LIST; ++i) { |
@@ -285,7 +285,7 @@ int replace_bad( Client_data * list, | |||
285 | IP_Port ip_port ) | 285 | IP_Port ip_port ) |
286 | { | 286 | { |
287 | uint32_t i; | 287 | uint32_t i; |
288 | int64_t temp_time = unix_time(); | 288 | uint64_t temp_time = unix_time(); |
289 | for(i = 0; i < length; ++i) { | 289 | for(i = 0; i < length; ++i) { |
290 | /* if node is bad */ | 290 | /* if node is bad */ |
291 | if(list[i].timestamp + BAD_NODE_TIMEOUT < temp_time) { | 291 | if(list[i].timestamp + BAD_NODE_TIMEOUT < temp_time) { |
@@ -310,7 +310,7 @@ int replace_good( Client_data * list, | |||
310 | uint8_t * comp_client_id ) | 310 | uint8_t * comp_client_id ) |
311 | { | 311 | { |
312 | uint32_t i; | 312 | uint32_t i; |
313 | int64_t temp_time = unix_time(); | 313 | uint64_t temp_time = unix_time(); |
314 | 314 | ||
315 | for(i = 0; i < length; ++i) | 315 | for(i = 0; i < length; ++i) |
316 | if(id_closest(comp_client_id, list[i].client_id, client_id) == 2) { | 316 | if(id_closest(comp_client_id, list[i].client_id, client_id) == 2) { |
@@ -374,7 +374,7 @@ void addto_lists(IP_Port ip_port, uint8_t * client_id) | |||
374 | void returnedip_ports(IP_Port ip_port, uint8_t * client_id, uint8_t * nodeclient_id) | 374 | void returnedip_ports(IP_Port ip_port, uint8_t * client_id, uint8_t * nodeclient_id) |
375 | { | 375 | { |
376 | uint32_t i, j; | 376 | uint32_t i, j; |
377 | int64_t temp_time = unix_time(); | 377 | uint64_t temp_time = unix_time(); |
378 | 378 | ||
379 | if (memcmp(client_id, self_public_key, CLIENT_ID_SIZE) == 0) { | 379 | if (memcmp(client_id, self_public_key, CLIENT_ID_SIZE) == 0) { |
380 | for (i = 0; i < LCLIENT_LIST; ++i) { | 380 | for (i = 0; i < LCLIENT_LIST; ++i) { |
@@ -416,7 +416,7 @@ int is_pinging(IP_Port ip_port, uint64_t ping_id) | |||
416 | { | 416 | { |
417 | uint32_t i; | 417 | uint32_t i; |
418 | uint8_t pinging; | 418 | uint8_t pinging; |
419 | int64_t temp_time = unix_time(); | 419 | uint64_t temp_time = unix_time(); |
420 | 420 | ||
421 | for (i = 0; i < LPING_ARRAY; ++i ) { | 421 | for (i = 0; i < LPING_ARRAY; ++i ) { |
422 | if ((pings[i].timestamp + PING_TIMEOUT) > temp_time) { | 422 | if ((pings[i].timestamp + PING_TIMEOUT) > temp_time) { |
@@ -440,7 +440,7 @@ int is_gettingnodes(IP_Port ip_port, uint64_t ping_id) | |||
440 | { | 440 | { |
441 | uint32_t i; | 441 | uint32_t i; |
442 | uint8_t pinging; | 442 | uint8_t pinging; |
443 | int64_t temp_time = unix_time(); | 443 | uint64_t temp_time = unix_time(); |
444 | 444 | ||
445 | for(i = 0; i < LSEND_NODES_ARRAY; ++i ) { | 445 | for(i = 0; i < LSEND_NODES_ARRAY; ++i ) { |
446 | if((send_nodes[i].timestamp + PING_TIMEOUT) > temp_time) { | 446 | if((send_nodes[i].timestamp + PING_TIMEOUT) > temp_time) { |
@@ -469,7 +469,7 @@ uint64_t add_pinging(IP_Port ip_port) | |||
469 | { | 469 | { |
470 | uint32_t i, j; | 470 | uint32_t i, j; |
471 | uint64_t ping_id = ((uint64_t)random_int() << 32) + random_int(); | 471 | uint64_t ping_id = ((uint64_t)random_int() << 32) + random_int(); |
472 | int64_t temp_time = unix_time(); | 472 | uint64_t temp_time = unix_time(); |
473 | 473 | ||
474 | 474 | ||
475 | for(i = 0; i < PING_TIMEOUT; ++i ) { | 475 | for(i = 0; i < PING_TIMEOUT; ++i ) { |
@@ -491,7 +491,7 @@ uint64_t add_gettingnodes(IP_Port ip_port) | |||
491 | { | 491 | { |
492 | uint32_t i, j; | 492 | uint32_t i, j; |
493 | uint64_t ping_id = ((uint64_t)random_int() << 32) + random_int(); | 493 | uint64_t ping_id = ((uint64_t)random_int() << 32) + random_int(); |
494 | int64_t temp_time = unix_time(); | 494 | uint64_t temp_time = unix_time(); |
495 | 495 | ||
496 | for(i = 0; i < PING_TIMEOUT; ++i ) { | 496 | for(i = 0; i < PING_TIMEOUT; ++i ) { |
497 | for(j = 0; j < LSEND_NODES_ARRAY; ++j ) { | 497 | for(j = 0; j < LSEND_NODES_ARRAY; ++j ) { |
@@ -831,7 +831,7 @@ int DHT_delfriend(uint8_t * client_id) | |||
831 | IP_Port DHT_getfriendip(uint8_t * client_id) | 831 | IP_Port DHT_getfriendip(uint8_t * client_id) |
832 | { | 832 | { |
833 | uint32_t i, j; | 833 | uint32_t i, j; |
834 | int64_t temp_time = unix_time(); | 834 | uint64_t temp_time = unix_time(); |
835 | IP_Port empty = {{{0}}, 0}; | 835 | IP_Port empty = {{{0}}, 0}; |
836 | 836 | ||
837 | for (i = 0; i < num_friends; ++i) { | 837 | for (i = 0; i < num_friends; ++i) { |
@@ -857,7 +857,7 @@ IP_Port DHT_getfriendip(uint8_t * client_id) | |||
857 | void doDHTFriends() | 857 | void doDHTFriends() |
858 | { | 858 | { |
859 | uint32_t i, j; | 859 | uint32_t i, j; |
860 | int64_t temp_time = unix_time(); | 860 | uint64_t temp_time = unix_time(); |
861 | uint32_t rand_node; | 861 | uint32_t rand_node; |
862 | uint32_t index[MAX_FRIEND_CLIENTS]; | 862 | uint32_t index[MAX_FRIEND_CLIENTS]; |
863 | 863 | ||
@@ -888,7 +888,7 @@ void doDHTFriends() | |||
888 | } | 888 | } |
889 | } | 889 | } |
890 | 890 | ||
891 | static uint32_t close_lastgetnodes; | 891 | static uint64_t close_lastgetnodes; |
892 | 892 | ||
893 | /* Ping each client in the close nodes list every 60 seconds. | 893 | /* Ping each client in the close nodes list every 60 seconds. |
894 | * Send a get nodes request every 20 seconds to a random good node in the list. | 894 | * Send a get nodes request every 20 seconds to a random good node in the list. |
@@ -896,7 +896,7 @@ static uint32_t close_lastgetnodes; | |||
896 | void doClose() | 896 | void doClose() |
897 | { | 897 | { |
898 | uint32_t i; | 898 | uint32_t i; |
899 | int64_t temp_time = unix_time(); | 899 | uint64_t temp_time = unix_time(); |
900 | uint32_t num_nodes = 0; | 900 | uint32_t num_nodes = 0; |
901 | uint32_t rand_node; | 901 | uint32_t rand_node; |
902 | uint32_t index[LCLIENT_LIST]; | 902 | uint32_t index[LCLIENT_LIST]; |
@@ -954,7 +954,7 @@ static int friend_iplist(IP_Port * ip_portlist, uint16_t friend_num) | |||
954 | { | 954 | { |
955 | int num_ips = 0; | 955 | int num_ips = 0; |
956 | uint32_t i; | 956 | uint32_t i; |
957 | int64_t temp_time = unix_time(); | 957 | uint64_t temp_time = unix_time(); |
958 | 958 | ||
959 | if (friend_num >= num_friends) | 959 | if (friend_num >= num_friends) |
960 | return -1; | 960 | return -1; |
@@ -989,7 +989,7 @@ int route_tofriend(uint8_t * friend_id, uint8_t * packet, uint32_t length) | |||
989 | return 0; | 989 | return 0; |
990 | 990 | ||
991 | uint32_t i, sent = 0; | 991 | uint32_t i, sent = 0; |
992 | int64_t temp_time = unix_time(); | 992 | uint64_t temp_time = unix_time(); |
993 | Friend * friend = &friends_list[num]; | 993 | Friend * friend = &friends_list[num]; |
994 | Client_data * client; | 994 | Client_data * client; |
995 | 995 | ||
@@ -1022,7 +1022,7 @@ int routeone_tofriend(uint8_t * friend_id, uint8_t * packet, uint32_t length) | |||
1022 | IP_Port ip_list[MAX_FRIEND_CLIENTS]; | 1022 | IP_Port ip_list[MAX_FRIEND_CLIENTS]; |
1023 | int n = 0; | 1023 | int n = 0; |
1024 | uint32_t i; | 1024 | uint32_t i; |
1025 | int64_t temp_time = unix_time(); | 1025 | uint64_t temp_time = unix_time(); |
1026 | 1026 | ||
1027 | for (i = 0; i < MAX_FRIEND_CLIENTS; ++i) { | 1027 | for (i = 0; i < MAX_FRIEND_CLIENTS; ++i) { |
1028 | client = &friend->client_list[i]; | 1028 | client = &friend->client_list[i]; |
@@ -1196,7 +1196,7 @@ static void punch_holes(IP ip, uint16_t * port_list, uint16_t numports, uint16_t | |||
1196 | static void doNAT() | 1196 | static void doNAT() |
1197 | { | 1197 | { |
1198 | uint32_t i; | 1198 | uint32_t i; |
1199 | int64_t temp_time = unix_time(); | 1199 | uint64_t temp_time = unix_time(); |
1200 | 1200 | ||
1201 | for (i = 0; i < num_friends; ++i) { | 1201 | for (i = 0; i < num_friends; ++i) { |
1202 | IP_Port ip_list[MAX_FRIEND_CLIENTS]; | 1202 | IP_Port ip_list[MAX_FRIEND_CLIENTS]; |
@@ -1291,7 +1291,7 @@ int DHT_load(uint8_t * data, uint32_t size) | |||
1291 | 1291 | ||
1292 | uint32_t i, j; | 1292 | uint32_t i, j; |
1293 | uint16_t temp; | 1293 | uint16_t temp; |
1294 | /* int64_t temp_time = unix_time(); */ | 1294 | /* uint64_t temp_time = unix_time(); */ |
1295 | 1295 | ||
1296 | Client_data * client; | 1296 | Client_data * client; |
1297 | 1297 | ||
@@ -1326,7 +1326,7 @@ int DHT_load(uint8_t * data, uint32_t size) | |||
1326 | int DHT_isconnected() | 1326 | int DHT_isconnected() |
1327 | { | 1327 | { |
1328 | uint32_t i; | 1328 | uint32_t i; |
1329 | int64_t temp_time = unix_time(); | 1329 | uint64_t temp_time = unix_time(); |
1330 | 1330 | ||
1331 | for(i = 0; i < LCLIENT_LIST; ++i) { | 1331 | for(i = 0; i < LCLIENT_LIST; ++i) { |
1332 | if(close_clientlist[i].timestamp + BAD_NODE_TIMEOUT > temp_time) | 1332 | if(close_clientlist[i].timestamp + BAD_NODE_TIMEOUT > temp_time) |
@@ -31,7 +31,7 @@ extern "C" { | |||
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | /* Current time, unix format */ | 33 | /* Current time, unix format */ |
34 | #define unix_time() ((int64_t)time(NULL)) | 34 | #define unix_time() ((uint64_t)time(NULL)) |
35 | 35 | ||
36 | /* size of the client_id in bytes */ | 36 | /* size of the client_id in bytes */ |
37 | #define CLIENT_ID_SIZE crypto_box_PUBLICKEYBYTES | 37 | #define CLIENT_ID_SIZE crypto_box_PUBLICKEYBYTES |
diff --git a/core/Messenger.c b/core/Messenger.c index 8f1ed41a..e60357c8 100644 --- a/core/Messenger.c +++ b/core/Messenger.c | |||
@@ -27,7 +27,7 @@ | |||
27 | typedef struct { | 27 | typedef struct { |
28 | uint8_t client_id[CLIENT_ID_SIZE]; | 28 | uint8_t client_id[CLIENT_ID_SIZE]; |
29 | int crypt_connection_id; | 29 | int crypt_connection_id; |
30 | int64_t friend_request_id; /* id of the friend request corresponding to the current friend request to the current friend. */ | 30 | uint64_t friend_request_id; /* id of the friend request corresponding to the current friend request to the current friend. */ |
31 | uint8_t status; /* 0 if no friend, 1 if added, 2 if friend request sent, 3 if confirmed friend, 4 if online. */ | 31 | uint8_t status; /* 0 if no friend, 1 if added, 2 if friend request sent, 3 if confirmed friend, 4 if online. */ |
32 | uint8_t info[MAX_DATA_SIZE]; /* the data that is sent during the friend requests we do */ | 32 | uint8_t info[MAX_DATA_SIZE]; /* the data that is sent during the friend requests we do */ |
33 | uint8_t name[MAX_NAME_LENGTH]; | 33 | uint8_t name[MAX_NAME_LENGTH]; |
@@ -485,7 +485,7 @@ static void doInbound() | |||
485 | /*Interval in seconds between LAN discovery packet sending*/ | 485 | /*Interval in seconds between LAN discovery packet sending*/ |
486 | #define LAN_DISCOVERY_INTERVAL 60 | 486 | #define LAN_DISCOVERY_INTERVAL 60 |
487 | 487 | ||
488 | static int64_t last_LANdiscovery; | 488 | static uint64_t last_LANdiscovery; |
489 | 489 | ||
490 | /*Send a LAN discovery packet every LAN_DISCOVERY_INTERVAL seconds*/ | 490 | /*Send a LAN discovery packet every LAN_DISCOVERY_INTERVAL seconds*/ |
491 | static void LANdiscovery() | 491 | static void LANdiscovery() |