diff options
Diffstat (limited to 'testing/DHT_test.c')
-rw-r--r-- | testing/DHT_test.c | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/testing/DHT_test.c b/testing/DHT_test.c index fce9c257..d76057c1 100644 --- a/testing/DHT_test.c +++ b/testing/DHT_test.c | |||
@@ -66,13 +66,11 @@ void print_clientlist(DHT *dht) | |||
66 | } | 66 | } |
67 | 67 | ||
68 | p_ip = dht->close_clientlist[i].ip_port; | 68 | p_ip = dht->close_clientlist[i].ip_port; |
69 | printf("\nIP: %u.%u.%u.%u Port: %u", p_ip.ip.uint8[0], p_ip.ip.uint8[1], p_ip.ip.uint8[2], p_ip.ip.uint8[3], | 69 | printf("\nIP: %s Port: %u", ip_ntoa(&p_ip.ip), ntohs(p_ip.port)); |
70 | ntohs(p_ip.port)); | ||
71 | printf("\nTimestamp: %llu", (long long unsigned int) dht->close_clientlist[i].timestamp); | 70 | printf("\nTimestamp: %llu", (long long unsigned int) dht->close_clientlist[i].timestamp); |
72 | printf("\nLast pinged: %llu\n", (long long unsigned int) dht->close_clientlist[i].last_pinged); | 71 | printf("\nLast pinged: %llu\n", (long long unsigned int) dht->close_clientlist[i].last_pinged); |
73 | p_ip = dht->close_clientlist[i].ret_ip_port; | 72 | p_ip = dht->close_clientlist[i].ret_ip_port; |
74 | printf("OUR IP: %u.%u.%u.%u Port: %u\n", p_ip.ip.uint8[0], p_ip.ip.uint8[1], p_ip.ip.uint8[2], p_ip.ip.uint8[3], | 73 | printf("OUR IP: %s Port: %u\n", ip_ntoa(&p_ip.ip), ntohs(p_ip.port)); |
75 | ntohs(p_ip.port)); | ||
76 | printf("Timestamp: %llu\n", (long long unsigned int) dht->close_clientlist[i].ret_timestamp); | 74 | printf("Timestamp: %llu\n", (long long unsigned int) dht->close_clientlist[i].ret_timestamp); |
77 | } | 75 | } |
78 | } | 76 | } |
@@ -91,9 +89,8 @@ void print_friendlist(DHT *dht) | |||
91 | printf("%c", dht->friends_list[k].client_id[j]); | 89 | printf("%c", dht->friends_list[k].client_id[j]); |
92 | } | 90 | } |
93 | 91 | ||
94 | p_ip = DHT_getfriendip(dht, dht->friends_list[k].client_id); | 92 | int friendok = DHT_getfriendip(dht, dht->friends_list[k].client_id, &p_ip); |
95 | printf("\nIP: %u.%u.%u.%u:%u", p_ip.ip.uint8[0], p_ip.ip.uint8[1], p_ip.ip.uint8[2], p_ip.ip.uint8[3], | 93 | printf("\nIP: %s:%u", ip_ntoa(&p_ip.ip), ntohs(p_ip.port)); |
96 | ntohs(p_ip.port)); | ||
97 | 94 | ||
98 | printf("\nCLIENTS IN LIST:\n\n"); | 95 | printf("\nCLIENTS IN LIST:\n\n"); |
99 | 96 | ||
@@ -108,13 +105,11 @@ void print_friendlist(DHT *dht) | |||
108 | } | 105 | } |
109 | 106 | ||
110 | p_ip = dht->friends_list[k].client_list[i].ip_port; | 107 | p_ip = dht->friends_list[k].client_list[i].ip_port; |
111 | printf("\nIP: %u.%u.%u.%u:%u", p_ip.ip.uint8[0], p_ip.ip.uint8[1], p_ip.ip.uint8[2], p_ip.ip.uint8[3], | 108 | printf("\nIP: %s:%u", ip_ntoa(&p_ip.ip), ntohs(p_ip.port)); |
112 | ntohs(p_ip.port)); | ||
113 | printf("\nTimestamp: %llu", (long long unsigned int) dht->friends_list[k].client_list[i].timestamp); | 109 | printf("\nTimestamp: %llu", (long long unsigned int) dht->friends_list[k].client_list[i].timestamp); |
114 | printf("\nLast pinged: %llu\n", (long long unsigned int) dht->friends_list[k].client_list[i].last_pinged); | 110 | printf("\nLast pinged: %llu\n", (long long unsigned int) dht->friends_list[k].client_list[i].last_pinged); |
115 | p_ip = dht->friends_list[k].client_list[i].ret_ip_port; | 111 | p_ip = dht->friends_list[k].client_list[i].ret_ip_port; |
116 | printf("ret IP: %u.%u.%u.%u:%u\n", p_ip.ip.uint8[0], p_ip.ip.uint8[1], p_ip.ip.uint8[2], p_ip.ip.uint8[3], | 112 | printf("ret IP: %s:%u\n", ip_ntoa(&p_ip.ip), ntohs(p_ip.port)); |
117 | ntohs(p_ip.port)); | ||
118 | printf("Timestamp: %llu\n", (long long unsigned int)dht->friends_list[k].client_list[i].ret_timestamp); | 113 | printf("Timestamp: %llu\n", (long long unsigned int)dht->friends_list[k].client_list[i].ret_timestamp); |
119 | } | 114 | } |
120 | } | 115 | } |
@@ -138,19 +133,26 @@ void printpacket(uint8_t *data, uint32_t length, IP_Port ip_port) | |||
138 | 133 | ||
139 | int main(int argc, char *argv[]) | 134 | int main(int argc, char *argv[]) |
140 | { | 135 | { |
136 | if (argc < 4) { | ||
137 | printf("Usage: %s [--ipv4|--ipv6] ip port public_key\n", argv[0]); | ||
138 | exit(0); | ||
139 | } | ||
140 | |||
141 | /* let user override default by cmdline */ | ||
142 | uint8_t ipv6enabled = TOX_ENABLE_IPV6_DEFAULT; /* x */ | ||
143 | int argvoffset = cmdline_parsefor_ipv46(argc, argv, &ipv6enabled); | ||
144 | |||
145 | if (argvoffset < 0) | ||
146 | exit(1); | ||
147 | |||
141 | //memcpy(self_client_id, "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq", 32); | 148 | //memcpy(self_client_id, "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq", 32); |
142 | /* initialize networking */ | 149 | /* initialize networking */ |
143 | /* bind to ip 0.0.0.0:PORT */ | 150 | /* bind to ip 0.0.0.0:PORT */ |
144 | IP ip; | 151 | IP ip; |
145 | ip.uint32 = 0; | 152 | ip_init(&ip, ipv6enabled); |
146 | 153 | ||
147 | DHT *dht = new_DHT(new_net_crypto(new_networking(ip, PORT))); | 154 | DHT *dht = new_DHT(new_net_crypto(new_networking(ip, PORT))); |
148 | 155 | ||
149 | if (argc < 4) { | ||
150 | printf("usage %s ip port public_key\n", argv[0]); | ||
151 | exit(0); | ||
152 | } | ||
153 | |||
154 | new_keys(dht->c); | 156 | new_keys(dht->c); |
155 | printf("OUR ID: "); | 157 | printf("OUR ID: "); |
156 | uint32_t i; | 158 | uint32_t i; |
@@ -170,16 +172,17 @@ int main(int argc, char *argv[]) | |||
170 | 172 | ||
171 | DHT_addfriend(dht, hex_string_to_bin(temp_id)); | 173 | DHT_addfriend(dht, hex_string_to_bin(temp_id)); |
172 | 174 | ||
173 | |||
174 | perror("Initialization"); | 175 | perror("Initialization"); |
175 | IP_Port bootstrap_ip_port; | 176 | |
176 | bootstrap_ip_port.port = htons(atoi(argv[2])); | 177 | uint16_t port = htons(atoi(argv[argvoffset + 2])); |
177 | /* bootstrap_ip_port.ip.c[0] = 127; | 178 | unsigned char *binary_string = hex_string_to_bin(argv[argvoffset + 3]); |
178 | * bootstrap_ip_port.ip.c[1] = 0; | 179 | int res = DHT_bootstrap_from_address(dht, argv[argvoffset + 1], ipv6enabled, port, binary_string); |
179 | * bootstrap_ip_port.ip.c[2] = 0; | 180 | free(binary_string); |
180 | * bootstrap_ip_port.ip.c[3] = 1; */ | 181 | |
181 | bootstrap_ip_port.ip.uint32 = inet_addr(argv[1]); | 182 | if (!res) { |
182 | DHT_bootstrap(dht, bootstrap_ip_port, hex_string_to_bin(argv[3])); | 183 | printf("Failed to convert \"%s\" into an IP address. Exiting...\n", argv[argvoffset + 1]); |
184 | return 1; | ||
185 | } | ||
183 | 186 | ||
184 | /* | 187 | /* |
185 | IP_Port ip_port; | 188 | IP_Port ip_port; |