33
44#include  "../testing/misc_tools.h" 
55#include  "../toxcore/mono_time.h" 
6+ #include  "../toxcore/network.h" 
67#include  "../toxcore/onion.h" 
78#include  "../toxcore/onion_announce.h" 
89#include  "../toxcore/onion_client.h" 
@@ -238,8 +239,10 @@ static void test_basic(void)
238239    Mono_Time  * mono_time2  =  mono_time_new (mem , nullptr , nullptr );
239240
240241    IP  ip  =  get_loopback ();
241-     Onion  * onion1  =  new_onion (log1 , mem , mono_time1 , rng , new_dht (log1 , mem , rng , ns , mono_time1 , new_networking (log1 , mem , ns , & ip , 36567 ), true, false));
242-     Onion  * onion2  =  new_onion (log2 , mem , mono_time2 , rng , new_dht (log2 , mem , rng , ns , mono_time2 , new_networking (log2 , mem , ns , & ip , 36568 ), true, false));
242+     Networking_Core  * net1  =  new_networking (log1 , mem , ns , & ip , 36567 );
243+     Onion  * onion1  =  new_onion (log1 , mem , mono_time1 , rng , new_dht (log1 , mem , rng , ns , mono_time1 , net1 , true, false), net1 );
244+     Networking_Core  * net2  =  new_networking (log2 , mem , ns , & ip , 36568 );
245+     Onion  * onion2  =  new_onion (log2 , mem , mono_time2 , rng , new_dht (log2 , mem , rng , ns , mono_time2 , net2 , true, false), net2 );
243246    ck_assert_msg ((onion1  !=  nullptr ) &&  (onion2  !=  nullptr ), "Onion failed initializing." );
244247    networking_registerhandler (onion2 -> net , NET_PACKET_ANNOUNCE_REQUEST , & handle_test_1 , onion2 );
245248
@@ -282,8 +285,8 @@ static void test_basic(void)
282285        do_onion (mono_time2 , onion2 );
283286    } while  (handled_test_2  ==  0 );
284287
285-     Onion_Announce  * onion1_a  =  new_onion_announce (log1 , mem , rng , mono_time1 , onion1 -> dht );
286-     Onion_Announce  * onion2_a  =  new_onion_announce (log2 , mem , rng , mono_time2 , onion2 -> dht );
288+     Onion_Announce  * onion1_a  =  new_onion_announce (log1 , mem , rng , mono_time1 , onion1 -> dht ,  onion1 -> net );
289+     Onion_Announce  * onion2_a  =  new_onion_announce (log2 , mem , rng , mono_time2 , onion2 -> dht ,  onion2 -> net );
287290    networking_registerhandler (onion1 -> net , NET_PACKET_ANNOUNCE_RESPONSE , & handle_test_3 , onion1 );
288291    networking_registerhandler (onion1 -> net , NET_PACKET_ANNOUNCE_RESPONSE_OLD , & handle_test_3_old , onion1 );
289292    ck_assert_msg ((onion1_a  !=  nullptr ) &&  (onion2_a  !=  nullptr ), "Onion_Announce failed initializing." );
@@ -335,7 +338,8 @@ static void test_basic(void)
335338
336339    Mono_Time  * mono_time3  =  mono_time_new (mem , nullptr , nullptr );
337340
338-     Onion  * onion3  =  new_onion (log3 , mem , mono_time3 , rng , new_dht (log3 , mem , rng , ns , mono_time3 , new_networking (log3 , mem , ns , & ip , 36569 ), true, false));
341+     Networking_Core  * net3  =  new_networking (log3 , mem , ns , & ip , 36569 );
342+     Onion  * onion3  =  new_onion (log3 , mem , mono_time3 , rng , new_dht (log3 , mem , rng , ns , mono_time3 , net3 , true, false), net3 );
339343    ck_assert_msg ((onion3  !=  nullptr ), "Onion failed initializing." );
340344
341345    random_nonce (rng , nonce );
@@ -360,7 +364,7 @@ static void test_basic(void)
360364    {
361365        Onion  * onion  =  onion3 ;
362366
363-         Networking_Core  * net  =  dht_get_net ( onion -> dht ) ;
367+         Networking_Core  * net  =  onion -> net ;
364368        DHT  * dht  =  onion -> dht ;
365369        kill_onion (onion );
366370        kill_dht (dht );
@@ -372,7 +376,7 @@ static void test_basic(void)
372376    {
373377        Onion  * onion  =  onion2 ;
374378
375-         Networking_Core  * net  =  dht_get_net ( onion -> dht ) ;
379+         Networking_Core  * net  =  onion -> net ;
376380        DHT  * dht  =  onion -> dht ;
377381        kill_onion (onion );
378382        kill_dht (dht );
@@ -384,7 +388,7 @@ static void test_basic(void)
384388    {
385389        Onion  * onion  =  onion1 ;
386390
387-         Networking_Core  * net  =  dht_get_net ( onion -> dht ) ;
391+         Networking_Core  * net  =  onion -> net ;
388392        DHT  * dht  =  onion -> dht ;
389393        kill_onion (onion );
390394        kill_dht (dht );
@@ -397,6 +401,7 @@ static void test_basic(void)
397401typedef  struct  {
398402    Logger  * log ;
399403    Mono_Time  * mono_time ;
404+     Net_Crypto  * nc ;
400405    Net_Profile  * tcp_np ;
401406    Onion  * onion ;
402407    Onion_Announce  * onion_a ;
@@ -450,7 +455,7 @@ static Onions *new_onions(const Memory *mem, const Random *rng, uint16_t port, u
450455        return  nullptr ;
451456    }
452457
453-     on -> onion  =  new_onion (on -> log , mem , on -> mono_time , rng , dht );
458+     on -> onion  =  new_onion (on -> log , mem , on -> mono_time , rng , dht ,  net );
454459
455460    if  (!on -> onion ) {
456461        kill_dht (dht );
@@ -461,7 +466,7 @@ static Onions *new_onions(const Memory *mem, const Random *rng, uint16_t port, u
461466        return  nullptr ;
462467    }
463468
464-     on -> onion_a  =  new_onion_announce (on -> log , mem , rng , on -> mono_time , dht );
469+     on -> onion_a  =  new_onion_announce (on -> log , mem , rng , on -> mono_time , dht ,  net );
465470
466471    if  (!on -> onion_a ) {
467472        kill_onion (on -> onion );
@@ -487,7 +492,8 @@ static Onions *new_onions(const Memory *mem, const Random *rng, uint16_t port, u
487492    }
488493
489494    TCP_Proxy_Info  inf  =  {{{{0 }}}};
490-     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 ));
495+     on -> nc  =  new_net_crypto (on -> log , mem , rng , ns , on -> mono_time , net , dht , & inf , on -> tcp_np );
496+     on -> onion_c  =  new_onion_client (on -> log , mem , rng , on -> mono_time , on -> nc , dht , net );
491497
492498    if  (!on -> onion_c ) {
493499        netprof_kill (mem , on -> tcp_np );
@@ -515,9 +521,9 @@ static void do_onions(Onions *on)
515521
516522static  void  kill_onions (const  Memory  * mem , Onions  * on )
517523{
518-     Networking_Core  * net  =  dht_get_net ( on -> onion -> dht ) ;
524+     Networking_Core  * net  =  on -> onion -> net ;
519525    DHT  * dht  =  on -> onion -> dht ;
520-     Net_Crypto  * c  =  onion_get_net_crypto ( on -> onion_c ) ;
526+     Net_Crypto  * c  =  on -> nc ;
521527    kill_onion_client (on -> onion_c );
522528    kill_onion_announce (on -> onion_a );
523529    kill_onion (on -> onion );
@@ -641,9 +647,9 @@ static void test_announce(void)
641647
642648    printf ("adding friend\n" );
643649    int  frnum_f  =  onion_addfriend (onions [NUM_FIRST ]-> onion_c ,
644-                                   nc_get_self_public_key (onion_get_net_crypto ( onions [NUM_LAST ]-> onion_c ) ));
650+                                   nc_get_self_public_key (onions [NUM_LAST ]-> nc ));
645651    int  frnum  =  onion_addfriend (onions [NUM_LAST ]-> onion_c ,
646-                                 nc_get_self_public_key (onion_get_net_crypto ( onions [NUM_FIRST ]-> onion_c ) ));
652+                                 nc_get_self_public_key (onions [NUM_FIRST ]-> nc ));
647653
648654    onion_dht_pk_callback (onions [NUM_FIRST ]-> onion_c , frnum_f , & dht_pk_callback , onions [NUM_FIRST ], NUM_FIRST );
649655    onion_dht_pk_callback (onions [NUM_LAST ]-> onion_c , frnum , & dht_pk_callback , onions [NUM_LAST ], NUM_LAST );
0 commit comments