netfilter: ebtables: create audit records for replaces
This is already done for x_tables (family AF_INET and AF_INET6), let's do it for AF_BRIDGE also. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
e42eff8a32
Коммит
c55fbbb4a7
|
@ -26,6 +26,7 @@
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <linux/cpumask.h>
|
#include <linux/cpumask.h>
|
||||||
|
#include <linux/audit.h>
|
||||||
#include <net/sock.h>
|
#include <net/sock.h>
|
||||||
/* needed for logical [in,out]-dev filtering */
|
/* needed for logical [in,out]-dev filtering */
|
||||||
#include "../br_private.h"
|
#include "../br_private.h"
|
||||||
|
@ -1058,6 +1059,20 @@ static int do_replace_finish(struct net *net, struct ebt_replace *repl,
|
||||||
vfree(table);
|
vfree(table);
|
||||||
|
|
||||||
vfree(counterstmp);
|
vfree(counterstmp);
|
||||||
|
|
||||||
|
#ifdef CONFIG_AUDIT
|
||||||
|
if (audit_enabled) {
|
||||||
|
struct audit_buffer *ab;
|
||||||
|
|
||||||
|
ab = audit_log_start(current->audit_context, GFP_KERNEL,
|
||||||
|
AUDIT_NETFILTER_CFG);
|
||||||
|
if (ab) {
|
||||||
|
audit_log_format(ab, "table=%s family=%u entries=%u",
|
||||||
|
repl->name, AF_BRIDGE, repl->nentries);
|
||||||
|
audit_log_end(ab);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
free_unlock:
|
free_unlock:
|
||||||
|
|
Загрузка…
Ссылка в новой задаче