diff --git a/dap_chain_net_srv_vpn.c b/dap_chain_net_srv_vpn.c index 80c776a5b60f4ad302dbac7233bc903cd6ecd422..a0218c3af7d3598f2d08717248458d07dc3f6a7d 100755 --- a/dap_chain_net_srv_vpn.c +++ b/dap_chain_net_srv_vpn.c @@ -439,10 +439,10 @@ void srv_ch_sf_packet_in(dap_stream_ch_t* ch, void* arg) n_addr.s_addr = ntohl(n_addr.s_addr); } - n_client->addr = n_addr.s_addr; + n_client->addr_ipv4 = n_addr.s_addr; s_raw_server->client_addr_last.s_addr = n_addr.s_addr; ch->stream->session->tun_client_addr.s_addr = n_addr.s_addr; - HASH_ADD_INT(s_raw_server->clients, addr, n_client); + HASH_ADD_INT(s_raw_server->clients, addr_ipv4, n_client); pthread_mutex_unlock(&s_raw_server->clients_mutex); diff --git a/dap_chain_net_srv_vpn.h b/dap_chain_net_srv_vpn.h index 115faaaec4390e2a22d93591ef4871189c2feac8..c479a7170f114b177fdb233a787d95de00ee8c0d 100755 --- a/dap_chain_net_srv_vpn.h +++ b/dap_chain_net_srv_vpn.h @@ -24,6 +24,9 @@ along with any DAP based project. If not, see <http://www.gnu.org/licenses/>. */ #pragma once +#ifdef DAP_OS_UNIX +#include <netinet/in.h> +#endif #include "dap_config.h" #include "dap_chain_net_srv.h" @@ -59,7 +62,11 @@ #define VPN_PACKET_OP_CODE_PONG 0xc1 typedef struct dap_stream_ch_vpn_remote_single { // - in_addr_t addr; +#ifdef DAP_OS_UNIX + in_addr_t addr_ipv4; +#else + uint32_t addr_ipv4; +#endif // pthread_mutex_t mutex; dap_stream_ch_t * ch;