diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 78ae7458e46f0e6299760dea12620a7d16d03a5b..6023ff47176c12cde5637787a1b5c42cc5302b94 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -73,8 +73,10 @@ if (CELLFRAME_MODULES MATCHES "srv-datum") endif() # Service VPN -if (CELLFRAME_MODULES MATCHES "srv-vpn") - add_subdirectory(service/vpn) +if(LINUX) + if (CELLFRAME_MODULES MATCHES "srv-vpn") + add_subdirectory(service/vpn) + endif() endif() # Service eXchange diff --git a/modules/chain/dap_chain.c b/modules/chain/dap_chain.c index b6b5943cad3e12664e182183cd356d6cf3ae1ddb..d117a5ef9b04728870e713df1a5336cf9aac2de4 100644 --- a/modules/chain/dap_chain.c +++ b/modules/chain/dap_chain.c @@ -24,7 +24,7 @@ #include <dap_chain_ledger.h> #include <sys/types.h> #include <dirent.h> -#ifdef DAP_OS_UNIX +#ifdef DAP_OS_LINUX #include <stdc-predef.h> #endif #include <unistd.h> diff --git a/modules/global-db/dap_chain_global_db_driver_cdb.c b/modules/global-db/dap_chain_global_db_driver_cdb.c index 5b54ead3ac2c4e825124da39d9e5027865f23eb7..fe44afcd95694b8ed5e570deb4ecb27896852d9f 100644 --- a/modules/global-db/dap_chain_global_db_driver_cdb.c +++ b/modules/global-db/dap_chain_global_db_driver_cdb.c @@ -197,12 +197,18 @@ int dap_db_driver_cdb_init(const char *a_cdb_path, dap_db_driver_callbacks_t *a_ #ifdef _DIRENT_HAVE_D_TYPE if (d->d_type != DT_DIR) continue; -#else +#elif defined(DAP_OS_LINUX) struct _stat buf; int res = _stat(d->d_name, &buf); if (!S_ISDIR(buf.st_mode) || !res) { continue; } +#elif defined (DAP_OS_BSD) + struct stat buf; + int res = stat(d->d_name, &buf); + if (!S_ISDIR(buf.st_mode) || !res) { + continue; + } #endif if (!dap_strcmp(d->d_name, ".") || !dap_strcmp(d->d_name, "..")) { continue; diff --git a/modules/net/CMakeLists.txt b/modules/net/CMakeLists.txt index 79fe22e7ca3af9e83bedde9928c07f83c8fb533c..3c1b2a9d5af628be26818201d20d3b31dc5e38db 100644 --- a/modules/net/CMakeLists.txt +++ b/modules/net/CMakeLists.txt @@ -16,7 +16,7 @@ set(IPUTILS_INCLUDE_DIRS ../../3rdparty/iputils/traceroute/ ) -if(NOT (WIN32)) +if(LINUX) file(GLOB IPUTILS_SRCS ../../3rdparty/iputils/*.c ../../3rdparty/iputils/traceroute/*.c) file(GLOB IPUTILS_HEADERS ../../3rdparty/iputils/*.h ${IPUTILS_INCLUDE_DIRS}*.h) endif() diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index f13b8311714b3b3ba607f44d20e382e23650e68a..765113edd0c130893d47e25f7114a91bb11a5b98 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -1648,7 +1648,12 @@ int s_net_load(const char * a_net_name, uint16_t a_acl_idx) l_node_info->hdr.address.uint64 = l_seed_node_addr->uint64; if ( l_node_info->hdr.ext_addr_v4.s_addr || - l_node_info->hdr.ext_addr_v6.s6_addr32[0] ){ + #ifdef DAP_OS_BSD + l_node_info->hdr.ext_addr_v6.__u6_addr.__u6_addr32[0] + #else + l_node_info->hdr.ext_addr_v6.s6_addr32[0] + #endif + ){ 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,l_net_pvt->seed_aliases[i],l_seed_node_addr)) diff --git a/modules/net/dap_chain_node_dns_client.c b/modules/net/dap_chain_node_dns_client.c index 29c91805a73bc1782e83f7982878d3ecfcc59495..2ed130ddc37e8712b96d3f3eface9f4dc32a6292 100644 --- a/modules/net/dap_chain_node_dns_client.c +++ b/modules/net/dap_chain_node_dns_client.c @@ -67,7 +67,7 @@ static void s_dns_client_esocket_read_callback(dap_events_socket_t * a_esocket, size_t l_addr_point = DNS_HEADER_SIZE + strlen(l_dns_client->name) + 2 + 2 * sizeof(uint16_t) + DNS_ANSWER_SIZE - sizeof(uint32_t); if (l_recieved < l_addr_point + sizeof(uint32_t)) { log_it(L_WARNING, "DNS answer incomplete"); - l_dns_client->callback_error(a_esocket->worker, l_dns_client->result,l_dns_client->callbacks_arg,EREMOTEIO ); + l_dns_client->callback_error(a_esocket->worker, l_dns_client->result,l_dns_client->callbacks_arg,EIO ); l_dns_client->is_callbacks_called = true; a_esocket->flags |= DAP_SOCK_SIGNAL_CLOSE; a_esocket->buf_in_size = a_esocket->buf_out_size = 0; @@ -77,7 +77,7 @@ static void s_dns_client_esocket_read_callback(dap_events_socket_t * a_esocket, int l_answers_count = ntohs(*(uint16_t *)l_cur); if (l_answers_count != 1) { log_it(L_WARNING, "Incorrect DNS answer format"); - l_dns_client->callback_error(a_esocket->worker, l_dns_client->result,l_dns_client->callbacks_arg,EMEDIUMTYPE ); + l_dns_client->callback_error(a_esocket->worker, l_dns_client->result,l_dns_client->callbacks_arg,EINVAL); l_dns_client->is_callbacks_called = true; a_esocket->flags |= DAP_SOCK_SIGNAL_CLOSE; a_esocket->buf_in_size = a_esocket->buf_out_size = 0; diff --git a/modules/service/vpn/dap_chain_net_srv_vpn.c b/modules/service/vpn/dap_chain_net_srv_vpn.c index d4a4c60020ba70895892d342c54b77cbc7c96c28..8cff46d7a926d92b55e09367a72a955d20133b1a 100644 --- a/modules/service/vpn/dap_chain_net_srv_vpn.c +++ b/modules/service/vpn/dap_chain_net_srv_vpn.c @@ -24,17 +24,26 @@ along with any DAP based project. If not, see <http://www.gnu.org/licenses/>. */ -#ifdef DAP_OS_UNIX +#ifdef DAP_OS_LINUX #include <netinet/in.h> #include <linux/if.h> #include <linux/if_tun.h> #include <sys/ioctl.h> +#include <sys/epoll.h> +#endif + +#ifdef DAP_OS_BSD +#include <netinet/in.h> +#include <net/if.h> +#include <net/if_tun.h> +#include <sys/ioctl.h> #endif + + #include <sys/select.h> #include <sys/types.h> #include <sys/socket.h> -#include <sys/epoll.h> #include <sys/un.h> #include <netinet/in.h>