diff options
Diffstat (limited to 'extensions/libip6t_policy.c')
-rw-r--r-- | extensions/libip6t_policy.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/extensions/libip6t_policy.c b/extensions/libip6t_policy.c index 7498e989..54cd5f2b 100644 --- a/extensions/libip6t_policy.c +++ b/extensions/libip6t_policy.c @@ -327,7 +327,8 @@ static void final_check(unsigned int flags) for (i = 0; i < info->len; i++) { e = &info->pol[i]; - if (!(e->match.reqid || e->match.spi || e->match.saddr || + if (info->flags & IP6T_POLICY_MATCH_STRICT && + !(e->match.reqid || e->match.spi || e->match.saddr || e->match.daddr || e->match.proto || e->match.mode)) exit_error(PARAMETER_PROBLEM, "policy match: empty policy element"); |