mirror of https://gitee.com/openkylin/linux.git
netfilter: xtables: untangle spaghetti if clauses in checkentry
As I'm changing the return values soon, I want to have a clear visual path. Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
This commit is contained in:
parent
7911b5c75b
commit
9f56731741
|
@ -127,9 +127,13 @@ static bool dccp_mt_check(const struct xt_mtchk_param *par)
|
|||
{
|
||||
const struct xt_dccp_info *info = par->matchinfo;
|
||||
|
||||
return !(info->flags & ~XT_DCCP_VALID_FLAGS)
|
||||
&& !(info->invflags & ~XT_DCCP_VALID_FLAGS)
|
||||
&& !(info->invflags & ~info->flags);
|
||||
if (info->flags & ~XT_DCCP_VALID_FLAGS)
|
||||
return false;
|
||||
if (info->invflags & ~XT_DCCP_VALID_FLAGS)
|
||||
return false;
|
||||
if (info->invflags & ~info->flags)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
static struct xt_match dccp_mt_reg[] __read_mostly = {
|
||||
|
|
|
@ -148,14 +148,18 @@ static bool sctp_mt_check(const struct xt_mtchk_param *par)
|
|||
{
|
||||
const struct xt_sctp_info *info = par->matchinfo;
|
||||
|
||||
return !(info->flags & ~XT_SCTP_VALID_FLAGS)
|
||||
&& !(info->invflags & ~XT_SCTP_VALID_FLAGS)
|
||||
&& !(info->invflags & ~info->flags)
|
||||
&& ((!(info->flags & XT_SCTP_CHUNK_TYPES)) ||
|
||||
(info->chunk_match_type &
|
||||
(SCTP_CHUNK_MATCH_ALL
|
||||
| SCTP_CHUNK_MATCH_ANY
|
||||
| SCTP_CHUNK_MATCH_ONLY)));
|
||||
if (info->flags & ~XT_SCTP_VALID_FLAGS)
|
||||
return false;
|
||||
if (info->invflags & ~XT_SCTP_VALID_FLAGS)
|
||||
return false;
|
||||
if (info->invflags & ~info->flags)
|
||||
return false;
|
||||
if (!(info->flags & XT_SCTP_CHUNK_TYPES))
|
||||
return true;
|
||||
if (info->chunk_match_type & (SCTP_CHUNK_MATCH_ALL |
|
||||
SCTP_CHUNK_MATCH_ANY | SCTP_CHUNK_MATCH_ONLY))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static struct xt_match sctp_mt_reg[] __read_mostly = {
|
||||
|
|
Loading…
Reference in New Issue