From: Corubba Smith <corubba@gmx.de>
To: netfilter-devel@vger.kernel.org
Subject: [PATCH ulogd2 3/8] all: use config_parse_file function in all plugins
Date: Sat, 8 Mar 2025 23:34:34 +0100 [thread overview]
Message-ID: <6d010cf6-fcaf-4bc7-a50b-d5162b5037c0@gmx.de> (raw)
In-Reply-To: <ca5581f5-5e54-47f5-97c8-bcc788c77781@gmx.de>
Replace all usages of `config_parse_file()` in plugins with the new
`ulogd_parse_configfile()` function, adding error handling where it was
missing. I used the same codestyle as the surrounding code, which varies
between plugins.
Signed-off-by: Corubba Smith <corubba@gmx.de>
---
filter/ulogd_filter_MARK.c | 3 +--
input/flow/ulogd_inpflow_NFCT.c | 2 +-
input/packet/ulogd_inppkt_NFLOG.c | 3 +--
input/packet/ulogd_inppkt_ULOG.c | 2 +-
input/packet/ulogd_inppkt_UNIXSOCK.c | 3 +--
input/sum/ulogd_inpflow_NFACCT.c | 2 +-
output/ipfix/ulogd_output_IPFIX.c | 2 +-
output/pcap/ulogd_output_PCAP.c | 2 +-
output/sqlite3/ulogd_output_SQLITE3.c | 3 ++-
output/ulogd_output_GPRINT.c | 2 +-
output/ulogd_output_GRAPHITE.c | 2 +-
output/ulogd_output_JSON.c | 2 +-
output/ulogd_output_LOGEMU.c | 2 +-
output/ulogd_output_NACCT.c | 2 +-
output/ulogd_output_OPRINT.c | 2 +-
output/ulogd_output_SYSLOG.c | 7 ++++---
output/ulogd_output_XML.c | 2 +-
util/db.c | 2 +-
18 files changed, 22 insertions(+), 23 deletions(-)
diff --git a/filter/ulogd_filter_MARK.c b/filter/ulogd_filter_MARK.c
index 149725d..d5a8181 100644
--- a/filter/ulogd_filter_MARK.c
+++ b/filter/ulogd_filter_MARK.c
@@ -94,8 +94,7 @@ static int configure(struct ulogd_pluginstance *upi,
ulogd_log(ULOGD_DEBUG, "parsing config file section `%s', "
"plugin `%s'\n", upi->id, upi->plugin->name);
- config_parse_file(upi->id, upi->config_kset);
- return 0;
+ return ulogd_parse_configfile(upi->id, upi->config_kset);
}
static struct ulogd_plugin mark_pluging = {
diff --git a/input/flow/ulogd_inpflow_NFCT.c b/input/flow/ulogd_inpflow_NFCT.c
index 899b7e3..ec3dff6 100644
--- a/input/flow/ulogd_inpflow_NFCT.c
+++ b/input/flow/ulogd_inpflow_NFCT.c
@@ -1028,7 +1028,7 @@ static int configure_nfct(struct ulogd_pluginstance *upi,
{
int ret;
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0)
return ret;
diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c
index 4fdeb12..f716136 100644
--- a/input/packet/ulogd_inppkt_NFLOG.c
+++ b/input/packet/ulogd_inppkt_NFLOG.c
@@ -557,8 +557,7 @@ static int configure(struct ulogd_pluginstance *upi,
ulogd_log(ULOGD_DEBUG, "parsing config file section `%s', "
"plugin `%s'\n", upi->id, upi->plugin->name);
- config_parse_file(upi->id, upi->config_kset);
- return 0;
+ return ulogd_parse_configfile(upi->id, upi->config_kset);
}
static int become_system_logging(struct ulogd_pluginstance *upi, uint8_t pf)
diff --git a/input/packet/ulogd_inppkt_ULOG.c b/input/packet/ulogd_inppkt_ULOG.c
index 45ffc8b..44bc71d 100644
--- a/input/packet/ulogd_inppkt_ULOG.c
+++ b/input/packet/ulogd_inppkt_ULOG.c
@@ -269,7 +269,7 @@ static int ulog_read_cb(int fd, unsigned int what, void *param)
static int configure(struct ulogd_pluginstance *upi,
struct ulogd_pluginstance_stack *stack)
{
- return config_parse_file(upi->id, upi->config_kset);
+ return ulogd_parse_configfile(upi->id, upi->config_kset);
}
static int init(struct ulogd_pluginstance *upi)
{
diff --git a/input/packet/ulogd_inppkt_UNIXSOCK.c b/input/packet/ulogd_inppkt_UNIXSOCK.c
index f1d1534..b328500 100644
--- a/input/packet/ulogd_inppkt_UNIXSOCK.c
+++ b/input/packet/ulogd_inppkt_UNIXSOCK.c
@@ -719,8 +719,7 @@ static int configure(struct ulogd_pluginstance *upi,
ulogd_log(ULOGD_DEBUG, "parsing config file section `%s', "
"plugin `%s'\n", upi->id, upi->plugin->name);
- config_parse_file(upi->id, upi->config_kset);
- return 0;
+ return ulogd_parse_configfile(upi->id, upi->config_kset);
}
static int start(struct ulogd_pluginstance *upi)
diff --git a/input/sum/ulogd_inpflow_NFACCT.c b/input/sum/ulogd_inpflow_NFACCT.c
index b022e63..bd45df4 100644
--- a/input/sum/ulogd_inpflow_NFACCT.c
+++ b/input/sum/ulogd_inpflow_NFACCT.c
@@ -221,7 +221,7 @@ static int configure_nfacct(struct ulogd_pluginstance *upi,
{
int ret;
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0)
return ret;
diff --git a/output/ipfix/ulogd_output_IPFIX.c b/output/ipfix/ulogd_output_IPFIX.c
index 1c0f730..e96c7f8 100644
--- a/output/ipfix/ulogd_output_IPFIX.c
+++ b/output/ipfix/ulogd_output_IPFIX.c
@@ -268,7 +268,7 @@ static int ipfix_configure(struct ulogd_pluginstance *pi, struct ulogd_pluginsta
int oid, port, mtu, ret;
char addr[16];
- ret = config_parse_file(pi->id, pi->config_kset);
+ ret = ulogd_parse_configfile(pi->id, pi->config_kset);
if (ret < 0)
return ret;
diff --git a/output/pcap/ulogd_output_PCAP.c b/output/pcap/ulogd_output_PCAP.c
index 19ce47f..474992e 100644
--- a/output/pcap/ulogd_output_PCAP.c
+++ b/output/pcap/ulogd_output_PCAP.c
@@ -260,7 +260,7 @@ static void signal_pcap(struct ulogd_pluginstance *upi, int signal)
static int configure_pcap(struct ulogd_pluginstance *upi,
struct ulogd_pluginstance_stack *stack)
{
- return config_parse_file(upi->id, upi->config_kset);
+ return ulogd_parse_configfile(upi->id, upi->config_kset);
}
static int start_pcap(struct ulogd_pluginstance *upi)
diff --git a/output/sqlite3/ulogd_output_SQLITE3.c b/output/sqlite3/ulogd_output_SQLITE3.c
index 6aeb7a3..51c0fc8 100644
--- a/output/sqlite3/ulogd_output_SQLITE3.c
+++ b/output/sqlite3/ulogd_output_SQLITE3.c
@@ -363,7 +363,8 @@ sqlite3_configure(struct ulogd_pluginstance *pi,
{
/* struct sqlite_priv *priv = (void *)pi->private; */
- config_parse_file(pi->id, pi->config_kset);
+ if (ulogd_parse_configfile(pi->id, pi->config_kset) < 0)
+ return -1;
if (ulogd_wildcard_inputkeys(pi) < 0)
return -1;
diff --git a/output/ulogd_output_GPRINT.c b/output/ulogd_output_GPRINT.c
index 37829fa..8f881a3 100644
--- a/output/ulogd_output_GPRINT.c
+++ b/output/ulogd_output_GPRINT.c
@@ -230,7 +230,7 @@ static int gprint_configure(struct ulogd_pluginstance *upi,
if (ret < 0)
return ret;
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0)
return ret;
diff --git a/output/ulogd_output_GRAPHITE.c b/output/ulogd_output_GRAPHITE.c
index 5328f8e..e54b24d 100644
--- a/output/ulogd_output_GRAPHITE.c
+++ b/output/ulogd_output_GRAPHITE.c
@@ -214,7 +214,7 @@ static int configure_graphite(struct ulogd_pluginstance *pi,
struct ulogd_pluginstance_stack *stack)
{
ulogd_log(ULOGD_DEBUG, "parsing config file section %s\n", pi->id);
- return config_parse_file(pi->id, pi->config_kset);
+ return ulogd_parse_configfile(pi->id, pi->config_kset);
}
static struct ulogd_plugin graphite_plugin = {
diff --git a/output/ulogd_output_JSON.c b/output/ulogd_output_JSON.c
index f80d0e2..2e7211a 100644
--- a/output/ulogd_output_JSON.c
+++ b/output/ulogd_output_JSON.c
@@ -494,7 +494,7 @@ static int json_configure(struct ulogd_pluginstance *upi,
if (ret < 0)
return ret;
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0)
return ret;
diff --git a/output/ulogd_output_LOGEMU.c b/output/ulogd_output_LOGEMU.c
index cfcfab7..f5d1def 100644
--- a/output/ulogd_output_LOGEMU.c
+++ b/output/ulogd_output_LOGEMU.c
@@ -178,7 +178,7 @@ static int configure_logemu(struct ulogd_pluginstance *pi,
struct ulogd_pluginstance_stack *stack)
{
ulogd_log(ULOGD_DEBUG, "parsing config file section %s\n", pi->id);
- return config_parse_file(pi->id, pi->config_kset);
+ return ulogd_parse_configfile(pi->id, pi->config_kset);
}
static struct ulogd_plugin logemu_plugin = {
diff --git a/output/ulogd_output_NACCT.c b/output/ulogd_output_NACCT.c
index d369c7a..080a576 100644
--- a/output/ulogd_output_NACCT.c
+++ b/output/ulogd_output_NACCT.c
@@ -203,7 +203,7 @@ nacct_conf(struct ulogd_pluginstance *pi,
{
int ret;
- if ((ret = config_parse_file(pi->id, pi->config_kset)) < 0)
+ if ((ret = ulogd_parse_configfile(pi->id, pi->config_kset)) < 0)
return ret;
return 0;
diff --git a/output/ulogd_output_OPRINT.c b/output/ulogd_output_OPRINT.c
index 13934ff..1137be1 100644
--- a/output/ulogd_output_OPRINT.c
+++ b/output/ulogd_output_OPRINT.c
@@ -161,7 +161,7 @@ static int oprint_configure(struct ulogd_pluginstance *upi,
if (ret < 0)
return ret;
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0)
return ret;
diff --git a/output/ulogd_output_SYSLOG.c b/output/ulogd_output_SYSLOG.c
index 9777f0f..9ee6a61 100644
--- a/output/ulogd_output_SYSLOG.c
+++ b/output/ulogd_output_SYSLOG.c
@@ -83,12 +83,13 @@ static int _output_syslog(struct ulogd_pluginstance *upi)
static int syslog_configure(struct ulogd_pluginstance *pi,
struct ulogd_pluginstance_stack *stack)
{
- int syslog_facility, syslog_level;
+ int syslog_facility, syslog_level, ret;
char *facility, *level;
struct syslog_instance *li = (struct syslog_instance *) &pi->private;
- /* FIXME: error handling */
- config_parse_file(pi->id, pi->config_kset);
+ ret = ulogd_parse_configfile(pi->id, pi->config_kset);
+ if (ret < 0)
+ return ret;
facility = pi->config_kset->ces[0].u.string;
level = pi->config_kset->ces[1].u.string;
diff --git a/output/ulogd_output_XML.c b/output/ulogd_output_XML.c
index 44af596..55c7a7c 100644
--- a/output/ulogd_output_XML.c
+++ b/output/ulogd_output_XML.c
@@ -190,7 +190,7 @@ static int xml_configure(struct ulogd_pluginstance *upi,
{
int ret;
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0)
return ret;
diff --git a/util/db.c b/util/db.c
index 749a45f..11c3e6a 100644
--- a/util/db.c
+++ b/util/db.c
@@ -153,7 +153,7 @@ int ulogd_db_configure(struct ulogd_pluginstance *upi,
ulogd_log(ULOGD_NOTICE, "(re)configuring\n");
/* First: Parse configuration file section for this instance */
- ret = config_parse_file(upi->id, upi->config_kset);
+ ret = ulogd_parse_configfile(upi->id, upi->config_kset);
if (ret < 0) {
ulogd_log(ULOGD_ERROR, "error parsing config file\n");
return ret;
--
2.48.1
next prev parent reply other threads:[~2025-03-08 22:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-08 22:32 [PATCH ulogd2 1/8] ulogd: fix config file fd leak Corubba Smith
2025-03-08 22:33 ` [PATCH ulogd2 2/8] ulogd: add ulogd_parse_configfile public function Corubba Smith
2025-03-12 7:47 ` Florian Westphal
2025-03-08 22:34 ` Corubba Smith [this message]
2025-03-08 22:35 ` [PATCH ulogd2 4/8] ulogd: raise error on unknown config key Corubba Smith
2025-03-08 22:36 ` [PATCH ulogd2 5/8] ulogd: ignore malformed config directives Corubba Smith
2025-03-08 22:37 ` [PATCH ulogd2 6/8] ulogd: improve integer option parsing Corubba Smith
2025-03-08 22:38 ` [PATCH ulogd2 7/8] ulogd: default configure implementation Corubba Smith
2025-03-08 22:39 ` [PATCH ulogd2 8/8] all: remove trivial configure hooks Corubba Smith
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=6d010cf6-fcaf-4bc7-a50b-d5162b5037c0@gmx.de \
--to=corubba@gmx.de \
--cc=netfilter-devel@vger.kernel.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).