@@ -335,6 +335,12 @@ static void try_connect(const tal_t *ctx,
335335{
336336 struct delayed_reconnect * d ;
337337 struct peer * peer ;
338+ const struct wireaddr_internal * alt_addr ;
339+
340+ alt_addr = wallet_get_peer_alt_addr (ld -> wallet , id );
341+ if (alt_addr ) {
342+ addrhint = alt_addr ; //IS THIS CORRECT TO JUST OVERWRITE IT LIKE THIS??
343+ }
338344
339345 /* Don't stack, unless this is an instant reconnect */
340346 d = delayed_reconnect_map_get (ld -> delayed_reconnect_map , id );
@@ -364,9 +370,6 @@ static void try_connect(const tal_t *ctx,
364370 /* Update any channel billboards */
365371 peer = peer_by_id (ld , id );
366372 if (peer ) {
367- // struct pubkey pubkey;
368- // if (pubkey_from_node_id(&pubkey, id)) {
369- // send_peer_alt_address(peer, &pubkey, (const u8 *)"127.21.21.21"); // THIS MIGHT BE THE RIGHT PLACE IN THE END, NEED TO SEND ANOTHER MSG FROM MASTER -> CHANNELD then????
370373 struct channel * channel ;
371374 list_for_each (& peer -> channels , channel , list ) {
372375 if (!channel_state_wants_peercomms (channel -> state ))
@@ -559,20 +562,21 @@ static void handle_custommsg_in(struct lightningd *ld, const u8 *msg)
559562 plugin_hook_call_custommsg (ld , NULL , p );
560563}
561564
562- static void handle_alt_addr_in (struct lightningd * ld , const u8 * msg )
565+ static void handle_peer_alt_addr_in (struct lightningd * ld , const u8 * msg )
563566{
564- struct pubkey node_id ;
565- struct node_id id ;
566- u8 * alt_addr ;
567+ struct pubkey peer_node_id ;
568+ u8 * peer_alt_addr ;
567569
568- if (!fromwire_connectd_alt_address (tmpctx , msg , & node_id , & alt_addr )) {
570+ if (!fromwire_connectd_alt_address (tmpctx , msg , & peer_node_id , & peer_alt_addr )) {
569571 log_broken (ld -> log , "Malformed peer_alt_addr_msg: %s" ,
570572 tal_hex (tmpctx , msg ));
571573 return ;
572574 }
573575
574- node_id_from_pubkey (& id , & node_id );
575- wallet_peer_alt_addr (ld -> wallet -> db , & id , (char * )alt_addr );
576+ struct node_id id ;
577+ node_id_from_pubkey (& id , & peer_node_id );
578+ wallet_add_peer_alt_addr (ld -> wallet -> db , & id , (char * )peer_alt_addr );
579+ // SHOULD/CAN WE ALSO SAVE IT TO THE peer struct HERE, TO BE ABLE TO GET IN IT CONNECTD LATER FOR THE `connection_in`???
576580}
577581
578582static void connectd_start_shutdown_reply (struct subd * connectd ,
@@ -666,7 +670,7 @@ static unsigned connectd_msg(struct subd *connectd, const u8 *msg, const int *fd
666670 break ;
667671
668672 case WIRE_CONNECTD_ALT_ADDRESS :
669- handle_alt_addr_in (connectd -> ld , msg );
673+ handle_peer_alt_addr_in (connectd -> ld , msg );
670674 break ;
671675 }
672676 return 0 ;
@@ -788,7 +792,8 @@ int connectd_init(struct lightningd *ld)
788792 ld -> dev_fast_gossip ,
789793 ld -> dev_disconnect_fd >= 0 ,
790794 ld -> dev_no_ping_timer ,
791- ld -> dev_handshake_no_reply );
795+ ld -> dev_handshake_no_reply /* , //This is WIP
796+ ld->our_alt_addr */ );
792797
793798 subd_req (ld -> connectd , ld -> connectd , take (msg ), -1 , 0 ,
794799 connect_init_done , NULL );
0 commit comments