diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-11-21 18:52:24 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-11-21 18:52:24 +0000 |
commit | 0485b2ec80171e04e71c897e520836f75bdf2d5b (patch) | |
tree | 3786e9a15c3e9a48f3209cf1e203ae44a06fb240 | |
parent | 0879705aa81d6ef1ce8e25eb6c1c94dcda7deb86 (diff) | |
download | wireshark-0485b2ec80171e04e71c897e520836f75bdf2d5b.tar.gz |
Copy over:
Revision 46113 - The previous change means the "len" argument is now being used.
--------------------------------------------------------------------------------
Revision 46111 - Allign the tables for dissection.
From me try to fix the dissection of SONtransferApplicationIdentity_PDU.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8008
--------------------------------------------------------------------------------
Revision 46081 - - In de_bssgp_pdu_in_error() use current_offset isof 0.
- in function de_bssgp_ran_inf_error_rim_cont. Error rim
container doesn't have field rim sequence number. This field exists in the rest
of containers but not in this one. So I have removed this field.
In this function we have field pdu in error and this field is mandatory, not
optional
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8000
svn path=/trunk-1.8/; revision=46114
-rw-r--r-- | epan/dissectors/packet-bssgp.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/epan/dissectors/packet-bssgp.c b/epan/dissectors/packet-bssgp.c index f519e43ce7..2a22ca4dc9 100644 --- a/epan/dissectors/packet-bssgp.c +++ b/epan/dissectors/packet-bssgp.c @@ -20,7 +20,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. */ /* 3GPP TS 48.018 V 6.5.0 (2004-07) Release 6 */ @@ -887,15 +887,13 @@ de_bssgp_flush_action(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g */ static guint16 -de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_) +de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) { tvbuff_t *next_tvb=NULL; guint32 curr_offset; curr_offset = offset; - - if(len > 0){ next_tvb = tvb_new_subset_remaining(tvb, curr_offset); proto_tree_add_text(tree, tvb, curr_offset, len, "LLC Data"); @@ -1011,7 +1009,7 @@ de_bssgp_pdu_in_error(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g curr_offset = offset; /* octet 3-? Erroneous BSSGP PDU */ - proto_tree_add_item(tree, hf_bssgp_msg_type, tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(tree, hf_bssgp_msg_type, tvb, curr_offset, 1, ENC_BIG_ENDIAN); curr_offset++; proto_tree_add_text(tree, tvb, curr_offset, len-1, "PDU Data"); @@ -3174,10 +3172,14 @@ de_bssgp_reliable_inter_rat_ho_inf(tvbuff_t *tvb, proto_tree *tree, packet_info static guint16 de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset _U_, guint len _U_, gchar *add_string _U_, int string_len _U_) { + tvbuff_t *next_tvb; /* SON Transfer Application Identity: This field is encoded as the SON Transfer Application Identity IE * as defined in 3GPP TS 36.413 */ - dissect_s1ap_SONtransferApplicationIdentity_PDU(tvb, gpinfo, tree); + if(len > 0){ + next_tvb = tvb_new_subset(tvb, offset, len, len); + dissect_s1ap_SONtransferApplicationIdentity_PDU(tvb, gpinfo, tree); + } return(len); } @@ -3329,7 +3331,7 @@ const value_string bssgp_elem_strings[] = { { 0x00, "MBMS Response" }, /* 11.3.74 MBMS Response */ { 0x00, "MBMS Routing Area List" }, /* 11.3.75 MBMS Routing Area List */ { 0x00, "MBMS Session Information" }, /* 11.3.76 MBMS Session Information */ - /* ELEM_MAND_TELV(GSM_A_PDU_TYPE_GM, DE_TMGI, */ /* 11.3.77 TMGI (Temporary Mobile Group Identity) */ + { 0x00, "TMGI" }, /* 11.3.77 TMGI (Temporary Mobile Group Identity) */ { 0x00, "MBMS Stop Cause" }, /* 11.3.78 MBMS Stop Cause */ { 0x00, "Source BSS to Target BSS Transparent Container" }, /* 11.3.79 Source BSS to Target BSS Transparent Container */ { 0x00, "Target BSS to Source BSS Transparent Container" }, /* 11.3.80 Target BSS to Source BSS Transparent Container */ @@ -3363,7 +3365,7 @@ const value_string bssgp_elem_strings[] = { { 0x00, "Subscriber Profile ID for RAT/Frequency priority" }, /* 11.3.105 Subscriber Profile ID for RAT/Frequency priority */ { 0x00, "Request for Inter-RAT Handover Info" }, /* 11.3.106 Request for Inter-RAT Handover Info */ { 0x00, "Reliable Inter-RAT Handover Info" }, /* 11.3.107 Reliable Inter-RAT Handover Info */ - { 0x00, "Reliable Inter-RAT Handover Info" }, /* 11.3.108 SON Transfer Application Identity */ + { 0x00, "Son transfer application identity" }, /* 11.3.108 SON Transfer Application Identity */ { 0x00, "CSG Identifier" }, /* 11.3.109 CSG Identifier */ /* 11.3.110 Tracking Area Code */ @@ -3447,8 +3449,8 @@ typedef enum DE_BSSGP_MBMS_RESPONSE, /* 11.3.74 MBMS Response */ DE_BSSGP_MBMS_RA_LIST, /* 11.3.75 MBMS Routing Area List */ DE_BSSGP_MBMS_SESSION_INF, /* 11.3.76 MBMS Session Information */ - DE_BSSGP_TMGI, /* 11.3.77 TMGI (Temporary Mobile Group Identity) GSM_A_PDU_TYPE_GM, DE_TMGI*/ + DE_BSSGP_MBMS_STOP_CAUSE, /* 11.3.78 MBMS Stop Cause */ DE_BSSGP_SOURCE_BSS_TO_TARGET_BSS_TRANSP_CONT, /* 11.3.79 Source BSS to Target BSS Transparent Container */ DE_BSSGP_TARGET_BSS_TO_SOURCE_BSS_TRANSP_CONT, /* 11.3.80 Target BSS to Source BSS Transparent Container */ @@ -3583,8 +3585,8 @@ guint16 (*bssgp_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo de_bssgp_enb_id, /* 11.3.103 eNB Identifier */ de_bssgp_e_utran_inter_rat_ho_info, /* 11.3.104 E-UTRAN Inter RAT Handover Info */ de_bssgp_sub_prof_id_f_rat_freq_prio, /* 11.3.105 Subscriber Profile ID for RAT/Frequency priority */ - de_bssgp_reliable_inter_rat_ho_inf, /* 11.3.107 Reliable Inter-RAT Handover Info */ de_bssgp_req_for_inter_rat_ho_inf, /* 11.3.106 Request for Inter-RAT Handover Info */ + de_bssgp_reliable_inter_rat_ho_inf, /* 11.3.107 Reliable Inter-RAT Handover Info */ de_bssgp_son_transfer_app_id, /* 11.3.108 SON Transfer Application Identity */ de_bssgp_csg_id, /* 11.3.109 CSG Identifier */ @@ -3705,12 +3707,10 @@ de_bssgp_ran_inf_error_rim_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pi ELEM_IN_ELEM_MAND_TELV(BSSGP_IEI_RIM_APP_ID, BSSGP_PDU_TYPE, DE_BSSGP_RIM_APP_ID, NULL); /* RIM Cause Cause/11.3.8 M TLV 3 */ ELEM_IN_ELEM_MAND_TELV(BSSGP_IEI_CAUSE,BSSGP_PDU_TYPE, DE_BSSGP_CAUSE, " - RIM"); - /* RIM Sequence Number RIM Sequence Number /11.3.62 M TLV 6 */ - ELEM_IN_ELEM_MAND_TELV(BSSGP_IEI_RIM_SEQUENCE_NUMBER, BSSGP_PDU_TYPE, DE_BSSGP_RIM_SEQ_NO, NULL); /* RIM Protocol Version Number RIM Protocol Version Number/11.3.67 O TLV 3 */ ELEM_IN_ELEM_OPT_TELV(BSSGP_IEI_RIM_PROTOCOL_VERSION, BSSGP_PDU_TYPE, DE_BSSGP_RIM_PROTO_VER_NO, NULL); /* PDU in Error PDU in Error/11.3.24 M TLV 3-? */ - ELEM_IN_ELEM_OPT_TELV(0x15, BSSGP_PDU_TYPE, DE_BSSGP_PDU_IN_ERROR , NULL); + ELEM_IN_ELEM_MAND_TELV(0x15, BSSGP_PDU_TYPE, DE_BSSGP_PDU_IN_ERROR , NULL); /* SON Transfer Application Identity (note 1) SON Transfer Application Identity/11.3.108 C TLV 3-m */ ELEM_IN_ELEM_OPT_TELV(0x84, BSSGP_PDU_TYPE, DE_BSSGP_SON_TRANSFER_APP_ID, NULL); |