From: Phil Sutter <phil@nwl.cc>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: netfilter-devel@vger.kernel.org
Subject: [iptables PATCH v2 17/17] nft: Store maximum allowed chain name length in family ops
Date: Thu, 30 Sep 2021 16:04:19 +0200 [thread overview]
Message-ID: <20210930140419.6170-18-phil@nwl.cc> (raw)
In-Reply-To: <20210930140419.6170-1-phil@nwl.cc>
arptables accepts chain names of at max 30chars while ip(6)tables only
accepts up to 29chars. To retain the old behaviour, store the value in
nft_family_ops.
Signed-off-by: Phil Sutter <phil@nwl.cc>
---
iptables/nft-arp.c | 1 +
iptables/nft-ipv4.c | 1 +
iptables/nft-ipv6.c | 1 +
iptables/nft-shared.h | 1 +
iptables/xtables.c | 6 +++---
5 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/iptables/nft-arp.c b/iptables/nft-arp.c
index 32eb91add4f1e..de3c7028818ab 100644
--- a/iptables/nft-arp.c
+++ b/iptables/nft-arp.c
@@ -811,4 +811,5 @@ struct nft_family_ops nft_family_ops_arp = {
.delete_entry = nft_arp_delete_entry,
.check_entry = nft_arp_check_entry,
.replace_entry = nft_arp_replace_entry,
+ .chain_maxnamelen = ARPT_FUNCTION_MAXNAMELEN,
};
diff --git a/iptables/nft-ipv4.c b/iptables/nft-ipv4.c
index febd7673af4f8..85ab0fe559dfd 100644
--- a/iptables/nft-ipv4.c
+++ b/iptables/nft-ipv4.c
@@ -577,4 +577,5 @@ struct nft_family_ops nft_family_ops_ipv4 = {
.delete_entry = nft_ipv4_delete_entry,
.check_entry = nft_ipv4_check_entry,
.replace_entry = nft_ipv4_replace_entry,
+ .chain_maxnamelen = XT_EXTENSION_MAXNAMELEN,
};
diff --git a/iptables/nft-ipv6.c b/iptables/nft-ipv6.c
index f0e64bbd4ab23..48bcef6a1823a 100644
--- a/iptables/nft-ipv6.c
+++ b/iptables/nft-ipv6.c
@@ -530,4 +530,5 @@ struct nft_family_ops nft_family_ops_ipv6 = {
.delete_entry = nft_ipv6_delete_entry,
.check_entry = nft_ipv6_check_entry,
.replace_entry = nft_ipv6_replace_entry,
+ .chain_maxnamelen = XT_EXTENSION_MAXNAMELEN,
};
diff --git a/iptables/nft-shared.h b/iptables/nft-shared.h
index 339c46e7f5b06..75597a0f609e8 100644
--- a/iptables/nft-shared.h
+++ b/iptables/nft-shared.h
@@ -129,6 +129,7 @@ struct nft_family_ops {
struct iptables_command_state *cs,
struct xtables_args *args, bool verbose,
int rulenum);
+ size_t chain_maxnamelen;
};
void add_meta(struct nftnl_rule *r, uint32_t key);
diff --git a/iptables/xtables.c b/iptables/xtables.c
index dba497b85064a..c6c7cbddbd3a3 100644
--- a/iptables/xtables.c
+++ b/iptables/xtables.c
@@ -788,10 +788,10 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
generic_opt_check(p->command, cs->options);
- if (p->chain != NULL && strlen(p->chain) >= XT_EXTENSION_MAXNAMELEN)
+ if (p->chain != NULL && strlen(p->chain) >= h->ops->chain_maxnamelen)
xtables_error(PARAMETER_PROBLEM,
- "chain name `%s' too long (must be under %u chars)",
- p->chain, XT_EXTENSION_MAXNAMELEN);
+ "chain name `%s' too long (must be under %zu chars)",
+ p->chain, h->ops->chain_maxnamelen);
if (p->command == CMD_APPEND ||
p->command == CMD_DELETE ||
--
2.33.0
next prev parent reply other threads:[~2021-09-30 14:05 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 14:04 [iptables PATCH v2 00/17] Eliminate dedicated arptables-nft parser Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 01/17] nft: Introduce builtin_tables_lookup() Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 02/17] xshared: Store optstring in xtables_globals Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 03/17] nft-shared: Introduce init_cs family ops callback Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 04/17] xtables: Simplify addr_mask freeing Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 05/17] nft: Add family ops callbacks wrapping different nft_cmd_* functions Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 06/17] xtables-standalone: Drop version number from init errors Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 07/17] libxtables: Introduce xtables_globals print_help callback Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 08/17] arptables: Use standard data structures when parsing Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 09/17] nft-arp: Introduce post_parse callback Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 10/17] nft-shared: Make nft_check_xt_legacy() family agnostic Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 11/17] xtables: Derive xtables_globals from family Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 12/17] nft: Merge xtables-arp-standalone.c into xtables-standalone.c Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 13/17] xtables: arptables doesn't warn about empty interface Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 14/17] xtables: arptables accepts but ignores '-m' Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 15/17] xtables: arptables ignores wrong -t values Phil Sutter
2021-09-30 14:04 ` [iptables PATCH v2 16/17] xtables: Support '!' betwen option and argument Phil Sutter
2021-09-30 14:04 ` Phil Sutter [this message]
2021-10-14 20:56 ` [iptables PATCH v2 00/17] Eliminate dedicated arptables-nft parser Pablo Neira Ayuso
2021-10-15 11:01 ` Phil Sutter
2021-10-15 11:25 ` Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210930140419.6170-18-phil@nwl.cc \
--to=phil@nwl.cc \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).