diff options
author | Florian Westphal <fw@strlen.de> | 2017-09-14 22:59:13 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2017-09-27 15:18:14 +0200 |
commit | da06a74244cbe4b02431ea2c34b8299f3562c9ff (patch) | |
tree | 5f060ff612d59e67d15b3ac796c9af85d6dd9d14 /src/netlink_delinearize.c | |
parent | 027734420b213560ab7e261d6b4b969e16e97343 (diff) |
src: store expression as set key instead of data type
Doing so retains legth information in case of unqualified data types,
e.g. we now have 'meta iifname' expression instead of an (unqualified)
string type.
This allows to eventually use iifnames as set keys without adding yet
another special data type for them.
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink_delinearize.c')
-rw-r--r-- | src/netlink_delinearize.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index 3f42d092..42206ebc 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -307,8 +307,8 @@ static void netlink_parse_lookup(struct netlink_parse_ctx *ctx, return netlink_error(ctx, loc, "Lookup expression has no left hand side"); - if (left->len < set->keylen) { - left = netlink_parse_concat_expr(ctx, loc, sreg, set->keylen); + if (left->len < set->key->len) { + left = netlink_parse_concat_expr(ctx, loc, sreg, set->key->len); if (left == NULL) return; } @@ -1122,8 +1122,8 @@ static void netlink_parse_dynset(struct netlink_parse_ctx *ctx, return netlink_error(ctx, loc, "Dynset statement has no key expression"); - if (expr->len < set->keylen) { - expr = netlink_parse_concat_expr(ctx, loc, sreg, set->keylen); + if (expr->len < set->key->len) { + expr = netlink_parse_concat_expr(ctx, loc, sreg, set->key->len); if (expr == NULL) return; } @@ -1193,8 +1193,8 @@ static void netlink_parse_objref(struct netlink_parse_ctx *ctx, return netlink_error(ctx, loc, "objref expression has no left hand side"); - if (left->len < set->keylen) { - left = netlink_parse_concat_expr(ctx, loc, sreg, set->keylen); + if (left->len < set->key->len) { + left = netlink_parse_concat_expr(ctx, loc, sreg, set->key->len); if (left == NULL) return; } |