summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-11-21 18:52:24 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-11-21 18:52:24 +0000
commit0485b2ec80171e04e71c897e520836f75bdf2d5b (patch)
tree3786e9a15c3e9a48f3209cf1e203ae44a06fb240
parent0879705aa81d6ef1ce8e25eb6c1c94dcda7deb86 (diff)
downloadwireshark-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.c26
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);