From bb8e28248be0ad1f728433e4884dfe2db3772b30 Mon Sep 17 00:00:00 2001 From: "katerina.kubecova" Date: Mon, 18 Sep 2023 14:43:58 +0200 Subject: [PATCH] Structures bytestring and adata merged into adata. --- conf/cf-lex.l | 4 ++-- conf/conf.h | 4 ---- conf/confbase.Y | 2 +- filter/data.c | 2 +- filter/data.h | 2 +- filter/f-inst.c | 4 ++-- proto/radv/config.Y | 2 +- proto/radv/radv.h | 2 +- 8 files changed, 9 insertions(+), 13 deletions(-) diff --git a/conf/cf-lex.l b/conf/cf-lex.l index dd62e31a..28479ff3 100644 --- a/conf/cf-lex.l +++ b/conf/cf-lex.l @@ -244,7 +244,7 @@ WHITE [ \t] ({XIGIT}{2}){16,}|{XIGIT}{2}(:{XIGIT}{2}){15,}|hex:({XIGIT}{2}(:?{XIGIT}{2})*)? { char *s = yytext; - struct bytestring *bs; + struct adata *bs; /* Skip 'hex:' prefix */ if (s[0] == 'h' && s[1] == 'e' && s[2] == 'x' && s[3] == ':') @@ -254,7 +254,7 @@ WHITE [ \t] if (len < 0) cf_error("Invalid hex string"); - bs = cfg_allocz(sizeof(struct bytestring) + len); + bs = cfg_allocz(sizeof(struct adata) + len); bs->length = bstrhextobin(s, bs->data); ASSERT(bs->length == len); diff --git a/conf/conf.h b/conf/conf.h index c301df1d..486499ad 100644 --- a/conf/conf.h +++ b/conf/conf.h @@ -154,10 +154,6 @@ extern struct sym_scope *global_root_scope; extern pool *global_root_scope_pool; extern linpool *global_root_scope_linpool; -struct bytestring { - size_t length; - byte data[]; -}; #define SYM_MAX_LEN 64 diff --git a/conf/confbase.Y b/conf/confbase.Y index 7b368fc6..0364bc6e 100644 --- a/conf/confbase.Y +++ b/conf/confbase.Y @@ -94,7 +94,7 @@ CF_DECLS struct channel_limit cl; struct timeformat *tf; mpls_label_stack *mls; - const struct bytestring *bs; + const struct adata *bs; } %token END CLI_MARKER INVALID_TOKEN ELSECOL DDOT diff --git a/filter/data.c b/filter/data.c index deca00e0..89b75e56 100644 --- a/filter/data.c +++ b/filter/data.c @@ -212,7 +212,7 @@ val_compare(const struct f_val *v1, const struct f_val *v2) } static inline int -bs_same(const struct bytestring *bs1, const struct bytestring *bs2) +bs_same(const struct adata *bs1, const struct adata *bs2) { return (bs1->length == bs2->length) && !memcmp(bs1->data, bs2->data, bs1->length); } diff --git a/filter/data.h b/filter/data.h index 574b4a1b..90e779c8 100644 --- a/filter/data.h +++ b/filter/data.h @@ -84,7 +84,7 @@ struct f_val { ip_addr ip; const net_addr *net; const char *s; - const struct bytestring *bs; + const struct adata *bs; const struct f_tree *t; const struct f_trie *ti; const struct adata *ad; diff --git a/filter/f-inst.c b/filter/f-inst.c index 104a05f1..c56d874b 100644 --- a/filter/f-inst.c +++ b/filter/f-inst.c @@ -1522,8 +1522,8 @@ if (len < 0) runtime("Invalid hex string"); - struct bytestring *bs; - bs = falloc(sizeof(struct bytestring) + len); + struct adata *bs; + bs = falloc(sizeof(struct adata) + len); bs->length = bstrhextobin(v1.val.s, bs->data); ASSERT(bs->length == (size_t) len); diff --git a/proto/radv/config.Y b/proto/radv/config.Y index c57752d9..3a898b8d 100644 --- a/proto/radv/config.Y +++ b/proto/radv/config.Y @@ -26,7 +26,7 @@ static list radv_dns_list; /* Used by radv_rdnss and radv_dnssl */ static u8 radv_mult_val; /* Used by radv_mult for second return value */ static inline void -radv_add_to_custom_list(list *l, int type, const struct bytestring *payload) +radv_add_to_custom_list(list *l, int type, const struct adata *payload) { if (type < 0 || type > 255) cf_error("RA cusom type must be in range 0-255"); struct radv_custom_config *cf = cfg_allocz(sizeof(struct radv_custom_config)); diff --git a/proto/radv/radv.h b/proto/radv/radv.h index 2baf0bad..ba4a1b6c 100644 --- a/proto/radv/radv.h +++ b/proto/radv/radv.h @@ -129,7 +129,7 @@ struct radv_custom_config { node n; u8 type; /* Identifier of the type of option */ - const struct bytestring *payload; /* Payload of the option */ + const struct adata *payload; /* Payload of the option */ }; /*