Few bugfixes and enhancements

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This commit is contained in:
Peter Lemenkov 2013-12-08 13:25:19 +04:00
parent 65d033ba77
commit 61af307f0c
7 changed files with 444 additions and 101 deletions

View File

@ -7,7 +7,7 @@ was not installed:
libwireshark.so: cannot open shared object file: No such file or directory libwireshark.so: cannot open shared object file: No such file or directory
diff --git a/epan/wspython/wspy_libws.py b/epan/wspython/wspy_libws.py diff --git a/epan/wspython/wspy_libws.py b/epan/wspython/wspy_libws.py
index a293a17..73ce012 100755 index a293a17..0c528e4 100755
--- a/epan/wspython/wspy_libws.py --- a/epan/wspython/wspy_libws.py
+++ b/epan/wspython/wspy_libws.py +++ b/epan/wspython/wspy_libws.py
@@ -35,7 +35,7 @@ def get_libws_libname(): @@ -35,7 +35,7 @@ def get_libws_libname():
@ -15,7 +15,7 @@ index a293a17..73ce012 100755
return 'libwireshark.dll' return 'libwireshark.dll'
else: else:
- return 'libwireshark.so' - return 'libwireshark.so'
+ return 'libwireshark.so.2' + return 'libwireshark.so.3'
def get_libws_handle(): def get_libws_handle():
global __libwireshark global __libwireshark

View File

@ -1,7 +1,8 @@
From: Evan Huus <eapache@gmail.com> From: Evan Huus <eapache@gmail.com>
Date: Sun, 18 Aug 2013 19:49:08 +0000 Date: Sun, 18 Aug 2013 19:49:08 +0000
Subject: [PATCH] From Peter Lemenkov via Subject: [PATCH] Dissector for the Sippy RTPproxy controlling protocol
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8326
From Peter Lemenkov via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8326
Dissector for the Sippy RTPproxy controlling protocol. RTPproxy is a well-known Dissector for the Sippy RTPproxy controlling protocol. RTPproxy is a well-known
(among SIP-engineers) application and it operates using its own simple (among SIP-engineers) application and it operates using its own simple
@ -129,6 +130,30 @@ Reinitialize counter between loops to avoid an out of bound access found with fu
svn path=/trunk/; revision=53612 svn path=/trunk/; revision=53612
RTPproxy dissector: Add expert info about timeouts. Bug 9484 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9484)
From Peter Lemenkov
svn path=/trunk/; revision=53622
From Peter Lemenkov via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9487 :
Use RTP payload descriptions from RTP dissector in RTPproxy codec param value
svn path=/trunk/; revision=53658
From Peter Lemenkov via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9490 :
Couple packets in RTPproxy dissector not only with CookieID but also with Call-IDs
svn path=/trunk/; revision=53673
Fix Coverity CID 1134045: Printf format string issue. (As documented in the printf man page for the ' option, "Note that many versions of gcc(1) cannot parse this option and will issue a warning." (r47940 reverted a similar change, so this keeps things consistent.)
svn path=/trunk/; revision=53705
Clean up indentation.
svn path=/trunk/; revision=53742
diff --git a/AUTHORS b/AUTHORS diff --git a/AUTHORS b/AUTHORS
index 10782b0..e7b3c18 100644 index 10782b0..e7b3c18 100644
--- a/AUTHORS --- a/AUTHORS
@ -167,10 +192,10 @@ index 937f522..73217d7 100644
packet-rudp.c \ packet-rudp.c \
diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c
new file mode 100644 new file mode 100644
index 0000000..831448b index 0000000..1a80ee7
--- /dev/null --- /dev/null
+++ b/epan/dissectors/packet-rtpproxy.c +++ b/epan/dissectors/packet-rtpproxy.c
@@ -0,0 +1,1350 @@ @@ -0,0 +1,1387 @@
+/* packet-rtpproxy.c +/* packet-rtpproxy.c
+ * RTPproxy command protocol dissector + * RTPproxy command protocol dissector
+ * Copyright 2013, Peter Lemenkov <lemenkov@gmail.com> + * Copyright 2013, Peter Lemenkov <lemenkov@gmail.com>
@ -210,6 +235,8 @@ index 0000000..831448b
+#include <epan/packet.h> +#include <epan/packet.h>
+#include <epan/prefs.h> +#include <epan/prefs.h>
+#include <epan/conversation.h> +#include <epan/conversation.h>
+#include <epan/expert.h>
+#include <epan/rtp_pt.h>
+ +
+#ifdef HAVE_ARPA_INET_H +#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h> +#include <arpa/inet.h>
@ -272,6 +299,7 @@ index 0000000..831448b
+ guint32 req_frame; + guint32 req_frame;
+ guint32 resp_frame; + guint32 resp_frame;
+ nstime_t req_time; + nstime_t req_time;
+ gchar* callid;
+} rtpproxy_info_t; +} rtpproxy_info_t;
+ +
+static dissector_handle_t rtcp_handle; +static dissector_handle_t rtcp_handle;
@ -421,9 +449,14 @@ index 0000000..831448b
+ +
+static gint ett_rtpproxy_reply = -1; +static gint ett_rtpproxy_reply = -1;
+ +
+/* Default values */
+static guint rtpproxy_tcp_port = 22222; +static guint rtpproxy_tcp_port = 22222;
+static guint rtpproxy_udp_port = 22222; +static guint rtpproxy_udp_port = 22222;
+static gboolean rtpproxy_establish_conversation = TRUE; +static gboolean rtpproxy_establish_conversation = TRUE;
+/* See - http://www.opensips.org/html/docs/modules/1.11.x/rtpproxy.html#id250018 */
+/* See - http://www.kamailio.org/docs/modules/devel/modules/rtpproxy.html#idm448 */
+static guint rtpproxy_timeout = 1000;
+static nstime_t rtpproxy_timeout_ns = {1, 0};
+ +
+void proto_reg_handoff_rtpproxy(void); +void proto_reg_handoff_rtpproxy(void);
+ +
@ -492,7 +525,8 @@ index 0000000..831448b
+ while(codecs[i]){ + while(codecs[i]){
+ /* We assume strings < 2^32-1 bytes long. :-) */ + /* We assume strings < 2^32-1 bytes long. :-) */
+ codec_len = (guint)strlen(codecs[i]); + codec_len = (guint)strlen(codecs[i]);
+ proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_codec, tvb, begin+offset, codec_len, ENC_ASCII | ENC_NA); + ti = proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_codec, tvb, begin+offset, codec_len, ENC_ASCII | ENC_NA);
+ proto_item_append_text(ti, " (%s)", val_to_str_ext((guint)strtoul(tvb_format_text(tvb,begin+offset,codec_len),NULL,10), &rtp_payload_type_vals_ext, "Unknown"));
+ offset += codec_len; + offset += codec_len;
+ if(codecs[i+1]) + if(codecs[i+1])
+ offset++; /* skip comma */ + offset++; /* skip comma */
@ -542,7 +576,8 @@ index 0000000..831448b
+ case 't': + case 't':
+ new_offset = (gint)strspn(rawstr+offset, "0123456789"); + new_offset = (gint)strspn(rawstr+offset, "0123456789");
+ another_tree = proto_item_add_subtree(ti, ett_rtpproxy_command_parameters_transcode); + another_tree = proto_item_add_subtree(ti, ett_rtpproxy_command_parameters_transcode);
+ proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_transcode, tvb, begin+offset, new_offset, ENC_ASCII | ENC_NA); + ti = proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_transcode, tvb, begin+offset, new_offset, ENC_ASCII | ENC_NA);
+ proto_item_append_text(ti, " (%s)", val_to_str_ext((guint)strtoul(tvb_format_text(tvb,begin+offset, new_offset),NULL,10), &rtp_payload_type_vals_ext, "Unknown"));
+ offset += new_offset; + offset += new_offset;
+ break; + break;
+ case 'v': + case 'v':
@ -556,7 +591,7 @@ index 0000000..831448b
+ } + }
+} +}
+ +
+void +rtpproxy_info_t *
+rtpproxy_add_tid(gboolean is_request, tvbuff_t *tvb, packet_info *pinfo, proto_tree *rtpproxy_tree, rtpproxy_conv_info_t *rtpproxy_conv, gchar* cookie) +rtpproxy_add_tid(gboolean is_request, tvbuff_t *tvb, packet_info *pinfo, proto_tree *rtpproxy_tree, rtpproxy_conv_info_t *rtpproxy_conv, gchar* cookie)
+{ +{
+ rtpproxy_info_t *rtpproxy_info; + rtpproxy_info_t *rtpproxy_info;
@ -568,6 +603,7 @@ index 0000000..831448b
+ rtpproxy_info->req_frame = PINFO_FD_NUM(pinfo); + rtpproxy_info->req_frame = PINFO_FD_NUM(pinfo);
+ rtpproxy_info->resp_frame = 0; + rtpproxy_info->resp_frame = 0;
+ rtpproxy_info->req_time = pinfo->fd->abs_ts; + rtpproxy_info->req_time = pinfo->fd->abs_ts;
+ rtpproxy_info->callid = NULL;
+ se_tree_insert_string(rtpproxy_conv->trans, cookie, rtpproxy_info, 0); + se_tree_insert_string(rtpproxy_conv->trans, cookie, rtpproxy_info, 0);
+ } else { + } else {
+ rtpproxy_info = (rtpproxy_info_t *)se_tree_lookup_string(rtpproxy_conv->trans, cookie, 0); + rtpproxy_info = (rtpproxy_info_t *)se_tree_lookup_string(rtpproxy_conv->trans, cookie, 0);
@ -588,9 +624,13 @@ index 0000000..831448b
+ nstime_delta(&ns, &pinfo->fd->abs_ts, &rtpproxy_info->req_time); + nstime_delta(&ns, &pinfo->fd->abs_ts, &rtpproxy_info->req_time);
+ pi = proto_tree_add_time(rtpproxy_tree, hf_rtpproxy_response_time, tvb, 0, 0, &ns); + pi = proto_tree_add_time(rtpproxy_tree, hf_rtpproxy_response_time, tvb, 0, 0, &ns);
+ PROTO_ITEM_SET_GENERATED(pi); + PROTO_ITEM_SET_GENERATED(pi);
+ if (nstime_cmp(&rtpproxy_timeout_ns, &ns) < 0)
+ expert_add_info_format(pinfo, rtpproxy_tree, PI_RESPONSE_CODE, PI_WARN, "Response timeout %.3f seconds", nstime_to_sec(&ns));
+ } + }
+ } + }
+ } + }
+ /* Could be NULL so we should check it before dereferencing */
+ return rtpproxy_info;
+} +}
+ +
+void +void
@ -644,6 +684,7 @@ index 0000000..831448b
+ address addr; + address addr;
+ guint16 port; + guint16 port;
+ guint32 ipaddr[4]; + guint32 ipaddr[4];
+ rtpproxy_info_t *rtpproxy_info = NULL;
+ +
+ /* If it does not start with a printable character it's not RTPProxy */ + /* If it does not start with a printable character it's not RTPProxy */
+ if(!isprint(tvb_get_guint8(tvb, 0))) + if(!isprint(tvb_get_guint8(tvb, 0)))
@ -669,6 +710,7 @@ index 0000000..831448b
+ /* Calculate size to prevent recalculation in the future */ + /* Calculate size to prevent recalculation in the future */
+ realsize = tvb_reported_length(tvb); + realsize = tvb_reported_length(tvb);
+ +
+
+ /* Check for LF (required for TCP connection, optional for UDP) */ + /* Check for LF (required for TCP connection, optional for UDP) */
+ if (tvb_get_guint8(tvb, realsize - 1) == '\n'){ + if (tvb_get_guint8(tvb, realsize - 1) == '\n'){
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTPproxy"); + col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTPproxy");
@ -679,6 +721,7 @@ index 0000000..831448b
+ else + else
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTPproxy (no LF)"); + col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTPproxy (no LF)");
+ +
+
+ /* Try to create conversation */ + /* Try to create conversation */
+ conversation = find_or_create_conversation(pinfo); + conversation = find_or_create_conversation(pinfo);
+ rtpproxy_conv = (rtpproxy_conv_info_t *)conversation_get_proto_data(conversation, proto_rtpproxy); + rtpproxy_conv = (rtpproxy_conv_info_t *)conversation_get_proto_data(conversation, proto_rtpproxy);
@ -717,7 +760,7 @@ index 0000000..831448b
+ case 'r': + case 'r':
+ case 'c': + case 'c':
+ case 'q': + case 'q':
+ rtpproxy_add_tid(TRUE, tvb, pinfo, rtpproxy_tree, rtpproxy_conv, cookie); + rtpproxy_info = rtpproxy_add_tid(TRUE, tvb, pinfo, rtpproxy_tree, rtpproxy_conv, cookie);
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Request: %s", rawstr); + col_add_fstr(pinfo->cinfo, COL_INFO, "Request: %s", rawstr);
+ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_request, tvb, offset, -1, ENC_NA); + ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_request, tvb, offset, -1, ENC_NA);
+ rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_request); + rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_request);
@ -764,6 +807,8 @@ index 0000000..831448b
+ /* Extract Call-ID */ + /* Extract Call-ID */
+ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); + new_offset = tvb_find_guint8(tvb, offset, -1, ' ');
+ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_callid, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); + proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_callid, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA);
+ if(rtpproxy_info && !rtpproxy_info->callid)
+ rtpproxy_info->callid = tvb_get_ephemeral_string(tvb, offset, new_offset - offset);
+ /* Skip whitespace */ + /* Skip whitespace */
+ offset = tvb_skip_wsp(tvb, new_offset+1, -1); + offset = tvb_skip_wsp(tvb, new_offset+1, -1);
+ +
@ -856,7 +901,7 @@ index 0000000..831448b
+ case '7': + case '7':
+ case '8': + case '8':
+ case '9': + case '9':
+ rtpproxy_add_tid(FALSE, tvb, pinfo, rtpproxy_tree, rtpproxy_conv, cookie); + rtpproxy_info = rtpproxy_add_tid(FALSE, tvb, pinfo, rtpproxy_tree, rtpproxy_conv, cookie);
+ if (tmp == 'e') + if (tmp == 'e')
+ col_add_fstr(pinfo->cinfo, COL_INFO, "Error reply: %s", rawstr); + col_add_fstr(pinfo->cinfo, COL_INFO, "Error reply: %s", rawstr);
+ else + else
@ -865,6 +910,11 @@ index 0000000..831448b
+ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_reply, tvb, offset, -1, ENC_NA); + ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_reply, tvb, offset, -1, ENC_NA);
+ rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_reply); + rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_reply);
+ +
+ if(rtpproxy_info && rtpproxy_info->callid){
+ ti = proto_tree_add_string(rtpproxy_tree, hf_rtpproxy_callid, tvb, offset, 0, rtpproxy_info->callid);
+ PROTO_ITEM_SET_GENERATED(ti);
+ }
+
+ if (tmp == 'e'){ + if (tmp == 'e'){
+ tmp = tvb_find_line_end(tvb, offset, -1, &new_offset, FALSE); + tmp = tvb_find_line_end(tvb, offset, -1, &new_offset, FALSE);
+ tmpstr = tvb_get_ephemeral_string(tvb, offset, tmp); + tmpstr = tvb_get_ephemeral_string(tvb, offset, tmp);
@ -1456,6 +1506,7 @@ index 0000000..831448b
+ proto_register_subtree_array(ett, array_length(ett)); + proto_register_subtree_array(ett, array_length(ett));
+ +
+ rtpproxy_module = prefs_register_protocol(proto_rtpproxy, proto_reg_handoff_rtpproxy); + rtpproxy_module = prefs_register_protocol(proto_rtpproxy, proto_reg_handoff_rtpproxy);
+
+ prefs_register_uint_preference(rtpproxy_module, "tcp.port", + prefs_register_uint_preference(rtpproxy_module, "tcp.port",
+ "RTPproxy TCP Port", /* Title */ + "RTPproxy TCP Port", /* Title */
+ "RTPproxy TCP Port", /* Descr */ + "RTPproxy TCP Port", /* Descr */
@ -1467,11 +1518,18 @@ index 0000000..831448b
+ "RTPproxy UDP Port", /* Descr */ + "RTPproxy UDP Port", /* Descr */
+ 10, + 10,
+ &rtpproxy_udp_port); + &rtpproxy_udp_port);
+
+ prefs_register_bool_preference(rtpproxy_module, "establish_conversation", + prefs_register_bool_preference(rtpproxy_module, "establish_conversation",
+ "Establish Media Conversation", + "Establish Media Conversation",
+ "Specifies that RTP/RTCP/T.38/MSRP/etc streams are decoded based " + "Specifies that RTP/RTCP/T.38/MSRP/etc streams are decoded based "
+ "upon port numbers found in RTPproxy answers", + "upon port numbers found in RTPproxy answers",
+ &rtpproxy_establish_conversation); + &rtpproxy_establish_conversation);
+
+ prefs_register_uint_preference(rtpproxy_module, "reply.timeout",
+ "RTPproxy reply timeout", /* Title */
+ "Maximum timeout value in waiting for reply from RTPProxy (in milliseconds).", /* Descr */
+ 10,
+ &rtpproxy_timeout);
+} +}
+ +
+void +void
@ -1507,6 +1565,10 @@ index 0000000..831448b
+ rtcp_handle = find_dissector("rtcp"); + rtcp_handle = find_dissector("rtcp");
+ rtp_events_handle = find_dissector("rtpevent"); + rtp_events_handle = find_dissector("rtpevent");
+ rtp_handle = find_dissector("rtp"); + rtp_handle = find_dissector("rtp");
+
+ /* Calculate nstime_t struct for the timeout from the rtpproxy_timeout value in milliseconds */
+ rtpproxy_timeout_ns.secs = (rtpproxy_timeout - rtpproxy_timeout % 1000) / 1000;
+ rtpproxy_timeout_ns.nsecs = (rtpproxy_timeout % 1000) * 1000;
+} +}
+ +
+/* +/*

View File

@ -1,84 +0,0 @@
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Mon, 4 Nov 2013 22:46:16 +0400
Subject: [PATCH] Add expert info about timeouts
Backported patch from this bugzilla ticket:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9484
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c
index 831448b..04830bc 100644
--- a/epan/dissectors/packet-rtpproxy.c
+++ b/epan/dissectors/packet-rtpproxy.c
@@ -37,6 +37,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/conversation.h>
+#include <epan/expert.h>
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
@@ -248,9 +249,14 @@ static gint ett_rtpproxy_notify = -1;
static gint ett_rtpproxy_reply = -1;
+/* Default values */
static guint rtpproxy_tcp_port = 22222;
static guint rtpproxy_udp_port = 22222;
static gboolean rtpproxy_establish_conversation = TRUE;
+/* See - http://www.opensips.org/html/docs/modules/1.11.x/rtpproxy.html#id250018 */
+/* See - http://www.kamailio.org/docs/modules/devel/modules/rtpproxy.html#idm448 */
+static guint rtpproxy_timeout = 1000;
+static nstime_t rtpproxy_timeout_ns = {1, 0};
void proto_reg_handoff_rtpproxy(void);
@@ -415,6 +421,8 @@ rtpproxy_add_tid(gboolean is_request, tvbuff_t *tvb, packet_info *pinfo, proto_t
nstime_delta(&ns, &pinfo->fd->abs_ts, &rtpproxy_info->req_time);
pi = proto_tree_add_time(rtpproxy_tree, hf_rtpproxy_response_time, tvb, 0, 0, &ns);
PROTO_ITEM_SET_GENERATED(pi);
+ if (nstime_cmp(&rtpproxy_timeout_ns, &ns) < 0)
+ expert_add_info_format(pinfo, rtpproxy_tree, PI_RESPONSE_CODE, PI_WARN, "Response timeout %'.3f seconds", nstime_to_sec(&ns));
}
}
}
@@ -1283,6 +1291,7 @@ proto_register_rtpproxy(void)
proto_register_subtree_array(ett, array_length(ett));
rtpproxy_module = prefs_register_protocol(proto_rtpproxy, proto_reg_handoff_rtpproxy);
+
prefs_register_uint_preference(rtpproxy_module, "tcp.port",
"RTPproxy TCP Port", /* Title */
"RTPproxy TCP Port", /* Descr */
@@ -1294,11 +1303,18 @@ proto_register_rtpproxy(void)
"RTPproxy UDP Port", /* Descr */
10,
&rtpproxy_udp_port);
+
prefs_register_bool_preference(rtpproxy_module, "establish_conversation",
"Establish Media Conversation",
"Specifies that RTP/RTCP/T.38/MSRP/etc streams are decoded based "
"upon port numbers found in RTPproxy answers",
&rtpproxy_establish_conversation);
+
+ prefs_register_uint_preference(rtpproxy_module, "reply.timeout",
+ "RTPproxy reply timeout", /* Title */
+ "Maximum timeout value in waiting for reply from RTPProxy (in milliseconds).", /* Descr */
+ 10,
+ &rtpproxy_timeout);
}
void
@@ -1334,6 +1350,10 @@ proto_reg_handoff_rtpproxy(void)
rtcp_handle = find_dissector("rtcp");
rtp_events_handle = find_dissector("rtpevent");
rtp_handle = find_dissector("rtp");
+
+ /* Calculate nstime_t struct for the timeout from the rtpproxy_timeout value in milliseconds */
+ rtpproxy_timeout_ns.secs = (rtpproxy_timeout - rtpproxy_timeout % 1000) / 1000;
+ rtpproxy_timeout_ns.nsecs = (rtpproxy_timeout % 1000) * 1000;
}
/*

View File

@ -0,0 +1,19 @@
From: Gerald Combs <gerald@wireshark.org>
Date: Fri, 15 Nov 2013 23:16:14 +0000
Subject: [PATCH] From Dirk Jagdmann: Make sure err_str is initialized.
svn path=/trunk-1.10/; revision=53348
diff --git a/ui/gtk/main_welcome.c b/ui/gtk/main_welcome.c
index 6de0fea..017f2e4 100644
--- a/ui/gtk/main_welcome.c
+++ b/ui/gtk/main_welcome.c
@@ -981,7 +981,7 @@ static void fill_capture_box(void)
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
int error = 0;
- gchar *label_text, *err_str;
+ gchar *label_text = NULL, *err_str = NULL;
#ifdef _WIN32
DWORD reg_ret;
DWORD chimney_enabled = 0;

View File

@ -0,0 +1,32 @@
From: Michael Mann <mmann78@netscape.net>
Date: Thu, 28 Nov 2013 16:51:08 +0000
Subject: [PATCH] Crash when selecting "Decode As" based on SCTP PPID. Bug
8976 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8976)
Fixed by defaulting PPID value to LAST_PPID (which should make Decode As a no-op)
svn path=/trunk-1.10/; revision=53627
diff --git a/ui/gtk/decode_as_dlg.c b/ui/gtk/decode_as_dlg.c
index e772099..4e863f1 100644
--- a/ui/gtk/decode_as_dlg.c
+++ b/ui/gtk/decode_as_dlg.c
@@ -970,7 +970,7 @@ decode_transport(GtkWidget *notebook_pg)
gchar *table_name;
gint requested_srcdst, requested_port, ppid;
gpointer portp;
- gpointer ptr;
+ gpointer ptr = GUINT_TO_POINTER(LAST_PPID);
#ifdef DEBUG
gchar *string;
#endif
@@ -980,8 +980,7 @@ decode_transport(GtkWidget *notebook_pg)
gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(list)));
combo_box = (GtkWidget *)g_object_get_data(G_OBJECT(notebook_pg), E_COMBO_BOX_SRCDST);
- if (!ws_combo_box_get_active_pointer(GTK_COMBO_BOX(combo_box), &ptr))
- g_assert_not_reached(); /* Programming error if no active item in combo_box */
+ ws_combo_box_get_active_pointer(GTK_COMBO_BOX(combo_box), &ptr);
requested_srcdst = GPOINTER_TO_INT(ptr);
#ifdef DEBUG

View File

@ -0,0 +1,295 @@
From: Pascal Quantin <pascal.quantin@gmail.com>
Date: Fri, 6 Dec 2013 07:14:45 +0000
Subject: [PATCH] Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9488
: Remove global gpinfo variable and use pinfo directly (backport of r49145)
svn path=/trunk-1.10/; revision=53803
diff --git a/epan/dissectors/packet-bssgp.c b/epan/dissectors/packet-bssgp.c
index a89e970..0421cae 100644
--- a/epan/dissectors/packet-bssgp.c
+++ b/epan/dissectors/packet-bssgp.c
@@ -79,7 +79,6 @@ void proto_reg_handoff_bssgp(void);
static int bssgp_decode_nri = 0;
static guint bssgp_nri_length = 4;
-static packet_info *gpinfo;
static guint8 g_pdu_type, g_rim_application_identity;
static proto_tree *gparent_tree;
static dissector_handle_t llc_handle;
@@ -898,7 +897,7 @@ de_bssgp_flush_action(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g
*/
static guint16
-de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
+de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *next_tvb=NULL;
guint32 curr_offset;
@@ -912,10 +911,10 @@ de_bssgp_llc_pdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint3
if(next_tvb){
if (llc_handle) {
- call_dissector(llc_handle, next_tvb, gpinfo, gparent_tree);
+ call_dissector(llc_handle, next_tvb, pinfo, gparent_tree);
}
else if (data_handle) {
- call_dissector(data_handle, next_tvb, gpinfo, gparent_tree);
+ call_dissector(data_handle, next_tvb, pinfo, gparent_tree);
}
}
@@ -1100,7 +1099,7 @@ static const value_string bssgp_precedence_dl[] = {
};
static guint16
-de_bssgp_qos_profile(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_qos_profile(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
proto_item *pi, *pre_item;
guint32 curr_offset;
@@ -1113,7 +1112,7 @@ de_bssgp_qos_profile(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, gu
/* octet 3-4 Peak bit rate provided by the network (note)
* NOTE: The bit rate 0 (zero) shall mean "best effort" in this IE.
*/
- link_dir = gpinfo->link_dir;
+ link_dir = pinfo->link_dir;
peak_bit_rate = tvb_get_ntohs(tvb, curr_offset);
pi = proto_tree_add_text(tree, tvb, curr_offset, 1, "Peak bit rate: ");
@@ -1515,7 +1514,7 @@ de_bssgp_serv_utran_cco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
* 11.3.48 NSEI (Network Service Entity Identifier)
*/
static guint16
-de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
guint16 nsei;
@@ -1526,7 +1525,7 @@ de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 o
proto_tree_add_item(tree, hf_bssgp_nsei, tvb, curr_offset, 2, ENC_BIG_ENDIAN);
curr_offset+=2;
- col_append_sep_fstr(gpinfo->cinfo, COL_INFO, BSSGP_SEP, "NSEI %u", nsei);
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, BSSGP_SEP, "NSEI %u", nsei);
return(curr_offset-offset);
@@ -1535,7 +1534,7 @@ de_bssgp_nsei(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 o
* 11.3.49 RRLP APDU
*/
static guint16
-de_bssgp_rrlp_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_rrlp_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *next_tvb=NULL;
guint32 curr_offset;
@@ -1555,9 +1554,9 @@ de_bssgp_rrlp_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guin
if(next_tvb){
if (rrlp_handle) {
- call_dissector(rrlp_handle, next_tvb, gpinfo, gparent_tree);
+ call_dissector(rrlp_handle, next_tvb, pinfo, gparent_tree);
}else if (data_handle) {
- call_dissector(data_handle, next_tvb, gpinfo, gparent_tree);
+ call_dissector(data_handle, next_tvb, pinfo, gparent_tree);
}
}
return(len);
@@ -1748,7 +1747,7 @@ de_bssgp_ran_information_request_app_cont(tvbuff_t *tvb, proto_tree *tree, packe
{
asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, gpinfo);
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
/* 11.3.63.1.4 RAN-INFORMATION-REQUEST Application Container for the SON Transfer Application */
/* Reporting Cell Identifier */
/* convert to bit offset */
@@ -1765,7 +1764,7 @@ de_bssgp_ran_information_request_app_cont(tvbuff_t *tvb, proto_tree *tree, packe
* 3GPP TS 25.413
*/
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, gpinfo, tree, NULL);
+ curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, pinfo, tree, NULL);
break;
default :
proto_tree_add_text(tree, tvb, curr_offset, len, "Unknown RIM Application Identity");
@@ -1847,7 +1846,7 @@ de_bssgp_ran_information_app_cont_unit(tvbuff_t *tvb, proto_tree *tree, packet_i
if (msg_fcn_p == NULL){
proto_tree_add_text(si_tree, tvb, curr_offset, 21, "Unknown SI message");
}else{
- (*msg_fcn_p)(tvb, si_tree, gpinfo, curr_offset+1, 20);
+ (*msg_fcn_p)(tvb, si_tree, pinfo, curr_offset+1, 20);
}
curr_offset+=21;
}
@@ -1895,14 +1894,14 @@ de_bssgp_ran_information_app_cont_unit(tvbuff_t *tvb, proto_tree *tree, packet_i
* Source Cell ID) as defined in 3GPP TS 25.413
*/
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, gpinfo, tree, NULL);
+ curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, pinfo, tree, NULL);
break;
case 2:
/* If the RAT discriminator field indicates E-UTRAN, this field is encoded as the E-UTRAN CGI IE as
* defined in 3GPP TS 36.413
*/
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- curr_offset = curr_offset + dissect_s1ap_Global_ENB_ID_PDU(new_tvb, gpinfo, tree, NULL);
+ curr_offset = curr_offset + dissect_s1ap_Global_ENB_ID_PDU(new_tvb, pinfo, tree, NULL);
break;
default:
break;
@@ -1916,7 +1915,7 @@ de_bssgp_ran_information_app_cont_unit(tvbuff_t *tvb, proto_tree *tree, packet_i
* (UTRAN Source Cell ID) as defined in 3GPP TS 25.413
*/
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, gpinfo, tree, NULL);
+ curr_offset = curr_offset + dissect_ranap_SourceCellID_PDU(new_tvb, pinfo, tree, NULL);
/* Octet (m+1)-n UTRA SI Container
* UTRA SI Container: This field contains System Information Container valid for the reporting cell
* encoded as defined in TS 25.331
@@ -1972,7 +1971,7 @@ static const value_string bssgp_utra_si_cause_vals[] = {
};
static guint16
-de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *new_tvb = NULL;
guint32 curr_offset;
@@ -2018,7 +2017,7 @@ de_bssgp_ran_app_error_cont(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
* The "SON Transfer Cause" field is encoded as the SON Transfer Cause IE as defined in 3GPP TS 36.413
*/
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- curr_offset = curr_offset + dissect_s1ap_SONtransferCause_PDU(new_tvb, gpinfo, tree, NULL);
+ curr_offset = curr_offset + dissect_s1ap_SONtransferCause_PDU(new_tvb, pinfo, tree, NULL);
/* Erroneous Application Container including IEI and LI */
proto_tree_add_text(tree, tvb, curr_offset, len-(curr_offset-offset), "Erroneous Application Container including IEI and LI");
break;
@@ -2212,7 +2211,7 @@ static const value_string bssgp_ra_discriminator_vals[] = {
};
static guint16
-de_bssgp_rim_routing_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_rim_routing_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
guint8 oct;
guint16 rnc_id;
@@ -2261,7 +2260,7 @@ de_bssgp_rim_routing_inf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_
curr_offset = curr_offset+ de_emm_trac_area_id(tvb, tree, pinfo, curr_offset, 5, add_string, string_len);
/* Octets 9-n contain the Global eNB ID (see 3GPP TS 36.413 [36]) of the eNodeB. */
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- dissect_s1ap_Global_ENB_ID_PDU(new_tvb, gpinfo, tree, NULL);
+ dissect_s1ap_Global_ENB_ID_PDU(new_tvb, pinfo, tree, NULL);
break;
default:
proto_tree_add_text(tree, tvb, curr_offset, 3, "Unknown RIM Routing Address discriminator");
@@ -2301,7 +2300,7 @@ de_bssgp_mbms_session_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_
* 11.3.72 MBMS Session Duration
*/
static guint16
-de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *new_tvb;
guint32 curr_offset;
@@ -2310,7 +2309,7 @@ de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
/* AVP Code: 904 MBMS-Session-Duration Registered by packet-gtp.c */
new_tvb =tvb_new_subset(tvb, offset, len, len);
- dissector_try_uint(diameter_3gpp_avp_dissector_table, 904, new_tvb, gpinfo, tree);
+ dissector_try_uint(diameter_3gpp_avp_dissector_table, 904, new_tvb, pinfo, tree);
return(curr_offset-offset);
}
@@ -2322,7 +2321,7 @@ de_bssgp_mbms_session_dur(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U
*
*/
static guint16
-de_bssgp_mbms_sai_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
+de_bssgp_mbms_sai_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *new_tvb;
guint32 curr_offset;
@@ -2331,7 +2330,7 @@ de_bssgp_mbms_sai_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
/* AVP Code: 903 MBMS-Service-Area Registered by packet-gtp.c */
new_tvb =tvb_new_subset(tvb, offset, len, len);
- dissector_try_uint(diameter_3gpp_avp_dissector_table, 903, new_tvb, gpinfo, tree);
+ dissector_try_uint(diameter_3gpp_avp_dissector_table, 903, new_tvb, pinfo, tree);
return(curr_offset-offset);
}
@@ -2840,7 +2839,7 @@ de_bssgp_mbms_session_rep_no(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
* 11.3.94 Inter RAT Handover Info
*/
static guint16
-de_bssgp_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *new_tvb;
guint32 curr_offset;
@@ -2852,7 +2851,7 @@ de_bssgp_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _
* Inter RAT Handover Information coded as specified in 3GPP
* Technical Specification 25.331
*/
- dissect_rrc_InterRATHandoverInfo_PDU(new_tvb, gpinfo, tree, NULL);
+ dissect_rrc_InterRATHandoverInfo_PDU(new_tvb, pinfo, tree, NULL);
return(len);
}
@@ -3096,7 +3095,7 @@ de_bssgp_enb_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 off
/* Octets 8-n contain the Global eNB ID (see 3GPP TS 36.413) of the eNodeB. */
new_tvb = tvb_new_subset_remaining(tvb, curr_offset);
- dissect_s1ap_Global_ENB_ID_PDU(new_tvb, gpinfo, tree, NULL);
+ dissect_s1ap_Global_ENB_ID_PDU(new_tvb, pinfo, tree, NULL);
return(len);
}
@@ -3104,7 +3103,7 @@ de_bssgp_enb_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 off
* 11.3.104 E-UTRAN Inter RAT Handover Info
*/
static guint16
-de_bssgp_e_utran_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_e_utran_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *new_tvb;
guint32 curr_offset;
@@ -3118,7 +3117,7 @@ de_bssgp_e_utran_inter_rat_ho_info(tvbuff_t *tvb, proto_tree *tree, packet_info
* significant bit of the first octet of the octet string contains bit 8 of
* the first octet of the IE.
*/
- dissect_lte_rrc_UE_EUTRA_Capability_PDU(new_tvb, gpinfo, tree, NULL);
+ dissect_lte_rrc_UE_EUTRA_Capability_PDU(new_tvb, pinfo, tree, NULL);
return(len);
}
@@ -3181,7 +3180,7 @@ de_bssgp_reliable_inter_rat_ho_inf(tvbuff_t *tvb, proto_tree *tree, packet_info
* 11.3.108 SON Transfer Application Identity
*/
static guint16
-de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset _U_, guint len _U_, gchar *add_string _U_, int string_len _U_)
+de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset _U_, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *next_tvb;
@@ -3190,7 +3189,7 @@ de_bssgp_son_transfer_app_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
*/
if(len > 0){
next_tvb = tvb_new_subset(tvb, offset, len, len);
- dissect_s1ap_SONtransferApplicationIdentity_PDU(next_tvb, gpinfo, tree, NULL);
+ dissect_s1ap_SONtransferApplicationIdentity_PDU(next_tvb, pinfo, tree, NULL);
}
return(len);
@@ -6370,8 +6369,6 @@ dissect_bssgp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
int hf_idx;
void (*msg_fcn_p)(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len);
- /* Save pinfo */
- gpinfo = pinfo;
g_rim_application_identity = 0;
gparent_tree = tree;
len = tvb_length(tvb);

View File

@ -21,7 +21,7 @@
Summary: Network traffic analyzer Summary: Network traffic analyzer
Name: wireshark Name: wireshark
Version: 1.10.3 Version: 1.10.3
Release: 5%{?dist} Release: 6%{?dist}
License: GPL+ License: GPL+
Group: Applications/Internet Group: Applications/Internet
Source0: http://wireshark.org/download/src/%{name}-%{version}.tar.bz2 Source0: http://wireshark.org/download/src/%{name}-%{version}.tar.bz2
@ -31,7 +31,9 @@ Patch1: wireshark-0001-enable-Lua-support.patch
Patch2: wireshark-0002-Customize-permission-denied-error.patch Patch2: wireshark-0002-Customize-permission-denied-error.patch
# Fedora-specific # Fedora-specific
Patch3: wireshark-0003-Load-correct-shared-object-name-in-python.patch Patch3: wireshark-0003-Load-correct-shared-object-name-in-python.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch4: wireshark-0004-fix-documentation-build-error.patch Patch4: wireshark-0004-fix-documentation-build-error.patch
# Will be proposed upstream
Patch5: wireshark-0005-fix-string-overrun-in-plugins-profinet.patch Patch5: wireshark-0005-fix-string-overrun-in-plugins-profinet.patch
# Backported from upstream. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8326 # Backported from upstream. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8326
Patch6: wireshark-0006-From-Peter-Lemenkov-via-https-bugs.wireshark.org-bug.patch Patch6: wireshark-0006-From-Peter-Lemenkov-via-https-bugs.wireshark.org-bug.patch
@ -51,9 +53,12 @@ Patch12: wireshark-0012-move-default-temporary-directory-to-var-tmp.patch
Patch13: wireshark-0013-Copy-over-r49999-from-trunk.patch Patch13: wireshark-0013-Copy-over-r49999-from-trunk.patch
# Backported from upstream. # Backported from upstream.
Patch14: wireshark-0014-Fix-https-bugs.wireshark.org-bugzilla-show_bug.cgi-i.patch Patch14: wireshark-0014-Fix-https-bugs.wireshark.org-bugzilla-show_bug.cgi-i.patch
# Backported to 1.10.x from the patch from this ticket: # Backported from upstream.
# https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9484 Patch15: wireshark-0015-From-Dirk-Jagdmann-Make-sure-err_str-is-initialized.patch
Patch15: wireshark-0015-Add-expert-info-about-timeouts.patch # Backported from upstream.
Patch16: wireshark-0016-Crash-when-selecting-Decode-As-based-on-SCTP-PPID.-B.patch
# Backported from upstream.
Patch17: wireshark-0017-Fix-https-bugs.wireshark.org-bugzilla-show_bug.cgi-i.patch
Url: http://www.wireshark.org/ Url: http://www.wireshark.org/
BuildRequires: libpcap-devel >= 0.9 BuildRequires: libpcap-devel >= 0.9
@ -151,7 +156,7 @@ and plugins.
%patch2 -p1 -b .perm_denied_customization %patch2 -p1 -b .perm_denied_customization
%patch3 -p1 -b .soname %patch3 -p1 -b .soname
%patch4 -p1 -b .pod2man #%patch4 -p1 -b .pod2man
%patch5 -p1 -b .profinet_crash %patch5 -p1 -b .profinet_crash
%patch6 -p1 -b .rtpproxy %patch6 -p1 -b .rtpproxy
%patch7 -p1 -b .openflow %patch7 -p1 -b .openflow
@ -162,7 +167,9 @@ and plugins.
%patch12 -p1 -b .tmp_dir %patch12 -p1 -b .tmp_dir
%patch13 -p1 -b .allow_64kpackets_for_usb %patch13 -p1 -b .allow_64kpackets_for_usb
%patch14 -p1 -b .dont_die_during_sip_dissection %patch14 -p1 -b .dont_die_during_sip_dissection
%patch15 -p1 -b .add_expert_info_about_rtpproxy %patch15 -p1 -b .fix_main_window
%patch16 -p1 -b .fix_sctp
%patch17 -p1 -b .fix_global_pinfo
%build %build
%ifarch s390 s390x sparcv9 sparc64 %ifarch s390 s390x sparcv9 sparc64
@ -350,13 +357,25 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files devel %files devel
%doc doc/README.* %doc doc/README.*
%if %{with_lua}
%config(noreplace) %{_datadir}/wireshark/init.lua %config(noreplace) %{_datadir}/wireshark/init.lua
%endif
%{_includedir}/wireshark %{_includedir}/wireshark
%{_libdir}/lib*.so %{_libdir}/lib*.so
%{_libdir}/pkgconfig/* %{_libdir}/pkgconfig/*
%{_datadir}/aclocal/* %{_datadir}/aclocal/*
%changelog %changelog
* Fri Dec 06 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.10.3-6
- Updated RTPproxy dissector (again), squashed patch no. 15 (applied upstream).
- Use proper soname in the python scripts
- Don't apply no longer needed fix for pod2man.
- Fix for main window. See patch no. 15
- Fix for SCTP dissection. See patch no. 16
- Fix for rare issue in Base Station Subsystem GPRS Protocol dissection. See
patch no. 17
- Fix building w/o Lua
* Wed Nov 27 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.10.3-5 * Wed Nov 27 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.10.3-5
- Updated RTPproxy dissector (again) - Updated RTPproxy dissector (again)
- Allow packets more than 64k (for USB capture). See patch no. 13 - Allow packets more than 64k (for USB capture). See patch no. 13