summaryrefslogtreecommitdiffstats
path: root/src/libnetfilter_acct.c
Commit message (Collapse)AuthorAgeFilesLines
* add JSON output formatHarald Welte2016-02-291-0/+46
| | | | | | | | | | | the original output format looks a bit like JSON, but isn't. The XML output is useful if you deal with XML, but a lot of applications prefer more lightweight formats like YAML/JSON. This adds the JSON output format to libnetfilter_acct, which will subsequently be used by a similar change in the nfacct utility. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* Fix overquota output resultAlexey Perevalov2014-07-311-3/+11
| | | | | | | | | | | Current implementation shows "packet" for none byte quota type. It means "packet" was used for overquota counter as well and it wasn't so informative. This commmit adds additional column - overquota with yes/no value. Signed-off-by: Alexey Perevalov <a.perevalov@samsung.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* src: fix broken output handlingPablo Neira Ayuso2014-04-281-13/+8
| | | | | | | | | In 948fa3b ("Extend accounting capabilities to support quotas"), the error handling of snprintf is incorrect since this function may return -1 on error. Add a new SNPRINTF_CHECK() macro to offload the complicated handling of snprintf. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* Extend accounting capabilities to support quotasMathieu Poirier2014-04-281-4/+63
| | | | | | | | | The accounting framework already supports accounting at the quota and byte level. As such it is a natural extention to add a ceiling limit to those metrics. Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* xml: fix inversion between pkt and bytesEric Leblond2014-02-041-2/+2
| | | | | | | | The nfacct_snprintf_xml used to ouput accounting in XML format was inverting packet and bytes. This patch restores the correct order. Signed-off-by: Eric Leblond <eric@regit.org>
* use PRIu64 and remove unnecessary castMr Dash Four2013-03-151-7/+4
| | | | | | | | | This patch corrects all nfacct_snprintf_* functions to use PRIu64, given that we are using uint64_t type variables and also removes the unnecessary casts. Signed-off-by: Mr Dash Four <mr.dash.four@googlemail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* Fix packets and bytes inversion.Eric Leblond2012-12-261-5/+5
| | | | | Pkts and bytes are inversed in some part of the code. This patch fixes most of the occurence of this problem.
* Partially revert "src: remove unnecessary castings"Pablo Neira Ayuso2012-10-101-3/+7
| | | | | | | This partially reverts commit 6e8573c9f62fc9db99c120298d9539be27fe282e. %lu in 32-bits arch is only 4 bytes. Thanks to Jan Engelhardt for spotting this.
* src: NFACCT_PKTS and NFACCT_BYTES are MNL_TYPE_U64libnetfilter_acct-1.0.1Pablo Neira Ayuso2012-10-091-5/+0
| | | | | | | No need to duplicate the same code to validate their size since they are both unsigned 64-bits integers. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* src: remove unnecessary castingsPablo Neira Ayuso2012-10-091-8/+4
| | | | Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* src: NFACCT_SNPRINTF_T_XML flag for nfacct_snprintf to output timePablo Neira Ayuso2012-06-221-21/+99
| | | | Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* nfacct: change prototype of nfacct_snprintf() to support output in XMLPablo Neira Ayuso2012-03-271-12/+31
| | | | | | | | | | | | | | | | This patch adds supports for XML output for nfacct_snprintf(). This also bumps the library current version number and it adds a new version in the symbol map. I decided to do so because, although no official release has happened so far. Many distributors have already decided to provide packages for this. We don't provide the old symbol version for nfacct_snprintf, I think that's too much (given the lifetime of it). But we make sure that we break the binary gracefully in case of version mismatches (not silently, with unexpectable side effects). Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* nfacct: check if attribute is set in nfacct_attr_get*Pablo Neira Ayuso2012-02-011-4/+8
| | | | | | | Instead of returning the data even if unset. Reported-by: Alejandro Castaño del Castillo <alex@wadobo.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* nfacct: use NFACCT_ATTR_* flags in nfacct_nlmsg_build_payloadPablo Neira Ayuso2012-02-011-3/+3
| | | | | | | Instead of checking is name, packets and bytes are set. Reported-by: Alejandro Castaño del Castillo <alex@wadobo.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* nfacct: modify nfacct_snprint outputPablo Neira Ayuso2012-01-011-3/+3
| | | | | | | | | Now it looks like: { pkts = 00000000000000000000, bytes = 00000000000000000000 } = test1; { pkts = 00000000000000000000, bytes = 00000000000000000000 } = test2; Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* add COPYING file and other licensing stuffPablo Neira Ayuso2011-12-291-1/+1
| | | | | | | | | License is LGPLv2.1+, fix header of libnetfilter_acct.c which tells LGPLv2 or any later (mind the missing .1 after v2). Examples of this library are in the public domain. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* src: add library documentation in doxygenPablo Neira Ayuso2011-12-291-24/+157
| | | | | | This patch adds the library documentation in doxygen format. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* src: major API redesignPablo Neira Ayuso2011-12-291-78/+179
| | | | | | | | | | | | | | | This patch reworks the initial API. Now it provides functions to: - allocate/release accounting objects. - set/unset/get attributes of accounting objects. - build one netlink message from one accounting object. - parse one netlink message to one accounting object. - print one accounting object into a buffer. Binary layout of nfacct objects are opaque. This is good for extensibility without breaking backward compatibility. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* extend nfacct_list to allow to zero countersPablo Neira Ayuso2011-12-141-2/+6
|
* examples: add nfacct-del to delete accounting objectsPablo Neira Ayuso2011-12-141-1/+1
| | | | This also fixes one wrong flag in nfacct_delete(...)
* fix endianness in 64-bits packet and bytes countersPablo Neira Ayuso2011-12-021-4/+7
| | | | | In nfnetlink, the policy is that attributes are in network byte order.
* fix crash if no data pointer is passed to nfacct_list_cbPablo Neira Ayuso2011-10-161-1/+1
|
* intial import of libnetfilter_acctPablo Neira Ayuso2011-10-161-0/+154