aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-netlink-sock_diag.c
diff options
context:
space:
mode:
authorMatthieu Coudron <mattator@gmail.com>2019-06-24 19:31:32 +0900
committerAnders Broman <a.broman58@gmail.com>2019-06-24 13:01:11 +0000
commit58cb604f2c33a24a3f99a8b0d6d9295a6976dc44 (patch)
tree04e5d9bd75a135932d28d670260142978294980c /epan/dissectors/packet-netlink-sock_diag.c
parent8fc02d08e136d2b59399220976aaacefe6b1cd11 (diff)
netlink-sock_diag: delimit more fields
Change-Id: I3627391c6bfe994deb7845cb6215c29b7405c122 Reviewed-on: https://code.wireshark.org/review/33726 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-netlink-sock_diag.c')
-rw-r--r--epan/dissectors/packet-netlink-sock_diag.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/epan/dissectors/packet-netlink-sock_diag.c b/epan/dissectors/packet-netlink-sock_diag.c
index 1c7d94e1dc..21e262adae 100644
--- a/epan/dissectors/packet-netlink-sock_diag.c
+++ b/epan/dissectors/packet-netlink-sock_diag.c
@@ -682,7 +682,18 @@ dissect_sock_diag_inet_sockid(tvbuff_t *tvb, netlink_sock_diag_info_t *info, pro
static header_field_info hfi_netlink_sock_diag_inet_proto NETLINK_SOCK_DIAG_HFI_INIT =
{ "Protocol", "netlink-sock_diag.inet_protocol", FT_UINT8, BASE_DEC | BASE_EXT_STRING,
&ipproto_val_ext, 0x00, NULL, HFILL };
- /* XXX Linux has also IPPROTO_RAW - 255 */
+
+static header_field_info hfi_netlink_sock_diag_inet_extended NETLINK_SOCK_DIAG_HFI_INIT =
+ { "Requested info", "netlink-sock_diag.inet_extended", FT_UINT8, BASE_DEC,
+ NULL, 0x00, NULL, HFILL };
+
+static header_field_info hfi_netlink_sock_diag_inet_padding NETLINK_SOCK_DIAG_HFI_INIT =
+ { "v2 Padding or v1 info", "netlink-sock_diag.inet_padding", FT_UINT8, BASE_DEC,
+ NULL, 0x00, NULL, HFILL };
+
+static header_field_info hfi_netlink_sock_diag_inet_states NETLINK_SOCK_DIAG_HFI_INIT =
+ { "State filter", "netlink-sock_diag.inet_states", FT_UINT32, BASE_DEC,
+ NULL, 0x00, NULL, HFILL };
static int
dissect_sock_diag_inet_reply(tvbuff_t *tvb, netlink_sock_diag_info_t *info, proto_tree *tree, int offset)
@@ -734,12 +745,17 @@ dissect_sock_diag_inet_request(tvbuff_t *tvb, netlink_sock_diag_info_t *info, pr
offset += 1;
/* XXX ext: INET_DIAG_MEMINFO, INET_DIAG_INFO, ... */
+
+ proto_tree_add_item(tree, &hfi_netlink_sock_diag_inet_extended, tvb, offset, 1, ENC_NA);
offset += 1;
+ /* padding for backwards compatibility */
_dissect_padding(tree, tvb, offset, 1);
+ proto_tree_add_item(tree, &hfi_netlink_sock_diag_inet_padding, tvb, offset, 1, ENC_NA);
offset += 1;
/* XXX states (bit of sk_state) */
+ proto_tree_add_item(tree, &hfi_netlink_sock_diag_inet_states, tvb, offset, 4, ENC_NA);
offset += 4;
offset = dissect_sock_diag_inet_sockid(tvb, info, tree, offset, af_family);
@@ -1166,7 +1182,11 @@ proto_register_netlink_sock_diag(void)
/* AF_INET */
&hfi_netlink_sock_diag_inet_proto,
+ &hfi_netlink_sock_diag_inet_extended,
+ &hfi_netlink_sock_diag_inet_padding,
+ &hfi_netlink_sock_diag_inet_states,
&hfi_netlink_sock_diag_inet_attr,
+
/* AF_INET sockid */
&hfi_netlink_sock_diag_inet_sport,
&hfi_netlink_sock_diag_inet_dport,