From 643eea60bb9dcf4ecb33d64666b1bc77cbfd7438 Mon Sep 17 00:00:00 2001 From: iphydf Date: Mon, 15 Jan 2018 01:23:08 +0000 Subject: Make DHT a module-private type. --- other/DHT_bootstrap.c | 21 +++++++++++---------- other/bootstrap_daemon/src/tox-bootstrapd.c | 16 ++++++++-------- 2 files changed, 19 insertions(+), 18 deletions(-) (limited to 'other') diff --git a/other/DHT_bootstrap.c b/other/DHT_bootstrap.c index 5eae46b9..33ca45c2 100644 --- a/other/DHT_bootstrap.c +++ b/other/DHT_bootstrap.c @@ -70,12 +70,12 @@ static void manage_keys(DHT *dht) exit(1); } - memcpy(dht->self_public_key, keys, CRYPTO_PUBLIC_KEY_SIZE); - memcpy(dht->self_secret_key, keys + CRYPTO_PUBLIC_KEY_SIZE, CRYPTO_SECRET_KEY_SIZE); + dht_set_self_public_key(dht, keys); + dht_set_self_public_key(dht, keys + CRYPTO_PUBLIC_KEY_SIZE); printf("Keys loaded successfully.\n"); } else { - memcpy(keys, dht->self_public_key, CRYPTO_PUBLIC_KEY_SIZE); - memcpy(keys + CRYPTO_PUBLIC_KEY_SIZE, dht->self_secret_key, CRYPTO_SECRET_KEY_SIZE); + memcpy(keys, dht_get_self_public_key(dht), CRYPTO_PUBLIC_KEY_SIZE); + memcpy(keys + CRYPTO_PUBLIC_KEY_SIZE, dht_get_self_secret_key(dht), CRYPTO_SECRET_KEY_SIZE); keys_file = fopen("key", "w"); if (keys_file == NULL) { @@ -120,7 +120,7 @@ int main(int argc, char *argv[]) Onion_Announce *onion_a = new_onion_announce(dht); #ifdef DHT_NODE_EXTRA_PACKETS - bootstrap_set_callbacks(dht->net, DHT_VERSION_NUMBER, DHT_MOTD, sizeof(DHT_MOTD)); + bootstrap_set_callbacks(dht_get_net(dht), DHT_VERSION_NUMBER, DHT_MOTD, sizeof(DHT_MOTD)); #endif if (!(onion && onion_a)) { @@ -137,7 +137,7 @@ int main(int argc, char *argv[]) #ifdef TCP_RELAY_ENABLED #define NUM_PORTS 3 uint16_t ports[NUM_PORTS] = {443, 3389, PORT}; - TCP_Server *tcp_s = new_TCP_server(ipv6enabled, NUM_PORTS, ports, dht->self_secret_key, onion); + TCP_Server *tcp_s = new_TCP_server(ipv6enabled, NUM_PORTS, ports, dht_get_self_secret_key(dht), onion); if (tcp_s == NULL) { printf("TCP server failed to initialize.\n"); @@ -155,14 +155,15 @@ int main(int argc, char *argv[]) } for (i = 0; i < 32; i++) { - printf("%02hhX", dht->self_public_key[i]); - fprintf(file, "%02hhX", dht->self_public_key[i]); + const uint8_t *const self_public_key = dht_get_self_public_key(dht); + printf("%02hhX", self_public_key[i]); + fprintf(file, "%02hhX", self_public_key[i]); } fclose(file); printf("\n"); - printf("Port: %u\n", net_ntohs(net_port(dht->net))); + printf("Port: %u\n", net_ntohs(net_port(dht_get_net(dht)))); if (argc > argvoffset + 3) { printf("Trying to bootstrap into the network...\n"); @@ -199,7 +200,7 @@ int main(int argc, char *argv[]) #ifdef TCP_RELAY_ENABLED do_TCP_server(tcp_s); #endif - networking_poll(dht->net, NULL); + networking_poll(dht_get_net(dht), NULL); c_sleep(1); } diff --git a/other/bootstrap_daemon/src/tox-bootstrapd.c b/other/bootstrap_daemon/src/tox-bootstrapd.c index c6780fa3..e0472cba 100644 --- a/other/bootstrap_daemon/src/tox-bootstrapd.c +++ b/other/bootstrap_daemon/src/tox-bootstrapd.c @@ -73,12 +73,12 @@ static int manage_keys(DHT *dht, char *keys_file_path) return 0; } - memcpy(dht->self_public_key, keys, CRYPTO_PUBLIC_KEY_SIZE); - memcpy(dht->self_secret_key, keys + CRYPTO_PUBLIC_KEY_SIZE, CRYPTO_SECRET_KEY_SIZE); + dht_set_self_public_key(dht, keys); + dht_set_self_secret_key(dht, keys + CRYPTO_PUBLIC_KEY_SIZE); } else { // Otherwise save new keys - memcpy(keys, dht->self_public_key, CRYPTO_PUBLIC_KEY_SIZE); - memcpy(keys + CRYPTO_PUBLIC_KEY_SIZE, dht->self_secret_key, CRYPTO_SECRET_KEY_SIZE); + memcpy(keys, dht_get_self_public_key(dht), CRYPTO_PUBLIC_KEY_SIZE); + memcpy(keys + CRYPTO_PUBLIC_KEY_SIZE, dht_get_self_secret_key(dht), CRYPTO_SECRET_KEY_SIZE); keys_file = fopen(keys_file_path, "w"); @@ -261,7 +261,7 @@ int main(int argc, char *argv[]) } if (enable_motd) { - if (bootstrap_set_callbacks(dht->net, DAEMON_VERSION_NUMBER, (uint8_t *)motd, strlen(motd) + 1) == 0) { + if (bootstrap_set_callbacks(dht_get_net(dht), DAEMON_VERSION_NUMBER, (uint8_t *)motd, strlen(motd) + 1) == 0) { log_write(LOG_LEVEL_INFO, "Set MOTD successfully.\n"); } else { log_write(LOG_LEVEL_ERROR, "Couldn't set MOTD: %s. Exiting.\n", motd); @@ -288,7 +288,7 @@ int main(int argc, char *argv[]) return 1; } - tcp_server = new_TCP_server(enable_ipv6, tcp_relay_port_count, tcp_relay_ports, dht->self_secret_key, onion); + tcp_server = new_TCP_server(enable_ipv6, tcp_relay_port_count, tcp_relay_ports, dht_get_self_secret_key(dht), onion); // tcp_relay_port_count != 0 at this point free(tcp_relay_ports); @@ -308,7 +308,7 @@ int main(int argc, char *argv[]) return 1; } - print_public_key(dht->self_public_key); + print_public_key(dht_get_self_public_key(dht)); uint64_t last_LANdiscovery = 0; const uint16_t net_htons_port = net_htons(port); @@ -332,7 +332,7 @@ int main(int argc, char *argv[]) do_TCP_server(tcp_server); } - networking_poll(dht->net, NULL); + networking_poll(dht_get_net(dht), NULL); if (waiting_for_dht_connection && DHT_isconnected(dht)) { log_write(LOG_LEVEL_INFO, "Connected to another bootstrap node successfully.\n"); -- cgit v1.2.3