diff --git a/common/include/tfe_http.h b/common/include/tfe_http.h index 7a5a27a..65f47ad 100644 --- a/common/include/tfe_http.h +++ b/common/include/tfe_http.h @@ -490,7 +490,9 @@ struct http_frame_plugin_status unsigned int preempt_by; }; -struct http_frame_session_ctx * http_frame_raise_session_begin(const tfe_stream * stream, +struct http_frame_session_ctx * http_frame_alloc(); + +int http_frame_raise_session_begin(struct http_frame_session_ctx * ht_frame, const tfe_stream * stream, struct tfe_http_session * ht_session, unsigned int thread_id); void http_frame_raise_session_end(struct http_frame_session_ctx * ht_frame, const tfe_stream * stream, diff --git a/common/include/tfe_utils.h b/common/include/tfe_utils.h index 5369a28..c7e2fff 100644 --- a/common/include/tfe_utils.h +++ b/common/include/tfe_utils.h @@ -30,6 +30,7 @@ #define likely(expr) __builtin_expect((expr), 1) #define unlikely(expr) __builtin_expect((expr), 0) +extern void * g_default_logger; #define TFE_LOG_ERROR(handler, fmt, ...) \ do { fprintf(stderr, fmt "\n" , ##__VA_ARGS__); \ MESA_handle_runtime_log(handler, RLOG_LV_FATAL, "tfe", fmt, ##__VA_ARGS__); } while(0) diff --git a/common/src/tfe_http.cpp b/common/src/tfe_http.cpp index 674fe26..903d51e 100644 --- a/common/src/tfe_http.cpp +++ b/common/src/tfe_http.cpp @@ -134,13 +134,17 @@ struct http_frame_plugin_status * http_frame_current_plugin_status(struct http_f return ht_frame->calling_plugin_status; } -struct http_frame_session_ctx * http_frame_raise_session_begin(const struct tfe_stream * stream, - struct tfe_http_session * ht_session, unsigned int thread_id) +struct http_frame_session_ctx * http_frame_alloc() { struct http_frame_session_ctx * ht_frame = ALLOC(struct http_frame_session_ctx, 1); ht_frame->nr_plugin_status = tfe_plugin_total_counts(); ht_frame->plugin_status = ALLOC(struct http_frame_plugin_status, ht_frame->nr_plugin_status); + return ht_frame; +} +int http_frame_raise_session_begin(struct http_frame_session_ctx * ht_frame, + const struct tfe_stream * stream, struct tfe_http_session * ht_session, unsigned int thread_id) +{ unsigned int __for_each_iterator = 0; unsigned int __plugin_id = 0; @@ -161,7 +165,7 @@ struct http_frame_session_ctx * http_frame_raise_session_begin(const struct tfe_ /* Clear calling ctx */ ht_frame->calling_plugin = NULL; ht_frame->calling_plugin_status = NULL; - return ht_frame; + return 0; }; void http_frame_raise_session_end(struct http_frame_session_ctx * ht_frame, const tfe_stream * stream, diff --git a/platform/src/ssl_trusted_cert_storage.cpp b/platform/src/ssl_trusted_cert_storage.cpp index 60e7f8f..cd2f2da 100644 --- a/platform/src/ssl_trusted_cert_storage.cpp +++ b/platform/src/ssl_trusted_cert_storage.cpp @@ -95,8 +95,7 @@ struct ssl_trusted_cert_storage static X509_STORE* _X509_store_create(const char* pem_bundle, const char* pem_dir) { int ret=0, n=0, i=0; - - struct dirent **namelist; + X509_STORE* store=X509_STORE_new(); char path[TFE_STRING_MAX]={0}; if (store == NULL) @@ -120,7 +119,12 @@ static X509_STORE* _X509_store_create(const char* pem_bundle, const char* pem_di X509_STORE_set1_param(store, param); X509_VERIFY_PARAM_free(param); + struct dirent **namelist = NULL; n=tfe_scandir(pem_dir, &namelist, NULL, (int (*)(const void*, const void*))alphasort); + if(n < 0) + { + return store; + } for(i=0;iht_frame = http_frame_raise_session_begin(stream, &hs_private->hs_public, thread_id); - if (hs_private->ht_frame == NULL) - { - TFE_STREAM_LOG_ERROR(stream, "Failed at raising session begin event. "); - return -1; - } + hs_private->ht_frame = http_frame_alloc(); + assert(hs_private->ht_frame != NULL); + http_frame_raise_session_begin(hs_private->ht_frame, stream, &hs_private->hs_public, thread_id); TAILQ_INSERT_TAIL(&hc_private->hs_private_list, hs_private, next); }