summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--input/packet/ulogd_inppkt_NFLOG.c23
-rw-r--r--ulogd.conf.in6
2 files changed, 22 insertions, 7 deletions
diff --git a/input/packet/ulogd_inppkt_NFLOG.c b/input/packet/ulogd_inppkt_NFLOG.c
index 70e9f77..36f11d7 100644
--- a/input/packet/ulogd_inppkt_NFLOG.c
+++ b/input/packet/ulogd_inppkt_NFLOG.c
@@ -31,7 +31,7 @@ struct nflog_input {
/* configuration entries */
static struct config_keyset libulog_kset = {
- .num_ces = 10,
+ .num_ces = 9,
.ces = {
{
.key = "bufsize",
@@ -52,6 +52,13 @@ static struct config_keyset libulog_kset = {
.u.value = 1,
},
{
+ .key = "bind",
+ .type = CONFIG_TYPE_INT,
+ .options = CONFIG_OPT_NONE,
+ .u.value = 0,
+ },
+
+ {
.key = "seq_local",
.type = CONFIG_TYPE_INT,
.options = CONFIG_OPT_NONE,
@@ -87,11 +94,12 @@ static struct config_keyset libulog_kset = {
#define bufsiz_ce(x) (x->ces[0])
#define group_ce(x) (x->ces[1])
#define unbind_ce(x) (x->ces[2])
-#define seq_ce(x) (x->ces[3])
-#define seq_global_ce(x) (x->ces[4])
-#define label_ce(x) (x->ces[5])
-#define nlsockbufsize_ce(x) (x->ces[6])
-#define nlsockbufmaxsize_ce(x) (x->ces[7])
+#define bind_ce(x) (x->ces[3])
+#define seq_ce(x) (x->ces[4])
+#define seq_global_ce(x) (x->ces[5])
+#define label_ce(x) (x->ces[6])
+#define nlsockbufsize_ce(x) (x->ces[7])
+#define nlsockbufmaxsize_ce(x) (x->ces[8])
enum nflog_keys {
NFLOG_KEY_RAW_MAC = 0,
@@ -497,7 +505,8 @@ static int start(struct ulogd_pluginstance *upi)
goto out_handle;
/* This is the system logging (conntrack, ...) facility */
- if (group_ce(upi->config_kset).u.value == 0) {
+ if ((group_ce(upi->config_kset).u.value == 0) ||
+ (bind_ce(upi->config_kset).u.value > 0)) {
if (become_system_logging(upi, AF_INET) == -1)
goto out_handle;
if (become_system_logging(upi, AF_INET6) == -1)
diff --git a/ulogd.conf.in b/ulogd.conf.in
index a48af3f..7022bf6 100644
--- a/ulogd.conf.in
+++ b/ulogd.conf.in
@@ -111,6 +111,11 @@ group=0
group=1 # Group has to be different from the one use in log1
#netlink_socket_buffer_size=217088
#netlink_socket_buffer_maxsize=1085440
+# If your kernel is older than 2.6.29 and if a NFLOG input plugin with
+# group 0 is not used by any stack, you need to have at least one NFLOG
+# input plugin with bind set to 1. If you don't do that you may not
+# receive any message from the kernel.
+#bind=1
# packet logging through NFLOG for group 2, numeric_label is
# set to 1
@@ -120,6 +125,7 @@ group=2 # Group has to be different from the one use in log1/log2
numeric_label=1 # you can label the log info based on the packet verdict
#netlink_socket_buffer_size=217088
#netlink_socket_buffer_maxsize=1085440
+#bind=1
[ulog1]
# netlink multicast group (the same as the iptables --ulog-nlgroup param)