summaryrefslogtreecommitdiff
path: root/testing/DHT_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'testing/DHT_test.c')
-rw-r--r--testing/DHT_test.c55
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
139int main(int argc, char *argv[]) 134int 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;