diff --git a/dap-sdk/net/core/dap_events_socket.c b/dap-sdk/net/core/dap_events_socket.c index 8dcb64f5f376911a002fe7238edcdd82ff97aed6..542be22e8779cae1cdafda25d0a92702b4b987ca 100644 --- a/dap-sdk/net/core/dap_events_socket.c +++ b/dap-sdk/net/core/dap_events_socket.c @@ -885,6 +885,10 @@ size_t dap_events_socket_write_f_mt(dap_worker_t * a_w,dap_events_socket_t *a_es */ size_t dap_events_socket_write_unsafe(dap_events_socket_t *sc, const void * data, size_t data_size) { + if(sc->buf_out_size>sizeof(sc->buf_out)){ + log_it(L_DEBUG,"write buffer already overflow size=%u/max=%u", sc->buf_out_size, sizeof(sc->buf_out)); + return 0; + } //log_it(L_DEBUG,"dap_events_socket_write %u sock data %X size %u", sc->socket, data, data_size ); data_size = ((sc->buf_out_size+data_size)<(sizeof(sc->buf_out)))?data_size:(sizeof(sc->buf_out)-sc->buf_out_size ); memcpy(sc->buf_out+sc->buf_out_size,data,data_size); diff --git a/dap-sdk/net/core/dap_worker.c b/dap-sdk/net/core/dap_worker.c index c4f1e540a0f3305374c2866f6f1fe399f687ab9e..ea14d3a1feb2c0e2df2dcf48797a764972f2d5b4 100644 --- a/dap-sdk/net/core/dap_worker.c +++ b/dap-sdk/net/core/dap_worker.c @@ -285,7 +285,7 @@ void *dap_worker_thread(void *arg) l_cur->buf_out_zero_count = 0; } //for(total_sent = 0; total_sent < cur->buf_out_size;) { // If after callback there is smth to send - we do it - size_t l_bytes_sent =0; + ssize_t l_bytes_sent =0; int l_errno; switch (l_cur->type){ case DESCRIPTOR_TYPE_SOCKET: diff --git a/modules/service/vpn/dap_chain_net_srv_vpn.c b/modules/service/vpn/dap_chain_net_srv_vpn.c index cbd7a4603eec4230080acdef34d69fd16c48109b..894407cc31d31c224443d5eacfc09667786da438 100644 --- a/modules/service/vpn/dap_chain_net_srv_vpn.c +++ b/modules/service/vpn/dap_chain_net_srv_vpn.c @@ -1377,16 +1377,17 @@ static size_t s_stream_session_esocket_send(dap_chain_net_srv_stream_session_t * } if(l_data_left_to_send){ - if ( dap_events_socket_write_unsafe( l_es, a_data +l_direct_wrote,l_data_left_to_send - ) < l_data_left_to_send ){ - log_it(L_WARNING,"Loosing data, probably buffers are overfilling, lost %zd bytes", l_data_left_to_send); + //if ( dap_events_socket_write_unsafe( l_es, a_data +l_direct_wrote,l_data_left_to_send + // ) < l_data_left_to_send ){ + //log_it(L_WARNING,"Loosing data, probably buffers are overfilling, lost %zd bytes", l_data_left_to_send); + log_it(L_WARNING,"Loosing data, lost %zd bytes", l_data_left_to_send); l_srv_session->stats.bytes_sent_lost += l_data_left_to_send; l_srv_session->stats.packets_sent_lost++; - }else{ + /*}else{ l_ret += l_data_left_to_send; l_srv_session->stats.packets_sent++; l_srv_session->stats.bytes_sent+= l_direct_wrote; - } + }*/ } return l_ret; }