* [PATCH][libnetfilter_conntrack] snprintf: print conntrack helper name, too
@ 2012-05-18 11:35 Florian Westphal
2012-05-20 20:20 ` Pablo Neira Ayuso
0 siblings, 1 reply; 2+ messages in thread
From: Florian Westphal @ 2012-05-18 11:35 UTC (permalink / raw)
To: netfilter-devel; +Cc: Florian Westphal
Signed-off-by: Florian Westphal <fw@strlen.de>
---
src/conntrack/snprintf_default.c | 11 +++++++++++
src/conntrack/snprintf_xml.c | 16 ++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/src/conntrack/snprintf_default.c b/src/conntrack/snprintf_default.c
index 206b9c0..45d192d 100644
--- a/src/conntrack/snprintf_default.c
+++ b/src/conntrack/snprintf_default.c
@@ -282,6 +282,12 @@ __snprintf_timestamp_delta(char *buf, unsigned int len,
(unsigned long long)delta_time));
}
+static int
+__snprintf_helper_name(char *buf, unsigned int len, const struct nf_conntrack *ct)
+{
+ return (snprintf(buf, len, "helper=%s ", ct->helper_name));
+}
+
int __snprintf_conntrack_default(char *buf,
unsigned int len,
const struct nf_conntrack *ct,
@@ -415,6 +421,11 @@ int __snprintf_conntrack_default(char *buf,
BUFFER_SIZE(ret, size, len, offset);
}
+ if (test_bit(ATTR_HELPER_NAME, ct->head.set)) {
+ ret = __snprintf_helper_name(buf+offset, len, ct);
+ BUFFER_SIZE(ret, size, len, offset);
+ }
+
/* Delete the last blank space */
size--;
diff --git a/src/conntrack/snprintf_xml.c b/src/conntrack/snprintf_xml.c
index 756d118..ad53075 100644
--- a/src/conntrack/snprintf_xml.c
+++ b/src/conntrack/snprintf_xml.c
@@ -239,6 +239,18 @@ __snprintf_deltatime(char *buf, unsigned int len, const struct nf_conntrack *ct)
return size;
}
+static int
+__snprintf_helper_name(char *buf, unsigned int len, const struct nf_conntrack *ct)
+{
+ int ret;
+ unsigned int size = 0, offset = 0;
+
+ ret = snprintf(buf+offset, len, "<helper>%s</helper>", ct->helper_name);
+ BUFFER_SIZE(ret, size, len, offset);
+
+ return size;
+}
+
int
__snprintf_localtime_xml(char *buf, unsigned int len, const struct tm *tm)
{
@@ -522,6 +534,10 @@ int __snprintf_conntrack_xml(char *buf,
BUFFER_SIZE(ret, size, len, offset);
}
+ if (test_bit(ATTR_HELPER_NAME, ct->head.set)) {
+ ret = __snprintf_helper_name(buf+offset, len, ct);
+ BUFFER_SIZE(ret, size, len, offset);
+ }
err_out:
ret = snprintf(buf+offset, len, "</flow>");
BUFFER_SIZE(ret, size, len, offset);
--
1.7.3.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH][libnetfilter_conntrack] snprintf: print conntrack helper name, too
2012-05-18 11:35 [PATCH][libnetfilter_conntrack] snprintf: print conntrack helper name, too Florian Westphal
@ 2012-05-20 20:20 ` Pablo Neira Ayuso
0 siblings, 0 replies; 2+ messages in thread
From: Pablo Neira Ayuso @ 2012-05-20 20:20 UTC (permalink / raw)
To: Florian Westphal; +Cc: netfilter-devel
On Fri, May 18, 2012 at 01:35:59PM +0200, Florian Westphal wrote:
> Signed-off-by: Florian Westphal <fw@strlen.de>
Applied, thanks Florian.
I've mangled this to move the helper=%s before id=%d and use=%d.
This breaks the output for applications parsing our text-based output.
Still, we provide XML output that remains consistent along updates.
And, if people don't like XML (I would not blame them), they can still
contribute some more easy to parse extension in CSKV format, or even
some output in JSON format.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-05-20 20:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-18 11:35 [PATCH][libnetfilter_conntrack] snprintf: print conntrack helper name, too Florian Westphal
2012-05-20 20:20 ` Pablo Neira Ayuso
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).