summaryrefslogtreecommitdiffstats
path: root/src/rule.c
diff options
context:
space:
mode:
authorFernando Fernandez Mancera <ffmancera@riseup.net>2018-08-22 17:03:46 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-08-24 09:44:44 +0200
commitaf00174af3ef478d7d8d96d15647ad1bbb0bc919 (patch)
tree20e2cd8b7719c9bd0f9ae9b6f1ca5d6cf7162e7d /src/rule.c
parent1ecfaa2a9f5191823a3c3cd19b760fcb69f7d38d (diff)
src: osf: import nfnl_osf.c to load osf fingerprints
Import iptables/utils/nfnl_osf.c into nftables tree with some changes in order to load OS fingerprints automatically from pf.os file. Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r--src/rule.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/rule.c b/src/rule.c
index 570d6671..df35f3e1 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -1323,6 +1323,7 @@ static int do_add_set(struct netlink_ctx *ctx, const struct cmd *cmd,
static int do_command_add(struct netlink_ctx *ctx, struct cmd *cmd, bool excl)
{
uint32_t flags = excl ? NLM_F_EXCL : 0;
+ int err;
if (ctx->octx->echo) {
int ret;
@@ -1341,7 +1342,10 @@ static int do_command_add(struct netlink_ctx *ctx, struct cmd *cmd, bool excl)
case CMD_OBJ_CHAIN:
return netlink_add_chain_batch(ctx, cmd, flags);
case CMD_OBJ_RULE:
- return netlink_add_rule_batch(ctx, cmd, flags | NLM_F_APPEND);
+ err = netlink_add_rule_batch(ctx, cmd, flags | NLM_F_APPEND);
+ if (osf_init)
+ nfnl_osf_load_fingerprints(ctx, 0);
+ return err;
case CMD_OBJ_SET:
return do_add_set(ctx, cmd, flags);
case CMD_OBJ_SETELEM: