From 9745251b2aff9fac176e0443acd95a9bf33d592c Mon Sep 17 00:00:00 2001 From: fengweihao Date: Fri, 23 Jul 2021 15:55:42 +0800 Subject: [PATCH] =?UTF-8?q?TSG-7141=20=E4=BF=AE=E5=A4=8D=E9=9D=9E=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E6=97=A5=E5=BF=97=E9=83=A8=E5=88=86=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=87=8D=E5=AE=9A=E5=90=91=E6=8C=87=E5=AE=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=9F=9F=E6=97=A0=E6=B3=95=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cache/src/cache_evbase_client.cpp | 2 +- cache/src/tango_cache_transfer.cpp | 2 +- plugin/business/pangu-http/src/pangu_http.cpp | 14 +++++++------- plugin/business/pangu-http/src/pangu_logger.cpp | 3 +++ .../pangu-http/src/test_pattern_replace.cpp | 14 +++++++------- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cache/src/cache_evbase_client.cpp b/cache/src/cache_evbase_client.cpp index e7835ef..bf849e2 100644 --- a/cache/src/cache_evbase_client.cpp +++ b/cache/src/cache_evbase_client.cpp @@ -473,7 +473,7 @@ int cache_evbase_upload_once_evbuf(struct cache_evbase_instance *instance, struc buffer->ctx_asyn = ctx_asyn; buffer->cmd_type = CACHE_ASYN_UPLOAD_ONCE_EVBUF; buffer->evbuf = evbuffer_new(); - evbuffer_add_buffer(buffer->evbuf, evbuf); + evbuffer_add_buffer_reference(buffer->evbuf, evbuf); if(iothread_notify_event(instance->notify_sendfd, &buffer, sizeof(void *), 2) != sizeof(void *)) { diff --git a/cache/src/tango_cache_transfer.cpp b/cache/src/tango_cache_transfer.cpp index 1b42ce7..e8b4cfc 100644 --- a/cache/src/tango_cache_transfer.cpp +++ b/cache/src/tango_cache_transfer.cpp @@ -114,7 +114,7 @@ static size_t curl_put_multipart_send_cb(void *ptr, size_t size, size_t count, v static int http_put_bodypart_request_evbuf(struct tango_cache_ctx *ctx, bool full) { UNUSED CURLMcode rc; - char minio_url[256], buffer[256]; + char minio_url[256]={0}, buffer[256]={0}; if(NULL == (ctx->curl=curl_easy_init())) { diff --git a/plugin/business/pangu-http/src/pangu_http.cpp b/plugin/business/pangu-http/src/pangu_http.cpp index 86a07ba..f55c170 100644 --- a/plugin/business/pangu-http/src/pangu_http.cpp +++ b/plugin/business/pangu-http/src/pangu_http.cpp @@ -1532,7 +1532,7 @@ static void http_get_client_id(const struct tfe_stream * stream, char *replace_r tfe_stream_addr_str_split((char *)stream->str_stream_info, &sip, &sport, &dip, &dport); - snprintf(replace_regex, TFE_SYMBOL_MAX, "%s=%s", "source_ip", sip); + snprintf(replace_regex, TFE_SYMBOL_MAX, "%s", sip); } static void http_get_subscriber_id(const struct tfe_stream * stream, char *replace_regex) @@ -1549,7 +1549,7 @@ static void http_get_subscriber_id(const struct tfe_stream * stream, char *repla TFE_LOG_ERROR(g_pangu_rt->local_logger, "fetch src sub id from cmsg failed, ret: %d addr: %s", ret, stream->str_stream_info); } } - snprintf(replace_regex, TFE_SYMBOL_MAX, "%s=%s", "user_id", source_subscribe_id); + snprintf(replace_regex, TFE_SYMBOL_MAX, "%s", source_subscribe_id); } static int http_decoder_url(const struct tfe_stream * stream, char *rd_url, int profile_id, char **rewrite_uri) @@ -1558,7 +1558,7 @@ static int http_decoder_url(const struct tfe_stream * stream, char *rd_url, int char replace_with[TFE_SYMBOL_MAX]={0}; struct replace_rule *rule; - if(strstr(rd_url, "policy_id")==NULL && strstr(rd_url, "user_id")==NULL && strstr(rd_url, "source_ip")==NULL) + if(strstr(rd_url, "tsg_policy_id")==NULL && strstr(rd_url, "tsg_subscriber_id")==NULL && strstr(rd_url, "tsg_client_ip")==NULL) { return 0; } @@ -1566,21 +1566,21 @@ static int http_decoder_url(const struct tfe_stream * stream, char *rd_url, int rule = ALLOC(struct replace_rule, 3); n_rule=0; rule[n_rule].zone = kZoneRequestUri; - rule[n_rule].find = tfe_strdup("policy_id={{tsg_policy_id}}"); - snprintf(replace_with, TFE_SYMBOL_MAX, "policy_id=%d", profile_id); + rule[n_rule].find = tfe_strdup("{{tsg_policy_id}}"); + snprintf(replace_with, TFE_SYMBOL_MAX, "%d", profile_id); rule[n_rule].replace_with = tfe_strdup(replace_with); n_rule=1; memset(replace_with, TFE_SYMBOL_MAX, 0); rule[n_rule].zone = kZoneRequestUri; - rule[n_rule].find = tfe_strdup("user_id={{tsg_subscriber_id}}"); + rule[n_rule].find = tfe_strdup("{{tsg_subscriber_id}}"); http_get_subscriber_id(stream, replace_with); rule[n_rule].replace_with = tfe_strdup(replace_with); n_rule=2; memset(replace_with, TFE_SYMBOL_MAX, 0); rule[n_rule].zone = kZoneRequestUri; - rule[n_rule].find = tfe_strdup("source_ip={{tsg_client_ip}}"); + rule[n_rule].find = tfe_strdup("{{tsg_client_ip}}"); http_get_client_id(stream, replace_with); rule[n_rule].replace_with = tfe_strdup(replace_with); diff --git a/plugin/business/pangu-http/src/pangu_logger.cpp b/plugin/business/pangu-http/src/pangu_logger.cpp index 46185d0..e02493a 100644 --- a/plugin/business/pangu-http/src/pangu_logger.cpp +++ b/plugin/business/pangu-http/src/pangu_logger.cpp @@ -284,6 +284,9 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg) } if(log_msg->resp_body!=NULL) { + memset(log_file_upload_path, 0, sizeof(log_file_upload_path)); + memset(cont_type_whole, 0, sizeof(cont_type_whole)); + memset(&meta, 0, sizeof(meta)); asprintf(&log_file_key, "%s.respbody", http->req->req_spec.url); meta.url=log_file_key; diff --git a/plugin/business/pangu-http/src/test_pattern_replace.cpp b/plugin/business/pangu-http/src/test_pattern_replace.cpp index c993b06..6885661 100644 --- a/plugin/business/pangu-http/src/test_pattern_replace.cpp +++ b/plugin/business/pangu-http/src/test_pattern_replace.cpp @@ -186,7 +186,7 @@ TEST(PatternReplace, UrlReplace) const char *rd_url = "http://www.example.com/query?pageid=12345&policy_id={{tsg_policy_id}}&user_id={{tsg_subscriber_id}}&source_ip={{tsg_client_ip}}"; - if(strstr(rd_url, "policy_id")==NULL && strstr(rd_url, "user_id")==NULL && strstr(rd_url, "source_ip")==NULL) + if(strstr(rd_url, "tsg_policy_id")==NULL && strstr(rd_url, "tsg_subscriber_id")==NULL && strstr(rd_url, "tsg_client_ip")==NULL) { return; } @@ -194,21 +194,21 @@ TEST(PatternReplace, UrlReplace) rule = ALLOC(struct replace_rule, 3); n_rule=0; rule[n_rule].zone = kZoneRequestUri; - rule[n_rule].find = tfe_strdup("policy_id={{tsg_policy_id}}"); - snprintf(replace_with, TFE_SYMBOL_MAX, "policy_id=%d", 23); + rule[n_rule].find = tfe_strdup("{{tsg_policy_id}}"); + snprintf(replace_with, TFE_SYMBOL_MAX, "%d", 23); rule[n_rule].replace_with = tfe_strdup(replace_with); n_rule=1; memset(replace_with, TFE_SYMBOL_MAX, 0); rule[n_rule].zone = kZoneRequestUri; - rule[n_rule].find = tfe_strdup("user_id={{tsg_subscriber_id}}"); - rule[n_rule].replace_with = tfe_strdup("user_id=te&st01"); + rule[n_rule].find = tfe_strdup("{{tsg_subscriber_id}}"); + rule[n_rule].replace_with = tfe_strdup("te&st01"); n_rule=2; memset(replace_with, TFE_SYMBOL_MAX, 0); rule[n_rule].zone = kZoneRequestUri; - rule[n_rule].find = tfe_strdup("source_ip={{tsg_client_ip}}"); - rule[n_rule].replace_with = tfe_strdup("source_ip=192.168.50.71"); + rule[n_rule].find = tfe_strdup("{{tsg_client_ip}}"); + rule[n_rule].replace_with = tfe_strdup("192.168.50.71"); size_t rewrite_uri_sz = execute_replace_rule(rd_url, strlen(rd_url), kZoneRequestUri, rule, n_rule+1, &rewrite_uri, 1);