1.修改原数据流动作定义,增加操作定义
2.重构原操作重定向、替换 3.新增接口http_block、http_hijack、http_insert 4.注册处理策略表接口policy_table_new_cb等 5.注册处理用户自定域json处理接口policy_param_new等 6.添加对添加对注入脚本的测试用例
This commit is contained in:
@@ -9,6 +9,11 @@ enum replace_zone
|
||||
kZoneResponseBody,
|
||||
kZoneMax
|
||||
};
|
||||
|
||||
/**
|
||||
rule type: replace
|
||||
rule type: insert(find: insert on, replace_with: insert content)
|
||||
*/
|
||||
struct replace_rule
|
||||
{
|
||||
enum replace_zone zone;
|
||||
@@ -16,11 +21,22 @@ struct replace_rule
|
||||
char * replace_with;
|
||||
};
|
||||
|
||||
struct insert_rule
|
||||
{
|
||||
char * stype;
|
||||
char * type;
|
||||
char * position;
|
||||
};
|
||||
|
||||
//@parm exec_para example input:
|
||||
//zone=http_req_body; substitute=/中華民國/中华人民共和国;zone=http_resp_header; substitute=/Content-Type:\btext\/html/Content-Type:\bvideo\/mp4
|
||||
//@return formated rule number.
|
||||
size_t format_replace_rule(const char * exec_para, struct replace_rule * replace, size_t n_replace);
|
||||
size_t execute_replace_rule(const char * in, size_t in_sz, enum replace_zone zone, const struct replace_rule * rules, size_t n_rule, char** out);
|
||||
size_t execute_insert_rule(char * in, size_t in_sz, const struct insert_rule * rules, char** out);
|
||||
size_t insert_string(char * in, size_t in_sz, const char *insert_on, const char *stype, const char *type, char** out);
|
||||
void simple_replace(const char* find, const char* replacement, const char* input, size_t in_sz, char** output, size_t *output_sz);
|
||||
|
||||
enum replace_zone zone_name_to_id(const char * name);
|
||||
char *rt_read_file(const char* filename, size_t *input_sz);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user