diff options
-rw-r--r-- | epan/dissectors/packet-megaco.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/epan/dissectors/packet-megaco.c b/epan/dissectors/packet-megaco.c index fedfe80950..91cfac9532 100644 --- a/epan/dissectors/packet-megaco.c +++ b/epan/dissectors/packet-megaco.c @@ -349,7 +349,7 @@ dissect_megaco_text(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) top_tree=tree; /* Initialize variables */ - tvb_len = tvb_length(tvb); + tvb_len = tvb_reported_length(tvb); megaco_tree = NULL; ti = NULL; tvb_offset = 0; @@ -1012,6 +1012,16 @@ nextcontext: } break; + case 'I': + /* "IEPS" */ + tempchar = tvb_get_guint8(tvb, tvb_command_start_offset+1); + if(tempchar == 'E'){ + my_proto_tree_add_string(megaco_tree_command_line, hf_megaco_command, tvb, + tvb_command_start_offset, tokenlen, + "IEPSCall"); + } + cmd_type = GCP_CMD_NONE; + break; case 'N': switch(trx_type) { case GCP_TRX_REQUEST: cmd_type = GCP_CMD_NOTIFY_REQ; break; @@ -1291,6 +1301,8 @@ nextcontext: "WildCard any"); col_append_str(pinfo->cinfo, COL_INFO, "=$"); break; + case 'O': + break; default: /*** TERM ***/ @@ -1421,7 +1433,7 @@ dissect_megaco_descriptors(tvbuff_t *tvb, proto_tree *megaco_tree_command_line, gint tvb_current_offset,tvb_previous_offset,tokenlen; gint tvb_RBRKT, tvb_LBRKT; - tvb_len = tvb_length(tvb); + tvb_len = tvb_reported_length(tvb); tvb_LBRKT = megaco_tvb_skip_wsp(tvb, tvb_descriptors_start_offset +1); @@ -3230,7 +3242,7 @@ static void tvb_raw_text_add(tvbuff_t *tvb, proto_tree *tree){ gint tvb_linebegin,tvb_lineend,tvb_len,linelen; tvb_linebegin = 0; - tvb_len = tvb_length(tvb); + tvb_len = tvb_reported_length(tvb); proto_tree_add_text(tree, tvb, 0, -1,"-------------- (RAW text output) ---------------"); @@ -3258,7 +3270,7 @@ static gint megaco_tvb_skip_wsp(tvbuff_t* tvb, gint offset ){ gint counter = offset; gint end,tvb_len; guint8 tempchar; - tvb_len = tvb_length(tvb); + tvb_len = tvb_reported_length(tvb); end = tvb_len; for(counter = offset; counter < end && |