diff --git a/dap-sdk/net/client/dap_client_pvt.c b/dap-sdk/net/client/dap_client_pvt.c
index 3e6c98f74b689d701f00a373bd031505889115fe..011d380a78aadfb7888542d045b5a740b8c2126f 100644
--- a/dap-sdk/net/client/dap_client_pvt.c
+++ b/dap-sdk/net/client/dap_client_pvt.c
@@ -399,7 +399,7 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
     case STAGE_STATUS_IN_PROGRESS: {
         switch (a_client_pvt->stage) {
         case STAGE_ENC_INIT: {
-            log_it(L_INFO, "Go to stage ENC: prepare the request");         
+            log_it(L_INFO, "Go to stage ENC: prepare the request");
             a_client_pvt->session_key_open = dap_enc_key_new_generate(DAP_ENC_KEY_TYPE_MSRLN, NULL, 0, NULL, 0, 0);
             if (!a_client_pvt->session_key_open) {
                 log_it(L_ERROR, "Insufficient memory! May be a huge memory leak present");
@@ -449,7 +449,7 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
                                              a_client_pvt->active_channels);
             }else{
                 l_suburl = dap_strdup_printf("stream_ctl,channels=%s,enc_type=%d,enc_headers=%d",
-                                             a_client_pvt->active_channels,s_dap_client_pvt_preferred_encryption_type,0);
+                                             a_client_pvt->active_channels,dap_stream_get_preferred_encryption_type(),0);
             }
             //
             dap_client_pvt_request_enc(a_client_pvt,
@@ -469,7 +469,7 @@ static void s_stage_status_after(dap_client_pvt_t * a_client_pvt)
                 a_client_pvt->stage_status = STAGE_STATUS_ERROR;
                 break;
             }
-#ifdef _WIN32 
+#ifdef _WIN32
             {
               int buffsize = 65536;
               int optsize = sizeof( int );
@@ -1349,4 +1349,3 @@ void m_es_stream_error(dap_events_socket_t * a_es, int a_arg)
     }
     log_it(L_INFO, "m_es_stream_error: code %d", a_arg);
 }
-
diff --git a/dap-sdk/net/core/dap_events_socket.c b/dap-sdk/net/core/dap_events_socket.c
index 5bd377d9245f8c9cb475cfdd807e131f1c6a2984..5da958b3f0e48621f3f13c9e44b0a6e27e46c83a 100644
--- a/dap-sdk/net/core/dap_events_socket.c
+++ b/dap-sdk/net/core/dap_events_socket.c
@@ -490,9 +490,7 @@ int dap_events_socket_queue_ptr_send( dap_events_socket_t * a_es, void* a_arg)
         return  0;
     else{
         char l_errbuf[128];
-        l_errbuf[0]=0;
-        strerror_r(l_errno, l_errbuf, sizeof (l_errbuf));
-        log_it(L_ERROR, "Can't send ptr to queue:\"%s\" code %d", l_errbuf, l_errno);
+        log_it(L_ERROR, "Can't send ptr to queue:\"%s\" code %d", strerror_r(l_errno, l_errbuf, sizeof (l_errbuf)), l_errno);
         return l_errno;
     }
 #elif defined (DAP_EVENTS_CAPS_QUEUE_POSIX)
diff --git a/dap-sdk/net/stream/stream/dap_stream.c b/dap-sdk/net/stream/stream/dap_stream.c
index 35b1dc91dc4cc1c10d8a467f1eef7a603cb5719a..e9598cdf910e84952313b2e19feb0793448a701b 100644
--- a/dap-sdk/net/stream/stream/dap_stream.c
+++ b/dap-sdk/net/stream/stream/dap_stream.c
@@ -90,11 +90,28 @@ bool dap_stream_get_dump_packet_headers(){ return  s_dump_packet_headers; }
 static struct timespec keepalive_loop_sleep = { 0, STREAM_KEEPALIVE_TIMEOUT * 1000 * 1000  };
 static bool s_detect_loose_packet(dap_stream_t * a_stream);
 
+dap_enc_key_type_t s_stream_get_preferred_encryption_type = DAP_ENC_KEY_TYPE_IAES;
+
+void s_dap_stream_load_preferred_encryption_type(dap_config_t * a_config){
+    const char * l_preferred_encryption_name = dap_config_get_item_str(a_config, "stream", "preferred_encryption");
+    if(l_preferred_encryption_name){
+        dap_enc_key_type_t l_found_key_type = dap_enc_key_type_find_by_name(l_preferred_encryption_name);
+        if(l_found_key_type != DAP_ENC_KEY_TYPE_INVALID)
+            s_stream_get_preferred_encryption_type = l_found_key_type;
+    }
+
+    log_it(L_NOTICE,"ecryption type is set to %s", dap_enc_get_type_name(s_stream_get_preferred_encryption_type));
+}
+
+dap_enc_key_type_t dap_stream_get_preferred_encryption_type(){
+    return s_stream_get_preferred_encryption_type;
+}
+
 /**
  * @brief stream_init Init stream module
  * @return  0 if ok others if not
  */
-int dap_stream_init( bool a_dump_packet_headers)
+int dap_stream_init(dap_config_t * a_config)
 {
     if( dap_stream_ch_init() != 0 ){
         log_it(L_CRITICAL, "Can't init channel types submodule");
@@ -105,7 +122,8 @@ int dap_stream_init( bool a_dump_packet_headers)
         return -2;
     }
 
-    s_dump_packet_headers = a_dump_packet_headers;
+    s_dap_stream_load_preferred_encryption_type(a_config);
+    s_dump_packet_headers = dap_config_get_item_bool_default(g_config,"general","debug_dump_stream_headers",false);
     s_keep_alive_loop_quit_signal = false;
     pthread_mutex_init( &s_mutex_keepalive_list, NULL );
     //pthread_create( &keepalive_thread, NULL, stream_loop, NULL );
diff --git a/dap-sdk/net/stream/stream/dap_stream_ctl.c b/dap-sdk/net/stream/stream/dap_stream_ctl.c
index 696b0eb0961140db9a536c87be284fee781715a4..f0c65390ab04812a9c76024dc2427b79882ad4e8 100644
--- a/dap-sdk/net/stream/stream/dap_stream_ctl.c
+++ b/dap-sdk/net/stream/stream/dap_stream_ctl.c
@@ -69,30 +69,15 @@ static struct {
     dap_enc_key_type_t type;
 } s_socket_forward_key;
 
-static const dap_enc_key_type_t s_dap_stream_default_preferred_encryption = DAP_ENC_KEY_TYPE_IAES;
-
 /**
  * @brief stream_ctl_init Initialize stream control module
  * @return Zero if ok others if not
  */
-int dap_stream_ctl_init(dap_config_t * a_config,
-                        size_t socket_forward_key_size)
+int dap_stream_ctl_init(size_t socket_forward_key_size)
 {
     s_socket_forward_key.size = socket_forward_key_size;
+    s_socket_forward_key.type = dap_stream_get_preferred_encryption_type();
 
-    const char *l_preferred_encryption_name = dap_config_get_item_str(a_config, "stream", "preferred_encryption");
-    if(!l_preferred_encryption_name){
-        s_socket_forward_key.type = s_dap_stream_default_preferred_encryption;
-    }else{
-        dap_enc_key_type_t l_found_key_type = dap_enc_key_type_find_by_name(l_preferred_encryption_name);
-
-        if(l_found_key_type != DAP_ENC_KEY_TYPE_INVALID)
-            s_socket_forward_key.type = l_found_key_type;
-        else
-            s_socket_forward_key.type = s_dap_stream_default_preferred_encryption;
-    }
-
-    log_it(L_NOTICE,"Initialized stream control module: ecryption type is set to %s", dap_enc_get_type_name(s_socket_forward_key.type));
     return 0;
 }
 
@@ -135,7 +120,7 @@ void s_proc(struct dap_http_simple *a_http_simple, void * a_arg)
         size_t l_channels_str_size = sizeof(ss->active_channels);
         char l_channels_str[sizeof(ss->active_channels)];
         dap_enc_key_type_t l_enc_type = s_socket_forward_key.type;
-        int l_enc_headers;
+        int l_enc_headers = 0;
         int l_url_sscanf_res = sscanf(l_dg->url_path, "stream_ctl,channels=%16s,enc_type=%d,enc_headers=%d", l_channels_str, &l_enc_type, &l_enc_headers);
         if(l_url_sscanf_res > 0){
             if(l_url_sscanf_res < 3){
diff --git a/dap-sdk/net/stream/stream/include/dap_stream.h b/dap-sdk/net/stream/stream/include/dap_stream.h
index 888be346b5ae1b3b43b0d3aea5bc9004bfc999e1..0c0325bc3064b3903506d466f48e435025e78162 100644
--- a/dap-sdk/net/stream/stream/include/dap_stream.h
+++ b/dap-sdk/net/stream/stream/include/dap_stream.h
@@ -26,6 +26,8 @@
 #include <pthread.h>
 #include <stdbool.h>
 #include <pthread.h>
+
+#include "dap_config.h"
 #include "dap_stream_session.h"
 #include "dap_stream_ch.h"
 
@@ -91,7 +93,7 @@ typedef struct dap_stream {
 
 #define DAP_STREAM(a) ((dap_stream_t *) (a)->_inheritor )
 
-int dap_stream_init(bool a_dump_packet_headers);
+int dap_stream_init(dap_config_t * g_config);
 
 bool dap_stream_get_dump_packet_headers();
 
@@ -110,4 +112,6 @@ void dap_stream_proc_pkt_in(dap_stream_t * sid);
 void dap_stream_es_rw_states_update(struct dap_stream *a_stream);
 void dap_stream_set_ready_to_write(dap_stream_t * a_stream,bool a_is_ready);
 
+dap_enc_key_type_t dap_stream_get_preferred_encryption_type();
+
 
diff --git a/dap-sdk/net/stream/stream/include/dap_stream_ctl.h b/dap-sdk/net/stream/stream/include/dap_stream_ctl.h
index ff5f7369beb1059147aac173f5afe28437a96be3..a040b2eb0086c106ad8f681229c552a2a406a9d8 100644
--- a/dap-sdk/net/stream/stream/include/dap_stream_ctl.h
+++ b/dap-sdk/net/stream/stream/include/dap_stream_ctl.h
@@ -26,7 +26,6 @@ typedef struct dap_http dap_http_t;
 #define KEX_KEY_STR_SIZE 128
 
 
-int dap_stream_ctl_init(dap_config_t * a_config,
-                        size_t socket_forward_key_size);
+int dap_stream_ctl_init(size_t socket_forward_key_size);
 void dap_stream_ctl_deinit();
 void dap_stream_ctl_add_proc(struct dap_http * sh, const char * url);