From a84175b8c3b167bf0e18a9ce1f6bb48a62c64127 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 18 May 2012 01:35:59 +0000 Subject: snprintf: print conntrack helper name, too Signed-off-by: Florian Westphal --- src/conntrack/snprintf_default.c | 11 +++++++++++ src/conntrack/snprintf_xml.c | 16 ++++++++++++++++ 2 files changed, 27 insertions(+) (limited to 'src') 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, "%s", 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, ""); BUFFER_SIZE(ret, size, len, offset); -- cgit v1.2.3