限速用户自定义字段参数名称变更,修复误释放ratelimit的空间
This commit is contained in:
@@ -52,7 +52,7 @@ struct deny_user_region
|
||||
char *message;
|
||||
char *redirect_url_to;
|
||||
int profile_id;
|
||||
int bytes_per_sec;
|
||||
int bps;
|
||||
void *para;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -499,7 +499,7 @@ static unsigned char do_action_reset(const struct streaminfo *a_stream, Maat_rul
|
||||
static unsigned char do_action_ratelimit(const struct streaminfo *a_stream, Maat_rule_t *p_result, struct compile_user_region *user_region)
|
||||
{
|
||||
struct tcpall_context *context=NULL;
|
||||
struct leaky_bucket *bucket=create_bucket((double)((user_region->deny->bytes_per_sec)/1000000), user_region->deny->bytes_per_sec, a_stream->threadnum);
|
||||
struct leaky_bucket *bucket=create_bucket((double)((user_region->deny->bps)/1000000), user_region->deny->bps, a_stream->threadnum);
|
||||
tsg_set_bucket_to_tcpall(a_stream, &context, bucket, a_stream->threadnum);
|
||||
|
||||
context=NULL;
|
||||
|
||||
@@ -1529,7 +1529,7 @@ static unsigned char tsg_master_all_entry(const struct streaminfo *a_stream, uns
|
||||
break;
|
||||
}
|
||||
|
||||
ret=is_permit_pass(eth_rawpkt_len, context->bucket, thread_seq);
|
||||
ret=is_permit_pass(eth_rawpkt_len*8, context->bucket, thread_seq);
|
||||
if(ret==0)
|
||||
{
|
||||
state=APP_STATE_GIVEME|APP_STATE_DROPPKT;
|
||||
|
||||
@@ -38,7 +38,7 @@ const struct _str2index method2index[TSG_METHOD_TYPE_MAX]={ {TSG_METHOD_TYPE_UNK
|
||||
{TSG_METHOD_TYPE_BLOCK, 5, (char *)"block"},
|
||||
{TSG_METHOD_TYPE_RESET, 3, (char *)"rst"},
|
||||
{TSG_METHOD_TYPE_ALERT, 5, (char *)"alert"},
|
||||
{TSG_METHOD_TYPE_ALERT, 10, (char *)"rate_limit"}
|
||||
{TSG_METHOD_TYPE_RATE_LINIT, 10, (char *)"rate_limit"}
|
||||
};
|
||||
|
||||
static char* str_unescape(char* s)
|
||||
@@ -690,7 +690,8 @@ static struct compile_user_region *parse_deny_user_region(cJSON *object)
|
||||
break;
|
||||
case TSG_METHOD_TYPE_RATE_LINIT:
|
||||
user_region->deny=(struct deny_user_region *)calloc(1, sizeof(struct deny_user_region));
|
||||
get_integer_from_json(object, "bytes_per_sec", &(user_region->deny->bytes_per_sec));
|
||||
user_region->deny->type=TSG_DENY_TYPE_MAX;
|
||||
get_integer_from_json(object, "bps", &(user_region->deny->bps));
|
||||
break;
|
||||
case TSG_METHOD_TYPE_DROP:
|
||||
case TSG_METHOD_TYPE_RESET:
|
||||
|
||||
Reference in New Issue
Block a user