diff options
author | Florian Westphal <fw@strlen.de> | 2012-05-18 01:35:59 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2012-05-20 22:14:29 +0200 |
commit | a84175b8c3b167bf0e18a9ce1f6bb48a62c64127 (patch) | |
tree | d888fbd2f48cc3b6fde2bce31f3139f70b753a74 /src/conntrack | |
parent | 53a9e0e0e794352c99a078202a757b25de8bdf7b (diff) |
snprintf: print conntrack helper name, too
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/conntrack')
-rw-r--r-- | src/conntrack/snprintf_default.c | 11 | ||||
-rw-r--r-- | 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..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); |