diff options
author | Anders Broman <anders.broman@ericsson.com> | 2006-02-23 20:03:06 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2006-02-23 20:03:06 +0000 |
commit | a4f86caf80346dbd8753434b9a80ed65dda96350 (patch) | |
tree | 74151a305b845e745cfd8aba460bf1a4ac0e14a2 /asn1 | |
parent | 1fd7fbdb1d7756ee868b3bee131f1a5fe251ed7d (diff) |
From Alejandro Vaquero:
a patch for the VoipCalls to fix a couple of issues:
- a problem with the RTP Events (RFC2833) not been handle correctly
- Display the RTP stream in time order when the setup frame is after the
RTP stream.
- fix a init issue that caused the H245 packet to not been displayed
correctly.
svn path=/trunk/; revision=17384
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/h245/Makefile.nmake | 2 | ||||
-rw-r--r-- | asn1/h245/h245.cnf | 10 | ||||
-rw-r--r-- | asn1/h245/packet-h245-template.c | 5 |
3 files changed, 10 insertions, 7 deletions
diff --git a/asn1/h245/Makefile.nmake b/asn1/h245/Makefile.nmake index 400f472d6c..d4a9d1bac9 100644 --- a/asn1/h245/Makefile.nmake +++ b/asn1/h245/Makefile.nmake @@ -22,7 +22,7 @@ $(DISSECTOR_FILES): ../../tools/asn2eth.py $(PROTOCOL_NAME).asn $(PROTOCOL_NAME) !ENDIF clean: - rm -f parsetab.py $(DISSECTOR_FILES) + rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES) # Fix EOL in generated dissectors. Cygwin's python generates files with # mixed EOL styles, which can't be commited to the SVN repository. diff --git a/asn1/h245/h245.cnf b/asn1/h245/h245.cnf index 48ece0c3e6..78b75c9fde 100644 --- a/asn1/h245/h245.cnf +++ b/asn1/h245/h245.cnf @@ -279,7 +279,7 @@ OpenLogicalChannel else g_snprintf(h245_pi->frame_label, 50, "%%s ", val_to_str(value, h245_RequestMessage_short_vals, "UKN")); - g_snprintf(h245_pi->comment, 50, "%%s %%s ", h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>")); + g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50); /* if it is OLC or RM*/ if ((codec_type != NULL) && (( value == 3) || ( value == 8))) @@ -307,7 +307,8 @@ OpenLogicalChannel /* Add to packet info */ g_snprintf(h245_pi->frame_label, 50, "%%s %%s ", h245_pi->frame_label, val_to_str(value, h245_ResponseMessage_short_vals, "UKN")); - g_snprintf(h245_pi->comment, 50, "%%s %%s ", h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>")); + g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50); + #.END #---------------------------------------------------------------------------------------- #.FN_BODY IndicationMessage VAL_PTR = &value @@ -330,7 +331,8 @@ OpenLogicalChannel col_set_fence(pinfo->cinfo,COL_INFO); /* Add to packet info */ g_snprintf(h245_pi->frame_label, 50, "%%s %%s ", h245_pi->frame_label, val_to_str(value, h245_IndicationMessage_short_vals, "UKN")); - g_snprintf(h245_pi->comment, 50, "%%s %%s ", h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>")); + g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50); + #.END #---------------------------------------------------------------------------------------- #.FN_BODY CommandMessage VAL_PTR = &value @@ -353,7 +355,7 @@ OpenLogicalChannel col_set_fence(pinfo->cinfo,COL_INFO); /* Add to packet info */ g_snprintf(h245_pi->frame_label, 50, "%%s %%s ", h245_pi->frame_label, val_to_str(value, h245_CommandMessage_short_vals, "UKN")); - g_snprintf(h245_pi->comment, 50, "%%s %%s ", h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>")); + g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50); #.END #---------------------------------------------------------------------------------------- diff --git a/asn1/h245/packet-h245-template.c b/asn1/h245/packet-h245-template.c index fe3b01e1d9..2275e0f4da 100644 --- a/asn1/h245/packet-h245-template.c +++ b/asn1/h245/packet-h245-template.c @@ -72,7 +72,7 @@ static dissector_handle_t MultimediaSystemControlMessage_handle; static dissector_handle_t h263_handle = NULL; static dissector_handle_t amr_handle = NULL; -static void reset_h245_packet_info(h245_packet_info *pi); +static void init_h245_packet_info(h245_packet_info *pi); static int hf_h245_pdu_type = -1; static int hf_h245Manufacturer = -1; static int h245_tap = -1; @@ -316,6 +316,7 @@ dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) while ( tvb_length_remaining( tvb, offset>>3 )>0 ){ CLEANUP_PUSH(reset_h245_pi, NULL); h245_pi=ep_alloc(sizeof(h245_packet_info)); + init_h245_packet_info(h245_pi); offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, pinfo ,tr, hf_h245_pdu_type); tap_queue_packet(h245dg_tap, pinfo, h245_pi); offset = (offset+0x07) & 0xfffffff8; @@ -420,7 +421,7 @@ void proto_reg_handoff_h245(void) { h223_lc_init(); } -static void reset_h245_packet_info(h245_packet_info *pi) +static void init_h245_packet_info(h245_packet_info *pi) { if(pi == NULL) { return; |