From 119bd4fb1d580d1a38f6491ab561222c2a9decf9 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Wed, 19 Mar 2025 11:19:59 +0100 Subject: [PATCH] Squashed 'external/toxcore/c-toxcore/' changes from 59d3f6674..76bc4c496 76bc4c496 refactor: TCP connection netprof objects are now owned by Messenger git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 76bc4c496d407cbbd11f0a0d9d3eebfbf64ccd2c --- auto_tests/TCP_test.c | 19 +++++++++++++++---- auto_tests/forwarding_test.c | 7 ++++++- auto_tests/onion_test.c | 18 +++++++++++++++++- toxcore/BUILD.bazel | 1 + toxcore/Messenger.c | 21 ++++++++++++++++++++- toxcore/Messenger.h | 2 ++ toxcore/TCP_connection.c | 20 ++------------------ toxcore/TCP_connection.h | 9 +-------- toxcore/group_chats.c | 3 ++- toxcore/group_common.h | 2 ++ toxcore/net_crypto.c | 19 ++----------------- toxcore/net_crypto.h | 9 +-------- toxcore/net_crypto_fuzz_test.cc | 15 +++++++++++++-- toxcore/net_profile.h | 8 ++++++++ toxcore/tox_private.c | 8 ++++---- 15 files changed, 96 insertions(+), 65 deletions(-) diff --git a/auto_tests/TCP_test.c b/auto_tests/TCP_test.c index 1cfa474..1a3108b 100644 --- a/auto_tests/TCP_test.c +++ b/auto_tests/TCP_test.c @@ -8,6 +8,7 @@ #include "../toxcore/TCP_server.h" #include "../toxcore/crypto_core.h" #include "../toxcore/mono_time.h" +#include "../toxcore/net_profile.h" #include "../toxcore/network.h" #include "auto_test_support.h" @@ -737,6 +738,9 @@ static void test_tcp_connection(void) Mono_Time *mono_time = mono_time_new(mem, nullptr, nullptr); Logger *logger = logger_new(mem); + Net_Profile *tcp_np = netprof_new(logger, mem); + ck_assert(tcp_np != nullptr); + tcp_data_callback_called = 0; uint8_t self_public_key[CRYPTO_PUBLIC_KEY_SIZE]; uint8_t self_secret_key[CRYPTO_SECRET_KEY_SIZE]; @@ -747,12 +751,12 @@ static void test_tcp_connection(void) TCP_Proxy_Info proxy_info; proxy_info.proxy_type = TCP_PROXY_NONE; crypto_new_keypair(rng, self_public_key, self_secret_key); - TCP_Connections *tc_1 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info); + TCP_Connections *tc_1 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info, tcp_np); ck_assert_msg(tc_1 != nullptr, "Failed to create TCP connections"); ck_assert_msg(pk_equal(tcp_connections_public_key(tc_1), self_public_key), "Wrong public key"); crypto_new_keypair(rng, self_public_key, self_secret_key); - TCP_Connections *tc_2 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info); + TCP_Connections *tc_2 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info, tcp_np); ck_assert_msg(tc_2 != nullptr, "Failed to create TCP connections"); ck_assert_msg(pk_equal(tcp_connections_public_key(tc_2), self_public_key), "Wrong public key"); @@ -815,6 +819,8 @@ static void test_tcp_connection(void) kill_tcp_connections(tc_1); kill_tcp_connections(tc_2); + netprof_kill(mem, tcp_np); + logger_kill(logger); mono_time_free(mem, mono_time); } @@ -852,6 +858,9 @@ static void test_tcp_connection2(void) Mono_Time *mono_time = mono_time_new(mem, nullptr, nullptr); Logger *logger = logger_new(mem); + Net_Profile *tcp_np = netprof_new(logger, mem); + ck_assert(tcp_np != nullptr); + tcp_oobdata_callback_called = 0; tcp_data_callback_called = 0; @@ -864,12 +873,12 @@ static void test_tcp_connection2(void) TCP_Proxy_Info proxy_info; proxy_info.proxy_type = TCP_PROXY_NONE; crypto_new_keypair(rng, self_public_key, self_secret_key); - TCP_Connections *tc_1 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info); + TCP_Connections *tc_1 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info, tcp_np); ck_assert_msg(tc_1 != nullptr, "Failed to create TCP connections"); ck_assert_msg(pk_equal(tcp_connections_public_key(tc_1), self_public_key), "Wrong public key"); crypto_new_keypair(rng, self_public_key, self_secret_key); - TCP_Connections *tc_2 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info); + TCP_Connections *tc_2 = new_tcp_connections(logger, mem, rng, ns, mono_time, self_secret_key, &proxy_info, tcp_np); ck_assert_msg(tc_2 != nullptr, "Failed to create TCP connections"); ck_assert_msg(pk_equal(tcp_connections_public_key(tc_2), self_public_key), "Wrong public key"); @@ -921,6 +930,8 @@ static void test_tcp_connection2(void) ck_assert_msg(tcp_data_callback_called, "could not recv packet."); ck_assert_msg(kill_tcp_connection_to(tc_1, 0) == 0, "could not kill connection to\n"); + netprof_kill(mem, tcp_np); + kill_tcp_server(tcp_s); kill_tcp_connections(tc_1); kill_tcp_connections(tc_2); diff --git a/auto_tests/forwarding_test.c b/auto_tests/forwarding_test.c index a1b8d6d..8172271 100644 --- a/auto_tests/forwarding_test.c +++ b/auto_tests/forwarding_test.c @@ -96,6 +96,7 @@ typedef struct Forwarding_Subtox { Logger *log; Mono_Time *mono_time; Networking_Core *net; + Net_Profile *tcp_np; DHT *dht; Net_Crypto *c; Forwarding *forwarding; @@ -126,8 +127,11 @@ static Forwarding_Subtox *new_forwarding_subtox(const Memory *mem, bool no_udp, subtox->dht = new_dht(subtox->log, mem, rng, ns, subtox->mono_time, subtox->net, true, true); + subtox->tcp_np = netprof_new(subtox->log, mem); + ck_assert(subtox->tcp_np != nullptr); + const TCP_Proxy_Info inf = {{{{0}}}}; - subtox->c = new_net_crypto(subtox->log, mem, rng, ns, subtox->mono_time, subtox->dht, &inf); + subtox->c = new_net_crypto(subtox->log, mem, rng, ns, subtox->mono_time, subtox->dht, &inf, subtox->tcp_np); subtox->forwarding = new_forwarding(subtox->log, mem, rng, subtox->mono_time, subtox->dht); ck_assert(subtox->forwarding != nullptr); @@ -143,6 +147,7 @@ static void kill_forwarding_subtox(const Memory *mem, Forwarding_Subtox *subtox) kill_announcements(subtox->announce); kill_forwarding(subtox->forwarding); kill_net_crypto(subtox->c); + netprof_kill(mem, subtox->tcp_np); kill_dht(subtox->dht); kill_networking(subtox->net); mono_time_free(mem, subtox->mono_time); diff --git a/auto_tests/onion_test.c b/auto_tests/onion_test.c index b73ffbd..46c70d9 100644 --- a/auto_tests/onion_test.c +++ b/auto_tests/onion_test.c @@ -396,6 +396,7 @@ static void test_basic(void) typedef struct { Logger *log; Mono_Time *mono_time; + Net_Profile *tcp_np; Onion *onion; Onion_Announce *onion_a; Onion_Client *onion_c; @@ -471,10 +472,24 @@ static Onions *new_onions(const Memory *mem, const Random *rng, uint16_t port, u return nullptr; } + on->tcp_np = netprof_new(on->log, mem); + + if (!on->tcp_np) { + kill_onion_announce(on->onion_a); + kill_onion(on->onion); + kill_dht(dht); + kill_networking(net); + mono_time_free(mem, on->mono_time); + logger_kill(on->log); + free(on); + return nullptr; + } + TCP_Proxy_Info inf = {{{{0}}}}; - on->onion_c = new_onion_client(on->log, mem, rng, on->mono_time, new_net_crypto(on->log, mem, rng, ns, on->mono_time, dht, &inf)); + on->onion_c = new_onion_client(on->log, mem, rng, on->mono_time, new_net_crypto(on->log, mem, rng, ns, on->mono_time, dht, &inf, on->tcp_np)); if (!on->onion_c) { + netprof_kill(mem, on->tcp_np); kill_onion_announce(on->onion_a); kill_onion(on->onion); kill_dht(dht); @@ -506,6 +521,7 @@ static void kill_onions(const Memory *mem, Onions *on) kill_onion_announce(on->onion_a); kill_onion(on->onion); kill_net_crypto(c); + netprof_kill(mem, on->tcp_np); kill_dht(dht); kill_networking(net); mono_time_free(mem, on->mono_time); diff --git a/toxcore/BUILD.bazel b/toxcore/BUILD.bazel index 1f2549f..2eae593 100644 --- a/toxcore/BUILD.bazel +++ b/toxcore/BUILD.bazel @@ -1058,6 +1058,7 @@ cc_library( ":mem", ":mono_time", ":net_crypto", + ":net_profile", ":network", ":onion", ":onion_announce", diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index b89f831..2d25abd 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c @@ -34,6 +34,7 @@ #include "mem.h" #include "mono_time.h" #include "net_crypto.h" +#include "net_profile.h" #include "network.h" #include "onion.h" #include "onion_announce.h" @@ -3531,11 +3532,24 @@ Messenger *new_messenger(Mono_Time *mono_time, const Memory *mem, const Random * return nullptr; } - m->net_crypto = new_net_crypto(m->log, m->mem, m->rng, m->ns, m->mono_time, m->dht, &options->proxy_info); + m->tcp_np = netprof_new(m->log, mem); + + if (m->tcp_np == nullptr) { + LOGGER_WARNING(m->log, "TCP netprof initialisation failed"); + kill_dht(m->dht); + kill_networking(m->net); + friendreq_kill(m->fr); + logger_kill(m->log); + mem_delete(mem, m); + return nullptr; + } + + m->net_crypto = new_net_crypto(m->log, m->mem, m->rng, m->ns, m->mono_time, m->dht, &options->proxy_info, m->tcp_np); if (m->net_crypto == nullptr) { LOGGER_WARNING(m->log, "net_crypto initialisation failed"); + netprof_kill(mem, m->tcp_np); kill_dht(m->dht); kill_networking(m->net); friendreq_kill(m->fr); @@ -3550,6 +3564,7 @@ Messenger *new_messenger(Mono_Time *mono_time, const Memory *mem, const Random * LOGGER_WARNING(m->log, "DHT group chats initialisation failed"); kill_net_crypto(m->net_crypto); + netprof_kill(mem, m->tcp_np); kill_dht(m->dht); kill_networking(m->net); friendreq_kill(m->fr); @@ -3589,6 +3604,7 @@ Messenger *new_messenger(Mono_Time *mono_time, const Memory *mem, const Random * kill_announcements(m->announce); kill_forwarding(m->forwarding); kill_net_crypto(m->net_crypto); + netprof_kill(mem, m->tcp_np); kill_dht(m->dht); kill_networking(m->net); friendreq_kill(m->fr); @@ -3612,6 +3628,7 @@ Messenger *new_messenger(Mono_Time *mono_time, const Memory *mem, const Random * kill_announcements(m->announce); kill_forwarding(m->forwarding); kill_net_crypto(m->net_crypto); + netprof_kill(mem, m->tcp_np); kill_dht(m->dht); kill_networking(m->net); friendreq_kill(m->fr); @@ -3637,6 +3654,7 @@ Messenger *new_messenger(Mono_Time *mono_time, const Memory *mem, const Random * kill_announcements(m->announce); kill_forwarding(m->forwarding); kill_net_crypto(m->net_crypto); + netprof_kill(mem, m->tcp_np); kill_dht(m->dht); kill_networking(m->net); friendreq_kill(m->fr); @@ -3692,6 +3710,7 @@ void kill_messenger(Messenger *m) kill_announcements(m->announce); kill_forwarding(m->forwarding); kill_net_crypto(m->net_crypto); + netprof_kill(m->mem, m->tcp_np); kill_dht(m->dht); kill_networking(m->net); diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h index d9bdaf3..1286ddf 100644 --- a/toxcore/Messenger.h +++ b/toxcore/Messenger.h @@ -25,6 +25,7 @@ #include "mem.h" #include "mono_time.h" #include "net_crypto.h" +#include "net_profile.h" #include "network.h" #include "onion.h" #include "onion_announce.h" @@ -248,6 +249,7 @@ struct Messenger { Networking_Core *net; Net_Crypto *net_crypto; + Net_Profile *tcp_np; DHT *dht; Forwarding *forwarding; diff --git a/toxcore/TCP_connection.c b/toxcore/TCP_connection.c index 20ac3ce..42269ad 100644 --- a/toxcore/TCP_connection.c +++ b/toxcore/TCP_connection.c @@ -1596,7 +1596,7 @@ int set_tcp_onion_status(TCP_Connections *tcp_c, bool status) * Returns NULL on failure. */ TCP_Connections *new_tcp_connections(const Logger *logger, const Memory *mem, const Random *rng, const Network *ns, - Mono_Time *mono_time, const uint8_t *secret_key, const TCP_Proxy_Info *proxy_info) + Mono_Time *mono_time, const uint8_t *secret_key, const TCP_Proxy_Info *proxy_info, Net_Profile *tcp_np) { assert(logger != nullptr); assert(mem != nullptr); @@ -1614,14 +1614,7 @@ TCP_Connections *new_tcp_connections(const Logger *logger, const Memory *mem, co return nullptr; } - Net_Profile *np = netprof_new(logger, mem); - - if (np == nullptr) { - mem_delete(mem, temp); - return nullptr; - } - - temp->net_profile = np; + temp->net_profile = tcp_np; temp->logger = logger; temp->mem = mem; temp->rng = rng; @@ -1736,17 +1729,8 @@ void kill_tcp_connections(TCP_Connections *tcp_c) crypto_memzero(tcp_c->self_secret_key, sizeof(tcp_c->self_secret_key)); - netprof_kill(tcp_c->mem, tcp_c->net_profile); mem_delete(tcp_c->mem, tcp_c->tcp_connections); mem_delete(tcp_c->mem, tcp_c->connections); mem_delete(tcp_c->mem, tcp_c); } -const Net_Profile *tcp_connection_get_client_net_profile(const TCP_Connections *tcp_c) -{ - if (tcp_c == nullptr) { - return nullptr; - } - - return tcp_c->net_profile; -} diff --git a/toxcore/TCP_connection.h b/toxcore/TCP_connection.h index 33388d5..3ff2173 100644 --- a/toxcore/TCP_connection.h +++ b/toxcore/TCP_connection.h @@ -307,7 +307,7 @@ uint32_t tcp_copy_connected_relays_index(const TCP_Connections *tcp_c, Node_form */ non_null() TCP_Connections *new_tcp_connections(const Logger *logger, const Memory *mem, const Random *rng, const Network *ns, - Mono_Time *mono_time, const uint8_t *secret_key, const TCP_Proxy_Info *proxy_info); + Mono_Time *mono_time, const uint8_t *secret_key, const TCP_Proxy_Info *proxy_info, Net_Profile *tcp_np); non_null() int kill_tcp_relay_connection(TCP_Connections *tcp_c, int tcp_connections_number); @@ -318,11 +318,4 @@ void do_tcp_connections(const Logger *logger, TCP_Connections *tcp_c, void *user nullable(1) void kill_tcp_connections(TCP_Connections *tcp_c); -/** @brief a pointer to the tcp client net profile associated with tcp_c. - * - * @retval null if tcp_c is null. - */ -non_null() -const Net_Profile *tcp_connection_get_client_net_profile(const TCP_Connections *tcp_c); - #endif /* C_TOXCORE_TOXCORE_TCP_CONNECTION_H */ diff --git a/toxcore/group_chats.c b/toxcore/group_chats.c index 8ba655c..22f60bf 100644 --- a/toxcore/group_chats.c +++ b/toxcore/group_chats.c @@ -7418,7 +7418,7 @@ static bool init_gc_tcp_connection(const GC_Session *c, GC_Chat *chat) const Messenger *m = c->messenger; chat->tcp_conn = new_tcp_connections(chat->log, chat->mem, chat->rng, m->ns, chat->mono_time, chat->self_secret_key.enc, - &m->options.proxy_info); + &m->options.proxy_info, c->tcp_np); if (chat->tcp_conn == nullptr) { return false; @@ -8274,6 +8274,7 @@ GC_Session *new_dht_groupchats(Messenger *m) c->messenger = m; c->announces_list = m->group_announce; + c->tcp_np = m->tcp_np; networking_registerhandler(m->net, NET_PACKET_GC_LOSSLESS, &handle_gc_udp_packet, m); networking_registerhandler(m->net, NET_PACKET_GC_LOSSY, &handle_gc_udp_packet, m); diff --git a/toxcore/group_common.h b/toxcore/group_common.h index 4c2e98a..9be3377 100644 --- a/toxcore/group_common.h +++ b/toxcore/group_common.h @@ -20,6 +20,7 @@ #include "logger.h" #include "mem.h" #include "mono_time.h" +#include "net_profile.h" #include "network.h" #define MAX_GC_PART_MESSAGE_SIZE 128 @@ -377,6 +378,7 @@ typedef void gc_rejected_cb(const Messenger *m, uint32_t group_number, unsigned typedef struct GC_Session { Messenger *messenger; GC_Chat *chats; + Net_Profile *tcp_np; struct GC_Announces_List *announces_list; uint32_t chats_index; diff --git a/toxcore/net_crypto.c b/toxcore/net_crypto.c index b960241..bf9f1d5 100644 --- a/toxcore/net_crypto.c +++ b/toxcore/net_crypto.c @@ -2988,7 +2988,7 @@ void load_secret_key(Net_Crypto *c, const uint8_t *sk) * Sets all the global connection variables to their default values. */ Net_Crypto *new_net_crypto(const Logger *log, const Memory *mem, const Random *rng, const Network *ns, - Mono_Time *mono_time, DHT *dht, const TCP_Proxy_Info *proxy_info) + Mono_Time *mono_time, DHT *dht, const TCP_Proxy_Info *proxy_info, Net_Profile *tcp_np) { if (dht == nullptr) { return nullptr; @@ -3006,7 +3006,7 @@ Net_Crypto *new_net_crypto(const Logger *log, const Memory *mem, const Random *r temp->mono_time = mono_time; temp->ns = ns; - temp->tcp_c = new_tcp_connections(log, mem, rng, ns, mono_time, dht_get_self_secret_key(dht), proxy_info); + temp->tcp_c = new_tcp_connections(log, mem, rng, ns, mono_time, dht_get_self_secret_key(dht), proxy_info, tcp_np); if (temp->tcp_c == nullptr) { mem_delete(mem, temp); @@ -3098,18 +3098,3 @@ void kill_net_crypto(Net_Crypto *c) crypto_memzero(c, sizeof(Net_Crypto)); mem_delete(mem, c); } - -const Net_Profile *nc_get_tcp_client_net_profile(const Net_Crypto *c) -{ - if (c == nullptr) { - return nullptr; - } - - const TCP_Connections *tcp_c = nc_get_tcp_c(c); - - if (tcp_c == nullptr) { - return nullptr; - } - - return tcp_connection_get_client_net_profile(tcp_c); -} diff --git a/toxcore/net_crypto.h b/toxcore/net_crypto.h index ee89a9e..8947070 100644 --- a/toxcore/net_crypto.h +++ b/toxcore/net_crypto.h @@ -406,7 +406,7 @@ void load_secret_key(Net_Crypto *c, const uint8_t *sk); */ non_null() Net_Crypto *new_net_crypto(const Logger *log, const Memory *mem, const Random *rng, const Network *ns, - Mono_Time *mono_time, DHT *dht, const TCP_Proxy_Info *proxy_info); + Mono_Time *mono_time, DHT *dht, const TCP_Proxy_Info *proxy_info, Net_Profile *tcp_np); /** return the optimal interval in ms for running do_net_crypto. */ non_null() @@ -419,13 +419,6 @@ void do_net_crypto(Net_Crypto *c, void *userdata); nullable(1) void kill_net_crypto(Net_Crypto *c); -/** - * Returns a pointer to the net profile object for the TCP client associated with `c`. - * Returns null if `c` is null or the TCP_Connections associated with `c` is null. - */ -non_null() -const Net_Profile *nc_get_tcp_client_net_profile(const Net_Crypto *c); - #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/toxcore/net_crypto_fuzz_test.cc b/toxcore/net_crypto_fuzz_test.cc index e5add8d..96ee86f 100644 --- a/toxcore/net_crypto_fuzz_test.cc +++ b/toxcore/net_crypto_fuzz_test.cc @@ -10,6 +10,7 @@ #include "../testing/fuzzing/fuzz_tox.hh" #include "DHT.h" #include "TCP_client.h" +#include "net_profile.h" #include "network.h" namespace { @@ -65,12 +66,20 @@ void TestNetCrypto(Fuzz_Data &input) return; } + Net_Profile *tcp_np = netprof_new(logger.get(), sys.mem.get()); + + if (tcp_np == nullptr) { + return; + } + const TCP_Proxy_Info proxy_info = {0}; - const Ptr net_crypto(new_net_crypto(logger.get(), sys.mem.get(), sys.rng.get(), - sys.ns.get(), mono_time.get(), dht.get(), &proxy_info), + const Ptr net_crypto( + new_net_crypto(logger.get(), sys.mem.get(), sys.rng.get(), sys.ns.get(), mono_time.get(), + dht.get(), &proxy_info, tcp_np), kill_net_crypto); if (net_crypto == nullptr) { + netprof_kill(sys.mem.get(), tcp_np); return; } @@ -81,6 +90,8 @@ void TestNetCrypto(Fuzz_Data &input) // "Sleep" sys.clock += System::BOOTSTRAP_ITERATION_INTERVAL; } + + netprof_kill(sys.mem.get(), tcp_np); } } // namespace diff --git a/toxcore/net_profile.h b/toxcore/net_profile.h index a4c6516..be16f67 100644 --- a/toxcore/net_profile.h +++ b/toxcore/net_profile.h @@ -15,6 +15,10 @@ #include "logger.h" #include "mem.h" +#ifdef __cplusplus +extern "C" { +#endif + /* The max number of packet ID's (must fit inside one byte) */ #define NET_PROF_MAX_PACKET_IDS 256 @@ -70,4 +74,8 @@ Net_Profile *netprof_new(const Logger *log, const Memory *mem); non_null(1) nullable(2) void netprof_kill(const Memory *mem, Net_Profile *net_profile); +#ifdef __cplusplus +} /* extern "C" */ +#endif + #endif /* C_TOXCORE_TOXCORE_NET_PROFILE_H */ diff --git a/toxcore/tox_private.c b/toxcore/tox_private.c index e215c37..dd9c63c 100644 --- a/toxcore/tox_private.c +++ b/toxcore/tox_private.c @@ -237,7 +237,7 @@ uint64_t tox_netprof_get_packet_id_count(const Tox *tox, Tox_Netprof_Packet_Type tox_lock(tox); - const Net_Profile *tcp_c_profile = nc_get_tcp_client_net_profile(tox->m->net_crypto); + const Net_Profile *tcp_c_profile = tox->m->tcp_np; const Net_Profile *tcp_s_profile = tcp_server_get_net_profile(tox->m->tcp_server); const Packet_Direction dir = (Packet_Direction) direction; @@ -286,7 +286,7 @@ uint64_t tox_netprof_get_packet_total_count(const Tox *tox, Tox_Netprof_Packet_T tox_lock(tox); - const Net_Profile *tcp_c_profile = nc_get_tcp_client_net_profile(tox->m->net_crypto); + const Net_Profile *tcp_c_profile = tox->m->tcp_np; const Net_Profile *tcp_s_profile = tcp_server_get_net_profile(tox->m->tcp_server); const Packet_Direction dir = (Packet_Direction) direction; @@ -335,7 +335,7 @@ uint64_t tox_netprof_get_packet_id_bytes(const Tox *tox, Tox_Netprof_Packet_Type tox_lock(tox); - const Net_Profile *tcp_c_profile = nc_get_tcp_client_net_profile(tox->m->net_crypto); + const Net_Profile *tcp_c_profile = tox->m->tcp_np; const Net_Profile *tcp_s_profile = tcp_server_get_net_profile(tox->m->tcp_server); const Packet_Direction dir = (Packet_Direction) direction; @@ -384,7 +384,7 @@ uint64_t tox_netprof_get_packet_total_bytes(const Tox *tox, Tox_Netprof_Packet_T tox_lock(tox); - const Net_Profile *tcp_c_profile = nc_get_tcp_client_net_profile(tox->m->net_crypto); + const Net_Profile *tcp_c_profile = tox->m->tcp_np; const Net_Profile *tcp_s_profile = tcp_server_get_net_profile(tox->m->tcp_server); const Packet_Direction dir = (Packet_Direction) direction;