bugfix:TSG-17106:修改kni proxy_rule_hits写入pinning status值错误的bug

This commit is contained in:
fumingwei
2023-10-17 15:43:14 +08:00
parent ce6433ed71
commit 9b969289a6
4 changed files with 7 additions and 2 deletions

View File

@@ -135,6 +135,7 @@ struct pme_info{
//from tfe, kafka log
uint8_t ssl_intercept_state;
uint8_t ssl_pinningst; //defalut 0
uint8_t ssl_pinningst_active;
uint64_t ssl_server_side_latency;
uint64_t ssl_client_side_latency;
char ssl_server_side_version[KNI_SYMBOL_MAX];

View File

@@ -34,6 +34,7 @@ struct proxy_metric_tag
unsigned long long rule_id;
unsigned char action;
unsigned char pinning_status;
unsigned char pinning_status_active;
};

View File

@@ -326,7 +326,8 @@ static void set_proxy_rule_hits_metric(struct pme_info *pmeinfo, int thread_id)
metric_tag.action = pmeinfo->maat_rule.action;
metric_tag.rule_id = pmeinfo->maat_rule.rule_id;
metric_tag.vsys_id = pmeinfo->maat_rule.vsys_id;
metric_tag.pinning_status = pmeinfo->ssl_intercept_state;
metric_tag.pinning_status = pmeinfo->ssl_pinningst;
metric_tag.pinning_status_active = pmeinfo->ssl_pinningst_active;
proxy_set_metric_value(g_kni_handle->proxy_fieldstat, &metric_tag,
metric_value, thread_id);
@@ -2536,6 +2537,7 @@ static int wrapped_kni_cmsg_get(struct pme_info *pmeinfo, struct kni_cmsg *cmsg,
break;
case TFE_CMSG_SSL_PINNING_STATE:
memcpy((char*)&(pmeinfo->ssl_pinningst), value, value_size);
pmeinfo->ssl_pinningst_active = 1;
break;
case TFE_CMSG_SSL_CERT_VERIFY:
memcpy((char*)&(pmeinfo->ssl_cert_verify), value, value_size);
@@ -2579,6 +2581,7 @@ static long traceid2pme_htable_search_cb(void *data, const uchar *key, uint size
can_destroy = judge_stream_can_destroy(pmeinfo, CALLER_TFE);
if(can_destroy == 1){
traceid2pme_htable_del(pmeinfo);
set_proxy_rule_hits_metric(pmeinfo, g_kni_handle->thread_count);
stream_destroy(pmeinfo);
}
}

View File

@@ -17,7 +17,7 @@ static int read_fieldstat_tags(struct proxy_metric_tag *metric_tags,
tags[n_tags].value_int = metric_tags->rule_id;
n_tags++;
if(metric_tags->pinning_status == 1)
if(metric_tags->pinning_status_active == 1)
{
tags[n_tags].key = "pinning_status";
tags[n_tags].value_type = 0;