From 098fddcc4339caa0ce829f31ebd474ccc19a4386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=D0=B5x=D0=B0nder=20Lysik=D0=BEv?= <alexander.lysikov@demlabs.net> Date: Wed, 28 Aug 2019 21:35:14 +0500 Subject: [PATCH] Added port number support for connecting to a remote node --- dap_chain_net.c | 7 ++++++- dap_chain_node_client.c | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dap_chain_net.c b/dap_chain_net.c index 17adfdd..2bafaa1 100644 --- a/dap_chain_net.c +++ b/dap_chain_net.c @@ -1083,8 +1083,11 @@ int s_net_load(const char * a_net_name) uint16_t l_seed_nodes_ipv4_len =0; char ** l_seed_nodes_ipv4 = dap_config_get_array_str( l_cfg , "general" ,"seed_nodes_ipv4" ,&l_seed_nodes_ipv4_len); + uint16_t l_seed_nodes_port_len =0; + char ** l_seed_nodes_port = dap_config_get_array_str( l_cfg , "general" ,"seed_nodes_port" + ,&l_seed_nodes_port_len); - const char * l_node_ipv4_str = dap_config_get_item_str(l_cfg , "general" ,"node-ipv4"); + //const char * l_node_ipv4_str = dap_config_get_item_str(l_cfg , "general" ,"node-ipv4"); const char * l_node_addr_str = dap_config_get_item_str(l_cfg , "general" ,"node-addr"); const char * l_node_alias_str = dap_config_get_item_str(l_cfg , "general" , "node-alias"); log_it (L_DEBUG, "Read %u aliases, %u address and %u ipv4 addresses, check them", @@ -1110,6 +1113,8 @@ int s_net_load(const char * a_net_name) if( l_seed_node_addr ){ inet_pton( AF_INET, l_seed_nodes_ipv4[i],&l_node_info->hdr.ext_addr_v4); l_node_info->hdr.address.uint64 = l_seed_node_addr->uint64; + if(l_seed_nodes_port_len >= i) + l_node_info->hdr.ext_port = strtoul(l_seed_nodes_port[i], NULL, 10); int l_ret; if ( (l_ret = dap_chain_node_info_save(l_net, l_node_info)) ==0 ){ if (dap_chain_node_alias_register(l_net,PVT(l_net)->seed_aliases[i],l_seed_node_addr)) diff --git a/dap_chain_node_client.c b/dap_chain_node_client.c index 81a6df8..fe3bb64 100644 --- a/dap_chain_node_client.c +++ b/dap_chain_node_client.c @@ -61,7 +61,7 @@ #define SYSTEM_PREFIX "/opt/"DAP_APP_NAME #define SYSTEM_CONFIGS_DIR SYSTEM_PREFIX"/etc" -static int listen_port_tcp = 8079; +//static int listen_port_tcp = 8079; static void s_stage_connected_callback(dap_client_t *a_client, void *a_arg); static void s_ch_chain_callback_notify_packet_out(dap_stream_ch_chain_t*, uint8_t a_pkt_type, @@ -83,10 +83,10 @@ int dap_chain_node_client_init(void) if((g_config = dap_config_open(DAP_APP_NAME)) == NULL) { return -1; } - else { + /*else { const char *port_str = dap_config_get_item_str(g_config, "server", "listen_port_tcp"); listen_port_tcp = (port_str) ? atoi(port_str) : 8079; - } + }*/ if(g_config) dap_config_close(g_config); return 0; @@ -362,7 +362,7 @@ dap_chain_node_client_t* dap_chain_node_client_connect(dap_chain_node_info_t *a_ dap_chain_node_client_close(l_node_client); return NULL; } - dap_client_set_uplink(l_node_client->client, strdup(host), listen_port_tcp); + dap_client_set_uplink(l_node_client->client, strdup(host), a_node_info->hdr.ext_port); // dap_client_stage_t a_stage_target = STAGE_ENC_INIT; dap_client_stage_t l_stage_target = STAGE_STREAM_STREAMING; -- GitLab