diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-09-27 08:07:01 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-09-27 08:07:01 +0000 |
commit | 14a8da0e0755d2512d226d3db71c5188a7430766 (patch) | |
tree | 0cb33f6837441d25b8de593a61aab9fe7150f775 | |
parent | 2e1e68c30c7f91def6908b240e8ab8ac4397a695 (diff) | |
download | wireshark-14a8da0e0755d2512d226d3db71c5188a7430766.tar.gz |
Copy over:
Revision 45004 - From LI Hai via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7736 :
Fix dissection error of D-RELEASE and D-CONNECT in TETRA dissector
Revision 44928 - Add packet-interlink to CMake build to maintain parity with automake as of revision 44927.
Revision 44927 - Complete process of moving packet-interlink to a built-in dissector:
- Add packet-interlink.c to Makefile.common
(Not included in SVN #37610-37612);
See: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6005
svn path=/trunk-1.8/; revision=45167
-rw-r--r-- | asn1/tetra/tetra.asn | 4 | ||||
-rw-r--r-- | asn1/tetra/tetra.cnf | 5 | ||||
-rw-r--r-- | epan/CMakeLists.txt | 1 | ||||
-rw-r--r-- | epan/dissectors/Makefile.common | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-interlink.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-tetra.c | 65 |
6 files changed, 34 insertions, 46 deletions
diff --git a/asn1/tetra/tetra.asn b/asn1/tetra/tetra.asn index ad0ba74a75..e64e0b7f4e 100644 --- a/asn1/tetra/tetra.asn +++ b/asn1/tetra/tetra.asn @@ -1,5 +1,5 @@ -- TETRA packet dissection --- Copyright (c) 2007 - 2011 Professional Mobile Communication Research Group, +-- Copyright (c) 2007 - 2012 Professional Mobile Communication Research Group, -- Beijing Institute of Technology, China -- @@ -2139,7 +2139,7 @@ D-CONNECT::= optional-elements CHOICE{ no-type2 NULL, type2-parameters SEQUENCE { - call-priority CHOICE{none NULL, call-priority INTEGER (0..31)}, + call-priority CHOICE{none NULL, call-priority INTEGER (0..15)}, basic-service-information CHOICE{none NULL, basic-service-information Basic-service-information}, temporary-address CHOICE { none NULL, temporary-address Calling-party-address-type}, notification-indicator CHOICE { none NULL, notification-indicator INTEGER (0..63)}, diff --git a/asn1/tetra/tetra.cnf b/asn1/tetra/tetra.cnf index 2d148fdef2..c40d9fb4c2 100644 --- a/asn1/tetra/tetra.cnf +++ b/asn1/tetra/tetra.cnf @@ -115,11 +115,6 @@ BNCH col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CONNECT"); #.END -#.FN_BODY D-RELEASE -%(DEFAULT_BODY)s - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE"); -#.END - #.FN_BODY D-CONNECT-ACK %(DEFAULT_BODY)s col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CONNECT-ACK"); diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt index b565ac6b63..dec685d4a0 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -731,6 +731,7 @@ set(DISSECTOR_SRC dissectors/packet-imf.c dissectors/packet-infiniband.c dissectors/packet-infiniband_sdp.c + dissectors/packet-interlink.c dissectors/packet-ip.c dissectors/packet-ipars.c dissectors/packet-ipdc.c diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common index 23e110b4aa..377cd983d2 100644 --- a/epan/dissectors/Makefile.common +++ b/epan/dissectors/Makefile.common @@ -652,6 +652,7 @@ DISSECTOR_SRC = \ packet-imf.c \ packet-infiniband.c \ packet-infiniband_sdp.c \ + packet-interlink.c \ packet-ip.c \ packet-ipars.c \ packet-ipdc.c \ diff --git a/epan/dissectors/packet-interlink.c b/epan/dissectors/packet-interlink.c index 5437379d80..6e3471c4cf 100644 --- a/epan/dissectors/packet-interlink.c +++ b/epan/dissectors/packet-interlink.c @@ -21,7 +21,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifdef HAVE_CONFIG_H @@ -168,7 +168,7 @@ dissect_interlink(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) static gboolean -dissect_interlink_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +dissect_interlink_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { if (!tvb_bytes_exist(tvb, 0, 4)) { return FALSE; diff --git a/epan/dissectors/packet-tetra.c b/epan/dissectors/packet-tetra.c index 338e34c923..03667192f2 100644 --- a/epan/dissectors/packet-tetra.c +++ b/epan/dissectors/packet-tetra.c @@ -632,7 +632,6 @@ static int hf_tetra_call_ownership = -1; /* INTEGER_0_1 */ static int hf_tetra_optional_elements_19 = -1; /* T_optional_elements_19 */ static int hf_tetra_type2_parameters_15 = -1; /* T_type2_parameters_15 */ static int hf_tetra_call_priority_01 = -1; /* T_call_priority */ -static int hf_tetra_call_priority_02 = -1; /* INTEGER_0_31 */ static int hf_tetra_basic_service_information_04 = -1; /* T_basic_service_information_03 */ static int hf_tetra_temporary_address = -1; /* T_temporary_address */ static int hf_tetra_temporary_address_01 = -1; /* Calling_party_address_type */ @@ -2548,7 +2547,7 @@ static const per_sequence_t U_MM_STATUS_sequence[] = { static int dissect_tetra_U_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 238 "../../asn1/tetra/tetra.cnf" +#line 233 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_MM_STATUS, U_MM_STATUS_sequence); @@ -2775,7 +2774,7 @@ static const per_sequence_t U_ATTACH_DETACH_GROUP_IDENTITY_sequence[] = { static int dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 248 "../../asn1/tetra/tetra.cnf" +#line 243 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY, U_ATTACH_DETACH_GROUP_IDENTITY_sequence); @@ -2870,7 +2869,7 @@ static const per_sequence_t U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence[] = { static int dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 253 "../../asn1/tetra/tetra.cnf" +#line 248 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK, U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence); @@ -3162,7 +3161,7 @@ static const per_sequence_t U_ALERT_sequence[] = { static int dissect_tetra_U_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 187 "../../asn1/tetra/tetra.cnf" +#line 182 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_ALERT, U_ALERT_sequence); @@ -3280,7 +3279,7 @@ static const per_sequence_t U_CONNECT_sequence[] = { static int dissect_tetra_U_CONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 192 "../../asn1/tetra/tetra.cnf" +#line 187 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_CONNECT, U_CONNECT_sequence); @@ -3368,7 +3367,7 @@ static const per_sequence_t U_DISCONNECT_sequence[] = { static int dissect_tetra_U_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 197 "../../asn1/tetra/tetra.cnf" +#line 192 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_DISCONNECT, U_DISCONNECT_sequence); @@ -3577,7 +3576,7 @@ static const per_sequence_t U_SETUP_sequence[] = { static int dissect_tetra_U_SETUP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 207 "../../asn1/tetra/tetra.cnf" +#line 202 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_SETUP, U_SETUP_sequence); @@ -3633,7 +3632,7 @@ static const per_sequence_t U_STATUS_sequence[] = { static int dissect_tetra_U_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 212 "../../asn1/tetra/tetra.cnf" +#line 207 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_STATUS, U_STATUS_sequence); @@ -3710,7 +3709,7 @@ static const per_sequence_t U_TX_CEASED_sequence[] = { static int dissect_tetra_U_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 232 "../../asn1/tetra/tetra.cnf" +#line 227 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_TX_CEASED, U_TX_CEASED_sequence); @@ -3790,7 +3789,7 @@ static const per_sequence_t U_TX_DEMAND_sequence[] = { static int dissect_tetra_U_TX_DEMAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 227 "../../asn1/tetra/tetra.cnf" +#line 222 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_TX_DEMAND, U_TX_DEMAND_sequence); @@ -3879,7 +3878,7 @@ static const per_sequence_t U_CALL_RESTORE_sequence[] = { static int dissect_tetra_U_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 222 "../../asn1/tetra/tetra.cnf" +#line 217 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_CALL_RESTORE, U_CALL_RESTORE_sequence); @@ -3971,7 +3970,7 @@ static const per_sequence_t U_SDS_DATA_sequence[] = { static int dissect_tetra_U_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 217 "../../asn1/tetra/tetra.cnf" +#line 212 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_U_SDS_DATA, U_SDS_DATA_sequence); @@ -5974,7 +5973,7 @@ static const per_sequence_t D_LOCATION_UPDATE_REJECT_sequence[] = { static int dissect_tetra_D_LOCATION_UPDATE_REJECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 258 "../../asn1/tetra/tetra.cnf" +#line 253 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_LOCATION_UPDATE_REJECT, D_LOCATION_UPDATE_REJECT_sequence); @@ -6193,7 +6192,7 @@ static const per_sequence_t D_ATTACH_DETACH_GROUP_IDENTITY_sequence[] = { static int dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 263 "../../asn1/tetra/tetra.cnf" +#line 258 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY, D_ATTACH_DETACH_GROUP_IDENTITY_sequence); @@ -6288,7 +6287,7 @@ static const per_sequence_t D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence[] = { static int dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 268 "../../asn1/tetra/tetra.cnf" +#line 263 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK, D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence); @@ -6306,7 +6305,7 @@ static const per_sequence_t D_MM_STATUS_sequence[] = { static int dissect_tetra_D_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 243 "../../asn1/tetra/tetra.cnf" +#line 238 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_MM_STATUS, D_MM_STATUS_sequence); @@ -6499,7 +6498,7 @@ static const per_sequence_t D_ALERT_sequence[] = { static int dissect_tetra_D_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 139 "../../asn1/tetra/tetra.cnf" +#line 134 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_ALERT, D_ALERT_sequence); @@ -6683,7 +6682,7 @@ static const value_string tetra_T_call_priority_vals[] = { static const per_choice_t T_call_priority_choice[] = { { 0, &hf_tetra_none , ASN1_NO_EXTENSIONS , dissect_tetra_NULL }, - { 1, &hf_tetra_call_priority_02, ASN1_NO_EXTENSIONS , dissect_tetra_INTEGER_0_31 }, + { 1, &hf_tetra_call_priority , ASN1_NO_EXTENSIONS , dissect_tetra_INTEGER_0_15 }, { 0, NULL, 0, NULL } }; @@ -6942,7 +6941,7 @@ static const per_sequence_t D_CONNECT_ACK_sequence[] = { static int dissect_tetra_D_CONNECT_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 124 "../../asn1/tetra/tetra.cnf" +#line 119 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_CONNECT_ACK, D_CONNECT_ACK_sequence); @@ -6961,7 +6960,7 @@ static const per_sequence_t D_DISCONNECT_sequence[] = { static int dissect_tetra_D_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 134 "../../asn1/tetra/tetra.cnf" +#line 129 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_DISCONNECT, D_DISCONNECT_sequence); @@ -6981,7 +6980,7 @@ static const per_sequence_t D_INFO_sequence[] = { static int dissect_tetra_D_INFO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 129 "../../asn1/tetra/tetra.cnf" +#line 124 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_INFO, D_INFO_sequence); @@ -7087,10 +7086,6 @@ dissect_tetra_D_RELEASE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, ett_tetra_D_RELEASE, D_RELEASE_sequence); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_tetra_D_RELEASE, D_RELEASE_sequence); - - col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE"); return offset; @@ -7287,7 +7282,7 @@ static const per_sequence_t D_STATUS_sequence[] = { static int dissect_tetra_D_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 150 "../../asn1/tetra/tetra.cnf" +#line 145 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_STATUS, D_STATUS_sequence); @@ -7388,7 +7383,7 @@ static const per_sequence_t D_TX_CEASED_sequence[] = { static int dissect_tetra_D_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 144 "../../asn1/tetra/tetra.cnf" +#line 139 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_TX_CEASED, D_TX_CEASED_sequence); @@ -7408,7 +7403,7 @@ static const per_sequence_t D_TX_CONTINUE_sequence[] = { static int dissect_tetra_D_TX_CONTINUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 155 "../../asn1/tetra/tetra.cnf" +#line 150 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_TX_CONTINUE, D_TX_CONTINUE_sequence); @@ -7430,7 +7425,7 @@ static const per_sequence_t D_TX_GRANTED_sequence[] = { static int dissect_tetra_D_TX_GRANTED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 160 "../../asn1/tetra/tetra.cnf" +#line 155 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_TX_GRANTED, D_TX_GRANTED_sequence); @@ -7450,7 +7445,7 @@ static const per_sequence_t D_TX_WAIT_sequence[] = { static int dissect_tetra_D_TX_WAIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 166 "../../asn1/tetra/tetra.cnf" +#line 161 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_TX_WAIT, D_TX_WAIT_sequence); @@ -7680,7 +7675,7 @@ static const per_sequence_t D_CALL_RESTORE_sequence[] = { static int dissect_tetra_D_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 171 "../../asn1/tetra/tetra.cnf" +#line 166 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_CALL_RESTORE, D_CALL_RESTORE_sequence); @@ -7761,7 +7756,7 @@ static const per_sequence_t D_SDS_DATA_sequence[] = { static int dissect_tetra_D_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 176 "../../asn1/tetra/tetra.cnf" +#line 171 "../../asn1/tetra/tetra.cnf" offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_tetra_D_SDS_DATA, D_SDS_DATA_sequence); @@ -11280,10 +11275,6 @@ void proto_register_tetra (void) { "call-priority", "tetra.call_priority", FT_UINT32, BASE_DEC, VALS(tetra_T_call_priority_vals), 0, NULL, HFILL }}, - { &hf_tetra_call_priority_02, - { "call-priority", "tetra.call_priority", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_31", HFILL }}, { &hf_tetra_basic_service_information_04, { "basic-service-information", "tetra.basic_service_information", FT_UINT32, BASE_DEC, VALS(tetra_T_basic_service_information_03_vals), 0, |