@@ -48,15 +48,19 @@ static void test_basic(void)
4848 Mono_Time * mono_time = mono_time_new (nullptr , nullptr );
4949 const Random * rng = system_random ();
5050 ck_assert (rng != nullptr );
51+ const Network * ns = system_network ();
52+ ck_assert (ns != nullptr );
53+ const Memory * mem = system_memory ();
54+ ck_assert (mem != nullptr );
55+
5156 Logger * logger = logger_new ();
5257 logger_callback_log (logger , print_debug_logger , nullptr , nullptr );
5358
5459 // Attempt to create a new TCP_Server instance.
5560 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
5661 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
5762 crypto_new_keypair (rng , self_public_key , self_secret_key );
58- const Network * ns = system_network ();
59- TCP_Server * tcp_s = new_TCP_server (logger , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
63+ TCP_Server * tcp_s = new_TCP_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
6064 ck_assert_msg (tcp_s != nullptr , "Failed to create a TCP relay server." );
6165 ck_assert_msg (tcp_server_listen_count (tcp_s ) == NUM_PORTS ,
6266 "Failed to bind a TCP relay server to all %d attempted ports." , NUM_PORTS );
@@ -70,7 +74,7 @@ static void test_basic(void)
7074 for (uint8_t i = 0 ; i < NUM_PORTS ; i ++ ) {
7175 sock = net_socket (ns , net_family_ipv6 (), TOX_SOCK_STREAM , TOX_PROTO_TCP );
7276 localhost .port = net_htons (ports [i ]);
73- bool ret = net_connect (logger , sock , & localhost );
77+ bool ret = net_connect (mem , logger , sock , & localhost );
7478 ck_assert_msg (ret , "Failed to connect to created TCP relay server on port %d (%d)." , ports [i ], errno );
7579
7680 // Leave open one connection for the next test.
@@ -190,24 +194,26 @@ static void test_basic(void)
190194struct sec_TCP_con {
191195 Socket sock ;
192196 const Network * ns ;
197+ const Memory * mem ;
193198 uint8_t public_key [CRYPTO_PUBLIC_KEY_SIZE ];
194199 uint8_t recv_nonce [CRYPTO_NONCE_SIZE ];
195200 uint8_t sent_nonce [CRYPTO_NONCE_SIZE ];
196201 uint8_t shared_key [CRYPTO_SHARED_KEY_SIZE ];
197202};
198203
199- static struct sec_TCP_con * new_TCP_con (const Logger * logger , const Random * rng , const Network * ns , TCP_Server * tcp_s , Mono_Time * mono_time )
204+ static struct sec_TCP_con * new_TCP_con (const Logger * logger , const Memory * mem , const Random * rng , const Network * ns , TCP_Server * tcp_s , Mono_Time * mono_time )
200205{
201206 struct sec_TCP_con * sec_c = (struct sec_TCP_con * )malloc (sizeof (struct sec_TCP_con ));
202207 ck_assert (sec_c != nullptr );
203208 sec_c -> ns = ns ;
209+ sec_c -> mem = mem ;
204210 Socket sock = net_socket (ns , net_family_ipv6 (), TOX_SOCK_STREAM , TOX_PROTO_TCP );
205211
206212 IP_Port localhost ;
207213 localhost .ip = get_loopback ();
208214 localhost .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
209215
210- bool ok = net_connect (logger , sock , & localhost );
216+ bool ok = net_connect (mem , logger , sock , & localhost );
211217 ck_assert_msg (ok , "Failed to connect to the test TCP relay server." );
212218
213219 uint8_t f_secret_key [CRYPTO_SECRET_KEY_SIZE ];
@@ -302,17 +308,20 @@ static void test_some(void)
302308 ck_assert (rng != nullptr );
303309 Logger * logger = logger_new ();
304310 const Network * ns = system_network ();
311+ ck_assert (ns != nullptr );
312+ const Memory * mem = system_memory ();
313+ ck_assert (mem != nullptr );
305314
306315 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
307316 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
308317 crypto_new_keypair (rng , self_public_key , self_secret_key );
309- TCP_Server * tcp_s = new_TCP_server (logger , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
318+ TCP_Server * tcp_s = new_TCP_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
310319 ck_assert_msg (tcp_s != nullptr , "Failed to create TCP relay server" );
311320 ck_assert_msg (tcp_server_listen_count (tcp_s ) == NUM_PORTS , "Failed to bind to all ports." );
312321
313- struct sec_TCP_con * con1 = new_TCP_con (logger , rng , ns , tcp_s , mono_time );
314- struct sec_TCP_con * con2 = new_TCP_con (logger , rng , ns , tcp_s , mono_time );
315- struct sec_TCP_con * con3 = new_TCP_con (logger , rng , ns , tcp_s , mono_time );
322+ struct sec_TCP_con * con1 = new_TCP_con (logger , mem , rng , ns , tcp_s , mono_time );
323+ struct sec_TCP_con * con2 = new_TCP_con (logger , mem , rng , ns , tcp_s , mono_time );
324+ struct sec_TCP_con * con3 = new_TCP_con (logger , mem , rng , ns , tcp_s , mono_time );
316325
317326 uint8_t requ_p [1 + CRYPTO_PUBLIC_KEY_SIZE ];
318327 requ_p [0 ] = TCP_PACKET_ROUTING_REQUEST ;
@@ -492,12 +501,15 @@ static void test_client(void)
492501 const Random * rng = system_random ();
493502 ck_assert (rng != nullptr );
494503 Logger * logger = logger_new ();
504+ const Network * ns = system_network ();
505+ ck_assert (ns != nullptr );
506+ const Memory * mem = system_memory ();
507+ ck_assert (mem != nullptr );
495508
496509 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
497510 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
498511 crypto_new_keypair (rng , self_public_key , self_secret_key );
499- const Network * ns = system_network ();
500- TCP_Server * tcp_s = new_TCP_server (logger , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
512+ TCP_Server * tcp_s = new_TCP_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
501513 ck_assert_msg (tcp_s != nullptr , "Failed to create a TCP relay server." );
502514 ck_assert_msg (tcp_server_listen_count (tcp_s ) == NUM_PORTS , "Failed to bind the relay server to all ports." );
503515
@@ -509,8 +521,7 @@ static void test_client(void)
509521 ip_port_tcp_s .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
510522 ip_port_tcp_s .ip = get_loopback ();
511523
512- TCP_Client_Connection * conn = new_TCP_connection (logger , mono_time , rng , ns , & ip_port_tcp_s , self_public_key , f_public_key ,
513- f_secret_key , nullptr );
524+ TCP_Client_Connection * conn = new_TCP_connection (logger , mem , mono_time , rng , ns , & ip_port_tcp_s , self_public_key , f_public_key , f_secret_key , nullptr );
514525 do_TCP_connection (logger , mono_time , conn , nullptr );
515526 c_sleep (50 );
516527
@@ -544,7 +555,7 @@ static void test_client(void)
544555 uint8_t f2_secret_key [CRYPTO_SECRET_KEY_SIZE ];
545556 crypto_new_keypair (rng , f2_public_key , f2_secret_key );
546557 ip_port_tcp_s .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
547- TCP_Client_Connection * conn2 = new_TCP_connection (logger , mono_time , rng , ns , & ip_port_tcp_s , self_public_key , f2_public_key ,
558+ TCP_Client_Connection * conn2 = new_TCP_connection (logger , mem , mono_time , rng , ns , & ip_port_tcp_s , self_public_key , f2_public_key ,
548559 f2_secret_key , nullptr );
549560
550561 // The client should call this function (defined earlier) during the routing process.
@@ -622,8 +633,11 @@ static void test_client_invalid(void)
622633 Mono_Time * mono_time = mono_time_new (nullptr , nullptr );
623634 const Random * rng = system_random ();
624635 ck_assert (rng != nullptr );
625- Logger * logger = logger_new ();
626636 const Network * ns = system_network ();
637+ ck_assert (ns != nullptr );
638+ const Memory * mem = system_memory ();
639+ ck_assert (mem != nullptr );
640+ Logger * logger = logger_new ();
627641
628642 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
629643 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
@@ -636,7 +650,7 @@ static void test_client_invalid(void)
636650
637651 ip_port_tcp_s .port = net_htons (ports [random_u32 (rng ) % NUM_PORTS ]);
638652 ip_port_tcp_s .ip = get_loopback ();
639- TCP_Client_Connection * conn = new_TCP_connection (logger , mono_time , rng , ns , & ip_port_tcp_s ,
653+ TCP_Client_Connection * conn = new_TCP_connection (logger , mem , mono_time , rng , ns , & ip_port_tcp_s ,
640654 self_public_key , f_public_key , f_secret_key , nullptr );
641655
642656 // Run the client's main loop but not the server.
@@ -699,22 +713,25 @@ static void test_tcp_connection(void)
699713 const Random * rng = system_random ();
700714 ck_assert (rng != nullptr );
701715 const Network * ns = system_network ();
716+ ck_assert (ns != nullptr );
717+ const Memory * mem = system_memory ();
718+ ck_assert (mem != nullptr );
702719
703720 tcp_data_callback_called = 0 ;
704721 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
705722 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
706723 crypto_new_keypair (rng , self_public_key , self_secret_key );
707- TCP_Server * tcp_s = new_TCP_server (logger , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
724+ TCP_Server * tcp_s = new_TCP_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
708725 ck_assert_msg (pk_equal (tcp_server_public_key (tcp_s ), self_public_key ), "Wrong public key" );
709726
710727 TCP_Proxy_Info proxy_info ;
711728 proxy_info .proxy_type = TCP_PROXY_NONE ;
712729 crypto_new_keypair (rng , self_public_key , self_secret_key );
713- TCP_Connections * tc_1 = new_tcp_connections (logger , rng , ns , mono_time , self_secret_key , & proxy_info );
730+ TCP_Connections * tc_1 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info );
714731 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_1 ), self_public_key ), "Wrong public key" );
715732
716733 crypto_new_keypair (rng , self_public_key , self_secret_key );
717- TCP_Connections * tc_2 = new_tcp_connections (logger , rng , ns , mono_time , self_secret_key , & proxy_info );
734+ TCP_Connections * tc_2 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info );
718735 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_2 ), self_public_key ), "Wrong public key" );
719736
720737 IP_Port ip_port_tcp_s ;
@@ -808,24 +825,27 @@ static void test_tcp_connection2(void)
808825 const Random * rng = system_random ();
809826 ck_assert (rng != nullptr );
810827 const Network * ns = system_network ();
828+ ck_assert (ns != nullptr );
829+ const Memory * mem = system_memory ();
830+ ck_assert (mem != nullptr );
811831
812832 tcp_oobdata_callback_called = 0 ;
813833 tcp_data_callback_called = 0 ;
814834
815835 uint8_t self_public_key [CRYPTO_PUBLIC_KEY_SIZE ];
816836 uint8_t self_secret_key [CRYPTO_SECRET_KEY_SIZE ];
817837 crypto_new_keypair (rng , self_public_key , self_secret_key );
818- TCP_Server * tcp_s = new_TCP_server (logger , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
838+ TCP_Server * tcp_s = new_TCP_server (logger , mem , rng , ns , USE_IPV6 , NUM_PORTS , ports , self_secret_key , nullptr , nullptr );
819839 ck_assert_msg (pk_equal (tcp_server_public_key (tcp_s ), self_public_key ), "Wrong public key" );
820840
821841 TCP_Proxy_Info proxy_info ;
822842 proxy_info .proxy_type = TCP_PROXY_NONE ;
823843 crypto_new_keypair (rng , self_public_key , self_secret_key );
824- TCP_Connections * tc_1 = new_tcp_connections (logger , rng , ns , mono_time , self_secret_key , & proxy_info );
844+ TCP_Connections * tc_1 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info );
825845 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_1 ), self_public_key ), "Wrong public key" );
826846
827847 crypto_new_keypair (rng , self_public_key , self_secret_key );
828- TCP_Connections * tc_2 = new_tcp_connections (logger , rng , ns , mono_time , self_secret_key , & proxy_info );
848+ TCP_Connections * tc_2 = new_tcp_connections (logger , mem , rng , ns , mono_time , self_secret_key , & proxy_info );
829849 ck_assert_msg (pk_equal (tcp_connections_public_key (tc_2 ), self_public_key ), "Wrong public key" );
830850
831851 IP_Port ip_port_tcp_s ;
0 commit comments