Skip to content

Commit

Permalink
exceptions: extract 'auto' check to function
Browse files Browse the repository at this point in the history
Part of
Bug OISF#5825
  • Loading branch information
jufajardini authored and victorjulien committed Jun 13, 2023
1 parent 69311ab commit e849afb
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion src/util-exception-policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,19 @@ static enum ExceptionPolicy ExceptionPolicyConfigValueParse(
return policy;
}

static enum ExceptionPolicy ExceptionPolicyPickAuto(bool midstream_enabled, bool support_flow)
{
enum ExceptionPolicy policy = EXCEPTION_POLICY_NOT_SET;
if (!midstream_enabled && EngineModeIsIPS()) {
if (support_flow) {
policy = EXCEPTION_POLICY_DROP_FLOW;
} else {
policy = EXCEPTION_POLICY_DROP_PACKET;
}
}
return policy;
}

static enum ExceptionPolicy ExceptionPolicyMasterParse(const char *value)
{
enum ExceptionPolicy policy = EXCEPTION_POLICY_NOT_SET;
Expand Down Expand Up @@ -228,6 +241,9 @@ enum ExceptionPolicy ExceptionPolicyParse(const char *option, bool support_flow)
policy = ExceptionPolicyMasterParse(value_str);
} else {
policy = ExceptionPolicyConfigValueParse(option, value_str);
if (policy == EXCEPTION_POLICY_AUTO) {
policy = ExceptionPolicyPickAuto(false, support_flow);
}
if (!support_flow) {
policy = PickPacketAction(option, policy);
}
Expand All @@ -247,7 +263,9 @@ enum ExceptionPolicy ExceptionPolicyMidstreamParse(bool midstream_enabled)
/* policy was set directly */
if ((ConfGet("stream.midstream-policy", &value_str)) == 1 && value_str != NULL) {
policy = ExceptionPolicyConfigValueParse("midstream-policy", value_str);
if (midstream_enabled) {
if (policy == EXCEPTION_POLICY_AUTO) {
policy = ExceptionPolicyPickAuto(midstream_enabled, true);
} else if (midstream_enabled) {
if (policy != EXCEPTION_POLICY_NOT_SET && policy != EXCEPTION_POLICY_PASS_FLOW) {
FatalErrorOnInit(
"Error parsing stream.midstream-policy from config file. \"%s\" is "
Expand Down

0 comments on commit e849afb

Please sign in to comment.