Skip to content
Snippets Groups Projects
Commit 99450565 authored by dmitriy.gerasimov's avatar dmitriy.gerasimov
Browse files

Merge branch 'bugs-3525' into 'master'

Bugs 3525

See merge request !25
parents 87cd84ba ea1efd3f
No related branches found
No related tags found
1 merge request!25Bugs 3525
...@@ -67,6 +67,7 @@ size_t dap_sign_create_output_unserialized_calc_size(dap_enc_key_t * a_key, size ...@@ -67,6 +67,7 @@ size_t dap_sign_create_output_unserialized_calc_size(dap_enc_key_t * a_key, size
dap_sign_type_t dap_sign_type_from_key_type( dap_enc_key_type_t a_key_type) dap_sign_type_t dap_sign_type_from_key_type( dap_enc_key_type_t a_key_type)
{ {
dap_sign_type_t l_sign_type; dap_sign_type_t l_sign_type;
memset(&l_sign_type, 0, sizeof(l_sign_type));
switch (a_key_type){ switch (a_key_type){
case DAP_ENC_KEY_TYPE_SIG_BLISS: l_sign_type.type = SIG_TYPE_BLISS; break; case DAP_ENC_KEY_TYPE_SIG_BLISS: l_sign_type.type = SIG_TYPE_BLISS; break;
case DAP_ENC_KEY_TYPE_SIG_PICNIC: l_sign_type.type = SIG_TYPE_PICNIC; break; case DAP_ENC_KEY_TYPE_SIG_PICNIC: l_sign_type.type = SIG_TYPE_PICNIC; break;
......
...@@ -89,7 +89,7 @@ static void s_http_new(dap_events_socket_t * a_es, void * arg) ...@@ -89,7 +89,7 @@ static void s_http_new(dap_events_socket_t * a_es, void * arg)
l_client_http_internal->content_length = 0; l_client_http_internal->content_length = 0;
l_client_http_internal->response_size = 0; l_client_http_internal->response_size = 0;
l_client_http_internal->response_size_max = DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX; l_client_http_internal->response_size_max = DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX;
l_client_http_internal->response = (uint8_t*) DAP_NEW_SIZE(uint8_t, DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX); l_client_http_internal->response = (uint8_t*) DAP_NEW_Z_SIZE(uint8_t, DAP_CLIENT_HTTP_RESPONSE_SIZE_MAX);
} }
/** /**
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <errno.h>
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
...@@ -72,9 +73,11 @@ void dap_client_remote_deinit( ) ...@@ -72,9 +73,11 @@ void dap_client_remote_deinit( )
void _save_ip_and_port( dap_client_remote_t * cl ) void _save_ip_and_port( dap_client_remote_t * cl )
{ {
struct sockaddr_in ip_adr_get; struct sockaddr_in ip_adr_get;
socklen_t ip_adr_len; socklen_t ip_adr_len = sizeof(ip_adr_get);
getpeername( cl->socket, (struct sockaddr * restrict)&ip_adr_get, &ip_adr_len ); int l_res = getpeername( cl->socket, (struct sockaddr * restrict)&ip_adr_get, &ip_adr_len );
if(l_res == -1)
log_it(L_ERROR, "%s error: %s", __PRETTY_FUNCTION__, strerror(errno));
cl->port = ntohs( ip_adr_get.sin_port ); cl->port = ntohs( ip_adr_get.sin_port );
strcpy( cl->s_ip, inet_ntoa(ip_adr_get.sin_addr) ); strcpy( cl->s_ip, inet_ntoa(ip_adr_get.sin_addr) );
......
...@@ -312,7 +312,7 @@ static void *thread_worker_function(void *arg) ...@@ -312,7 +312,7 @@ static void *thread_worker_function(void *arg)
continue; continue;
} }
//log_it(L_DEBUG, "Worker=%d fd=%d socket=%d event=0x%x(%d)", w->number_thread, w->epoll_fd,cur->socket, events[n].events,events[n].events); //log_it(L_DEBUG, "Worker=%d fd=%d socket=%d event=0x%x(%d)", w->number_thread, w->epoll_fd,cur->socket, events[n].events,events[n].events);
int l_sock_err, l_sock_err_size; int l_sock_err = 0, l_sock_err_size = sizeof(l_sock_err);
//connection already closed (EPOLLHUP - shutdown has been made in both directions) //connection already closed (EPOLLHUP - shutdown has been made in both directions)
if(events[n].events & EPOLLHUP) { // && events[n].events & EPOLLERR) { if(events[n].events & EPOLLHUP) { // && events[n].events & EPOLLERR) {
getsockopt(cur->socket, SOL_SOCKET, SO_ERROR, (void *)&l_sock_err, (socklen_t *)&l_sock_err_size); getsockopt(cur->socket, SOL_SOCKET, SO_ERROR, (void *)&l_sock_err, (socklen_t *)&l_sock_err_size);
......
...@@ -767,6 +767,7 @@ int32_t dap_server_loop( dap_server_t *d_server ) ...@@ -767,6 +767,7 @@ int32_t dap_server_loop( dap_server_t *d_server )
struct epoll_event pev; struct epoll_event pev;
struct epoll_event events[ 16 ]; struct epoll_event events[ 16 ];
memset(&pev, 0, sizeof(pev));
pev.events = EPOLLIN | EPOLLERR; pev.events = EPOLLIN | EPOLLERR;
pev.data.fd = d_server->socket_listener; pev.data.fd = d_server->socket_listener;
......
...@@ -141,7 +141,7 @@ void s_proc(struct dap_http_simple *a_http_simple, void * a_arg) ...@@ -141,7 +141,7 @@ void s_proc(struct dap_http_simple *a_http_simple, void * a_arg)
ss = dap_stream_session_pure_new(); ss = dap_stream_session_pure_new();
strncpy(ss->active_channels, l_channels_str, l_channels_str_size); strncpy(ss->active_channels, l_channels_str, l_channels_str_size);
char *key_str = calloc(1, KEX_KEY_STR_SIZE); char *key_str = calloc(1, KEX_KEY_STR_SIZE+1);
dap_random_string_fill(key_str, KEX_KEY_STR_SIZE); dap_random_string_fill(key_str, KEX_KEY_STR_SIZE);
ss->key = dap_enc_key_new_generate( s_socket_forward_key.type, key_str, KEX_KEY_STR_SIZE, ss->key = dap_enc_key_new_generate( s_socket_forward_key.type, key_str, KEX_KEY_STR_SIZE,
NULL, 0, s_socket_forward_key.size); NULL, 0, s_socket_forward_key.size);
......
...@@ -89,8 +89,8 @@ static void session_data_del(unsigned int a_id) ...@@ -89,8 +89,8 @@ static void session_data_del(unsigned int a_id)
pthread_mutex_lock(&s_hash_mutex); pthread_mutex_lock(&s_hash_mutex);
HASH_FIND_INT(s_chain_net_data, &a_id, l_sdata); HASH_FIND_INT(s_chain_net_data, &a_id, l_sdata);
if(l_sdata) { if(l_sdata) {
DAP_DELETE(l_sdata);
HASH_DEL(s_chain_net_data, l_sdata); HASH_DEL(s_chain_net_data, l_sdata);
DAP_DELETE(l_sdata);
} }
pthread_mutex_unlock(&s_hash_mutex); pthread_mutex_unlock(&s_hash_mutex);
} }
...@@ -101,8 +101,8 @@ static void session_data_del_all() ...@@ -101,8 +101,8 @@ static void session_data_del_all()
pthread_mutex_lock(&s_hash_mutex); pthread_mutex_lock(&s_hash_mutex);
HASH_ITER(hh, s_chain_net_data , l_sdata, l_sdata_tmp) HASH_ITER(hh, s_chain_net_data , l_sdata, l_sdata_tmp)
{ {
DAP_DELETE(l_sdata);
HASH_DEL(s_chain_net_data, l_sdata); HASH_DEL(s_chain_net_data, l_sdata);
DAP_DELETE(l_sdata);
} }
pthread_mutex_unlock(&s_hash_mutex); pthread_mutex_unlock(&s_hash_mutex);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment