From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Phil Sutter <phil@nwl.cc>
Cc: Eric Leblond <eric@regit.org>,
netfilter-devel@vger.kernel.org, Florian Westphal <fw@strlen.de>
Subject: Re: [nft PATCH 6/7] libnftables: Provide an API for include path handling
Date: Fri, 20 Oct 2017 14:17:00 +0200 [thread overview]
Message-ID: <20171020121700.GE4068@salvia> (raw)
In-Reply-To: <20171019081847.16171-7-phil@nwl.cc>
On Thu, Oct 19, 2017 at 10:18:46AM +0200, Phil Sutter wrote:
> In order to keep the API simple, remove INCLUDE_PATHS_MAX restraint and
> dynamically allocate nft_ctx field include_paths instead.
>
> Signed-off-by: Phil Sutter <phil@nwl.cc>
> ---
> include/nftables/nftables.h | 6 +++---
> src/libnftables.c | 34 ++++++++++++++++++++++++++++++++--
> src/main.c | 9 ++++-----
> src/scanner.l | 4 +---
> 4 files changed, 40 insertions(+), 13 deletions(-)
>
> diff --git a/include/nftables/nftables.h b/include/nftables/nftables.h
> index f0c9bbf3ba3fe..a752f20d74132 100644
> --- a/include/nftables/nftables.h
> +++ b/include/nftables/nftables.h
> @@ -17,8 +17,6 @@ struct nft_cache {
> uint32_t seqnum;
> };
>
> -#define INCLUDE_PATHS_MAX 16
> -
> struct output_ctx {
> unsigned int numeric;
> unsigned int stateless;
> @@ -30,7 +28,7 @@ struct output_ctx {
>
> struct nft_ctx {
> struct mnl_socket *nf_sock;
> - const char *include_paths[INCLUDE_PATHS_MAX];
> + char **include_paths;
> unsigned int num_include_paths;
> unsigned int parser_max_errors;
> unsigned int debug_mask;
> @@ -78,6 +76,8 @@ void nft_ctx_free(struct nft_ctx *ctx);
>
> FILE *nft_ctx_set_output(struct nft_ctx *ctx, FILE *fp);
> void nft_ctx_set_dry_run(struct nft_ctx *ctx, bool dry);
> +int nft_ctx_add_include_path(struct nft_ctx *ctx, const char *path);
> +void nft_ctx_clear_include_paths(struct nft_ctx *ctx);
>
> void nft_ctx_flush_cache(struct nft_ctx *ctx);
>
> diff --git a/src/libnftables.c b/src/libnftables.c
> index 817f537e32618..2f4275c9a0a94 100644
> --- a/src/libnftables.c
> +++ b/src/libnftables.c
> @@ -6,10 +6,13 @@
> * published by the Free Software Foundation.
> *
> */
> +#define _GNU_SOURCE
> #include <erec.h>
> #include <errno.h>
> #include <mnl.h>
> #include <parser.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> #include <string.h>
> #include <utils.h>
> #include <iface.h>
> @@ -122,6 +125,33 @@ static void nft_exit(void)
> mark_table_exit();
> }
>
> +int nft_ctx_add_include_path(struct nft_ctx *ctx, const char *path)
Do we want to accept runtime addition/removal of include paths?
I mean, I would just make it nft_ctx_set_include_path(), then add an
unsetter, so we simplify this.
Let me know if I'm overlooking anything, thanks.
next prev parent reply other threads:[~2017-10-20 12:17 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-19 8:18 [nft PATCH 0/7] libnftables preparations Phil Sutter
2017-10-19 8:18 ` [nft PATCH 1/7] nft_ctx_free: Fix for wrong argument passed to cache_release Phil Sutter
2017-10-20 12:01 ` Pablo Neira Ayuso
2017-10-19 8:18 ` [nft PATCH 2/7] libnftables: Move library stuff out of main.c Phil Sutter
2017-10-20 12:12 ` Pablo Neira Ayuso
2017-10-20 17:02 ` Phil Sutter
2017-10-20 19:08 ` Pablo Neira Ayuso
2017-10-19 8:18 ` [nft PATCH 3/7] libnftables: Introduce nft_ctx_flush_cache() Phil Sutter
2017-10-20 12:13 ` Pablo Neira Ayuso
2017-10-20 17:05 ` Phil Sutter
2017-10-20 19:10 ` Pablo Neira Ayuso
2017-10-20 21:00 ` Phil Sutter
2017-10-19 8:18 ` [nft PATCH 4/7] cli: Use nft_run_cmd_from_buffer() Phil Sutter
2017-10-20 12:15 ` Pablo Neira Ayuso
2017-10-20 17:10 ` Phil Sutter
2017-10-20 19:18 ` Pablo Neira Ayuso
2017-10-20 21:05 ` Phil Sutter
2017-10-19 8:18 ` [nft PATCH 5/7] libnftables: Introduce nft_ctx_set_dry_run() Phil Sutter
2017-10-19 8:18 ` [nft PATCH 6/7] libnftables: Provide an API for include path handling Phil Sutter
2017-10-20 12:17 ` Pablo Neira Ayuso [this message]
2017-10-20 17:16 ` Phil Sutter
2017-10-20 19:16 ` Pablo Neira Ayuso
2017-10-20 21:12 ` Phil Sutter
2017-10-19 8:18 ` [nft PATCH 7/7] libnftables: Add remaining getters and setters Phil Sutter
2017-10-20 12:18 ` Pablo Neira Ayuso
2017-10-20 16:08 ` Phil Sutter
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=20171020121700.GE4068@salvia \
--to=pablo@netfilter.org \
--cc=eric@regit.org \
--cc=fw@strlen.de \
--cc=netfilter-devel@vger.kernel.org \
--cc=phil@nwl.cc \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.