summaryrefslogtreecommitdiff
path: root/src/frag_block.c
diff options
context:
space:
mode:
authorlishu <[email protected]>2019-08-02 18:53:27 +0800
committerlishu <[email protected]>2019-08-02 18:53:27 +0800
commitacbcb5cb7b09bf8b12a7d349b3f8f74e1a6099b3 (patch)
tree212ea3cc22137fa35c22764f299ea190550c5d09 /src/frag_block.c
parenta7ce4c41062f8f73039da3091e5fedfc619ee305 (diff)
update maat service_define
Diffstat (limited to 'src/frag_block.c')
-rw-r--r--src/frag_block.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/frag_block.c b/src/frag_block.c
index 63fc23e..5734f6d 100644
--- a/src/frag_block.c
+++ b/src/frag_block.c
@@ -255,7 +255,7 @@ char frag_check_block(frag_info_t *frag, http_infor* a_http, struct streaminfo *
int rulenum = 0;
AV_feature_info_t feature_info;
char locate_url[MAX_SERVICE_DEFINE_LEN] = {0};
- char maat_define[MAX_SERVICE_DEFINE_LEN] = {0};
+ char* maat_define = NULL;
char cfg_url[MAX_SERVICE_DEFINE_LEN] = {0};
char* pos = NULL;
char* saveptr = NULL;
@@ -266,12 +266,14 @@ char frag_check_block(frag_info_t *frag, http_infor* a_http, struct streaminfo *
/* "%u|%u|%s|%llu|%u|%s",hit_rule.cfg_id, hit_rule.level, logurl, (unsigned long long)msg->prog_id, hit_rule.service);*/
//rulenum = AV_rule_scan_frag_url(a_http->p_url, a_http->url_len, maat_result, MAAT_RESULT_NUM, &fd_type, thread_seq);
rulenum = frag_url_scan(a_http->p_url, a_http->url_len, maat_result, MAAT_RESULT_NUM, &fd_type, thread_seq);
+
for(int i=0;i<rulenum;i++)
- {
- memset(maat_define, 0, sizeof(maat_define));
+ {
memset(cfg_url, 0, sizeof(cfg_url));
- memcpy(&maat_define, &maat_result[i].service_defined, strlen(maat_result[i].service_defined));
- src = maat_result[i].service_defined;
+ maat_define = (char*)dictator_malloc(thread_seq, sizeof(char)*maat_result[i]->serv_def_len+1);
+ Maat_read_rule(g_AV_global_feather, &maat_result[i], MAAT_RULE_SERV_DEFINE, maat_define, maat_result->serv_def_len);
+ maat_define[maat_result[i]->serv_def_len] = '\0';
+ src = maat_define;
pos = strtok_r(src, "|", &saveptr);
for(int i=0;i<6 && pos!=NULL;i++)
{
@@ -299,7 +301,8 @@ char frag_check_block(frag_info_t *frag, http_infor* a_http, struct streaminfo *
break;
}
pos = strtok_r(NULL, "|", &saveptr);
- }
+ }
+ dictator_free(thread_seq, maat_define);
/*��£��������־*/
frag_kill_connection(feature_info.mid, frag, a_http, a_tcp, a_packet);
frag_send_block_log(fd_type, locate_url, &feature_info, frag, a_http, a_tcp);