aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-cose.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-cose.c')
-rw-r--r--epan/dissectors/packet-cose.c174
1 files changed, 87 insertions, 87 deletions
diff --git a/epan/dissectors/packet-cose.c b/epan/dissectors/packet-cose.c
index b7680f3fb2..5fafd2c14e 100644
--- a/epan/dissectors/packet-cose.c
+++ b/epan/dissectors/packet-cose.c
@@ -360,7 +360,7 @@ void cose_param_key_free(gpointer ptr) {
* @return True if the pair was dissected (even as opaque CBOR data).
*/
static gboolean dissect_header_pair(dissector_table_t dis_table, cose_header_context_t *ctx, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk_label = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk_label = wscbor_chunk_read(pinfo->pool, tvb, offset);
proto_item *item_label = NULL;
proto_tree *volatile tree_label = NULL;
@@ -372,17 +372,17 @@ static gboolean dissect_header_pair(dissector_table_t dis_table, cose_header_con
switch (chunk_label->type_major) {
case CBOR_TYPE_UINT:
case CBOR_TYPE_NEGINT: {
- gint64 *label = wscbor_require_int64(wmem_packet_scope(), chunk_label);
+ gint64 *label = wscbor_require_int64(pinfo->pool, chunk_label);
item_label = proto_tree_add_cbor_int64(tree, hf_hdr_label_int, pinfo, tvb, chunk_label, label);
if (label) {
key.label = ctx->label =
g_variant_new_int64(*label);
- label_str = wmem_strdup_printf(wmem_packet_scope(), "%" PRId64, *label);
+ label_str = wmem_strdup_printf(pinfo->pool, "%" PRId64, *label);
}
break;
}
case CBOR_TYPE_STRING: {
- const char *label = wscbor_require_tstr(wmem_packet_scope(), chunk_label);
+ const char *label = wscbor_require_tstr(pinfo->pool, chunk_label);
item_label = proto_tree_add_cbor_tstr(tree, hf_hdr_label_tstr, pinfo, tvb, chunk_label);
if (label) {
key.label = ctx->label =
@@ -412,7 +412,7 @@ static gboolean dissect_header_pair(dissector_table_t dis_table, cose_header_con
// Peek into the value as tvb
const gint offset_value = *offset;
- if (!wscbor_skip_next_item(wmem_packet_scope(), tvb, offset)) {
+ if (!wscbor_skip_next_item(pinfo->pool, tvb, offset)) {
return FALSE;
}
tvb_value = tvb_new_subset_length(tvb, offset_value, *offset - offset_value);
@@ -447,14 +447,14 @@ static gboolean dissect_header_pair(dissector_table_t dis_table, cose_header_con
* @param[in,out] offset The data offset.
*/
static void dissect_header_map(dissector_table_t dis_table, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk_hdr_map = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk_hdr_map = wscbor_chunk_read(pinfo->pool, tvb, offset);
wscbor_require_map(chunk_hdr_map);
proto_item *item_hdr_map = proto_tree_get_parent(tree);
wscbor_chunk_mark_errors(pinfo, item_hdr_map, chunk_hdr_map);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, offset, chunk_hdr_map)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, offset, chunk_hdr_map)) {
proto_tree *tree_hdr_map = proto_item_add_subtree(item_hdr_map, ett_hdr_map);
- cose_header_context_t *ctx = wmem_new0(wmem_packet_scope(), cose_header_context_t);
+ cose_header_context_t *ctx = wmem_new0(pinfo->pool, cose_header_context_t);
for (guint64 ix = 0; ix < chunk_hdr_map->head_value; ++ix) {
if (!dissect_header_pair(dis_table, ctx, tvb, pinfo, tree_hdr_map, offset)) {
@@ -465,7 +465,7 @@ static void dissect_header_map(dissector_table_t dis_table, tvbuff_t *tvb, packe
if (ctx->principal) {
g_variant_unref(ctx->principal);
}
- wmem_free(wmem_packet_scope(), ctx);
+ wmem_free(pinfo->pool, ctx);
}
proto_item_set_len(item_hdr_map, *offset - chunk_hdr_map->start);
@@ -492,8 +492,8 @@ static void dissect_msg_tag(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
*/
static void dissect_headers(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
// Protected in bstr
- wscbor_chunk_t *chunk_prot_bstr = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
- tvbuff_t *tvb_prot = wscbor_require_bstr(wmem_packet_scope(), chunk_prot_bstr);
+ wscbor_chunk_t *chunk_prot_bstr = wscbor_chunk_read(pinfo->pool, tvb, offset);
+ tvbuff_t *tvb_prot = wscbor_require_bstr(pinfo->pool, chunk_prot_bstr);
proto_item *item_prot_bstr = proto_tree_add_cbor_bstr(tree, hf_hdr_prot_bstr, pinfo, tvb, chunk_prot_bstr);
if (tvb_prot) {
proto_tree *tree_prot = proto_item_add_subtree(item_prot_bstr, ett_prot_bstr);
@@ -515,25 +515,25 @@ static void dissect_headers(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
/** Common behavior for payload.
*/
static void dissect_payload(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, offset);
if (chunk->type_major == CBOR_TYPE_FLOAT_CTRL) {
proto_tree_add_cbor_ctrl(tree, hf_payload_null, pinfo, tvb, chunk);
}
else {
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_payload_bstr, pinfo, tvb, chunk);
}
}
static void dissect_signature(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_signature, pinfo, tvb, chunk);
}
static void dissect_cose_signature(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk_sig = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk_sig = wscbor_chunk_read(pinfo->pool, tvb, offset);
wscbor_require_array_size(chunk_sig, 3, 3);
proto_item *item_sig = proto_tree_add_cbor_container(tree, hf_cose_signature, pinfo, tvb, chunk_sig);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, offset, chunk_sig)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, offset, chunk_sig)) {
proto_tree *tree_sig = proto_item_add_subtree(item_sig, ett_sig);
dissect_headers(tvb, pinfo, tree_sig, offset);
@@ -542,21 +542,21 @@ static void dissect_cose_signature(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_item_set_len(item_sig, *offset - chunk_sig->start);
}
static void dissect_ciphertext(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, offset);
if (chunk->type_major == CBOR_TYPE_FLOAT_CTRL) {
proto_tree_add_cbor_ctrl(tree, hf_ciphertext_null, pinfo, tvb, chunk);
}
else {
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_ciphertext_bstr, pinfo, tvb, chunk);
}
}
static void dissect_cose_recipient(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset);
static void dissect_cose_recipient_list(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk_list = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk_list = wscbor_chunk_read(pinfo->pool, tvb, offset);
wscbor_require_array(chunk_list);
proto_item *item_list = proto_tree_add_cbor_container(tree, hf_cose_recipient_list, pinfo, tvb, chunk_list);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, offset, chunk_list)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, offset, chunk_list)) {
proto_tree *tree_recip_list = proto_item_add_subtree(item_list, ett_recip_list);
for (guint64 ix = 0; ix < chunk_list->head_value; ++ix) {
@@ -566,10 +566,10 @@ static void dissect_cose_recipient_list(tvbuff_t *tvb, packet_info *pinfo, proto
proto_item_set_len(item_list, *offset - chunk_list->start);
}
static void dissect_cose_recipient(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk_recip = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk_recip = wscbor_chunk_read(pinfo->pool, tvb, offset);
wscbor_require_array_size(chunk_recip, 3, 4);
proto_item *item_recip = proto_tree_add_cbor_container(tree, hf_cose_recipient, pinfo, tvb, chunk_recip);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, offset, chunk_recip)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, offset, chunk_recip)) {
proto_tree *tree_recip = proto_item_add_subtree(item_recip, ett_recip);
dissect_headers(tvb, pinfo, tree_recip, offset);
@@ -582,8 +582,8 @@ static void dissect_cose_recipient(tvbuff_t *tvb, packet_info *pinfo, proto_tree
}
static void dissect_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_tag, pinfo, tvb, chunk);
}
@@ -591,21 +591,21 @@ static void dissect_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gin
static int dissect_cose_sign(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
gint offset = 0;
- wscbor_chunk_t *chunk_msg = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_msg = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_msg, 4, 4);
proto_item *item_msg = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_msg);
proto_item_append_text(item_msg, ": COSE_Sign");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_msg)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_msg)) {
proto_tree *tree_msg = proto_item_add_subtree(item_msg, ett_msg);
dissect_msg_tag(tvb, pinfo, tree_msg, chunk_msg, data);
dissect_headers(tvb, pinfo, tree_msg, &offset);
dissect_payload(tvb, pinfo, tree_msg, &offset);
- wscbor_chunk_t *chunk_sig_list = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_sig_list = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array(chunk_sig_list);
proto_item *item_sig_list = proto_tree_add_cbor_container(tree_msg, hf_cose_signature_list, pinfo, tvb, chunk_sig_list);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_sig_list)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_sig_list)) {
proto_tree *tree_sig_list = proto_item_add_subtree(item_sig_list, ett_sig_list);
for (guint64 ix = 0; ix < chunk_sig_list->head_value; ++ix) {
@@ -620,11 +620,11 @@ static int dissect_cose_sign(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
static int dissect_cose_sign1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
gint offset = 0;
- wscbor_chunk_t *chunk_msg = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_msg = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_msg, 4, 4);
proto_item *item_msg = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_msg);
proto_item_append_text(item_msg, ": COSE_Sign1");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_msg)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_msg)) {
proto_tree *tree_msg = proto_item_add_subtree(item_msg, ett_msg);
dissect_msg_tag(tvb, pinfo, tree_msg, chunk_msg, data);
@@ -638,11 +638,11 @@ static int dissect_cose_sign1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
static int dissect_cose_encrypt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
gint offset = 0;
- wscbor_chunk_t *chunk_msg = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_msg = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_msg, 4, 4);
proto_item *item_msg = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_msg);
proto_item_append_text(item_msg, ": COSE_Encrypt");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_msg)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_msg)) {
proto_tree *tree_msg = proto_item_add_subtree(item_msg, ett_msg);
dissect_msg_tag(tvb, pinfo, tree_msg, chunk_msg, data);
@@ -656,11 +656,11 @@ static int dissect_cose_encrypt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static int dissect_cose_encrypt0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
gint offset = 0;
- wscbor_chunk_t *chunk_msg = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_msg = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_msg, 3, 3);
proto_item *item_msg = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_msg);
proto_item_append_text(item_msg, ": COSE_Encrypt0");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_msg)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_msg)) {
proto_tree *tree_msg = proto_item_add_subtree(item_msg, ett_msg);
dissect_msg_tag(tvb, pinfo, tree_msg, chunk_msg, data);
@@ -673,11 +673,11 @@ static int dissect_cose_encrypt0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
static int dissect_cose_mac(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
gint offset = 0;
- wscbor_chunk_t *chunk_msg = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_msg = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_msg, 5, 5);
proto_item *item_msg = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_msg);
proto_item_append_text(item_msg, ": COSE_Mac");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_msg)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_msg)) {
proto_tree *tree_msg = proto_item_add_subtree(item_msg, ett_msg);
dissect_msg_tag(tvb, pinfo, tree_msg, chunk_msg, data);
@@ -692,11 +692,11 @@ static int dissect_cose_mac(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static int dissect_cose_mac0(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) {
gint offset = 0;
- wscbor_chunk_t *chunk_msg = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_msg = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_msg, 4, 4);
proto_item *item_msg = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_msg);
proto_item_append_text(item_msg, ": COSE_Mac0");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_msg)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_msg)) {
proto_tree *tree_msg = proto_item_add_subtree(item_msg, ett_msg);
dissect_msg_tag(tvb, pinfo, tree_msg, chunk_msg, data);
@@ -714,7 +714,7 @@ static int dissect_cose_msg_tagged(tvbuff_t *tvb, packet_info *pinfo, proto_tree
gint offset = 0;
// All messages have the same base structure, attempt all tags present
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
for (wmem_list_frame_t *it = wmem_list_head(chunk->tags); it;
it = wmem_list_frame_next(it)) {
wscbor_tag_t *tag = (wscbor_tag_t *) wmem_list_frame_data(it);
@@ -737,11 +737,11 @@ static int dissect_cose_msg_tagged(tvbuff_t *tvb, packet_info *pinfo, proto_tree
}
static void dissect_value_alg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset, GVariant **value) {
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, offset);
switch (chunk->type_major) {
case CBOR_TYPE_UINT:
case CBOR_TYPE_NEGINT: {
- gint64 *val = wscbor_require_int64(wmem_packet_scope(), chunk);
+ gint64 *val = wscbor_require_int64(pinfo->pool, chunk);
proto_tree_add_cbor_int64(tree, hf_hdr_alg_int, pinfo, tvb, chunk, val);
if (value && val) {
*value = g_variant_new_int64(*val);
@@ -749,7 +749,7 @@ static void dissect_value_alg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
break;
}
case CBOR_TYPE_STRING: {
- const char *val = wscbor_require_tstr(wmem_packet_scope(), chunk);
+ const char *val = wscbor_require_tstr(pinfo->pool, chunk);
proto_tree_add_cbor_tstr(tree, hf_hdr_alg_tstr, pinfo, tvb, chunk);
if (value && val) {
*value = g_variant_new_string(val);
@@ -764,8 +764,8 @@ static void dissect_value_alg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
static int dissect_header_salt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_hdr_salt, pinfo, tvb, chunk);
return offset;
@@ -803,18 +803,18 @@ static int dissect_header_alg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
static int dissect_header_crit(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk_list = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_list = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array(chunk_list);
proto_item *item_list = proto_tree_add_cbor_container(tree, hf_hdr_crit_list, pinfo, tvb, chunk_list);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_list)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_list)) {
proto_tree *tree_list = proto_item_add_subtree(item_list, ett_hdr_crit_list);
for (guint64 ix = 0; ix < chunk_list->head_value; ++ix) {
- wscbor_chunk_t *chunk_label = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_label = wscbor_chunk_read(pinfo->pool, tvb, &offset);
switch (chunk_label->type_major) {
case CBOR_TYPE_UINT:
case CBOR_TYPE_NEGINT: {
- gint64 *label = wscbor_require_int64(wmem_packet_scope(), chunk_label);
+ gint64 *label = wscbor_require_int64(pinfo->pool, chunk_label);
proto_tree_add_cbor_int64(tree_list, hf_hdr_label_int, pinfo, tvb, chunk_label, label);
break;
}
@@ -835,10 +835,10 @@ static int dissect_header_crit(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
static int dissect_header_ctype(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
switch (chunk->type_major) {
case CBOR_TYPE_UINT: {
- guint64 *val = wscbor_require_uint64(wmem_packet_scope(), chunk);
+ guint64 *val = wscbor_require_uint64(pinfo->pool, chunk);
proto_tree_add_cbor_uint64(tree, hf_hdr_ctype_uint, pinfo, tvb, chunk, val);
break;
}
@@ -856,8 +856,8 @@ static int dissect_header_ctype(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static int dissect_header_kid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_hdr_kid, pinfo, tvb, chunk);
return offset;
@@ -866,8 +866,8 @@ static int dissect_header_kid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
static int dissect_header_iv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_hdr_iv, pinfo, tvb, chunk);
return offset;
@@ -876,20 +876,20 @@ static int dissect_header_iv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
static int dissect_header_piv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_hdr_piv, pinfo, tvb, chunk);
return offset;
}
static void dissect_value_x5cert(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint *offset) {
- wscbor_chunk_t *chunk_item = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
- tvbuff_t *tvb_item = wscbor_require_bstr(wmem_packet_scope(), chunk_item);
+ wscbor_chunk_t *chunk_item = wscbor_chunk_read(pinfo->pool, tvb, offset);
+ tvbuff_t *tvb_item = wscbor_require_bstr(pinfo->pool, chunk_item);
if (tvb_item) {
// disallow column text rewrite
- gchar *info_text = wmem_strdup(wmem_packet_scope(), col_get_text(pinfo->cinfo, COL_INFO));
+ gchar *info_text = wmem_strdup(pinfo->pool, col_get_text(pinfo->cinfo, COL_INFO));
TRY {
dissector_try_string(
@@ -912,11 +912,11 @@ static void dissect_value_cosex509(tvbuff_t *tvb, packet_info *pinfo, proto_tree
proto_item *item_ctr = proto_tree_add_item(tree, hfindex, tvb, 0, -1, ENC_NA);
proto_tree *tree_ctr = proto_item_add_subtree(item_ctr, ett_hdr_x5cert_list);
- wscbor_chunk_t *chunk_ctr = wscbor_chunk_read(wmem_packet_scope(), tvb, offset);
+ wscbor_chunk_t *chunk_ctr = wscbor_chunk_read(pinfo->pool, tvb, offset);
switch (chunk_ctr->type_major) {
case CBOR_TYPE_ARRAY: {
wscbor_require_array(chunk_ctr);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, offset, chunk_ctr)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, offset, chunk_ctr)) {
for (guint64 ix = 0; ix < chunk_ctr->head_value; ++ix) {
dissect_value_x5cert(tvb, pinfo, tree_ctr, offset);
}
@@ -948,16 +948,16 @@ static int dissect_header_x5chain(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static int dissect_header_x5t(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk_list = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_list = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array_size(chunk_list, 2, 2);
proto_item *item_list = proto_tree_add_cbor_container(tree, hf_hdr_x5t, pinfo, tvb, chunk_list);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_list)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_list)) {
proto_tree *tree_list = proto_item_add_subtree(item_list, ett_hdr_x5t_list);
dissect_value_alg(tvb, pinfo, tree_list, &offset, NULL);
- wscbor_chunk_t *chunk_hash = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk_hash);
+ wscbor_chunk_t *chunk_hash = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk_hash);
proto_tree_add_cbor_bstr(tree_list, hf_hdr_x5t_hash, pinfo, tvb, chunk_hash);
}
@@ -968,7 +968,7 @@ static int dissect_header_x5t(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
static int dissect_header_x5u(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_major_type(chunk, CBOR_TYPE_STRING);
proto_tree_add_cbor_tstr(tree, hf_hdr_x5u, pinfo, tvb, chunk);
@@ -989,11 +989,11 @@ static int dissect_cose_key(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static int dissect_cose_key_set(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk_set = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_set = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array(chunk_set);
proto_item *item_set = proto_tree_add_cbor_container(tree, proto_cose, pinfo, tvb, chunk_set);
proto_item_append_text(item_set, ": COSE_KeySet");
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_set)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_set)) {
proto_tree *tree_set = proto_item_add_subtree(item_set, ett_key_set);
for (guint64 ix = 0; ix < chunk_set->head_value; ++ix) {
@@ -1014,11 +1014,11 @@ static int dissect_keyparam_kty(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
cose_header_context_t *ctx = (cose_header_context_t *)data;
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
switch (chunk->type_major) {
case CBOR_TYPE_UINT:
case CBOR_TYPE_NEGINT: {
- gint64 *val = wscbor_require_int64(wmem_packet_scope(), chunk);
+ gint64 *val = wscbor_require_int64(pinfo->pool, chunk);
proto_tree_add_cbor_int64(tree, hf_keyparam_kty_int, pinfo, tvb, chunk, val);
if (val) {
ctx->principal = g_variant_new_int64(*val);
@@ -1026,7 +1026,7 @@ static int dissect_keyparam_kty(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
break;
}
case CBOR_TYPE_STRING: {
- const char *val = wscbor_require_tstr(wmem_packet_scope(), chunk);
+ const char *val = wscbor_require_tstr(pinfo->pool, chunk);
proto_tree_add_cbor_tstr(tree, hf_keyparam_kty_tstr, pinfo, tvb, chunk);
if (val) {
ctx->principal = g_variant_new_string(val);
@@ -1043,18 +1043,18 @@ static int dissect_keyparam_kty(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static int dissect_keyparam_keyops(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk_list = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk_list = wscbor_chunk_read(pinfo->pool, tvb, &offset);
wscbor_require_array(chunk_list);
proto_item *item_list = proto_tree_add_cbor_container(tree, hf_keyparam_keyops_list, pinfo, tvb, chunk_list);
- if (!wscbor_skip_if_errors(wmem_packet_scope(), tvb, &offset, chunk_list)) {
+ if (!wscbor_skip_if_errors(pinfo->pool, tvb, &offset, chunk_list)) {
proto_tree *tree_list = proto_item_add_subtree(item_list, ett_keyops_list);
for (guint64 ix = 0; ix < chunk_list->head_value; ++ix) {
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
switch (chunk->type_major) {
case CBOR_TYPE_UINT:
case CBOR_TYPE_NEGINT: {
- gint64 *val = wscbor_require_int64(wmem_packet_scope(), chunk);
+ gint64 *val = wscbor_require_int64(pinfo->pool, chunk);
proto_tree_add_cbor_int64(tree_list, hf_keyparam_keyops_int, pinfo, tvb, chunk, val);
break;
}
@@ -1075,8 +1075,8 @@ static int dissect_keyparam_keyops(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static int dissect_keyparam_baseiv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_keyparam_baseiv, pinfo, tvb, chunk);
return offset;
@@ -1085,11 +1085,11 @@ static int dissect_keyparam_baseiv(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static int dissect_keyparam_crv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
switch (chunk->type_major) {
case CBOR_TYPE_UINT:
case CBOR_TYPE_NEGINT: {
- gint64 *val = wscbor_require_int64(wmem_packet_scope(), chunk);
+ gint64 *val = wscbor_require_int64(pinfo->pool, chunk);
proto_tree_add_cbor_int64(tree, hf_keyparam_crv_int, pinfo, tvb, chunk, val);
break;
}
@@ -1107,8 +1107,8 @@ static int dissect_keyparam_crv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
static int dissect_keyparam_xcoord(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_keyparam_xcoord, pinfo, tvb, chunk);
return offset;
@@ -1117,7 +1117,7 @@ static int dissect_keyparam_xcoord(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static int dissect_keyparam_ycoord(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
switch (chunk->type_major) {
case CBOR_TYPE_FLOAT_CTRL: {
proto_tree_add_item(tree, hf_keyparam_ycoord, tvb, 0, 0, ENC_NA);
@@ -1137,8 +1137,8 @@ static int dissect_keyparam_ycoord(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static int dissect_keyparam_dcoord(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_keyparam_dcoord, pinfo, tvb, chunk);
return offset;
@@ -1147,8 +1147,8 @@ static int dissect_keyparam_dcoord(tvbuff_t *tvb, packet_info *pinfo, proto_tree
static int dissect_keyparam_k(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
gint offset = 0;
- wscbor_chunk_t *chunk = wscbor_chunk_read(wmem_packet_scope(), tvb, &offset);
- wscbor_require_bstr(wmem_packet_scope(), chunk);
+ wscbor_chunk_t *chunk = wscbor_chunk_read(pinfo->pool, tvb, &offset);
+ wscbor_require_bstr(pinfo->pool, chunk);
proto_tree_add_cbor_bstr(tree, hf_keyparam_k, pinfo, tvb, chunk);
return offset;