TSG-4427 将 DoH 的重定向纳入 Proxy Redredict 计数,DoH_hijack 计数保留
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
#include <tfe_scan.h>
|
#include <tfe_scan.h>
|
||||||
|
|
||||||
|
extern void increase_redirect_policy_hit_num(void);
|
||||||
|
|
||||||
#define DOH_CTX_MAGIC_NUM 20200601
|
#define DOH_CTX_MAGIC_NUM 20200601
|
||||||
|
|
||||||
#define REQ_METHOD_IS_GET(method) ((method == TFE_HTTP_METHOD_GET) ? 1 : 0)
|
#define REQ_METHOD_IS_GET(method) ((method == TFE_HTTP_METHOD_GET) ? 1 : 0)
|
||||||
@@ -548,8 +550,9 @@ static void doh_process_req(const struct tfe_stream *stream, const struct tfe_ht
|
|||||||
|
|
||||||
ctx->manipulate = 1;
|
ctx->manipulate = 1;
|
||||||
ATOMIC_INC(&(g_doh_conf->stat_val[STAT_ACTION_HIJACK]));
|
ATOMIC_INC(&(g_doh_conf->stat_val[STAT_ACTION_HIJACK]));
|
||||||
|
increase_redirect_policy_hit_num();
|
||||||
|
|
||||||
snprintf(cont_len_str, sizeof(cont_len_str), "%d", rsp_len);
|
snprintf(cont_len_str, sizeof(cont_len_str), "%d", rsp_len);
|
||||||
response = tfe_http_session_response_create(to_write, 200);
|
response = tfe_http_session_response_create(to_write, 200);
|
||||||
tfe_http_std_field_write(response, TFE_HTTP_CONT_LENGTH, cont_len_str);
|
tfe_http_std_field_write(response, TFE_HTTP_CONT_LENGTH, cont_len_str);
|
||||||
if (ctx->type == DOH_TYPE_MESSAGE)
|
if (ctx->type == DOH_TYPE_MESSAGE)
|
||||||
|
|||||||
@@ -196,6 +196,11 @@ static void pangu_http_stat_init(struct pangu_rt * pangu_runtime)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void increase_redirect_policy_hit_num(void)
|
||||||
|
{
|
||||||
|
ATOMIC_INC(&(g_pangu_rt->stat_val[STAT_ACTION_REDIRECT]));
|
||||||
|
}
|
||||||
|
|
||||||
void trusted_CA_update_start_cb(int update_type, void* u_para)
|
void trusted_CA_update_start_cb(int update_type, void* u_para)
|
||||||
{
|
{
|
||||||
if(update_type==MAAT_RULE_UPDATE_TYPE_FULL)
|
if(update_type==MAAT_RULE_UPDATE_TYPE_FULL)
|
||||||
@@ -1558,7 +1563,7 @@ static void http_redirect(const struct tfe_http_session * session, enum tfe_http
|
|||||||
|
|
||||||
ATOMIC_INC(&(g_pangu_rt->stat_val[STAT_ACTION_REDIRECT]));
|
ATOMIC_INC(&(g_pangu_rt->stat_val[STAT_ACTION_REDIRECT]));
|
||||||
|
|
||||||
response = tfe_http_session_response_create(to_write, resp_code);
|
response = tfe_http_session_response_create(to_write, resp_code);
|
||||||
tfe_http_std_field_write(response, TFE_HTTP_LOCATION, rd_url);
|
tfe_http_std_field_write(response, TFE_HTTP_LOCATION, rd_url);
|
||||||
tfe_http_std_field_write(response, TFE_HTTP_CONT_LENGTH, "0");
|
tfe_http_std_field_write(response, TFE_HTTP_CONT_LENGTH, "0");
|
||||||
tfe_http_half_append_body(response, NULL, 0, 0);
|
tfe_http_half_append_body(response, NULL, 0, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user