please check in
patch to h225 to use conversations to teach ethereal about which ports
it can find h245 traffic on.
sorry for the non binary attachement that is probably mangled by friendly
hotmail.
hotmail has once again decided that i shouldnt have access to the attach
file button.
Any suggestions on what to change the identifier string from konqi to so
that hotmail works better?
best regards
ronnie s
---
--- ethereal-2003-08-04/packet-h225.c 2003-08-01 20:11:54.000000000 +1000
+++ ethereal-new/packet-h225.c 2003-08-04 20:55:33.000000000 +1000
@@ -29,6 +29,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/conversation.h>
#include <stdio.h>
#include <string.h>
@@ -2271,13 +2272,17 @@
static int
dissect_h225_ipAddress_ip(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
{
+ guint32 *ip;
+
/* byte aligned */
if(offset&0x07){
offset=(offset&0xfffffff8)+8;
}
- ipv4_address=tvb_get_letohl(tvb, offset>>3);
- proto_tree_add_ipv4(tree, hf_h225_ipAddress_ip, tvb, offset>>3, 4,
ipv4_address);
-
+ ip=tvb_get_ptr(tvb, offset>>3, 4);
+ if(ip){
+ memcpy(&ipv4_address,ip,4);
+ proto_tree_add_ipv4(tree, hf_h225_ipAddress_ip, tvb, offset>>3, 4,
ipv4_address);
+ }
offset+=32;
return offset;
}
@@ -2524,14 +2529,19 @@
offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_h245Address,
ett_h225_TransportAddress, TransportAddress_choice, "h245Address", NULL);
- if(ipv4_address!=0 && ipv4_port!=0 && h245_handle){
- /* XXX FIXME
- This registers h245 for every tcp session to this port.
- We should really only register h245 for this port and
- only for this specific IP address not for all ip addresses
- */
- dissector_delete("tcp.port", ipv4_port, h245_handle);
- dissector_add("tcp.port", ipv4_port, h245_handle);
+ if((!pinfo->fd->flags.visited) && ipv4_address!=0 && ipv4_port!=0 &&
h245_handle){
+ address src_addr;
+ conversation_t *conv=NULL;
+
+ src_addr.type=AT_IPv4;
+ src_addr.len=4;
+ src_addr.data=&ipv4_address;
+
+ conv=find_conversation(&src_addr, &src_addr, PT_TCP, ipv4_port,
ipv4_port, NO_ADDR_B|NO_PORT_B);
+ if(!conv){
+ conv=conversation_new(&src_addr, &src_addr, PT_TCP, ipv4_port,
ipv4_port, NO_ADDR_B|NO_PORT_B);
+ conversation_set_dissector(conv, h245_handle);
+ }
}
return offset;
}
_________________________________________________________________
ninemsn Extra Storage comes with McAfee Virus Scanning - to keep your
Hotmail account and PC safe. Click here http://join.msn.com/