diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-06-20 20:14:22 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-06-20 20:14:22 +0000 |
commit | 2ab0496a7204c1bb149bd95bdb0644a565ec5270 (patch) | |
tree | ffe63e21c8d8b33b2d6d40bb6c02c448b7b6e885 /gtk | |
parent | 3a6c9ab13448b557586a427bd025bc1ff99ac4cc (diff) | |
download | wireshark-2ab0496a7204c1bb149bd95bdb0644a565ec5270.tar.gz wireshark-2ab0496a7204c1bb149bd95bdb0644a565ec5270.tar.bz2 wireshark-2ab0496a7204c1bb149bd95bdb0644a565ec5270.zip |
From Mike Duigou:
In order to get filtering of conversations and
> endpoints to work from the endpoints and conversations windows I found
> it necessary to add a new AT_URI address type and a SAT_JXTA. This also
> necessitated a change to to_str.c to avoid a buffer overflow problem.
> Please review these changes carefully.
>
> Also includes some changes to the jxta dissector to fix filtering on
> generated fields and some changes to the types used for ints/unsigned ints.
>
> Fixes a bug with the processing of messages containing namespaces.
svn path=/trunk/; revision=14714
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/conversations_jxta.c | 3 | ||||
-rw-r--r-- | gtk/conversations_table.c | 42 | ||||
-rw-r--r-- | gtk/hostlist_jxta.c | 4 | ||||
-rw-r--r-- | gtk/hostlist_table.c | 13 | ||||
-rw-r--r-- | gtk/sat.h | 9 |
5 files changed, 62 insertions, 9 deletions
diff --git a/gtk/conversations_jxta.c b/gtk/conversations_jxta.c index c8835a73b4..cc550aec51 100644 --- a/gtk/conversations_jxta.c +++ b/gtk/conversations_jxta.c @@ -53,7 +53,7 @@ jxta_conversation_packet(void *pct, packet_info *pinfo, epan_dissect_t *edt _U_, 0, 1, jxtahdr->size, - SAT_NONE, + SAT_JXTA, PT_NONE); @@ -93,4 +93,3 @@ register_tap_listener_jxta_conversation(void) register_conversation_table(TRUE, "JXTA", "jxta", NULL /*filter*/, jxta_conversation_packet); } - diff --git a/gtk/conversations_table.c b/gtk/conversations_table.c index 624ebfbdaa..acf82cf01c 100644 --- a/gtk/conversations_table.c +++ b/gtk/conversations_table.c @@ -114,7 +114,10 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "fddi.src"; case SAT_TOKENRING: return "tr.src"; + default: + ; } + break; case AT_IPv4: return "ip.src"; case AT_IPv6: @@ -123,9 +126,18 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "ipx.src"; case AT_FC: return "fc.s_id"; + case AT_URI: + switch(specific_addr_type){ + case SAT_JXTA: + return "jxta.message.src"; + default: + ; + } + break; default: ; } + break; case FN_DST_ADDRESS: switch(addr->type){ case AT_ETHER: @@ -136,7 +148,10 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "fddi.dst"; case SAT_TOKENRING: return "tr.dst"; + default: + ; } + break; case AT_IPv4: return "ip.dst"; case AT_IPv6: @@ -145,9 +160,18 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "ipx.dst"; case AT_FC: return "fc.d_id"; + case AT_URI: + switch(specific_addr_type){ + case SAT_JXTA: + return "jxta.message.dst"; + default: + ; + } + break; default: ; } + break; case FN_ANY_ADDRESS: switch(addr->type){ case AT_ETHER: @@ -158,7 +182,10 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "fddi.addr"; case SAT_TOKENRING: return "tr.addr"; + default: + break; } + break; case AT_IPv4: return "ip.addr"; case AT_IPv6: @@ -167,15 +194,26 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "ipx.addr"; case AT_FC: return "fc.id"; + case AT_URI: + switch(specific_addr_type){ + case SAT_JXTA: + return "jxta.message.address"; + default: + ; + } + break; default: ; } + break; case FN_SRC_PORT: switch(port_type){ case PT_TCP: return "tcp.srcport"; case PT_UDP: return "udp.srcport"; + default: + ; } break; case FN_DST_PORT: @@ -184,6 +222,8 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "tcp.dstport"; case PT_UDP: return "udp.dstport"; + default: + ; } break; case FN_ANY_PORT: @@ -192,6 +232,8 @@ ct_get_filter_name(address *addr, int specific_addr_type, int port_type, int nam return "tcp.port"; case PT_UDP: return "udp.port"; + default: + ; } break; } diff --git a/gtk/hostlist_jxta.c b/gtk/hostlist_jxta.c index dd18b24567..10017a36a4 100644 --- a/gtk/hostlist_jxta.c +++ b/gtk/hostlist_jxta.c @@ -49,8 +49,8 @@ jxta_hostlist_packet(void *pit, packet_info *pinfo _U_, epan_dissect_t *edt _U_, /* Take two "add" passes per packet, adding for each direction, ensures that all packets are counted properly (even if address is sending to itself) XXX - this could probably be done more efficiently inside hostlist_table */ - add_hostlist_table_data(hosts, &jxtahdr->src_address, 0, TRUE, 1, jxtahdr->size, SAT_NONE, PT_NONE); - add_hostlist_table_data(hosts, &jxtahdr->dest_address, 0, FALSE, 1, jxtahdr->size, SAT_NONE, PT_NONE); + add_hostlist_table_data(hosts, &jxtahdr->src_address, 0, TRUE, 1, jxtahdr->size, SAT_JXTA, PT_NONE); + add_hostlist_table_data(hosts, &jxtahdr->dest_address, 0, FALSE, 1, jxtahdr->size, SAT_JXTA, PT_NONE); return 1; } diff --git a/gtk/hostlist_table.c b/gtk/hostlist_table.c index c47f175637..bcc68ee8f7 100644 --- a/gtk/hostlist_table.c +++ b/gtk/hostlist_table.c @@ -86,7 +86,7 @@ hostlist_port_to_str(int port_type, guint32 port) #define FN_ANY_ADDRESS 0 #define FN_ANY_PORT 1 -/* given an address (to distinguis between ipv4 and ipv6 for tcp/udp +/* given an address (to distinguish between ipv4 and ipv6 for tcp/udp a port_type and a name_type (FN_...) return a string for the filter name @@ -108,7 +108,10 @@ hostlist_get_filter_name(address *addr, int specific_addr_type, int port_type, i return "fddi.addr"; case SAT_TOKENRING: return "tr.addr"; + default : + ; } + break; case AT_IPv4: return "ip.addr"; case AT_IPv6: @@ -117,6 +120,14 @@ hostlist_get_filter_name(address *addr, int specific_addr_type, int port_type, i return "ipx.addr"; case AT_FC: return "fc.id"; + case AT_URI: + switch(specific_addr_type){ + case SAT_JXTA: + return "jxta.message.address"; + default: + ; + } + break; default: ; } @@ -1,6 +1,6 @@ /* sat.h * 2003 Ronnie Sahlberg - * Sub-address types for MAC addresses + * Sub-address types for MAC/URI addresses * * $Id$ * @@ -33,9 +33,10 @@ /** Address type */ typedef enum { SAT_NONE, /**< no address type */ - SAT_ETHER, /**< Ethernet */ - SAT_FDDI, /**< FDDI */ - SAT_TOKENRING /**< Token Ring */ + SAT_ETHER, /**< MAC : Ethernet */ + SAT_FDDI, /**< MAC : FDDI */ + SAT_TOKENRING, /**< MAC : Token Ring */ + SAT_JXTA /**< URI : JXTA */ } SAT_E; #endif /* __GTK_SAT_H__ */ |