aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/plugins/kernel_netlink
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-03-18 10:13:36 +0100
committerMartin Willi <martin@revosec.ch>2013-03-18 10:13:36 +0100
commitd29246cabe581f4937e740e251a935e629556f86 (patch)
treee1f86db4ea8dc2fb574e9707d0d013d9bceb6807 /src/libhydra/plugins/kernel_netlink
parent048872f2f74d3885f6915e461543da2969f77547 (diff)
parente813d218f1af807c260c8dbe2617d60bf18bc322 (diff)
downloadstrongswan-d29246cabe581f4937e740e251a935e629556f86.tar.bz2
strongswan-d29246cabe581f4937e740e251a935e629556f86.tar.xz
Merge branch 'radius-ext'
Bring some extensions to eap-radius, namely a virtual IP address provider based on received Framed-IPs, forwarding of Cisco Unity banners, Interim Accounting updates and the reporting of sent/received packets.
Diffstat (limited to 'src/libhydra/plugins/kernel_netlink')
-rw-r--r--src/libhydra/plugins/kernel_netlink/kernel_netlink_ipsec.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_ipsec.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_ipsec.c
index 3e84d1699..9b4ade533 100644
--- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_ipsec.c
+++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_ipsec.c
@@ -1594,7 +1594,8 @@ static void get_replay_state(private_kernel_netlink_ipsec_t *this,
METHOD(kernel_ipsec_t, query_sa, status_t,
private_kernel_netlink_ipsec_t *this, host_t *src, host_t *dst,
- u_int32_t spi, u_int8_t protocol, mark_t mark, u_int64_t *bytes)
+ u_int32_t spi, u_int8_t protocol, mark_t mark,
+ u_int64_t *bytes, u_int64_t *packets)
{
netlink_buf_t request;
struct nlmsghdr *out = NULL, *hdr;
@@ -1671,7 +1672,14 @@ METHOD(kernel_ipsec_t, query_sa, status_t,
}
else
{
- *bytes = sa->curlft.bytes;
+ if (bytes)
+ {
+ *bytes = sa->curlft.bytes;
+ }
+ if (packets)
+ {
+ *packets = sa->curlft.packets;
+ }
status = SUCCESS;
}
memwipe(out, len);