diff options
author | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2013-12-05 14:45:03 +0000 |
---|---|---|
committer | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2013-12-05 14:45:03 +0000 |
commit | eb85d08557623ae5d4a932e9b8463b0b8411fff9 (patch) | |
tree | e189f228f977eff7c258ff8eb37cd3ec7cbeeb44 /ui | |
parent | 125a17f8e511efe36d14644715e37b438a87c6e0 (diff) |
Make launching TCP graphs from conversations window work again, by supplying stream and direction when graph is first created
svn path=/trunk/; revision=53797
Diffstat (limited to 'ui')
-rw-r--r-- | ui/gtk/conversations_table.c | 6 | ||||
-rw-r--r-- | ui/gtk/gui_stat_menu.h | 3 | ||||
-rw-r--r-- | ui/gtk/tcp_graph.c | 5 | ||||
-rw-r--r-- | ui/tap-tcp-stream.c | 3 |
4 files changed, 13 insertions, 4 deletions
diff --git a/ui/gtk/conversations_table.c b/ui/gtk/conversations_table.c index 4cb5ef57f6..85dbcc5d23 100644 --- a/ui/gtk/conversations_table.c +++ b/ui/gtk/conversations_table.c @@ -2511,11 +2511,13 @@ graph_cb(GtkWidget *follow_stream_bt, gboolean reverse_direction) /* Invoke the graph */ if (!reverse_direction) { tcp_graph_known_stream_launch(&conv->src_address, conv->src_port, - &conv->dst_address, conv->dst_port); + &conv->dst_address, conv->dst_port, + conv->conv_id); } else { tcp_graph_known_stream_launch(&conv->dst_address, conv->dst_port, - &conv->src_address, conv->src_port); + &conv->src_address, conv->src_port, + conv->conv_id); } } else { diff --git a/ui/gtk/gui_stat_menu.h b/ui/gtk/gui_stat_menu.h index dd817b4cb3..b7c62e1925 100644 --- a/ui/gtk/gui_stat_menu.h +++ b/ui/gtk/gui_stat_menu.h @@ -157,7 +157,8 @@ void gtk_stats_tree_cb(GtkAction *action, gpointer user_data); void tcp_graph_cb(GtkAction *action, gpointer user_data); void tcp_graph_known_stream_launch(address *src_address, guint16 src_port, - address *dst_address, guint16 dst_port); + address *dst_address, guint16 dst_port, + conv_id_t stream); void gtk_rpcprogs_cb(GtkWidget *w, gpointer data); diff --git a/ui/gtk/tcp_graph.c b/ui/gtk/tcp_graph.c index f1120cb41a..1ff7e7fca4 100644 --- a/ui/gtk/tcp_graph.c +++ b/ui/gtk/tcp_graph.c @@ -44,6 +44,7 @@ #include <epan/epan_dissect.h> #include <epan/dissectors/packet-tcp.h> #include <epan/address.h> +#include <epan/conv_id.h> #include "../../globals.h" #include "../../stat_menu.h" @@ -632,7 +633,8 @@ void tcp_graph_cb(GtkAction *action, gpointer user_data _U_) } void tcp_graph_known_stream_launch(address *src_address, guint16 src_port, - address *dst_address, guint16 dst_port) + address *dst_address, guint16 dst_port, + conv_id_t stream) { struct gtk_graph *g; @@ -648,6 +650,7 @@ void tcp_graph_known_stream_launch(address *src_address, guint16 src_port, g->tg.src_port = src_port; COPY_ADDRESS(&g->tg.dst_address, dst_address); g->tg.dst_port = dst_port; + g->tg.stream = stream; /* This graph type is arguably the most useful, so start there */ g->tg.type = GRAPH_TSEQ_TCPTRACE; diff --git a/ui/tap-tcp-stream.c b/ui/tap-tcp-stream.c index 7ca0b4342f..958480884b 100644 --- a/ui/tap-tcp-stream.c +++ b/ui/tap-tcp-stream.c @@ -142,6 +142,9 @@ graph_segment_list_get(capture_file *cf, struct tcp_graph *tg, gboolean stream_k tg->dst_port = current.th_dport; tg->stream = header->th_stream; } + else { + ts.direction = COMPARE_ANY_DIR; + } /* rescan all the packets and pick up all interesting tcp headers. * we only filter for TCP here for speed and do the actual compare |