summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--other/DHT_bootstrap.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/other/DHT_bootstrap.c b/other/DHT_bootstrap.c
new file mode 100644
index 00000000..6be90875
--- /dev/null
+++ b/other/DHT_bootstrap.c
@@ -0,0 +1,60 @@
1/* DHT boostrap
2 *
3 * A simple DHT boostrap server for tox.
4 *
5 * Build command: gcc -O2 -Wall -D VANILLA_NACL -o bootstrap_server ../core/Lossless_UDP.c ../core/network.c ../core/net_crypto.c ../core/Messenger.c ../core/DHT.c ../nacl/build/${HOSTNAME%.*}/lib/amd64/{cpucycles.o,libnacl.a,randombytes.o} DHT_bootstrap.c
6 *
7 */
8
9#include "../core/DHT.h"
10
11
12//Sleep function (x = milliseconds)
13#ifdef WIN32
14#define c_sleep(x) Sleep(1*x)
15#else
16#include <unistd.h>
17#define c_sleep(x) usleep(1000*x)
18#endif
19
20#define PORT 33445
21
22
23
24int main(int argc, char *argv[])
25{
26 new_keys();
27 printf("Public key: ");
28 uint32_t i;
29 for(i = 0; i < 32; i++)
30 {
31 if(self_public_key[i] < 16)
32 printf("0");
33 printf("%hhX",self_public_key[i]);
34 }
35 printf("\n");
36 //initialize networking
37 //bind to ip 0.0.0.0:PORT
38 IP ip;
39 ip.i = 0;
40 init_networking(ip, PORT);
41
42 perror("Initialization");
43
44 IP_Port ip_port;
45 uint8_t data[MAX_UDP_PACKET_SIZE];
46 uint32_t length;
47
48 while(1)
49 {
50 doDHT();
51
52 while(receivepacket(&ip_port, data, &length) != -1)
53 {
54 DHT_handlepacket(data, length, ip_port);
55 }
56 c_sleep(1);
57 }
58 shutdown_networking();
59 return 0;
60} \ No newline at end of file