diff --git a/.gitignore b/.gitignore index dad0b9b..3dbde9e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ wireshark-1.2.10.tar.bz2 /wireshark-1.8.5.tar.bz2 /wireshark-1.8.6.tar.bz2 /wireshark-1.10.0.tar.bz2 +/wireshark-1.10.1.tar.bz2 diff --git a/sources b/sources index 998af6e..62ecfc9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -72e51cd33fd33c7044a41c2ab51ad7af wireshark-1.10.0.tar.bz2 +d8915cf7555e2bbb699020a8736631e7 wireshark-1.10.1.tar.bz2 diff --git a/wireshark-0001-enable-Lua-support.patch b/wireshark-0001-enable-Lua-support.patch new file mode 100644 index 0000000..0795263 --- /dev/null +++ b/wireshark-0001-enable-Lua-support.patch @@ -0,0 +1,25 @@ +From 31e5f281628f586e7f08b4792c391cf7eb387078 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Radek=20Vok=C3=A1l?= +Date: Tue, 15 Dec 2009 08:36:27 +0000 +Subject: [PATCH 1/7] enable Lua support + +--- + epan/wslua/template-init.lua | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/epan/wslua/template-init.lua b/epan/wslua/template-init.lua +index e6ec4ae..2538c4c 100644 +--- a/epan/wslua/template-init.lua ++++ b/epan/wslua/template-init.lua +@@ -43,7 +43,7 @@ if running_superuser then + local disabled_lib = {} + setmetatable(disabled_lib,{ __index = function() error("this package ".. hint) end } ); + +- dofile = function() error("dofile " .. hint) end ++-- dofile = function() error("dofile " .. hint) end + loadfile = function() error("loadfile " .. hint) end + loadlib = function() error("loadlib " .. hint) end + require = function() error("require " .. hint) end +-- +1.8.3.1 + diff --git a/wireshark-0002-Customize-permission-denied-error.patch b/wireshark-0002-Customize-permission-denied-error.patch new file mode 100644 index 0000000..93d6104 --- /dev/null +++ b/wireshark-0002-Customize-permission-denied-error.patch @@ -0,0 +1,64 @@ +From 0a4f4f8cb1b4706b33ab1c0fddbd37ffa21d51f1 Mon Sep 17 00:00:00 2001 +From: Jan Safranek +Date: Fri, 26 Nov 2010 14:30:45 +0300 +Subject: [PATCH 2/7] Customize 'permission denied' error. + +Add Fedora-specific message to error output when dumpcap cannot be started +because of permissions. + +Signed-off-by: Jan Safranek +--- + capture_sync.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/capture_sync.c b/capture_sync.c +index 5914977..11d5316 100644 +--- a/capture_sync.c ++++ b/capture_sync.c +@@ -368,6 +368,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session) + gchar *signal_pipe_name; + #else + char errmsg[1024+1]; ++ const char *securitymsg = ""; + int sync_pipe[2]; /* pipe used to send messages from child to parent */ + enum PIPES { PIPE_READ, PIPE_WRITE }; /* Constants 0 and 1 for PIPE_READ and PIPE_WRITE */ + #endif +@@ -638,8 +639,11 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session) + dup2(sync_pipe[PIPE_WRITE], 2); + ws_close(sync_pipe[PIPE_READ]); + execv(argv[0], argv); +- g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", +- argv[0], g_strerror(errno)); ++ if (errno == EPERM || errno == EACCES) ++ securitymsg = "\nAre you a member of the 'wireshark' group? Try running\n'usermod -a -G wireshark _your_username_' as root."; ++ g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s", ++ argv[0], g_strerror(errno), securitymsg); ++ + sync_pipe_errmsg_to_parent(2, errmsg, ""); + + /* Exit with "_exit()", so that we don't close the connection +@@ -731,6 +735,7 @@ sync_pipe_open_command(char** argv, int *data_read_fd, + PROCESS_INFORMATION pi; + #else + char errmsg[1024+1]; ++ const char *securitymsg = ""; + int sync_pipe[2]; /* pipe used to send messages from child to parent */ + int data_pipe[2]; /* pipe used to send data from child to parent */ + #endif +@@ -865,8 +870,11 @@ sync_pipe_open_command(char** argv, int *data_read_fd, + ws_close(sync_pipe[PIPE_READ]); + ws_close(sync_pipe[PIPE_WRITE]); + execv(argv[0], argv); +- g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", +- argv[0], g_strerror(errno)); ++ execv(argv[0], (gpointer)argv); ++ if (errno == EPERM || errno == EACCES) ++ securitymsg = "\nAre you a member of the 'wireshark' group? Try running\n'usermod -a -G wireshark _your_username_' as root."; ++ g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s", ++ argv[0], g_strerror(errno), securitymsg); + sync_pipe_errmsg_to_parent(2, errmsg, ""); + + /* Exit with "_exit()", so that we don't close the connection +-- +1.8.3.1 + diff --git a/wireshark-0003-Load-correct-shared-object-name-in-python.patch b/wireshark-0003-Load-correct-shared-object-name-in-python.patch new file mode 100644 index 0000000..b1dd6fd --- /dev/null +++ b/wireshark-0003-Load-correct-shared-object-name-in-python.patch @@ -0,0 +1,28 @@ +From cd1f3ac8810a9abda87e71f6d5a3a8e46fcbdde9 Mon Sep 17 00:00:00 2001 +From: Jan Safranek +Date: Thu, 9 Jun 2011 14:56:59 +0200 +Subject: [PATCH 3/7] Load correct shared object name in python. + +This fixes following error message shown by wireshark/tshark when wireshark-devel +was not installed: + libwireshark.so: cannot open shared object file: No such file or directory +--- + epan/wspython/wspy_libws.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/epan/wspython/wspy_libws.py b/epan/wspython/wspy_libws.py +index a293a17..73ce012 100755 +--- a/epan/wspython/wspy_libws.py ++++ b/epan/wspython/wspy_libws.py +@@ -35,7 +35,7 @@ def get_libws_libname(): + elif system == "Windows": + return 'libwireshark.dll' + else: +- return 'libwireshark.so' ++ return 'libwireshark.so.2' + + def get_libws_handle(): + global __libwireshark +-- +1.8.3.1 + diff --git a/wireshark-0004-fix-documentation-build-error.patch b/wireshark-0004-fix-documentation-build-error.patch new file mode 100644 index 0000000..72cc673 --- /dev/null +++ b/wireshark-0004-fix-documentation-build-error.patch @@ -0,0 +1,31 @@ +From 245cae76f4501ed44d1c9261a502e6ed35f48f2f Mon Sep 17 00:00:00 2001 +From: Peter Hatina +Date: Mon, 8 Apr 2013 13:03:24 +0200 +Subject: [PATCH 4/7] fix documentation build error + +--- + doc/asn2deb.pod | 1 + + doc/idl2deb.pod | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/doc/asn2deb.pod b/doc/asn2deb.pod +index 0d88a95..fb25349 100644 +--- a/doc/asn2deb.pod ++++ b/doc/asn2deb.pod +@@ -1,3 +1,4 @@ ++=encoding utf8 + + =head1 NAME + +diff --git a/doc/idl2deb.pod b/doc/idl2deb.pod +index 7daa798..82e933a 100644 +--- a/doc/idl2deb.pod ++++ b/doc/idl2deb.pod +@@ -1,3 +1,4 @@ ++=encoding utf8 + + =head1 NAME + +-- +1.8.3.1 + diff --git a/wireshark-0005-fix-string-overrun-in-plugins-profinet.patch b/wireshark-0005-fix-string-overrun-in-plugins-profinet.patch new file mode 100644 index 0000000..fa41b40 --- /dev/null +++ b/wireshark-0005-fix-string-overrun-in-plugins-profinet.patch @@ -0,0 +1,25 @@ +From df227f91183e56ef1fe66da5b891a150da8ebe3d Mon Sep 17 00:00:00 2001 +From: Peter Hatina +Date: Wed, 4 Sep 2013 10:03:57 +0200 +Subject: [PATCH 5/7] fix string overrun in plugins/profinet + +--- + plugins/profinet/packet-dcom-cba.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/profinet/packet-dcom-cba.c b/plugins/profinet/packet-dcom-cba.c +index b44caed..396de82 100644 +--- a/plugins/profinet/packet-dcom-cba.c ++++ b/plugins/profinet/packet-dcom-cba.c +@@ -553,7 +553,7 @@ dissect_ICBAPhysicalDevice_get_LogicalDevice_rqst(tvbuff_t *tvb, int offset, + packet_info *pinfo, proto_tree *tree, guint8 *drep) + { + guint32 u32Pointer; +- gchar szStr[1000]; ++ gchar szStr[1000] = ""; + guint32 u32MaxStr = sizeof(szStr); + dcerpc_info *info = (dcerpc_info *) pinfo->private_data; + gchar *call; +-- +1.8.3.1 + diff --git a/wireshark-0006-From-Peter-Lemenkov-via-https-bugs.wireshark.org-bug.patch b/wireshark-0006-From-Peter-Lemenkov-via-https-bugs.wireshark.org-bug.patch new file mode 100644 index 0000000..14a7cce --- /dev/null +++ b/wireshark-0006-From-Peter-Lemenkov-via-https-bugs.wireshark.org-bug.patch @@ -0,0 +1,899 @@ +From 24b762c8073ef2b823dfe74292f5201582fe5656 Mon Sep 17 00:00:00 2001 +From: Evan Huus +Date: Sun, 18 Aug 2013 19:49:08 +0000 +Subject: [PATCH 6/7] 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 +(among SIP-engineers) application and it operates using its own simple +text-based protocol. There are several competing products but all of them +implements it (sometimes slightly extending). + +svn path=/trunk/; revision=51417 + +Conflicts: + AUTHORS + +Add a cast to try and fix +packet-rtpproxy.c:226: warning: implicit conversion shortens 64-bit value into +a 32-bit value + +I'm not quite sure what's going on here, all the values in use are either gint +or guint so they should all be the same size? + +svn path=/trunk/; revision=51419 + +Take another stab at +packet-rtpproxy.c:226: warning: implicit conversion shortens 64-bit value into a +32-bit value + +svn path=/trunk/; revision=51420 + +One more 64/32-conversion fix for rtpproxy + +svn path=/trunk/; revision=51421 + +Fix Coverity CID 1063335: Unused pointer value. + +svn path=/trunk/; revision=51430 +--- + AUTHORS | 1 + + epan/CMakeLists.txt | 1 + + epan/dissectors/Makefile.common | 1 + + epan/dissectors/packet-rtpproxy.c | 808 ++++++++++++++++++++++++++++++++++++++ + 4 files changed, 811 insertions(+) + create mode 100644 epan/dissectors/packet-rtpproxy.c + +diff --git a/AUTHORS b/AUTHORS +index 820ba7e..fdb3b9a 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -3731,6 +3731,7 @@ Alexander Chemeris + Ivan Klyuchnikov + Max Baker + Mike Garratt ++Peter Lemenkov + + + Dan Lasley gave permission for his +diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt +index 9b8d4d9..3dfa974 100644 +--- a/epan/CMakeLists.txt ++++ b/epan/CMakeLists.txt +@@ -1083,6 +1083,7 @@ set(DISSECTOR_SRC + dissectors/packet-rtp-events.c + dissectors/packet-rtp-midi.c + dissectors/packet-rtp.c ++ dissectors/packet-rtpproxy.c + dissectors/packet-rtps.c + dissectors/packet-rtsp.c + dissectors/packet-rudp.c +diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common +index 937f522..73217d7 100644 +--- a/epan/dissectors/Makefile.common ++++ b/epan/dissectors/Makefile.common +@@ -1004,6 +1004,7 @@ DISSECTOR_SRC = \ + packet-rtp-events.c \ + packet-rtp-midi.c \ + packet-rtp.c \ ++ packet-rtpproxy.c \ + packet-rtps.c \ + packet-rtsp.c \ + packet-rudp.c \ +diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c +new file mode 100644 +index 0000000..7148d58 +--- /dev/null ++++ b/epan/dissectors/packet-rtpproxy.c +@@ -0,0 +1,808 @@ ++/* packet-rtpproxy.c ++ * RTPproxy command protocol dissector ++ * Copyright 2013, Peter Lemenkov ++ * ++ * This dissector tries to dissect rtpproxy control protocol. Please visit this ++ * link for brief details on the command format: ++ * ++ * http://www.rtpproxy.org/wiki/RTPproxy/Protocol ++ * ++ * $Id$ ++ * ++ * Wireshark - Network traffic analyzer ++ * By Gerald Combs ++ * Copyright 1999 Gerald Combs ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#include "config.h" ++ ++#include ++#include ++ ++static int proto_rtpproxy = -1; ++ ++static int hf_rtpproxy_cookie = -1; ++static int hf_rtpproxy_error = -1; ++static int hf_rtpproxy_status = -1; ++static int hf_rtpproxy_ok = -1; ++static int hf_rtpproxy_ipv4 = -1; ++static int hf_rtpproxy_ipv6 = -1; ++static int hf_rtpproxy_port = -1; ++static int hf_rtpproxy_lf = -1; ++static int hf_rtpproxy_request = -1; ++static int hf_rtpproxy_command = -1; ++static int hf_rtpproxy_command_parameters = -1; ++static int hf_rtpproxy_callid = -1; ++static int hf_rtpproxy_copy_target = -1; ++static int hf_rtpproxy_playback_filename = -1; ++static int hf_rtpproxy_playback_codec = -1; ++static int hf_rtpproxy_notify = -1; ++static int hf_rtpproxy_notify_ipv4 = -1; ++static int hf_rtpproxy_notify_port = -1; ++static int hf_rtpproxy_notify_tag = -1; ++static int hf_rtpproxy_tag = -1; ++static int hf_rtpproxy_mediaid = -1; ++static int hf_rtpproxy_reply = -1; ++static int hf_rtpproxy_version_request = -1; ++static int hf_rtpproxy_version_supported = -1; ++ ++static const value_string commandtypenames[] = { ++ { 'V', "Handshake/Ping" }, ++ { 'v', "Handshake/Ping" }, ++ { 'U', "Offer/Update" }, ++ { 'u', "Offer/Update" }, ++ { 'L', "Answer/Lookup" }, ++ { 'l', "Answer/Lookup" }, ++ { 'I', "Information"}, ++ { 'i', "Information"}, ++ { 'X', "Close all active sessions"}, ++ { 'x', "Close all active sessions"}, ++ { 'D', "Delete an active session (Bye/Cancel/Error)"}, ++ { 'd', "Delete an active session (Bye/Cancel/Error)"}, ++ { 'P', "Start playback (music-on-hold)"}, ++ { 'p', "Start playback (music-on-hold)"}, ++ { 'S', "Stop playback (music-on-hold)"}, ++ { 's', "Stop playback (music-on-hold)"}, ++ { 'R', "Start recording"}, ++ { 'r', "Start recording"}, ++ { 'C', "Copy stream"}, ++ { 'c', "Copy stream"}, ++ { 'Q', "Query info about a session"}, ++ { 'q', "Query info about a session"}, ++ { 0, NULL } ++}; ++ ++static const value_string oktypenames[] = { ++ { '0', "Ok"}, ++ { '1', "Version Supported"}, ++ { 0, NULL } ++}; ++ ++static const value_string errortypenames[] = { ++ { '1', "Syntax" }, /* E1 */ ++ { '7', "Software" }, /* E7 */ ++ { '8', "Not Found" }, /* E8 */ ++ { 0, NULL } ++}; ++ ++static const value_string flowcontroltypenames[] = { ++ { '\n', "Yes"}, ++ { 0, NULL } ++}; ++ ++static gint ett_rtpproxy = -1; ++ ++static gint ett_rtpproxy_request = -1; ++static gint ett_rtpproxy_command = -1; ++static gint ett_rtpproxy_tag = -1; ++static gint ett_rtpproxy_notify = -1; ++ ++static gint ett_rtpproxy_reply = -1; ++ ++static guint rtpproxy_tcp_port = 22222; ++static guint rtpproxy_udp_port = 22222; ++ ++void proto_reg_handoff_rtpproxy(void); ++ ++gint ++rtpptoxy_add_tag(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, guint realsize) ++{ ++ proto_item *ti = NULL; ++ proto_tree *another_tree = NULL; ++ gint new_offset; ++ guint end; ++ ++ new_offset = tvb_find_guint8(tvb, begin, -1, ' '); ++ if(new_offset < 0) ++ end = realsize; /* No more parameters */ ++ else ++ end = new_offset; ++ ++ /* SER/OpenSER/OpenSIPS/Kamailio adds Media-ID right after the Tag ++ * separated by a semicolon ++ */ ++ new_offset = tvb_find_guint8(tvb, begin, end, ';'); ++ if(new_offset == -1){ ++ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_tag, tvb, begin, end - begin, ENC_ASCII | ENC_NA); ++ another_tree = proto_item_add_subtree(ti, ett_rtpproxy_tag); ++ ti = proto_tree_add_item(another_tree, hf_rtpproxy_mediaid, tvb, new_offset+1, 0, ENC_ASCII | ENC_NA); ++ proto_item_set_text(ti, "Media-ID: "); ++ } ++ else{ ++ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_tag, tvb, begin, new_offset - begin, ENC_ASCII | ENC_NA); ++ another_tree = proto_item_add_subtree(ti, ett_rtpproxy_tag); ++ proto_tree_add_item(another_tree, hf_rtpproxy_mediaid, tvb, new_offset+1, end - (new_offset+1), ENC_ASCII | ENC_NA); ++ } ++ return (end == realsize ? -1 : (gint)end); ++} ++ ++static void ++dissect_rtpproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) ++{ ++ gboolean has_lf = FALSE; ++ guint offset = 0; ++ gint new_offset = 0; ++ guint tmp; ++ guint realsize = 0; ++ guint8* rawstr; ++ proto_item *ti; ++ proto_tree *rtpproxy_tree; ++ ++ /* Clear out stuff in the info column - we''l set it later */ ++ col_clear(pinfo->cinfo, COL_INFO); ++ ++ ti = proto_tree_add_item(tree, proto_rtpproxy, tvb, 0, -1, ENC_NA); ++ rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy); ++ ++ /* Extract Cookie */ ++ offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_cookie, tvb, 0, offset, ENC_ASCII | ENC_NA); ++ ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, offset+1, -1); ++ ++ /* Calculate size to prevent recalculation in the future */ ++ realsize = tvb_reported_length(tvb); ++ ++ /* Check for LF (required for TCP connection, optional for UDP) */ ++ if (tvb_get_guint8(tvb, realsize - 1) == '\n'){ ++ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTPproxy"); ++ /* Don't count trailing LF */ ++ realsize -= 1; ++ has_lf = TRUE; ++ } ++ else ++ col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTPproxy (no LF)"); ++ ++ /* Get payload string */ ++ rawstr = tvb_get_ephemeral_string(tvb, offset, realsize - offset); ++ ++ /* Extract command */ ++ tmp = g_ascii_tolower(tvb_get_guint8(tvb, offset)); ++ switch (tmp) ++ { ++ case 's': ++ /* A specific case - long statistics answer */ ++ /* %COOKIE% sessions created %NUM0% active sessions: %NUM1% */ ++ if ('e' == tvb_get_guint8(tvb, offset+1)){ ++ col_add_fstr(pinfo->cinfo, COL_INFO, "Reply: %s", rawstr); ++ 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); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_status, tvb, offset, realsize - offset, ENC_NA); ++ break; ++ } ++ case 'i': ++ case 'x': ++ case 'u': ++ case 'l': ++ case 'd': ++ case 'p': ++ case 'v': ++ case 'r': ++ case 'c': ++ case 'q': ++ 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); ++ rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_request); ++ ++ /* A specific case - version request */ ++ if ((tmp == 'v') && (offset + strlen("VF YYYMMDD") + 1 == realsize)){ ++ /* Skip whitespace */ ++ new_offset = tvb_skip_wsp(tvb, offset + ((guint)strlen("VF") + 1), -1); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_version_request, tvb, new_offset, (gint)strlen("YYYYMMDD"), ENC_ASCII | ENC_NA); ++ break; ++ } ++ ++ /* All other commands */ ++ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_command, tvb, offset, 1, ENC_NA); ++ ++ /* A specific case - handshake/ping */ ++ if (tmp == 'v') ++ break; /* No more parameters */ ++ ++ /* A specific case - close all calls */ ++ if (tmp == 'x') ++ break; /* No more parameters */ ++ ++ /* Extract parameters */ ++ /* Parameters should be right after the command and before EOL (in case of Info command) or before whitespace */ ++ new_offset = (tmp == 'i' ? (gint)(realsize - 1 > offset ? offset + strlen("Ib") : offset + strlen("I")) : tvb_find_guint8(tvb, offset, -1, ' ')); ++ ++ if (new_offset != (gint)offset + 1){ ++ rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_command); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_command_parameters, tvb, offset+1, new_offset - (offset+1), ENC_ASCII | ENC_NA); ++ rtpproxy_tree = proto_item_get_parent(ti); ++ } ++ ++ /* A specific case - query information */ ++ if (tmp == 'i') ++ break; /* No more parameters */ ++ ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract Call-ID */ ++ 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); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract IP and Port in case of Offer/Answer */ ++ if ((tmp == 'u') || (tmp == 'l')){ ++ /* Extract IP */ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ if (tvb_find_guint8(tvb, offset, new_offset - offset, ':') == -1) ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ipv4, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ else ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ipv6, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract Port */ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_port, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ } ++ ++ /* Extract Copy target */ ++ if (tmp == 'c'){ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_copy_target, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ } ++ ++ /* Extract Playback file and codecs */ ++ if (tmp == 'p'){ ++ /* Extract filename */ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_playback_filename, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract codec */ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_playback_codec, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ } ++ ++ /* Extract first tag */ ++ new_offset = rtpptoxy_add_tag(rtpproxy_tree, tvb, offset, realsize); ++ if(new_offset == -1) ++ break; /* No more parameters */ ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract second tag */ ++ new_offset = rtpptoxy_add_tag(rtpproxy_tree, tvb, offset, realsize); ++ if(new_offset == -1) ++ break; /* No more parameters */ ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract Notification address */ ++ if (tmp == 'u'){ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify, tvb, offset, realsize - offset, ENC_NA); ++ proto_item_set_text(ti, "Notify"); ++ rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_notify); ++ if(new_offset == -1){ ++ /* FIXME only IPv4 is supported */ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ':'); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_port, tvb, new_offset+1, realsize - (new_offset+1), ENC_ASCII | ENC_NA); ++ break; /* No more parameters */ ++ } ++ if(new_offset - offset < 6){ ++ /* Only port is supplied */ ++ ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, offset, 0, ENC_ASCII | ENC_NA); ++ proto_item_set_text(ti, "Notification IPv4: "); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_port, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ } ++ else{ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_port, tvb, new_offset+1, realsize - (new_offset+1), ENC_ASCII | ENC_NA); ++ } ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_tag, tvb, offset, realsize - offset, ENC_ASCII | ENC_NA); ++ } ++ break; ++ case 'a': ++ case 'e': ++ case '0': ++ case '1': ++ case '2': ++ case '3': ++ case '4': ++ case '5': ++ case '6': ++ case '7': ++ case '8': ++ case '9': ++ if (tmp == 'e') ++ col_add_fstr(pinfo->cinfo, COL_INFO, "Error reply: %s", rawstr); ++ else ++ col_add_fstr(pinfo->cinfo, COL_INFO, "Reply: %s", rawstr); ++ ++ 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); ++ ++ if (tmp == 'e'){ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_error, tvb, offset+1, 1, ENC_ASCII | ENC_NA); ++ break; ++ } ++ ++ if (tmp == 'a'){ ++ /* A specific case - short statistics answer */ ++ /* %COOKIE% active sessions: %NUM1% */ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_status, tvb, offset, realsize - offset, ENC_NA); ++ break; ++ } ++ if ((tmp == '0')&& ((tvb_reported_length(tvb) == offset+1)||(tvb_reported_length(tvb) == offset+2))){ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ok, tvb, offset, 1, ENC_ASCII | ENC_NA); ++ break; ++ } ++ if ((tmp == '1') && ((tvb_reported_length(tvb) == offset+1)||(tvb_reported_length(tvb) == offset+2))){ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ok, tvb, offset, 1, ENC_ASCII | ENC_NA); ++ break; ++ } ++ if (tvb_reported_length(tvb) == offset+9){ ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_version_supported, tvb, offset, 8, ENC_ASCII | ENC_NA); ++ break; ++ } ++ ++ /* Extract Port */ ++ new_offset = tvb_find_guint8(tvb, offset, -1, ' '); ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_port, tvb, offset, new_offset - offset, ENC_ASCII | ENC_NA); ++ /* Skip whitespace */ ++ offset = tvb_skip_wsp(tvb, new_offset+1, -1); ++ ++ /* Extract IP */ ++ tmp = tvb_find_line_end(tvb, offset, -1, &new_offset, FALSE); ++ if (tvb_find_guint8(tvb, offset, -1, ':') == -1) ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ipv4, tvb, offset, tmp, ENC_ASCII | ENC_NA); ++ else ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ipv6, tvb, offset, tmp, ENC_ASCII | ENC_NA); ++ break; ++ default: ++ break; ++ } ++ if (has_lf) ++ proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_lf, tvb, realsize, 1, ENC_NA); ++} ++ ++void ++proto_register_rtpproxy(void) ++{ ++ module_t *rtpproxy_module; ++ ++ static hf_register_info hf[] = { ++ { ++ &hf_rtpproxy_cookie, ++ { ++ "Cookie", ++ "rtpproxy.cookie", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_version_request, ++ { ++ "Version Request", ++ "rtpproxy.version", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_version_supported, ++ { ++ "Version Supported", ++ "rtpproxy.version_supported", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_error, ++ { ++ "Error", ++ "rtpproxy.error", ++ FT_UINT8, ++ BASE_DEC, ++ VALS(errortypenames), ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_ok, ++ { ++ "Ok", ++ "rtpproxy.ok", ++ FT_UINT8, ++ BASE_DEC, ++ VALS(oktypenames), ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_status, ++ { ++ "Status", ++ "rtpproxy.status", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_ipv4, ++ { ++ "IPv4", ++ "rtpproxy.ipv4", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_ipv6, ++ { ++ "IPv6", ++ "rtpproxy.ipv6", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_port, ++ { ++ "Port", ++ "rtpproxy.port", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_request, ++ { ++ "Request", ++ "rtpproxy.request", ++ FT_NONE, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_command, ++ { ++ "Command", ++ "rtpproxy.command", ++ FT_UINT8, ++ BASE_DEC, ++ VALS(commandtypenames), ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_command_parameters, ++ { ++ "Command parameters", ++ "rtpproxy.command_parameters", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_copy_target, ++ { ++ "Copy target", ++ "rtpproxy.copy_target", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_playback_filename, ++ { ++ "Playback filename", ++ "rtpproxy.playback_filename", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_playback_codec, ++ { ++ "Playback codec", ++ "rtpproxy.playback_codec", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_callid, ++ { ++ "Call-ID", ++ "rtpproxy.callid", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_notify, ++ { ++ "Notify", ++ "rtpproxy.notify", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_tag, ++ { ++ "Tag", ++ "rtpproxy.tag", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_mediaid, ++ { ++ "Media-ID", ++ "rtpproxy.mediaid", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_notify_ipv4, ++ { ++ "Notification IPv4", ++ "rtpproxy.notify_ipv4", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_notify_port, ++ { ++ "Notification Port", ++ "rtpproxy.notify_port", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_notify_tag, ++ { ++ "Notification Tag", ++ "rtpproxy.notify_tag", ++ FT_STRING, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_reply, ++ { ++ "Reply", ++ "rtpproxy.reply", ++ FT_NONE, ++ BASE_NONE, ++ NULL, ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ { ++ &hf_rtpproxy_lf, ++ { ++ "LF", ++ "rtpproxy.lf", ++ FT_UINT8, ++ BASE_DEC, ++ VALS(flowcontroltypenames), ++ 0x0, ++ NULL, ++ HFILL ++ } ++ }, ++ }; ++ ++ /* Setup protocol subtree array */ ++ static gint *ett[] = { ++ &ett_rtpproxy, ++ &ett_rtpproxy_request, ++ &ett_rtpproxy_command, ++ &ett_rtpproxy_tag, ++ &ett_rtpproxy_notify, ++ &ett_rtpproxy_reply ++ }; ++ ++ proto_rtpproxy = proto_register_protocol ( ++ "Sippy RTPproxy Protocol", /* name */ ++ "RTPproxy", /* short name */ ++ "rtpproxy" /* abbrev */ ++ ); ++ ++ proto_register_field_array(proto_rtpproxy, hf, array_length(hf)); ++ 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 */ ++ 10, ++ &rtpproxy_tcp_port); ++ ++ prefs_register_uint_preference(rtpproxy_module, "udp.port", ++ "RTPproxy UDP Port", /* Title */ ++ "RTPproxy UDP Port", /* Descr */ ++ 10, ++ &rtpproxy_udp_port); ++} ++ ++void ++proto_reg_handoff_rtpproxy(void) ++{ ++ static guint old_rtpproxy_tcp_port = 0; ++ static guint old_rtpproxy_udp_port = 0; ++ ++ static gboolean rtpproxy_initialized = FALSE; ++ ++ static dissector_handle_t rtpproxy_tcp_handle, rtpproxy_udp_handle; ++ ++ if(!rtpproxy_initialized){ ++ rtpproxy_tcp_handle = create_dissector_handle(dissect_rtpproxy, proto_rtpproxy); ++ rtpproxy_udp_handle = create_dissector_handle(dissect_rtpproxy, proto_rtpproxy); ++ rtpproxy_initialized = TRUE; ++ } ++ ++ /* Register TCP port for dissection */ ++ if(old_rtpproxy_tcp_port != 0 && old_rtpproxy_tcp_port != rtpproxy_tcp_port) ++ dissector_delete_uint("tcp.port", old_rtpproxy_tcp_port, rtpproxy_tcp_handle); ++ if(rtpproxy_tcp_port != 0 && old_rtpproxy_tcp_port != rtpproxy_tcp_port) ++ dissector_add_uint("tcp.port", rtpproxy_tcp_port, rtpproxy_tcp_handle); ++ old_rtpproxy_tcp_port = rtpproxy_tcp_port; ++ ++ /* Register UDP port for dissection */ ++ if(old_rtpproxy_udp_port != 0 && old_rtpproxy_udp_port != rtpproxy_udp_port) ++ dissector_delete_uint("udp.port", old_rtpproxy_udp_port, rtpproxy_udp_handle); ++ if(rtpproxy_udp_port != 0 && old_rtpproxy_udp_port != rtpproxy_udp_port) ++ dissector_add_uint("udp.port", rtpproxy_udp_port, rtpproxy_udp_handle); ++ old_rtpproxy_udp_port = rtpproxy_udp_port; ++} ++ ++/* ++ * Editor modelines - http://www.wireshark.org/tools/modelines.html ++ * ++ * Local variables: ++ * c-basic-offset: 8 ++ * tab-width: 8 ++ * indent-tabs-mode: t ++ * End: ++ * ++ * vi: set shiftwidth=8 tabstop=8 noexpandtab: ++ * :indentSize=8:tabSize=8:noTabs=false: ++ */ +-- +1.8.3.1 + diff --git a/wireshark-0007-Fix-.-reordercap.pod-unterminated-list-s-at-head-in-.patch b/wireshark-0007-Fix-.-reordercap.pod-unterminated-list-s-at-head-in-.patch new file mode 100644 index 0000000..9369911 --- /dev/null +++ b/wireshark-0007-Fix-.-reordercap.pod-unterminated-list-s-at-head-in-.patch @@ -0,0 +1,27 @@ +From efa46e067df903458fa299a95a86adc83a065940 Mon Sep 17 00:00:00 2001 +From: Evan Huus +Date: Mon, 20 May 2013 14:56:18 +0000 +Subject: [PATCH 7/7] Fix "./reordercap.pod: unterminated list(s) at =head in + paragraph 14. ignoring." + +svn path=/trunk/; revision=49436 +--- + doc/reordercap.pod | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/doc/reordercap.pod b/doc/reordercap.pod +index 08a1c9a..3278a5b 100644 +--- a/doc/reordercap.pod ++++ b/doc/reordercap.pod +@@ -40,6 +40,8 @@ the same way B handles this. + When the B<-n> option is used, B will not write out the output + file if it finds that the input file is already in order. + ++=back ++ + =head1 SEE ALSO + + pcap(3), wireshark(1), tshark(1), dumpcap(1), editcap(1), mergecap(1), +-- +1.8.3.1 + diff --git a/wireshark-1.2.4-enable_lua.patch b/wireshark-1.2.4-enable_lua.patch deleted file mode 100644 index e3f7448..0000000 --- a/wireshark-1.2.4-enable_lua.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/epan/wslua/template-init.lua b/epan/wslua/template-init.lua -index eda33ca..008e875 100644 ---- a/epan/wslua/template-init.lua -+++ b/epan/wslua/template-init.lua -@@ -43,7 +43,7 @@ if running_superuser then - local disabled_lib = {} - setmetatable(disabled_lib,{ __index = function() error("this package ".. hint) end } ); - -- dofile = function() error("dofile " .. hint) end -+-- dofile = function() error("dofile " .. hint) end - loadfile = function() error("loadfile " .. hint) end - loadlib = function() error("loadlib " .. hint) end - require = function() error("require " .. hint) end diff --git a/wireshark-1.2.8-disable_warning_dialog.patch b/wireshark-1.2.8-disable_warning_dialog.patch deleted file mode 100644 index 34d64c9..0000000 --- a/wireshark-1.2.8-disable_warning_dialog.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up wireshark-1.2.8/gtk/main.c.dialog wireshark-1.2.8/gtk/main.c ---- wireshark-1.2.8/gtk/main.c.dialog 2010-05-05 19:11:51.000000000 +0200 -+++ wireshark-1.2.8/gtk/main.c 2010-05-07 11:08:23.995327341 +0200 -@@ -1247,11 +1247,12 @@ set_display_filename(capture_file *cf) - - GtkWidget *close_dlg = NULL; - --static void -+/*static void - priv_warning_dialog_cb(gpointer dialog, gint btn _U_, gpointer data _U_) - { - recent.privs_warn_if_elevated = !simple_dialog_check_get(dialog); - } -+*/ - - #ifdef _WIN32 - static void -@@ -1795,7 +1796,7 @@ check_and_warn_user_startup(gchar *cf_na - gpointer priv_warning_dialog; - - /* Tell the user not to run as root. */ -- if (running_with_special_privs() && recent.privs_warn_if_elevated) { -+/* if (running_with_special_privs() && recent.privs_warn_if_elevated) { - cur_user = get_cur_username(); - cur_group = get_cur_groupname(); - priv_warning_dialog = simple_dialog(ESD_TYPE_WARN, ESD_BTN_OK, -@@ -1806,6 +1807,7 @@ check_and_warn_user_startup(gchar *cf_na - simple_dialog_check_set(priv_warning_dialog, "Don't show this message again."); - simple_dialog_set_cb(priv_warning_dialog, priv_warning_dialog_cb, NULL); - } -+*/ - - #ifdef _WIN32 - /* Warn the user if npf.sys isn't loaded. */ diff --git a/wireshark-1.6.0-soname.patch b/wireshark-1.6.0-soname.patch deleted file mode 100644 index 6b266bd..0000000 --- a/wireshark-1.6.0-soname.patch +++ /dev/null @@ -1,17 +0,0 @@ -Load correct shared object name in python. -This fixes following error message shown by wireshark/tshark when wireshark-devel -was not installed: - libwireshark.so: cannot open shared object file: No such file or directory - -diff -up wireshark-1.6.0/epan/wspython/wspy_libws.py.soname wireshark-1.6.0/epan/wspython/wspy_libws.py ---- wireshark-1.6.0/epan/wspython/wspy_libws.py.soname 2011-06-09 14:40:04.562726728 +0200 -+++ wireshark-1.6.0/epan/wspython/wspy_libws.py 2011-06-09 14:40:09.775467946 +0200 -@@ -35,7 +35,7 @@ def get_libws_libname(): - elif system == "Windows": - return 'libwireshark.dll' - else: -- return 'libwireshark.so' -+ return 'libwireshark.so.2' - - def get_libws_handle(): - global __libwireshark diff --git a/wireshark-1.6.1-group-msg.patch b/wireshark-1.6.1-group-msg.patch deleted file mode 100644 index 31af194..0000000 --- a/wireshark-1.6.1-group-msg.patch +++ /dev/null @@ -1,51 +0,0 @@ -Customize 'permission denied' error. - -Add Fedora-specific message to error output when dumpcap cannot be started -because of permissions. - -diff --git a/capture_sync.c b/capture_sync.c -index 8c49ed2..65e242d 100644 ---- a/capture_sync.c -+++ b/capture_sync.c -@@ -368,6 +368,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session) - gchar *signal_pipe_name; - #else - char errmsg[1024+1]; -+ const char *securitymsg = ""; - int sync_pipe[2]; /* pipe used to send messages from child to parent */ - enum PIPES { PIPE_READ, PIPE_WRITE }; /* Constants 0 and 1 for PIPE_READ and PIPE_WRITE */ - #endif -@@ -638,8 +639,10 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session) - dup2(sync_pipe[PIPE_WRITE], 2); - ws_close(sync_pipe[PIPE_READ]); - execv(argv[0], argv); -- g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", -- argv[0], g_strerror(errno)); -+ if (errno == EPERM || errno == EACCES) -+ securitymsg = "\nAre you a member of the 'wireshark' group? Try running\n'usermod -a -G wireshark _your_username_' as root."; -+ g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s", -+ argv[0], g_strerror(errno), securitymsg); - sync_pipe_errmsg_to_parent(2, errmsg, ""); - - /* Exit with "_exit()", so that we don't close the connection -@@ -731,6 +734,7 @@ sync_pipe_open_command(char** argv, int *data_read_fd, - PROCESS_INFORMATION pi; - #else - char errmsg[1024+1]; -+ const char *securitymsg = ""; - int sync_pipe[2]; /* pipe used to send messages from child to parent */ - int data_pipe[2]; /* pipe used to send data from child to parent */ - #endif -@@ -865,8 +869,10 @@ sync_pipe_open_command(char** argv, int *data_read_fd, - ws_close(sync_pipe[PIPE_READ]); - ws_close(sync_pipe[PIPE_WRITE]); - execv(argv[0], argv); -- g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", -- argv[0], g_strerror(errno)); -+ if (errno == EPERM || errno == EACCES) -+ securitymsg = "\nAre you a member of the 'wireshark' group? Try running\n'usermod -a -G wireshark _your_username_' as root."; -+ g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s%s", -+ argv[0], g_strerror(errno), securitymsg); - sync_pipe_errmsg_to_parent(2, errmsg, ""); - - /* Exit with "_exit()", so that we don't close the connection diff --git a/wireshark-1.8.x-dcom-string-overrun.patch b/wireshark-1.8.x-dcom-string-overrun.patch deleted file mode 100644 index 37ba79f..0000000 --- a/wireshark-1.8.x-dcom-string-overrun.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/plugins/profinet/packet-dcom-cba.c b/plugins/profinet/packet-dcom-cba.c -index 967b8e6..cbb628c 100644 ---- a/plugins/profinet/packet-dcom-cba.c -+++ b/plugins/profinet/packet-dcom-cba.c -@@ -553,7 +553,7 @@ dissect_ICBAPhysicalDevice_get_LogicalDevice_rqst(tvbuff_t *tvb, int offset, - packet_info *pinfo, proto_tree *tree, guint8 *drep) - { - guint32 u32Pointer; -- gchar szStr[1000]; -+ gchar szStr[1000] = ""; - guint32 u32MaxStr = sizeof(szStr); - dcerpc_info *info = (dcerpc_info *) pinfo->private_data; - gchar *call; diff --git a/wireshark-1.8.x-flow-graph-crash.patch b/wireshark-1.8.x-flow-graph-crash.patch deleted file mode 100644 index 122575f..0000000 --- a/wireshark-1.8.x-flow-graph-crash.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/ui/gtk/flow_graph.c b/ui/gtk/flow_graph.c -index f380e62..dd92027 100644 ---- a/ui/gtk/flow_graph.c -+++ b/ui/gtk/flow_graph.c -@@ -460,6 +460,25 @@ flow_graph_on_ok(GtkButton *button _U_, - } - } - -+static void -+flow_graph_on_cancel(GtkButton *button _U_, -+ gpointer user_data) -+{ -+ if (graph_analysis_data->dlg.window) { -+ window_destroy(graph_analysis_data->dlg.window); -+ } -+ window_destroy(GTK_WIDGET(user_data)); -+} -+ -+static gboolean -+flow_graph_on_delete(GtkButton *button _U_, -+ gpointer user_data _U_) -+{ -+ if (graph_analysis_data->dlg.window) { -+ window_destroy(graph_analysis_data->dlg.window); -+ } -+ return FALSE; -+} - - /****************************************************************************/ - /* INTERFACE */ -@@ -607,9 +626,9 @@ flow_graph_dlg_create(void) - gtk_box_pack_start(GTK_BOX(hbuttonbox), bt_cancel, TRUE, TRUE, 0); - gtk_widget_set_can_default(bt_cancel, TRUE); - gtk_widget_set_tooltip_text (bt_cancel, "Cancel this dialog"); -- window_set_cancel_button(flow_graph_dlg_w, bt_cancel, window_cancel_button_cb); -+ g_signal_connect(bt_cancel, "clicked", G_CALLBACK(flow_graph_on_cancel), flow_graph_dlg_w); - -- g_signal_connect(flow_graph_dlg_w, "delete_event", G_CALLBACK(window_delete_event_cb), NULL); -+ g_signal_connect(flow_graph_dlg_w, "delete_event", G_CALLBACK(flow_graph_on_delete), NULL); - g_signal_connect(flow_graph_dlg_w, "destroy", G_CALLBACK(flow_graph_on_destroy), NULL); - - gtk_widget_show_all(flow_graph_dlg_w); diff --git a/wireshark-1.8.x-pod2man-encoding.patch b/wireshark-1.8.x-pod2man-encoding.patch deleted file mode 100644 index 2be1c32..0000000 --- a/wireshark-1.8.x-pod2man-encoding.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/doc/asn2deb.pod b/doc/asn2deb.pod -index 0baa50e..a1e483a 100644 ---- a/doc/asn2deb.pod -+++ b/doc/asn2deb.pod -@@ -1,3 +1,4 @@ -+=encoding utf8 - - =head1 NAME - -diff --git a/doc/idl2deb.pod b/doc/idl2deb.pod -index 9a43c7f..80ae2b5 100644 ---- a/doc/idl2deb.pod -+++ b/doc/idl2deb.pod -@@ -1,3 +1,4 @@ -+=encoding utf8 - - =head1 NAME - -diff --git a/doc/wireshark.pod.template b/doc/wireshark.pod.template -index 363d999..09350b4 100644 ---- a/doc/wireshark.pod.template -+++ b/doc/wireshark.pod.template -@@ -1,3 +1,4 @@ -+=encoding utf8 - - =head1 NAME - diff --git a/wireshark-1.8.x-sctp-bytes-graph-crash.patch b/wireshark-1.8.x-sctp-bytes-graph-crash.patch deleted file mode 100644 index 5915d42..0000000 --- a/wireshark-1.8.x-sctp-bytes-graph-crash.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/ui/gtk/sctp_byte_graph_dlg.c b/ui/gtk/sctp_byte_graph_dlg.c -index 0749342..4cd74c6 100644 ---- a/ui/gtk/sctp_byte_graph_dlg.c -+++ b/ui/gtk/sctp_byte_graph_dlg.c -@@ -1145,9 +1145,8 @@ on_button_release_event (GtkWidget *widget _U_, GdkEventButton *event, gpointer - tmptsn =(tsn_t*)(tsnlist->data); - tfirst = tsn->secs + tsn->usecs/1000000.0; - -- while (tsnlist) -+ for (tsnlist = g_list_previous(tsnlist); tsnlist; tsnlist = g_list_previous(tsnlist)) - { -- tsnlist = g_list_previous(tsnlist); - tsn = (tsn_t*) (tsnlist->data); - if (tsn->secs+tsn->usecs/1000000.0 0 ? 1 : 0); - - /* Load item_in_column with the first item in each column */ -- item_in_column = (io_stat_item_t **) g_malloc(sizeof(io_stat_item_t) * num_cols); -+ item_in_column = (io_stat_item_t **) g_malloc(sizeof(io_stat_item_t *) * num_cols); - for (j=0; jcinfo, COL_INFO)) { -- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s", -- ops_counter==0?' ':';', -+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", - val_to_str(opcode, names_nfsv4_operation, "Unknown")); - } - -@@ -8821,6 +8822,8 @@ dissect_nfs_argop4(tvbuff_t *tvb, int of - } else { - break; - } -+ proto_item_append_text(tree, " %s", -+ val_to_str(opcode, names_nfsv4_operation, "Unknown")); - - switch(opcode) - { -@@ -9225,7 +9228,7 @@ dissect_nfs4_compound_call(tvbuff_t *tvb - char *tag=NULL; - - offset = dissect_nfs_utf8string(tvb, offset, tree, hf_nfs_tag4, &tag); -- if (check_col(pinfo->cinfo, COL_INFO)) { -+ if (check_col(pinfo->cinfo, COL_INFO) && strcmp(tag, "")) { - col_append_fstr(pinfo->cinfo, COL_INFO," %s", tag); - } - -@@ -9287,6 +9290,7 @@ dissect_nfs_resop4(tvbuff_t *tvb, int of - if (fitem) { - ftree = proto_item_add_subtree(fitem, ett_nfs_resop4); - } -+ proto_item_append_text(tree, ", Ops(%d):", ops); - - for (ops_counter = 0; ops_counter < ops; ops_counter++) - { -@@ -9297,11 +9301,6 @@ dissect_nfs_resop4(tvbuff_t *tvb, int of - (opcode != NFS4_OP_ILLEGAL)) - break; - -- if (check_col(pinfo->cinfo, COL_INFO)) { -- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s", -- ops_counter==0?' ':';', -- val_to_str(opcode, names_nfsv4_operation, "Unknown")); -- } - - fitem = proto_tree_add_uint(ftree, hf_nfs_resop4, tvb, offset, 4, - opcode); -@@ -9319,6 +9318,22 @@ dissect_nfs_resop4(tvbuff_t *tvb, int of - - offset = dissect_nfs_nfsstat4(tvb, offset, newftree, &status); - -+ if (status != NFS4_OK) { -+ if (check_col(pinfo->cinfo, COL_INFO)) { -+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s(%d)", -+ val_to_str(opcode, names_nfsv4_operation, "Unknown"), -+ status); -+ } -+ proto_item_append_text(tree, " %s(%d)", -+ val_to_str(opcode, names_nfsv4_operation, "Unknown"), status); -+ } else { -+ if (check_col(pinfo->cinfo, COL_INFO)) { -+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", -+ val_to_str(opcode, names_nfsv4_operation, "Unknown")); -+ } -+ proto_item_append_text(tree, " %s", -+ val_to_str(opcode, names_nfsv4_operation, "Unknown")); -+ } - /* - * With the exception of NFS4_OP_LOCK, NFS4_OP_LOCKT, and - * NFS4_OP_SETATTR, all other ops do *not* return data with the -@@ -9569,7 +9584,7 @@ dissect_nfs4_compound_reply(tvbuff_t *tv - - offset = dissect_nfs_nfsstat4(tvb, offset, tree, &status); - offset = dissect_nfs_utf8string(tvb, offset, tree, hf_nfs_tag4, &tag); -- if (check_col(pinfo->cinfo, COL_INFO)) { -+ if (check_col(pinfo->cinfo, COL_INFO) && strcmp(tag, "")) { - col_append_fstr(pinfo->cinfo, COL_INFO," %s", tag); - } - -@@ -9663,14 +9678,14 @@ static const value_string nfsv3_proc_val - static const vsff nfs4_proc[] = { - { 0, "NULL", - dissect_nfs3_null_call, dissect_nfs3_null_reply }, -- { 1, "COMPOUND", -+ { 1, "COMP", - dissect_nfs4_compound_call, dissect_nfs4_compound_reply }, - { 0, NULL, NULL, NULL } - }; - - static const value_string nfsv4_proc_vals[] = { - { 0, "NULL" }, -- { 1, "COMPOUND" }, -+ { 1, "COMP" }, - { 0, NULL } - }; - -@@ -9944,7 +9959,7 @@ dissect_nfs_cb_argop(tvbuff_t *tvb, int - { - opcode = tvb_get_ntohl(tvb, offset); - if (check_col(pinfo->cinfo, COL_INFO)) -- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s", ops_counter==0?' ':';', -+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", - val_to_str(opcode, names_nfs_cb_operation, "Unknown")); - - fitem = proto_tree_add_uint(ftree, hf_nfs_cb_argop, tvb, offset, 4, opcode); -@@ -10047,7 +10062,7 @@ dissect_nfs_cb_resop(tvbuff_t *tvb, int - break; - - if (check_col(pinfo->cinfo, COL_INFO)) -- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s", ops_counter==0?' ':';', -+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s", - val_to_str(opcode, names_nfs_cb_operation, "Unknown")); - - fitem = proto_tree_add_uint(ftree, hf_nfs_cb_resop, tvb, offset, 4, opcode); diff --git a/wireshark.spec b/wireshark.spec index 20ee35e..f0b0f52 100644 --- a/wireshark.spec +++ b/wireshark.spec @@ -20,8 +20,8 @@ Summary: Network traffic analyzer Name: wireshark -Version: 1.10.0 -Release: 11%{?dist} +Version: 1.10.1 +Release: 1%{?dist} License: GPL+ Group: Applications/Internet Source0: http://wireshark.org/download/src/%{name}-%{version}.tar.bz2 @@ -34,16 +34,18 @@ Source7: wiresharkdoc-32x32.png Source8: wiresharkdoc-48x48.png Source9: wiresharkdoc-256x256.png -Patch1: wireshark-nfsv41-cleanup.patch -Patch2: wireshark-1.2.4-enable_lua.patch -Patch3: wireshark-libtool-pie.patch -Patch4: wireshark-1.6.1-group-msg.patch -Patch5: wireshark-1.6.0-soname.patch -Patch6: wireshark-1.8.x-pod2man-encoding.patch -Patch7: wireshark-1.8.x-flow-graph-crash.patch -Patch8: wireshark-1.8.x-dcom-string-overrun.patch -Patch9: wireshark-1.8.x-sctp-bytes-graph-crash.patch -Patch10: wireshark-1.8.x-tap-iostat-overflow.patch +# Fedora-specific +Patch1: wireshark-0001-enable-Lua-support.patch +# Fedora-specific +Patch2: wireshark-0002-Customize-permission-denied-error.patch +# Fedora-specific +Patch3: wireshark-0003-Load-correct-shared-object-name-in-python.patch +Patch4: wireshark-0004-fix-documentation-build-error.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 +Patch6: wireshark-0006-From-Peter-Lemenkov-via-https-bugs.wireshark.org-bug.patch +# backported from upstream commit, svn path=/trunk/; revision=49436 +Patch7: wireshark-0007-Fix-.-reordercap.pod-unterminated-list-s-at-head-in-.patch Url: http://www.wireshark.org/ BuildRequires: libpcap-devel >= 0.9 @@ -131,22 +133,18 @@ and plugins. %prep -%setup -q -n %{name}-%{version} -# disable NFS patch for now, remove if steved@redhat.com does not complain -#%patch1 -p1 +%setup -q %if %{with_lua} -%patch2 -p1 -b .enable_lua +%patch1 -p1 -b .enable_lua %endif -%patch3 -p1 -b .v4cleanup -%patch4 -p1 -b .group-msg -%patch5 -p1 -b .soname -%patch6 -p1 -b .pod2man -%patch7 -p1 -b .flow-graph-crash -%patch8 -p1 -b .dcom-overrun -%patch9 -p1 -b .sctp-bytes-graph-crash -%patch10 -p1 -b .tap-iostat-overflow +%patch2 -p1 -b .perm_denied_customization +%patch3 -p1 -b .soname +%patch4 -p1 -b .pod2man +%patch5 -p1 -b .profinet_crash +%patch6 -p1 -b .rtpproxy +%patch7 -p1 -b .add_end %build %ifarch s390 s390x sparcv9 sparc64 @@ -160,9 +158,7 @@ export CFLAGS="$RPM_OPT_FLAGS $CPPFLAGS $PIECFLAGS -D_LARGEFILE64_SOURCE" export CXXFLAGS="$RPM_OPT_FLAGS $CPPFLAGS $PIECFLAGS -D_LARGEFILE64_SOURCE" export LDFLAGS="$LDFLAGS -pie" -# Temporary hack - wireshark-1.8.0 is not compilable with upstream -# Makefile.in / configure, they need to be regenerated -./autogen.sh +autoreconf -ivf %configure \ --bindir=%{_sbindir} \ @@ -213,28 +209,28 @@ make %{?_smp_mflags} # The evil plugins hack perl -pi -e 's|-L../../epan|-L../../epan/.libs|' plugins/*/*.la -make DESTDIR=$RPM_BUILD_ROOT install +make DESTDIR=%{buildroot} install # Install python stuff. -mkdir -p $RPM_BUILD_ROOT%{python_sitearch} -install -m 644 tools/wireshark_be.py tools/wireshark_gen.py $RPM_BUILD_ROOT%{python_sitearch} +mkdir -p %{buildroot}%{python_sitearch} +install -m 644 tools/wireshark_be.py tools/wireshark_gen.py %{buildroot}%{python_sitearch} -desktop-file-install \ - --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \ +desktop-file-install \ + --dir %{buildroot}%{_datadir}/applications \ --add-category X-Fedora \ %{SOURCE3} -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64,256x256}/apps +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64,256x256}/apps -install -m 644 image/wsicon16.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/16x16/apps/wireshark.png -install -m 644 image/wsicon32.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/wireshark.png -install -m 644 image/wsicon48.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/wireshark.png -install -m 644 image/wsicon64.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/64x64/apps/wireshark.png -install -m 644 image/wsicon256.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/256x256/apps/wireshark.png +install -m 644 image/wsicon16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/wireshark.png +install -m 644 image/wsicon32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/wireshark.png +install -m 644 image/wsicon48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/wireshark.png +install -m 644 image/wsicon64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/wireshark.png +install -m 644 image/wsicon256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/wireshark.png #install devel files (inspired by debian/wireshark-dev.header-files) -install -d -m 0755 $RPM_BUILD_ROOT/%{_includedir}/wireshark -IDIR="${RPM_BUILD_ROOT}%{_includedir}/wireshark" +install -d -m 0755 %{buildroot}%{_includedir}/wireshark +IDIR="%{buildroot}%{_includedir}/wireshark" mkdir -p "${IDIR}/epan" mkdir -p "${IDIR}/epan/crypt" mkdir -p "${IDIR}/epan/ftypes" @@ -244,7 +240,7 @@ mkdir -p "${IDIR}/wiretap" mkdir -p "${IDIR}/wsutil" install -m 644 color.h config.h register.h "${IDIR}/" install -m 644 cfile.h file.h "${IDIR}/" -install -m 644 packet-range.h print.h "${IDIR}/" +install -m 644 packet-range.h print.h "${IDIR}/" install -m 644 epan/*.h "${IDIR}/epan/" install -m 644 epan/crypt/*.h "${IDIR}/epan/crypt" install -m 644 epan/ftypes/*.h "${IDIR}/epan/ftypes" @@ -255,8 +251,8 @@ install -m 644 wsutil/*.h "${IDIR}/wsutil" install -m 644 ws_symbol_export.h "${IDIR}/" # Create pkg-config control file. -mkdir -p "${RPM_BUILD_ROOT}%{_libdir}/pkgconfig" -cat > "${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/wireshark.pc" <<- "EOF" +mkdir -p "%{buildroot}%{_libdir}/pkgconfig" +cat > "%{buildroot}%{_libdir}/pkgconfig/wireshark.pc" <<- "EOF" prefix=%{_prefix} exec_prefix=%{_prefix} libdir=%{_libdir} @@ -271,25 +267,25 @@ cat > "${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/wireshark.pc" <<- "EOF" EOF # Install the autoconf macro. -mkdir -p "${RPM_BUILD_ROOT}%{_datadir}/aclocal" -cp "%{SOURCE4}" "${RPM_BUILD_ROOT}%{_datadir}/aclocal/wireshark.m4" +mkdir -p "%{buildroot}%{_datadir}/aclocal" +cp "%{SOURCE4}" "%{buildroot}%{_datadir}/aclocal/wireshark.m4" # Install desktop stuff -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/{icons/gnome/{16x16,32x32,48x48,256x256}/mimetypes,mime/packages} -install -m 644 -T %{SOURCE5} $RPM_BUILD_ROOT/%{_datadir}/mime/packages/wireshark.xml -install -m 644 -T %{SOURCE6} $RPM_BUILD_ROOT/%{_datadir}/icons/gnome/16x16/mimetypes/application-x-pcap.png -install -m 644 -T %{SOURCE7} $RPM_BUILD_ROOT/%{_datadir}/icons/gnome/32x32/mimetypes/application-x-pcap.png -install -m 644 -T %{SOURCE8} $RPM_BUILD_ROOT/%{_datadir}/icons/gnome/48x48/mimetypes/application-x-pcap.png -install -m 644 -T %{SOURCE9} $RPM_BUILD_ROOT/%{_datadir}/icons/gnome/256x256/mimetypes/application-x-pcap.png +mkdir -p %{buildroot}%{_datadir}/{icons/gnome/{16x16,32x32,48x48,256x256}/mimetypes,mime/packages} +install -m 644 -T %{SOURCE5} %{buildroot}%{_datadir}/mime/packages/wireshark.xml +install -m 644 -T %{SOURCE6} %{buildroot}%{_datadir}/icons/gnome/16x16/mimetypes/application-x-pcap.png +install -m 644 -T %{SOURCE7} %{buildroot}%{_datadir}/icons/gnome/32x32/mimetypes/application-x-pcap.png +install -m 644 -T %{SOURCE8} %{buildroot}%{_datadir}/icons/gnome/48x48/mimetypes/application-x-pcap.png +install -m 644 -T %{SOURCE9} %{buildroot}%{_datadir}/icons/gnome/256x256/mimetypes/application-x-pcap.png # Remove .la files -rm -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/plugins/%{version}/*.la +rm -f %{buildroot}%{_libdir}/%{name}/plugins/%{version}/*.la # Remove .la files in libdir -rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/*.la # add wspy_dissectors directory for plugins -mkdir -p $RPM_BUILD_ROOT/%{_libdir}/%{name}/python/%{version}/wspy_dissectors +mkdir -p %{buildroot}%{_libdir}/%{name}/python/%{version}/wspy_dissectors %pre getent group wireshark >/dev/null || groupadd -r wireshark @@ -320,7 +316,7 @@ gtk-update-icon-cache %{_datadir}/icons/gnome &>/dev/null || : gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -%doc AUTHORS COPYING ChangeLog INSTALL NEWS README* +%doc AUTHORS COPYING ChangeLog INSTALL NEWS README* %{_sbindir}/editcap %{_sbindir}/tshark %{_sbindir}/mergecap @@ -375,6 +371,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_datadir}/aclocal/* %changelog +* Mon Sep 09 2013 Peter Lemenkov - 1.10.1-1 +- Ver. 1.10.1 +- Backported rtpproxy dissector module + * Wed Sep 04 2013 Peter Hatina - 1.10.0-11 - fix missing ws_symbol_export.h diff --git a/wiresharkdoc-24x24.png b/wiresharkdoc-24x24.png deleted file mode 100644 index 6db9ef4..0000000 Binary files a/wiresharkdoc-24x24.png and /dev/null differ