From 01d7b3205ba7b1f1b3c803f80f95ed429cc473f3 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Mon, 1 Mar 2021 10:10:46 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/wireshark.git#a083e73ae54e8dbc378fbf25cbd4d96d18ff7427 --- wireshark-0009-smc-support.patch | 237 +++++++++++++++++++++++++++++++ wireshark.spec | 5 +- 2 files changed, 241 insertions(+), 1 deletion(-) diff --git a/wireshark-0009-smc-support.patch b/wireshark-0009-smc-support.patch index 84bdca3..8de1d91 100644 --- a/wireshark-0009-smc-support.patch +++ b/wireshark-0009-smc-support.patch @@ -1654,3 +1654,240 @@ index 7096d1b0b0..bbfa9c07ef 100644 } /* +diff --git a/epan/dissectors/packet-smc.c b/epan/dissectors/packet-smc.c +index bbfa9c07ef..0a4e96e055 100644 +--- a/epan/dissectors/packet-smc.c ++++ b/epan/dissectors/packet-smc.c +@@ -592,7 +592,7 @@ disect_smcd_accept(tvbuff_t* tvb, proto_tree* tree) + offset += FLAG_BYTE_LEN; + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcd_accept_peer_name, tvb, offset, 32, ENC_ASCII | ENC_NA); +- offset += 32; ++ /* offset += 32; */ + } + } + } +@@ -661,7 +661,7 @@ disect_smcd_confirm(tvbuff_t* tvb, proto_tree* tree) + offset += FLAG_BYTE_LEN; + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcd_confirm_peer_name, tvb, offset, 32, ENC_ASCII | ENC_NA); +- offset += 32; ++ /* offset += 32; */ + } + } + } +diff --git a/epan/dissectors/packet-smc.c b/epan/dissectors/packet-smc.c +index 0a4e96e055..6ede4690db 100644 +--- a/epan/dissectors/packet-smc.c ++++ b/epan/dissectors/packet-smc.c +@@ -1,3 +1,6 @@ ++ ++ ++ + /* packet-smc.c + * SMC dissector for wireshark + * By Joe Fowler +@@ -191,6 +194,8 @@ static int hf_smc_proposal_outgoing_subnet_mask_signifcant_bits = -1; + static int hf_smc_proposal_ipv6_prefix = -1; + static int hf_smc_proposal_ipv6_prefix_length = -1; + ++static int hf_smc_reserved = -1; ++ + /* SMC-R Accept */ + static int ett_accept_flag = -1; + static int ett_accept_flag2 = -1; +@@ -427,6 +432,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + + if (mask_offset != 0) { + suboffset = offset; ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ suboffset, TWO_BYTE_RESERVED, ENC_NA); + suboffset += TWO_BYTE_RESERVED; + if (is_smcdv1 || is_smcdv2) { + proto_tree_add_item(tree, hf_smc_proposal_ism_gid, tvb, +@@ -439,6 +446,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + LENGTH_BYTE_LEN, ENC_BIG_ENDIAN); + } + suboffset += LENGTH_BYTE_LEN; ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ suboffset, TWO_BYTE_RESERVED, ENC_NA); + v2_ext_offset = tvb_get_ntohs(tvb, suboffset); + v2_ext_pos = suboffset + TWO_BYTE_RESERVED + v2_ext_offset; + } +@@ -451,7 +460,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + proto_tree_add_item(tree, hf_smc_proposal_outgoing_subnet_mask_signifcant_bits, tvb, + offset, 1, ENC_BIG_ENDIAN); + offset += 1; +- /* Bump past reserved bytes */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, TWO_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + ipv6_prefix_count = tvb_get_guint8(tvb, offset); + offset += 1; +@@ -472,7 +482,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + offset += FLAG_BYTE_LEN; + num_of_gids = tvb_get_guint8(tvb, offset); + offset += FLAG_BYTE_LEN; +- /*Skip reserved flag 1*/ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, 1, ENC_NA); + offset += 1; + proposal_flag_item = proto_tree_add_item(tree, hf_smc_proposal_ext_flags, tvb, + offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); +@@ -482,7 +493,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + proto_tree_add_item(proposal_flag_tree, hf_proposal_smc_version_seid, tvb, + offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + offset += FLAG_BYTE_LEN; +- /*Skip not used 2 bytes*/ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, 2, ENC_NA); + offset += 2; + smcd_v2_ext_offset = tvb_get_ntohs(tvb, offset); + offset += 2; +@@ -499,7 +511,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + offset, IPV4_SUBNET_MASK_LEN, ENC_BIG_ENDIAN); + offset += IPV4_SUBNET_MASK_LEN; + } +- /*Skip reserved 16 bytes*/ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, 16, ENC_NA); + offset += 16; + while (num_of_eids != 0) { + proto_tree_add_item(tree, hf_smc_proposal_eid, tvb, +@@ -512,7 +525,8 @@ disect_smc_proposal(tvbuff_t *tvb, proto_tree *tree, bool is_ipv6) + proto_tree_add_item(tree, hf_smc_proposal_system_eid, tvb, + offset, EID_LEN, ENC_ASCII | ENC_NA); + offset += EID_LEN; +- /*Skip reserved 16 bytes*/ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, 16, ENC_NA); + offset += 16; + while (num_of_gids != 0) { + proto_tree_add_item(tree, hf_smc_proposal_ism_gid, tvb, +@@ -580,16 +594,21 @@ disect_smcd_accept(tvbuff_t* tvb, proto_tree* tree) + + proto_tree_add_item(tree, hf_smcd_accept_eid, tvb, offset, 32, ENC_ASCII | ENC_NA); + offset += 32; +- /* Reserved bytes */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, 8, ENC_NA); + offset += 8; + + if (first_contact) { ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += ONE_BYTE_RESERVED; + accept_flag_item = proto_tree_add_item(tree, hf_smcd_accept_fce_flags, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + accept_flag_tree = proto_item_add_subtree(accept_flag_item, ett_smcd_accept_fce_flag); + proto_tree_add_item(accept_flag_tree, hf_accept_os_type, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + proto_tree_add_item(accept_flag_tree, hf_accept_smc_version_release_number, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + offset += FLAG_BYTE_LEN; ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, TWO_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcd_accept_peer_name, tvb, offset, 32, ENC_ASCII | ENC_NA); + /* offset += 32; */ +@@ -637,6 +656,8 @@ disect_smcd_confirm(tvbuff_t* tvb, proto_tree* tree) + confirm_flag2_tree = proto_item_add_subtree(confirm_flag2_item, ett_smcd_confirm_flag2); + proto_tree_add_item(confirm_flag2_tree, hf_smcd_confirm_dmb_buffer_size, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + offset += FLAG_BYTE_LEN; ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcd_confirm_client_link_id, tvb, + offset, ALERT_TOKEN_LEN, ENC_BIG_ENDIAN); +@@ -649,16 +670,21 @@ disect_smcd_confirm(tvbuff_t* tvb, proto_tree* tree) + + proto_tree_add_item(tree, hf_smcd_confirm_eid, tvb, offset, 32, ENC_ASCII | ENC_NA); + offset += 32; +- /* Reserved bytes */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, 8, ENC_NA); + offset += 8; + + if (first_contact) { ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += ONE_BYTE_RESERVED; + confirm_flag_item = proto_tree_add_item(tree, hf_smcd_accept_fce_flags, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + confirm_flag_tree = proto_item_add_subtree(confirm_flag_item, ett_smcd_confirm_fce_flag); + proto_tree_add_item(confirm_flag_tree, hf_confirm_os_type, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + proto_tree_add_item(confirm_flag_tree, hf_confirm_smc_version_release_number, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + offset += FLAG_BYTE_LEN; ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, TWO_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcd_confirm_peer_name, tvb, offset, 32, ENC_ASCII | ENC_NA); + /* offset += 32; */ +@@ -711,12 +737,14 @@ disect_smcr_accept(tvbuff_t *tvb, proto_tree *tree) + proto_tree_add_item(accept_flag2_tree, hf_accept_rmb_buffer_size, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + proto_tree_add_item(accept_flag2_tree, hf_accept_qp_mtu_value, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + offset += FLAG_BYTE_LEN; +- /* Bump past reserved byte */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += ONE_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_accept_server_rmb_virtual_address, tvb, + offset, VIRTUAL_ADDR_LEN, ENC_BIG_ENDIAN); + offset += VIRTUAL_ADDR_LEN; +- /* Bump past reserved byte */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += ONE_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_accept_initial_psn, tvb, + offset, PSN_LEN, ENC_BIG_ENDIAN); +@@ -765,12 +793,14 @@ disect_smcr_confirm(tvbuff_t *tvb, proto_tree *tree) + proto_tree_add_item(confirm_flag2_tree, hf_confirm_rmb_buffer_size, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + proto_tree_add_item(confirm_flag2_tree, hf_confirm_qp_mtu_value, tvb, offset, FLAG_BYTE_LEN, ENC_BIG_ENDIAN); + offset += FLAG_BYTE_LEN; +- /* Bump past reserved byte */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += ONE_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_confirm_client_rmb_virtual_address, tvb, + offset, VIRTUAL_ADDR_LEN, ENC_BIG_ENDIAN); + offset += VIRTUAL_ADDR_LEN; +- /* Bump past reserved byte */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, ONE_BYTE_RESERVED, ENC_NA); + offset += ONE_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_confirm_initial_psn, tvb, + offset, PSN_LEN, ENC_BIG_ENDIAN); +@@ -866,7 +896,8 @@ disect_smcr_add_link(tvbuff_t *tvb, proto_tree *tree) + proto_tree_add_item(tree, hf_smcr_add_link_mac, tvb, + offset, MAC_ADDR_LEN, ENC_NA); + offset += MAC_ADDR_LEN; +- /* Bump past reserved bytes */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, ++ offset, TWO_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_add_link_gid, tvb, + offset, GID_LEN, ENC_NA); +@@ -1084,12 +1115,13 @@ disect_smcr_rmbe_ctrl(tvbuff_t *tvb, proto_tree *tree) + offset += SEQNO_LEN; + proto_tree_add_item(tree, hf_smcr_rmbe_ctrl_alert_token, tvb, offset, ALERT_TOKEN_LEN, ENC_BIG_ENDIAN); + offset += ALERT_TOKEN_LEN; ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, offset, TWO_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_rmbe_ctrl_prod_wrap_seqno, tvb, offset, SEQNO_LEN, ENC_BIG_ENDIAN); + offset += SEQNO_LEN; + proto_tree_add_item(tree, hf_smcr_rmbe_ctrl_peer_prod_curs, tvb, offset, CURSOR_LEN, ENC_BIG_ENDIAN); + offset += CURSOR_LEN; +- /* Bump past reserved bytes */ ++ proto_tree_add_item(tree, hf_smc_reserved, tvb, offset, TWO_BYTE_RESERVED, ENC_NA); + offset += TWO_BYTE_RESERVED; + proto_tree_add_item(tree, hf_smcr_rmbe_ctrl_cons_wrap_seqno, tvb, offset, SEQNO_LEN, ENC_BIG_ENDIAN); + offset += SEQNO_LEN; +@@ -2053,7 +2085,11 @@ proto_register_smcr(void) + + { &hf_smcd_accept_fce_flags, { + "Flags", "smc.accept.fce.flags", +- FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL} } ++ FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL} }, ++ ++ { &hf_smc_reserved, { ++ "Reserved", "smc.reserved", ++ FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL} } + }; + + /* Setup protocol subtree arrays */ diff --git a/wireshark.spec b/wireshark.spec index 7c31c73..145fd8b 100644 --- a/wireshark.spec +++ b/wireshark.spec @@ -8,7 +8,7 @@ Summary: Network traffic analyzer Name: wireshark Version: 3.4.3 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 License: GPL+ Url: http://www.wireshark.org/ @@ -275,6 +275,9 @@ fi %{_libdir}/pkgconfig/%{name}.pc %changelog +* Tue Feb 23 2021 Michal Ruprich - 1:3.4.3-3 +- Adding more commits to make SMC complete + * Mon Feb 22 2021 Michal Ruprich - 1:3.4.3-2 - Adding SMC-R, SMC-D and SMC-D v2