aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/ssl-dlg.c
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2006-02-17 11:56:52 +0000
committerJörg Mayer <jmayer@loplof.de>2006-02-17 11:56:52 +0000
commit377e6e2e27f77333fe5dad05eb1ca719feb857c6 (patch)
treed730829698f8957e58e1aa5bd1bc656725373437 /gtk/ssl-dlg.c
parent9124329ee27b452dfe40827f703bdb3a00b9bb95 (diff)
downloadwireshark-377e6e2e27f77333fe5dad05eb1ca719feb857c6.tar.gz
wireshark-377e6e2e27f77333fe5dad05eb1ca719feb857c6.tar.bz2
wireshark-377e6e2e27f77333fe5dad05eb1ca719feb857c6.zip
Paolo Abeni:
pinfo->net_src and pinfo->net_dst where used to set up conversation, but this fields are null on eap stream. use pinfo->src and pinfo->dst instead. The patch also enable strict checking in the 'follow ssl stream' dialog. svn path=/trunk/; revision=17333
Diffstat (limited to 'gtk/ssl-dlg.c')
-rw-r--r--gtk/ssl-dlg.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/gtk/ssl-dlg.c b/gtk/ssl-dlg.c
index 27ee48905a..014a04f1ed 100644
--- a/gtk/ssl-dlg.c
+++ b/gtk/ssl-dlg.c
@@ -171,6 +171,10 @@ ssl_queue_packet_data(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_
return 0;
}
+extern int
+packet_is_ssl(epan_dissect_t* edt);
+
+
/* Follow the SSL stream, if any, to which the last packet that we called
a dissection routine on belongs (this might be the most recently
selected packet, or it might be the last packet in the file). */
@@ -193,19 +197,25 @@ ssl_stream_cb(GtkWidget * w, gpointer data _U_)
GString* msg;
/* we got ssl so we can follow */
- if (cfile.edt->pi.ipproto != 6) {
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- "Error following stream. Please make\n"
- "sure you have an SSL packet selected.");
- return;
+ if (!packet_is_ssl(cfile.edt)) {
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
+ "Error following stream. Please make\n"
+ "sure you have an SSL packet selected.");
+ return;
}
follow_info = g_new0(follow_info_t, 1);
-
/* Create a new filter that matches all packets in the SSL stream,
and set the display filter entry accordingly */
reset_tcp_reassembly();
follow_filter = build_follow_filter(&cfile.edt->pi);
+ if (!follow_filter)
+ {
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
+ "Error creating filter for this stream.\n"
+ "A network layer header is needed");
+ return;
+ }
/* Set the display filter entry accordingly */
filter_te = OBJECT_GET_DATA(w, E_DFILTER_TE_KEY);