summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2012-05-18 01:35:59 +0000
committerPablo Neira Ayuso <pablo@netfilter.org>2012-05-20 22:14:29 +0200
commita84175b8c3b167bf0e18a9ce1f6bb48a62c64127 (patch)
treed888fbd2f48cc3b6fde2bce31f3139f70b753a74
parent53a9e0e0e794352c99a078202a757b25de8bdf7b (diff)
snprintf: print conntrack helper name, too
Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r--src/conntrack/snprintf_default.c11
-rw-r--r--src/conntrack/snprintf_xml.c16
2 files changed, 27 insertions, 0 deletions
diff --git a/src/conntrack/snprintf_default.c b/src/conntrack/snprintf_default.c
index 206b9c0..911faea 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,
@@ -405,6 +411,11 @@ int __snprintf_conntrack_default(char *buf,
}
}
+ if (test_bit(ATTR_HELPER_NAME, ct->head.set)) {
+ ret = __snprintf_helper_name(buf+offset, len, ct);
+ BUFFER_SIZE(ret, size, len, offset);
+ }
+
if (test_bit(ATTR_USE, ct->head.set)) {
ret = __snprintf_use(buf+offset, len, ct);
BUFFER_SIZE(ret, size, len, offset);
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);