netfilter: x_tables: fix build with CONFIG_COMPAT=n
I placed the helpers within CONFIG_COMPAT section, move them outside. Fixes:472ebdcd15
("netfilter: x_tables: check error target size too") Fixes:07a9da51b4
("netfilter: x_tables: check standard verdicts in core") Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
010eacd968
Коммит
72597135cd
|
@ -577,6 +577,37 @@ error:
|
|||
}
|
||||
EXPORT_SYMBOL(xt_check_table_hooks);
|
||||
|
||||
static bool verdict_ok(int verdict)
|
||||
{
|
||||
if (verdict > 0)
|
||||
return true;
|
||||
|
||||
if (verdict < 0) {
|
||||
int v = -verdict - 1;
|
||||
|
||||
if (verdict == XT_RETURN)
|
||||
return true;
|
||||
|
||||
switch (v) {
|
||||
case NF_ACCEPT: return true;
|
||||
case NF_DROP: return true;
|
||||
case NF_QUEUE: return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool error_tg_ok(unsigned int usersize, unsigned int kernsize,
|
||||
const char *msg, unsigned int msglen)
|
||||
{
|
||||
return usersize == kernsize && strnlen(msg, msglen) < msglen;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_COMPAT
|
||||
int xt_compat_add_offset(u_int8_t af, unsigned int offset, int delta)
|
||||
{
|
||||
|
@ -736,37 +767,6 @@ struct compat_xt_error_target {
|
|||
char errorname[XT_FUNCTION_MAXNAMELEN];
|
||||
};
|
||||
|
||||
static bool verdict_ok(int verdict)
|
||||
{
|
||||
if (verdict > 0)
|
||||
return true;
|
||||
|
||||
if (verdict < 0) {
|
||||
int v = -verdict - 1;
|
||||
|
||||
if (verdict == XT_RETURN)
|
||||
return true;
|
||||
|
||||
switch (v) {
|
||||
case NF_ACCEPT: return true;
|
||||
case NF_DROP: return true;
|
||||
case NF_QUEUE: return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool error_tg_ok(unsigned int usersize, unsigned int kernsize,
|
||||
const char *msg, unsigned int msglen)
|
||||
{
|
||||
return usersize == kernsize && strnlen(msg, msglen) < msglen;
|
||||
}
|
||||
|
||||
int xt_compat_check_entry_offsets(const void *base, const char *elems,
|
||||
unsigned int target_offset,
|
||||
unsigned int next_offset)
|
||||
|
|
Загрузка…
Ссылка в новой задаче