summaryrefslogtreecommitdiff
path: root/plugin/business/tsg-http/src
diff options
context:
space:
mode:
authorfengweihao <[email protected]>2023-12-26 17:13:03 +0800
committerfengweihao <[email protected]>2023-12-26 17:13:03 +0800
commit21bbd4e1f724506514c776a89dd0af936bd313e5 (patch)
tree16c80b707ef07039795f76d065f525dbf9f9e191 /plugin/business/tsg-http/src
parentf69de9f4e3d5abff660220e86e164e83ca18aff7 (diff)
TSG-18165 Manipulation日志中 Subscriber ID值为空
Diffstat (limited to 'plugin/business/tsg-http/src')
-rw-r--r--plugin/business/tsg-http/src/tsg_http.cpp10
-rw-r--r--plugin/business/tsg-http/src/tsg_logger.cpp6
2 files changed, 11 insertions, 5 deletions
diff --git a/plugin/business/tsg-http/src/tsg_http.cpp b/plugin/business/tsg-http/src/tsg_http.cpp
index f44863d..5d6b0f9 100644
--- a/plugin/business/tsg-http/src/tsg_http.cpp
+++ b/plugin/business/tsg-http/src/tsg_http.cpp
@@ -760,7 +760,7 @@ void policy_action_param_dup(int idx, void **to, void **from, long argl, void *a
void ma_profile_table_new_cb(const char *table_name, int table_id, const char* key, const char* table_line, void **ad, long argl, void* argp)
{
int ret=0, profile_id=0, is_valid=0;
- char profile_name[256]={0}, formate[128]={0};
+ char profile_name[512]={0}, formate[128]={0};
char profile_path[TFE_PATH_MAX]={0};
ret=sscanf(table_line, "%d\t%s\t%s\t%s\t%d", &profile_id, profile_name, formate, profile_path, &is_valid);
@@ -800,7 +800,7 @@ void ma_profile_table_new_cb(const char *table_name, int table_id, const char* k
void ma_insert_profile_table_new_cb(const char *table_name, int table_id, const char* key, const char* table_line, void **ad, long argl, void* argp)
{
int ret=0, profile_id=0, is_valid=0;
- char profile_name[256]={0}, formate[128]={0};
+ char profile_name[512]={0}, formate[128]={0};
char profile_path[TFE_PATH_MAX]={0},profile_position[TFE_PATH_MAX]={0};
ret=sscanf(table_line, "%d\t%s\t%s\t%s\t%s\t%d", &profile_id, profile_name, formate, profile_path, profile_position, &is_valid);
@@ -840,8 +840,8 @@ void ma_insert_profile_table_new_cb(const char *table_name, int table_id, const
void ma_hijack_profile_table_new_cb(const char *table_name, int table_id, const char* key, const char* table_line, void **ad, long argl, void* argp)
{
int ret=0, profile_id=0, is_valid=0;
- char profile_name[256]={0}, formate[128]={0};
- char profile_path[TFE_PATH_MAX]={0},hijack_name[128]={0};
+ char profile_name[512]={0}, formate[128]={0};
+ char profile_path[TFE_PATH_MAX]={0},hijack_name[512]={0};
ret=sscanf(table_line, "%d\t%s\t%s\t%s\t%s\t%d", &profile_id, profile_name, hijack_name, formate, profile_path, &is_valid);
if(ret!=6)
@@ -868,7 +868,7 @@ void ma_lua_profile_table_new_cb(const char *table_name, int table_id, const cha
{
int timeout=0;
int ret=0, profile_id=0, is_valid=0;
- char profile_name[128]={0}, profile_path[TFE_PATH_MAX]={0};
+ char profile_name[512]={0}, profile_path[TFE_PATH_MAX]={0};
ret=sscanf(table_line, "%d\t%s\t%d\t%d", &profile_id, profile_path, &timeout, &is_valid);
if(ret!=4)
diff --git a/plugin/business/tsg-http/src/tsg_logger.cpp b/plugin/business/tsg-http/src/tsg_logger.cpp
index a5e8b26..9df6da1 100644
--- a/plugin/business/tsg-http/src/tsg_logger.cpp
+++ b/plugin/business/tsg-http/src/tsg_logger.cpp
@@ -212,6 +212,7 @@ int proxy_send_log(struct proxy_logger* handle, const struct proxy_log* log_msg)
cJSON_AddNumberToObject(common_obj, "end_timestamp_ms", get_time_ms(cur_time));
unsigned int category_id_val[64]={0};
+ char source_subscribe_id[64]={0};
char opt_val[24]={0}; uint16_t opt_out_size;
struct tfe_cmsg * cmsg = tfe_stream_get0_cmsg(log_msg->stream);
if (cmsg!=NULL)
@@ -221,6 +222,11 @@ int proxy_send_log(struct proxy_logger* handle, const struct proxy_log* log_msg)
{
cJSON_AddStringToObject(common_obj, "session_id", opt_val);
}
+ ret = tfe_cmsg_get_value(cmsg, TFE_CMSG_SRC_SUB_ID, (unsigned char *)source_subscribe_id, sizeof(source_subscribe_id), &opt_out_size);
+ if (ret==0)
+ {
+ cJSON_AddStringToObject(common_obj, "subscriber_id", source_subscribe_id);
+ }
ret = proxy_log_get_fqdn_cat(cmsg, category_id_val, sizeof(category_id_val));
if (ret>0)
{