aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/endpoint_talkers_udpip.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2003-08-23 13:56:40 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2003-08-23 13:56:40 +0000
commitcb92d3284b02b4a251ba0f4cd426012c16a72a8b (patch)
treed7a1eb6658c61aed85df57f220a8456e71cea71a /gtk/endpoint_talkers_udpip.c
parent5cf0634041d08d1789f37cda8a1e991086ee2253 (diff)
downloadwireshark-cb92d3284b02b4a251ba0f4cd426012c16a72a8b.tar.gz
wireshark-cb92d3284b02b4a251ba0f4cd426012c16a72a8b.tar.bz2
wireshark-cb92d3284b02b4a251ba0f4cd426012c16a72a8b.zip
Update the UDP and the TCP conversation list tool so that it can handle IPv6 as well.
Make no distinction between UDP/TCP over IPv4 and UDP/TCP over IPv6 and present them in the same list. svn path=/trunk/; revision=8224
Diffstat (limited to 'gtk/endpoint_talkers_udpip.c')
-rw-r--r--gtk/endpoint_talkers_udpip.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/gtk/endpoint_talkers_udpip.c b/gtk/endpoint_talkers_udpip.c
index 9fa3b85b0b..794207bf89 100644
--- a/gtk/endpoint_talkers_udpip.c
+++ b/gtk/endpoint_talkers_udpip.c
@@ -1,9 +1,7 @@
-/* should be trivial to extend to handle ipv6 as well. currently only support
-for ipv4*/
/* endpoint_talkers_udpip.c
* endpoint_talkers_udpip 2003 Ronnie Sahlberg
*
- * $Id: endpoint_talkers_udpip.c,v 1.1 2003/08/23 09:09:35 sahlberg Exp $
+ * $Id: endpoint_talkers_udpip.c,v 1.2 2003/08/23 13:56:40 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -73,21 +71,17 @@ win_destroy_cb(GtkWindow *win _U_, gpointer data)
static char *
udpip_address_to_str(address *addr)
{
- static int i=0;
- static char *strp, str[4][256];
-
- i++;
- if(i>=4){
- i=0;
- }
- strp=str[i];
+ char *strp=NULL;
switch(addr->type){
case AT_IPv4:
- sprintf(strp, "%d.%d.%d.%d", addr->data[0], addr->data[1], addr->data[2], addr->data[3]);
+ strp=ip_to_str(addr->data);
+ break;
+ case AT_IPv6:
+ strp=ip6_to_str(addr->data);
break;
default:
- fprintf(stderr, "Unsupported transport for TCP in the TCP talkers tap.\n");
+ fprintf(stderr, "Unsupported transport for UDP in the UDP talkers tap.\n");
}
return strp;
@@ -151,8 +145,8 @@ gtk_udpip_talkers_init(char *optarg)
GString *error_string;
- if(!strncmp(optarg,"talkers,udpip,",14)){
- filter=optarg+14;
+ if(!strncmp(optarg,"talkers,udp,",12)){
+ filter=optarg+12;
} else {
filter=NULL;
}
@@ -161,7 +155,7 @@ gtk_udpip_talkers_init(char *optarg)
udpip_talkers->win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(udpip_talkers->win), 750, 400);
- gtk_window_set_title(GTK_WINDOW(udpip_talkers->win), "UDP/IP Talkers");
+ gtk_window_set_title(GTK_WINDOW(udpip_talkers->win), "UDP Talkers");
SIGNAL_CONNECT(udpip_talkers->win, "destroy", win_destroy_cb, udpip_talkers);
@@ -170,7 +164,7 @@ gtk_udpip_talkers_init(char *optarg)
gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
gtk_widget_show(vbox);
- label=gtk_label_new("UDP/IP Talkers");
+ label=gtk_label_new("UDP Talkers");
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
gtk_widget_show(label);
@@ -195,14 +189,14 @@ gtk_udpip_talkers_init(char *optarg)
static void
gtk_udpip_endpoints_cb(GtkWidget *w _U_, gpointer d _U_)
{
- gtk_udpip_talkers_init("talkers,udpip");
+ gtk_udpip_talkers_init("talkers,udp");
}
void
register_tap_menu_udpip_talkers(void)
{
- register_tap_menu_item("Endpoint Talkers/UDPIP", gtk_udpip_endpoints_cb);
+ register_tap_menu_item("Endpoint Talkers/UDP (IPv4 IPv6)", gtk_udpip_endpoints_cb);
}
@@ -211,6 +205,6 @@ register_tap_menu_udpip_talkers(void)
void
register_tap_listener_udpip_talkers(void)
{
- register_ethereal_tap("talkers,udpip", gtk_udpip_talkers_init);
+ register_ethereal_tap("talkers,udp", gtk_udpip_talkers_init);
}