Onion servers are now DHT ready.

This commit is contained in:
irungentoo 2014-01-17 14:00:00 -05:00
parent cd2474a2f6
commit 608330efef
2 changed files with 22 additions and 1 deletions

View File

@ -102,9 +102,19 @@ int main(int argc, char *argv[])
ip_init(&ip, ipv6enabled); ip_init(&ip, ipv6enabled);
DHT *dht = new_DHT(new_net_crypto(new_networking(ip, PORT))); DHT *dht = new_DHT(new_net_crypto(new_networking(ip, PORT)));
Onion *onion = new_onion(dht);
Onion_Announce *onion_a = new_onion_announce(dht);
if (!(onion && onion_a)) {
printf("Something failed to initialize.\n");
exit(1);
}
perror("Initialization"); perror("Initialization");
manage_keys(dht); manage_keys(dht);
/* We want our DHT public key to be the same as our internal one since this is a bootstrap server */
memcpy(dht->self_public_key, dht->c->self_public_key, crypto_box_PUBLICKEYBYTES);
memcpy(dht->self_secret_key, dht->c->self_secret_key, crypto_box_SECRETKEYBYTES);
printf("Public key: "); printf("Public key: ");
uint32_t i; uint32_t i;
@ -152,7 +162,7 @@ int main(int argc, char *argv[])
do_DHT(dht); do_DHT(dht);
if (is_timeout(last_LANdiscovery, is_waiting_for_dht_connection ? 5 : LAN_DISCOVERY_INTERVAL)) { if (is_timeout(last_LANdiscovery, is_waiting_for_dht_connection ? 5 : LAN_DISCOVERY_INTERVAL)) {
send_LANdiscovery(htons(PORT), dht->c); send_LANdiscovery(htons(PORT), dht);
last_LANdiscovery = unix_time(); last_LANdiscovery = unix_time();
} }

View File

@ -347,6 +347,13 @@ int main(int argc, char *argv[])
IP ip; IP ip;
ip_init(&ip, 0); ip_init(&ip, 0);
DHT *dht = new_DHT(new_net_crypto(new_networking(ip, server_conf.port))); DHT *dht = new_DHT(new_net_crypto(new_networking(ip, server_conf.port)));
Onion *onion = new_onion(dht);
Onion_Announce *onion_a = new_onion_announce(dht);
if (!(onion && onion_a)) {
printf("Something failed to initialize.\n");
exit(1);
}
/* Read the config file */ /* Read the config file */
printf("PID file: %s\n", server_conf.pid_file); printf("PID file: %s\n", server_conf.pid_file);
printf("Key file: %s\n", server_conf.keys_file); printf("Key file: %s\n", server_conf.keys_file);
@ -367,6 +374,10 @@ int main(int argc, char *argv[])
manage_keys(dht, server_conf.keys_file); manage_keys(dht, server_conf.keys_file);
errno = tmperr; errno = tmperr;
/* We want our DHT public key to be the same as our internal one since this is a bootstrap server */
memcpy(dht->self_public_key, dht->c->self_public_key, crypto_box_PUBLICKEYBYTES);
memcpy(dht->self_secret_key, dht->c->self_secret_key, crypto_box_SECRETKEYBYTES);
/* Public key */ /* Public key */
int i; int i;
printf("\nPublic Key: "); printf("\nPublic Key: ");