diff --git a/dap_chain_net_srv_vpn.c b/dap_chain_net_srv_vpn.c index c4278ee1c8d4e17d3087ad6e4c01fb3204550012..b0db4be2c6576d6f1b4a429ba815556e07650748 100755 --- a/dap_chain_net_srv_vpn.c +++ b/dap_chain_net_srv_vpn.c @@ -157,8 +157,7 @@ static void s_update_limits(dap_stream_ch_t * a_ch , * @param vpn_mask Zero if only client mode. Mask if the node shares its local VPN * @return 0 if everything is okay, lesser then zero if errors */ -int dap_chain_net_srv_vpn_init(dap_config_t * g_config) -{ +int dap_chain_net_srv_vpn_init(dap_config_t * g_config) { const char *c_addr = dap_config_get_item_str(g_config, "srv_vpn", "network_address"); const char *c_mask = dap_config_get_item_str(g_config, "srv_vpn", "network_mask"); if(c_addr && c_mask) { @@ -183,26 +182,6 @@ int dap_chain_net_srv_vpn_init(dap_config_t * g_config) l_srv_vpn->parent = l_srv; uint16_t l_pricelist_count = 0; - char ** l_pricelist = dap_config_get_array_str(g_config,"srv_vpn","pricelist", &l_pricelist_count ); - for ( uint16_t i = 0; i < l_pricelist_count; i++ ){ - char * l_price_str = l_pricelist[i]; - size_t l_price_length = strlen(l_price_str); - size_t l_iter = 0; - char * l_pos_old = l_price_str; - dap_chain_net_srv_price_t *l_price = DAP_NEW_Z(dap_chain_net_srv_price_t); - for (char * l_pos = strchr(l_price_str,':'); ; l_pos = strchr(l_pos+1,':') ){ - if( l_iter == 0) - break; - - size_t l_parse_token_size = l_pos?(size_t) (l_pos - l_pos_old)-1: l_price_length- (size_t)(l_pos_old - l_pricelist[i]) ; - char * l_parse_token = strndup(l_pos_old, l_parse_token_size); - if( l_parse_token_size ==0 ){ - log_it(L_ERROR, "Wrong price element size nil"); - DAP_DELETE(l_parse_token); - break; - } - if ( l_iter == 0){ - l_price->net_name = strdup(l_parse_token); /* ! IMPORTANT ! This fetch is single-action and cannot be further reused, since it modifies the stored config data * ! it also must NOT be freed within this module ! @@ -323,7 +302,7 @@ static int s_callback_response_success(dap_chain_net_srv_t * a_srv, uint32_t a_u // dap_stream_ch_chain_net_srv_pkt_request_t * l_request = (dap_stream_ch_chain_net_srv_pkt_request_t *) a_request; // dap_chain_net_srv_stream_session_t * l_srv_session = (dap_chain_net_srv_stream_session_t *) a_srv_client->ch->stream->session->_inheritor; dap_chain_net_srv_stream_session_t * l_srv_session = (dap_chain_net_srv_stream_session_t *) a_srv_client->ch->stream->session->_inheritor; - dap_chain_net_srv_usage_t * l_usage_active= dap_chain_net_srv_usage_find(l_srv_session->usages,a_usage_id); + dap_chain_net_srv_usage_t * l_usage_active= dap_chain_net_srv_usage_find(l_srv_session,a_usage_id); dap_chain_net_srv_ch_vpn_t * l_srv_ch_vpn =(dap_chain_net_srv_ch_vpn_t*) a_srv_client->ch->stream->channel[DAP_CHAIN_NET_SRV_VPN_ID] ? a_srv_client->ch->stream->channel[DAP_CHAIN_NET_SRV_VPN_ID]->internal : NULL; @@ -482,6 +461,7 @@ void s_new(dap_stream_ch_t* a_stream_ch, void* a_arg) dap_chain_net_srv_stream_session_create(a_stream_ch->stream->session); dap_chain_net_srv_uid_t l_uid = { .uint64 = DAP_CHAIN_NET_SRV_VPN_ID }; l_srv_vpn->net_srv = dap_chain_net_srv_get(l_uid); + l_srv_vpn->ch = a_stream_ch; dap_chain_net_srv_stream_session_t * l_srv_session = (dap_chain_net_srv_stream_session_t *) a_stream_ch->stream->session->_inheritor; pthread_mutex_init(&l_srv_vpn->mutex, NULL);