From: Phil Sutter <phil@nwl.cc>
To: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: netfilter-devel@vger.kernel.org
Subject: Re: [nft PATCH v3] libnftables: Unexport enum nftables_exit_codes
Date: Thu, 16 Nov 2017 14:48:12 +0100 [thread overview]
Message-ID: <20171116134812.GI32305@orbyte.nwl.cc> (raw)
In-Reply-To: <20171116133332.GB2455@salvia>
Hi Pablo,
On Thu, Nov 16, 2017 at 02:33:32PM +0100, Pablo Neira Ayuso wrote:
> On Mon, Nov 13, 2017 at 03:08:16PM +0100, Phil Sutter wrote:
> > Apart from SUCCESS/FAILURE, these codes were not used by library
> > functions simply because NOMEM and NONL conditions lead to calling
> > exit() instead of propagating the error condition back up the call
> > stack.
> >
> > Instead, make nft_run_cmd_from_*() return either 0 or -1 on error.
> > Usually errno will then contain more details about what happened and/or
> > there are messages in erec.
> >
> > Calls to exit()/return in main() are adjusted to stay compatible.
>
> Also applied, thanks.
>
> BTW, I think you mentioned you planned to change all
> memory_allocation_error() to pass up the error to the client
> application.
>
> Let me know, if you don't have time for this, no worries if too busy.
I looked into it once, but didn't pursue much further. This requires
some effort, since code everywhere just assumes (e.g.) memory allocation
to succeed so there is no error path at all in many places.
OTOH, I wasn't sure whether adding this is feasible at all - if memory
allocation fails, we're usually in big trouble and error propagation
might not work anymore as well (e.g. allocation of erec items). Sure,
bugs like 'malloc(-1)' would be handled properly, of course.
Not sure about netlink errors: Ideally, the library would check this
early (e.g. during context allocation), but of course syscalls like
socket() could still fail later.
Cheers, Phil
next prev parent reply other threads:[~2017-11-16 13:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-23 15:33 [nft PATCH v2 0/4] libnftables preparations Phil Sutter
2017-10-23 15:33 ` [nft PATCH v2 1/4] libnftables: Move library stuff out of main.c Phil Sutter
2017-10-24 15:48 ` Pablo Neira Ayuso
2017-10-24 16:42 ` Phil Sutter
2017-11-09 13:25 ` [nft PATCH] libnftables: Unexport enum nftables_exit_codes Phil Sutter
2017-11-09 19:27 ` Phil Sutter
2017-11-10 11:27 ` [nft PATCH v2] " Phil Sutter
2017-11-13 12:31 ` Pablo Neira Ayuso
2017-11-13 12:38 ` Phil Sutter
2017-11-13 14:08 ` [nft PATCH v3] " Phil Sutter
2017-11-16 13:33 ` Pablo Neira Ayuso
2017-11-16 13:48 ` Phil Sutter [this message]
2017-11-13 13:49 ` [nft PATCH v2] " Phil Sutter
2017-11-13 13:53 ` Pablo Neira Ayuso
2017-11-13 14:04 ` Phil Sutter
2017-10-23 15:33 ` [nft PATCH v2 2/4] libnftables: Introduce nft_ctx_flush_cache() Phil Sutter
2017-10-24 15:52 ` Pablo Neira Ayuso
2017-10-24 17:40 ` Phil Sutter
2017-10-25 9:25 ` Pablo Neira Ayuso
2017-10-25 11:40 ` [nft PATCH] libnftables: Get rid of explicit cache flushes Phil Sutter
2017-10-26 18:15 ` Pablo Neira Ayuso
2017-10-23 15:33 ` [nft PATCH v2 3/4] cli: Use nft_run_cmd_from_buffer() Phil Sutter
2017-10-23 15:33 ` [nft PATCH v2 4/4] libnftables: Introduce getters and setters for everything Phil Sutter
2017-10-24 15:20 ` [nft PATCH v2 0/4] libnftables preparations Pablo Neira Ayuso
2017-10-24 16:29 ` 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=20171116134812.GI32305@orbyte.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).