MINOR: http-rules: Handle denied/aborted/invalid connections from HTTP rules
The new possible results for a custom action (deny/abort/invalid) are now handled during HTTP rules evaluation. These codes are mapped on HTTP rules ones : * ACT_RET_DENY => HTTP_RULE_RES_DENY * ACT_RET_ABRT => HTTP_RULE_RES_ABRT * ACT_RET_INV => HTTP_RULE_RES_BADREQ For now, no custom action uses these new codes.
This commit is contained in:
parent
282992e25f
commit
74f67af8d4
@ -3176,21 +3176,30 @@ static enum rule_result http_req_get_intercept_rule(struct proxy *px, struct lis
|
||||
act_flags |= ACT_FLAG_FINAL;
|
||||
|
||||
switch (rule->action_ptr(rule, px, s->sess, s, act_flags)) {
|
||||
case ACT_RET_ERR:
|
||||
rule_ret = HTTP_RULE_RES_ERROR;
|
||||
goto end;
|
||||
case ACT_RET_CONT:
|
||||
break;
|
||||
case ACT_RET_STOP:
|
||||
rule_ret = HTTP_RULE_RES_STOP;
|
||||
goto end;
|
||||
case ACT_RET_DONE:
|
||||
rule_ret = HTTP_RULE_RES_DONE;
|
||||
goto end;
|
||||
case ACT_RET_YIELD:
|
||||
s->current_rule = rule;
|
||||
rule_ret = HTTP_RULE_RES_YIELD;
|
||||
goto end;
|
||||
case ACT_RET_ERR:
|
||||
rule_ret = HTTP_RULE_RES_ERROR;
|
||||
goto end;
|
||||
case ACT_RET_DONE:
|
||||
rule_ret = HTTP_RULE_RES_DONE;
|
||||
goto end;
|
||||
case ACT_RET_DENY:
|
||||
rule_ret = HTTP_RULE_RES_DENY;
|
||||
goto end;
|
||||
case ACT_RET_ABRT:
|
||||
rule_ret = HTTP_RULE_RES_ABRT;
|
||||
goto end;
|
||||
case ACT_RET_INV:
|
||||
rule_ret = HTTP_RULE_RES_BADREQ;
|
||||
goto end;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -3580,21 +3589,30 @@ resume_execution:
|
||||
act_flags |= ACT_FLAG_FINAL;
|
||||
|
||||
switch (rule->action_ptr(rule, px, s->sess, s, act_flags)) {
|
||||
case ACT_RET_ERR:
|
||||
rule_ret = HTTP_RULE_RES_ERROR;
|
||||
goto end;
|
||||
case ACT_RET_CONT:
|
||||
break;
|
||||
case ACT_RET_STOP:
|
||||
rule_ret = HTTP_RULE_RES_STOP;
|
||||
goto end;
|
||||
case ACT_RET_DONE:
|
||||
rule_ret = HTTP_RULE_RES_DONE;
|
||||
goto end;
|
||||
case ACT_RET_YIELD:
|
||||
s->current_rule = rule;
|
||||
rule_ret = HTTP_RULE_RES_YIELD;
|
||||
goto end;
|
||||
case ACT_RET_ERR:
|
||||
rule_ret = HTTP_RULE_RES_ERROR;
|
||||
goto end;
|
||||
case ACT_RET_DONE:
|
||||
rule_ret = HTTP_RULE_RES_DONE;
|
||||
goto end;
|
||||
case ACT_RET_DENY:
|
||||
rule_ret = HTTP_RULE_RES_DENY;
|
||||
goto end;
|
||||
case ACT_RET_ABRT:
|
||||
rule_ret = HTTP_RULE_RES_ABRT;
|
||||
goto end;
|
||||
case ACT_RET_INV:
|
||||
rule_ret = HTTP_RULE_RES_BADREQ;
|
||||
goto end;
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user