diff options
author | Jörg Mayer <jmayer@loplof.de> | 2006-02-17 11:56:52 +0000 |
---|---|---|
committer | Jörg Mayer <jmayer@loplof.de> | 2006-02-17 11:56:52 +0000 |
commit | 377e6e2e27f77333fe5dad05eb1ca719feb857c6 (patch) | |
tree | d730829698f8957e58e1aa5bd1bc656725373437 /gtk/ssl-dlg.c | |
parent | 9124329ee27b452dfe40827f703bdb3a00b9bb95 (diff) | |
download | wireshark-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.c | 22 |
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); |