diff options
| author | Pablo Neira Ayuso <pablo@netfilter.org> | 2024-06-18 14:26:31 +0200 |
|---|---|---|
| committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2024-06-25 17:20:12 +0200 |
| commit | 081bf5f0d7952a6e6ac0d23a365ccf1fd27010c0 (patch) | |
| tree | 504db7eb68465921f76a917b18ced461a5cf75f6 /src/optimize.c | |
| parent | f13fd62ef1e2755ed5eef11adbe0e8a479528f72 (diff) | |
src: add string preprocessor and use it for log prefix string
Add a string preprocessor to identify and replace variables in a string.
Rework existing support to variables in log prefix strings to use it.
Fixes: e76bb3794018 ("src: allow for variables in the log prefix string")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/optimize.c')
| -rw-r--r-- | src/optimize.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/optimize.c b/src/optimize.c index b90dd995..1dd08586 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -215,9 +215,7 @@ static bool __stmt_type_eq(const struct stmt *stmt_a, const struct stmt *stmt_b, if (!stmt_a->log.prefix) return true; - if (stmt_a->log.prefix->etype != EXPR_VALUE || - stmt_b->log.prefix->etype != EXPR_VALUE || - mpz_cmp(stmt_a->log.prefix->value, stmt_b->log.prefix->value)) + if (strcmp(stmt_a->log.prefix, stmt_b->log.prefix)) return false; break; case STMT_REJECT: @@ -406,7 +404,7 @@ static int rule_collect_stmts(struct optimize_ctx *ctx, struct rule *rule) case STMT_LOG: memcpy(&clone->log, &stmt->log, sizeof(clone->log)); if (stmt->log.prefix) - clone->log.prefix = expr_get(stmt->log.prefix); + clone->log.prefix = xstrdup(stmt->log.prefix); break; case STMT_NAT: if ((stmt->nat.addr && |
