Wireshark ver. 1.12.0

- Dropped a lot of outdated patches.
- Added /usr/sbin/captype application.
- Added temporary workaround for wireshark.pc.in missing in the official
  tarball.
- Removed outdated --with-dumpcap-group="wireshark" cli switch. It
  doesn't work during rpmbuild, and we still set group explicitly in the
'files' section.
- Removed --enable-setcap-install. Likewise.
- Some ANSI C header files were moved to epan/

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This commit is contained in:
Peter Lemenkov 2014-08-07 18:35:19 +04:00
parent 5854965e20
commit d3e57132f6
29 changed files with 157 additions and 7983 deletions

1
.gitignore vendored
View File

@ -34,3 +34,4 @@ wireshark-1.2.10.tar.bz2
/wireshark-1.10.7.tar.bz2
/wireshark-1.10.8.tar.bz2
/wireshark-1.10.9.tar.bz2
/wireshark-1.12.0.tar.bz2

View File

@ -1 +1 @@
c8f0bf0f5bff39ae4ad0a48e41585cd2 wireshark-1.10.9.tar.bz2
8dcfe451d8769901129809d2e19c1fb7 wireshark-1.12.0.tar.bz2

View File

@ -4,7 +4,7 @@ Subject: [PATCH] enable Lua support
diff --git a/epan/wslua/template-init.lua b/epan/wslua/template-init.lua
index e6ec4ae..2538c4c 100644
index 3fe2aca..2b48f9b 100644
--- a/epan/wslua/template-init.lua
+++ b/epan/wslua/template-init.lua
@@ -43,7 +43,7 @@ if running_superuser then

View File

@ -8,10 +8,10 @@ because of permissions.
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
diff --git a/capture_sync.c b/capture_sync.c
index 391aa6a..6dfe1de 100644
index 2f9d2cc..b18e47f 100644
--- a/capture_sync.c
+++ b/capture_sync.c
@@ -368,6 +368,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session)
@@ -374,6 +374,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, voi
gchar *signal_pipe_name;
#else
char errmsg[1024+1];
@ -19,7 +19,7 @@ index 391aa6a..6dfe1de 100644
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)
@@ -649,8 +650,11 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, voi
dup2(sync_pipe[PIPE_WRITE], 2);
ws_close(sync_pipe[PIPE_READ]);
execv(argv[0], argv);
@ -33,7 +33,7 @@ index 391aa6a..6dfe1de 100644
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,
@@ -745,6 +749,7 @@ sync_pipe_open_command(char** argv, int *data_read_fd,
PROCESS_INFORMATION pi;
#else
char errmsg[1024+1];
@ -41,7 +41,7 @@ index 391aa6a..6dfe1de 100644
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,
@@ -879,8 +884,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);

View File

@ -1,21 +0,0 @@
From: Jan Safranek <jsafrane@redhat.com>
Date: Thu, 9 Jun 2011 14:56:59 +0200
Subject: [PATCH] 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 --git a/epan/wspython/wspy_libws.py b/epan/wspython/wspy_libws.py
index a293a17..0c528e4 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.3'
def get_libws_handle():
global __libwireshark

View File

@ -4,15 +4,15 @@ Subject: [PATCH] fix string overrun in plugins/profinet
diff --git a/plugins/profinet/packet-dcom-cba.c b/plugins/profinet/packet-dcom-cba.c
index b44caed..396de82 100644
index 0f1658a..f7fd322 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)
@@ -557,7 +557,7 @@ dissect_ICBAPhysicalDevice_get_LogicalDevice_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
- gchar szStr[1000];
+ gchar szStr[1000] = "";
guint32 u32MaxStr = sizeof(szStr);
dcerpc_info *info = (dcerpc_info *) pinfo->private_data;
gchar *call;

View File

@ -1,23 +0,0 @@
From: Peter Hatina <phatina@redhat.com>
Date: Mon, 8 Apr 2013 13:03:24 +0200
Subject: [PATCH] fix documentation build error
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

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Restore Fedora-specific groups
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/wireshark.desktop b/wireshark.desktop
index b0fe1ae..d275887 100644
index 9e3ddcd..828eca7 100644
--- a/wireshark.desktop
+++ b/wireshark.desktop
@@ -76,4 +76,4 @@ Terminal=false
@@ -75,4 +75,4 @@ Terminal=false
MimeType=application/vnd.tcpdump.pcap;application/x-pcapng;application/x-snoop;application/x-iptrace;application/x-lanalyzer;application/x-nettl;application/x-radcom;application/x-etherpeek;application/x-visualnetworks;application/x-netinstobserver;application/x-5view;
# Category entry according to:
# http://standards.freedesktop.org/menu-spec/1.0/

View File

@ -4,12 +4,12 @@ Subject: [PATCH] Add pkgconfig entry
diff --git a/Makefile.am b/Makefile.am
index f3e313c..07efc02 100644
index c60d873..40a6e4d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,6 +50,9 @@ bin_PROGRAMS = \
EXTRA_PROGRAMS = wireshark tshark capinfos editcap mergecap dftest \
randpkt text2pcap dumpcap reordercap rawshark wireshark_cxx
@@ -53,6 +53,9 @@ EXTRA_PROGRAMS = wireshark wireshark-qt tshark tfshark capinfos captype editcap
mergecap dftest randpkt text2pcap dumpcap reordercap rawshark \
wireshark_cxx echld_test
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = wireshark.pc
@ -18,10 +18,10 @@ index f3e313c..07efc02 100644
# Wireshark configuration files are put in $(pkgdatadir).
#
diff --git a/configure.ac b/configure.ac
index 488d8d0..0c1ed4d 100644
index 20eb3b3..8c9b79c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2549,6 +2549,7 @@ AC_CONFIG_HEADERS(config.h)
@@ -2779,6 +2779,7 @@ AC_CONFIG_HEADERS(config.h)
AC_OUTPUT(
Makefile
doxygen.cfg
@ -30,17 +30,28 @@ index 488d8d0..0c1ed4d 100644
_CUSTOM_ASN1_AC_OUTPUT_
asn1/acp133/Makefile
diff --git a/wireshark.pc.in b/wireshark.pc.in
new file mode 100644
index 0000000..2e2fcdc
--- /dev/null
index 91bf28b..2e2fcdc 100644
--- a/wireshark.pc.in
+++ b/wireshark.pc.in
@@ -0,0 +1,11 @@
@@ -1,14 +1,11 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
-sharedlibdir=${libdir}
-includedir=${prefix}/include/wireshark
-plugindir=@PLUGIN_INSTALL_DIR@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: wireshark
Name: wireshark
-Description: wireshark network packet dissection library
-Version: @PROJECT_VERSION@
-
-Requires:
-Libs: -L${libdir} -L${sharedlibdir} -lwireshark
-Cflags: -I${includedir}
+Description: Network Traffic Analyzer
+Version: @PACKAGE_VERSION@
+Requires: glib-2.0 gmodule-2.0

View File

@ -4,10 +4,10 @@ Subject: [PATCH] Install autoconf-related file
diff --git a/Makefile.am b/Makefile.am
index 07efc02..2ce4527 100644
index 40a6e4d..82f7fdf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -53,6 +53,9 @@ EXTRA_PROGRAMS = wireshark tshark capinfos editcap mergecap dftest \
@@ -56,6 +56,9 @@ EXTRA_PROGRAMS = wireshark wireshark-qt tshark tfshark capinfos captype editcap
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = wireshark.pc

File diff suppressed because it is too large Load Diff

View File

@ -2,73 +2,18 @@ From: Peter Hatina <phatina@redhat.com>
Date: Tue, 24 Sep 2013 10:55:09 +0200
Subject: [PATCH] move default temporary directory to /var/tmp
Conflicts:
wsutil/Makefile.common
wsutil/filesystem.c
wsutil/tempfile.c
diff --git a/epan/filesystem.c b/epan/filesystem.c
index 053711d..adf3b91 100644
--- a/epan/filesystem.c
+++ b/epan/filesystem.c
@@ -74,6 +74,8 @@
Change-Id: I881c17e1fa3cb292dabe7612bc06748cccfcfcda
#include <wiretap/wtap.h> /* for WTAP_ERR_SHORT_WRITE */
+#include <wsutil/wstmpdir.h> /* for get_tmp_dir() */
+
#define PROFILES_DIR "profiles"
#define PLUGINS_DIR_NAME "plugins"
@@ -1574,7 +1576,7 @@ deletefile(const char *path)
*/
char *get_tempfile_path(const char *filename)
{
- return g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", g_get_tmp_dir(), filename);
+ return g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_tmp_dir(), filename);
}
/*
diff --git a/tempfile.c b/tempfile.c
index 2fab0df..10ab3e6 100644
--- a/tempfile.c
+++ b/tempfile.c
@@ -50,6 +50,7 @@
#include "tempfile.h"
#include <wsutil/file_util.h>
+#include <wsutil/wstmpdir.h> /* For get_tmp_dir() */
#ifndef __set_errno
#define __set_errno(x) errno=(x)
@@ -203,7 +204,7 @@ create_tempfile(char **namebuf, const char *pfx)
/*
* We can't use get_tempfile_path here because we're called from dumpcap.c.
*/
- tmp_dir = g_get_tmp_dir();
+ tmp_dir = get_tmp_dir();
#ifdef _WIN32
_tzset();
@@ -237,7 +238,7 @@ create_tempfile(char **namebuf, const char *pfx)
/**
* Create a directory with the given prefix (e.g. "wireshark"). The path
- * is created using g_get_tmp_dir and mkdtemp.
+ * is created using get_tmp_dir and mkdtemp.
*
* @param namebuf
* @param pfx A prefix for the temporary directory.
@@ -265,7 +266,7 @@ create_tempdir(char **namebuf, const char *pfx)
/*
* We can't use get_tempfile_path here because we're called from dumpcap.c.
*/
- tmp_dir = g_get_tmp_dir();
+ tmp_dir = get_tmp_dir();
while (g_snprintf(td_path[idx], td_path_len[idx], "%s%c%s" TMP_FILE_SUFFIX, tmp_dir, G_DIR_SEPARATOR, pfx) > td_path_len[idx]) {
td_path_len[idx] *= 2;
diff --git a/ui/gtk/proto_help.c b/ui/gtk/proto_help.c
index bbf5fe0..9998a22 100644
index 6de7daa..a644615 100644
--- a/ui/gtk/proto_help.c
+++ b/ui/gtk/proto_help.c
@@ -44,6 +44,8 @@
@@ -42,6 +42,8 @@
#include <epan/strutil.h>
#include <epan/proto.h>
@ -77,7 +22,7 @@ index bbf5fe0..9998a22 100644
#include "ui/gtk/proto_help.h"
/*
@@ -162,7 +164,7 @@ void proto_help_init(void)
@@ -160,7 +162,7 @@ void proto_help_init(void)
/* Start loop */
#ifdef PH_DEBUG_LOG
@ -87,26 +32,74 @@ index bbf5fe0..9998a22 100644
for (i = 0; i < PH_CONF_DIRS; i++) {
diff --git a/wsutil/Makefile.common b/wsutil/Makefile.common
index 570dbe6..7a33f5b 100644
index 75c31bd..81648a7 100644
--- a/wsutil/Makefile.common
+++ b/wsutil/Makefile.common
@@ -43,7 +43,8 @@ LIBWSUTIL_SRC = \
mpeg-audio.c \
privileges.c \
str_util.c \
- type_util.c
+ type_util.c \
@@ -62,7 +62,8 @@ LIBWSUTIL_SRC = \
time_util.c \
type_util.c \
u3.c \
- unicode-utils.c
+ unicode-utils.c \
+ wstmpdir.c
# Header files that are not generated from other files
LIBWSUTIL_INCLUDES = \
@@ -60,4 +61,5 @@ LIBWSUTIL_INCLUDES = \
mpeg-audio.h \
privileges.h \
str_util.h \
- type_util.h
+ type_util.h \
@@ -104,4 +105,5 @@ LIBWSUTIL_INCLUDES = \
time_util.h \
type_util.h \
u3.h \
- unicode-utils.h
+ unicode-utils.h \
+ wstmpdir.h
diff --git a/wsutil/tempfile.c b/wsutil/tempfile.c
index ccefe30..ac40319 100644
--- a/wsutil/tempfile.c
+++ b/wsutil/tempfile.c
@@ -48,6 +48,7 @@
#include "tempfile.h"
#include <wsutil/file_util.h>
+#include <wsutil/wstmpdir.h> /* For get_tmp_dir() */
#ifndef __set_errno
#define __set_errno(x) errno=(x)
@@ -150,7 +151,7 @@ mkdtemp (char *template)
*/
char *get_tempfile_path(const char *filename)
{
- return g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", g_get_tmp_dir(), filename);
+ return g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_tmp_dir(), filename);
}
#define MAX_TEMPFILES 3
@@ -207,7 +208,7 @@ create_tempfile(char **namebuf, const char *pfx)
tf[idx].path = (char *)g_malloc(tf[idx].len);
}
- tmp_dir = g_get_tmp_dir();
+ tmp_dir = get_tmp_dir();
#ifdef _WIN32
_tzset();
@@ -241,7 +242,7 @@ create_tempfile(char **namebuf, const char *pfx)
/**
* Create a directory with the given prefix (e.g. "wireshark"). The path
- * is created using g_get_tmp_dir and mkdtemp.
+ * is created using get_tmp_dir and mkdtemp.
*
* @param namebuf
* @param pfx A prefix for the temporary directory.
@@ -269,7 +270,7 @@ create_tempdir(char **namebuf, const char *pfx)
/*
* We can't use get_tempfile_path here because we're called from dumpcap.c.
*/
- tmp_dir = g_get_tmp_dir();
+ tmp_dir = get_tmp_dir();
while (g_snprintf(td_path[idx], td_path_len[idx], "%s%c%s" TMP_FILE_SUFFIX, tmp_dir, G_DIR_SEPARATOR, pfx) > td_path_len[idx]) {
td_path_len[idx] *= 2;
diff --git a/wsutil/wstmpdir.c b/wsutil/wstmpdir.c
new file mode 100644
index 0000000..d8b733b

View File

@ -4,10 +4,10 @@ Subject: [PATCH] Fix paths in a wireshark.desktop file
diff --git a/wireshark.desktop b/wireshark.desktop
index d275887..a72a655 100644
index 828eca7..eef3503 100644
--- a/wireshark.desktop
+++ b/wireshark.desktop
@@ -70,8 +70,8 @@ Comment[fi]=Verkkoliikenne analysaattori
@@ -69,8 +69,8 @@ Comment[fi]=Verkkoliikenne analysaattori
Comment[fr]=Analyseur de trafic réseau
Comment[sv]=Nätverkstrafikanalysator
Icon=wireshark

View File

@ -1,60 +0,0 @@
From: Guy Harris <guy@alum.mit.edu>
Date: Thu, 7 Nov 2013 01:54:16 +0000
Subject: [PATCH] Copy over r49999 from trunk:
------------------------------------------------------------------------
r49999 | eapache | 2013-06-17 18:02:26 -0700 (Mon, 17 Jun 2013) | 10 lines
Don't limit the on-the-wire length of packets to 64KB, there are larger packets
out there (especially over USB) and we should be able to load them as long as
they are snapped to a sane length.
Also validate that packets do not specify a snapshot length larger than the one
in the file header, though only make it a warning, as this is not necessarily a
fatally corrupt packet.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8808
------------------------------------------------------------------------
Also fixes bug 9390.
svn path=/trunk-1.10/; revision=53123
diff --git a/wiretap/libpcap.c b/wiretap/libpcap.c
index cb9e97c..9601332 100644
--- a/wiretap/libpcap.c
+++ b/wiretap/libpcap.c
@@ -773,21 +773,8 @@ static int libpcap_read_header(wtap *wth, int *err, gchar **err_info,
return -1;
}
- if (hdr->hdr.orig_len > WTAP_MAX_PACKET_SIZE) {
- /*
- * Probably a corrupt capture file; return an error,
- * so that our caller doesn't blow up trying to
- * cope with a huge "real" packet length, and so that
- * the code to try to guess what type of libpcap file
- * this is can tell when it's not the type we're guessing
- * it is.
- */
- *err = WTAP_ERR_BAD_FILE;
- if (err_info != NULL) {
- *err_info = g_strdup_printf("pcap: File has %u-byte packet, bigger than maximum of %u",
- hdr->hdr.orig_len, WTAP_MAX_PACKET_SIZE);
- }
- return -1;
+ if (hdr->hdr.incl_len > wth->snapshot_length) {
+ g_warning("pcap: File has packet larger than file's snapshot length.");
}
return bytes_read;
@@ -955,7 +942,7 @@ static gboolean libpcap_dump(wtap_dumper *wdh,
rec_hdr.hdr.incl_len = phdr->caplen + phdrsize;
rec_hdr.hdr.orig_len = phdr->len + phdrsize;
- if (rec_hdr.hdr.incl_len > WTAP_MAX_PACKET_SIZE || rec_hdr.hdr.orig_len > WTAP_MAX_PACKET_SIZE) {
+ if (rec_hdr.hdr.incl_len > WTAP_MAX_PACKET_SIZE) {
*err = WTAP_ERR_BAD_FILE;
return FALSE;
}

View File

@ -1,22 +0,0 @@
From: Pascal Quantin <pascal.quantin@gmail.com>
Date: Sat, 9 Nov 2013 15:44:01 +0000
Subject: [PATCH] Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9388
: Avoid an infinite loop in SIP dissector (backport of r51738)
svn path=/trunk-1.10/; revision=53195
diff --git a/epan/dissectors/packet-sip.c b/epan/dissectors/packet-sip.c
index a3ceec2..b012837 100644
--- a/epan/dissectors/packet-sip.c
+++ b/epan/dissectors/packet-sip.c
@@ -2134,6 +2134,10 @@ dissect_sip_common(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tr
*/
orig_offset = offset;
linelen = tvb_find_line_end(tvb, offset, -1, &next_offset, FALSE);
+ if(linelen==0){
+ return -2;
+ }
+
if (tvb_strnlen(tvb, offset, linelen) > -1)
{
/*

View File

@ -1,19 +0,0 @@
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

@ -1,32 +0,0 @@
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

@ -1,295 +0,0 @@
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

@ -1,31 +0,0 @@
From: Bill Meier <wmeier@newsguy.com>
Date: Tue, 17 Dec 2013 21:18:15 +0000
Subject: [PATCH] Copy over from Trunk
------------------------------------------------------------------------
r54181 | wmeier | 2013-12-17 10:02:47 -0500 (Tue, 17 Dec 2013) | 8 lines
From "bd": Fix " Wireshark stops showing new packets but dumpcap keeps writing them to the temp file"
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9571
From me: Fixed in a slightly different manner than sugested in the patch attached to the bug.
------------------------------------------------------------------------
svn path=/trunk-1.10/; revision=54196
diff --git a/dumpcap.c b/dumpcap.c
index 4d42e71..7098f0c 100644
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -3653,8 +3653,8 @@ capture_loop_start(capture_options *capture_opts, gboolean *stats_known, struct
if ((cur_time - upd_time) > DUMPCAP_UPD_TIME) { /* wrap just causes an extra update */
#else
gettimeofday(&cur_time, NULL);
- if ((cur_time.tv_sec * 1000000 + cur_time.tv_usec) >
- (upd_time.tv_sec * 1000000 + upd_time.tv_usec + DUMPCAP_UPD_TIME*1000)) {
+ if (((guint64)cur_time.tv_sec * 1000000 + cur_time.tv_usec) >
+ ((guint64)upd_time.tv_sec * 1000000 + upd_time.tv_usec + DUMPCAP_UPD_TIME*1000)) {
#endif
upd_time = cur_time;

View File

@ -1,22 +0,0 @@
From: Michael Mann <mmann78@netscape.net>
Date: Wed, 18 Dec 2013 13:15:13 +0000
Subject: [PATCH] Bugfix port number endianness. Bug 9530
(https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9530)
Taken from part of r52609 enhancement.
svn path=/trunk-1.10/; revision=54217
diff --git a/epan/dissectors/packet-bitcoin.c b/epan/dissectors/packet-bitcoin.c
index 5dd9dae..d7467da 100644
--- a/epan/dissectors/packet-bitcoin.c
+++ b/epan/dissectors/packet-bitcoin.c
@@ -256,7 +256,7 @@ create_address_tree(tvbuff_t *tvb, proto_item *ti, guint32 offset)
offset += 16;
/* port */
- proto_tree_add_item(tree, hf_address_port, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(tree, hf_address_port, tvb, offset, 2, ENC_BIG_ENDIAN);
return tree;
}

View File

@ -1,81 +0,0 @@
From: Chris Maynard <Christopher.Maynard@GTECH.COM>
Date: Wed, 18 Dec 2013 16:31:29 +0000
Subject: [PATCH] Something went wrong with the backport of r53608 + r53611.
Fix it.
svn path=/trunk-1.10/; revision=54225
diff --git a/ui/gtk/capture_dlg.c b/ui/gtk/capture_dlg.c
index 44d5652..db74289 100644
--- a/ui/gtk/capture_dlg.c
+++ b/ui/gtk/capture_dlg.c
@@ -1019,7 +1019,7 @@ guint32 value)
if (value > (((guint32)G_MAXINT + 1) / 1000)) {
return 0;
} else {
- return value;
+ return value;
}
case(SIZE_UNIT_MEGABYTES):
if (value > (((guint32)G_MAXINT + 1) / (1000 * 1000))) {
@@ -3257,13 +3257,11 @@ static void promisc_mode_callback(GtkToggleButton *button, gpointer d _U_)
GtkTreeIter iter;
GtkTreeView *if_cb;
GtkTreeModel *model;
- gboolean enabled = FALSE, set;
+ gboolean enabled = FALSE;
interface_t device;
interface_options interface_opts;
guint i;
- set = gtk_toggle_button_get_active(button);
- gtk_toggle_button_set_active(button, (set?FALSE:TRUE));
if (gtk_toggle_button_get_active(button))
enabled = TRUE;
@@ -4489,7 +4487,9 @@ update_properties_all(void)
/* If all selected interfaces are in promiscuous mode, check the global
"promiscuous mode" checkbox, otherwise un-check it. */
promisc_b = (GtkWidget *)g_object_get_data(G_OBJECT(cap_open_w), E_CAP_PROMISC_KEY_ALL);
+ g_signal_handler_block(promisc_b, promisc_all_handler_id);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(promisc_b), promisc_all);
+ g_signal_handler_unblock(promisc_b, promisc_all_handler_id);
/* If all selected interfaces have the same filter string, set the
global filter string to it. */
@@ -5315,7 +5315,7 @@ fprintf(stderr, "Adding the default filter \"%s\"???\n", global_capture_opts.def
window_get_geometry(top_level, &tl_geom);
gtk_window_set_default_size(GTK_WINDOW(cap_open_w), tl_geom.width * 8 / 10, -1);
-
+
gtk_widget_show_all(cap_open_w);
window_present(cap_open_w);
@@ -5356,7 +5356,7 @@ capture_start_cb(GtkWidget *w _U_, gpointer d _U_)
}
success = capture_dlg_prep(cap_open_w);
if (success)
- window_destroy(GTK_WIDGET(cap_open_w));
+ window_destroy(GTK_WIDGET(cap_open_w));
if (!success)
return; /* error in options dialog */
}
@@ -5712,7 +5712,7 @@ create_and_fill_model(GtkTreeView *view)
device.snaplen = WTAP_MAX_PACKET_SIZE;
device.has_snaplen = FALSE;
}
-
+
if (device.has_snaplen) {
snaplen_string = g_strdup_printf("%d", device.snaplen);
} else {
@@ -5725,7 +5725,7 @@ create_and_fill_model(GtkTreeView *view)
device.buffer = buffer;
} else {
device.buffer = DEFAULT_CAPTURE_BUFFER_SIZE;
- }
+ }
#endif
global_capture_opts.all_ifaces = g_array_remove_index(global_capture_opts.all_ifaces, i);
g_array_insert_val(global_capture_opts.all_ifaces, i, device);

View File

@ -1,21 +0,0 @@
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Wed, 18 Dec 2013 13:39:07 +0400
Subject: [PATCH] Remove g_memmove
Glib no longer offers this macro so we have to fallback to C90 memmove.
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/packaging/macosx/native-gtk/glibconfig.h b/packaging/macosx/native-gtk/glibconfig.h
index e0a9589..2730202 100644
--- a/packaging/macosx/native-gtk/glibconfig.h
+++ b/packaging/macosx/native-gtk/glibconfig.h
@@ -78,8 +78,6 @@ typedef unsigned long gsize;
# define g_ATEXIT(proc) (atexit (proc))
#endif
-#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
-
#define GLIB_MAJOR_VERSION 2
#define GLIB_MINOR_VERSION 12
#define GLIB_MICRO_VERSION 9

View File

@ -1,299 +0,0 @@
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Fri, 13 Dec 2013 22:10:21 +0400
Subject: [PATCH] Fix IP types
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/epan/dissectors/packet-rtpproxy.c b/epan/dissectors/packet-rtpproxy.c
index e8c5c95..6291de3 100644
--- a/epan/dissectors/packet-rtpproxy.c
+++ b/epan/dissectors/packet-rtpproxy.c
@@ -40,6 +40,9 @@
#include <epan/expert.h>
#include <epan/rtp_pt.h>
+#include <epan/exceptions.h>
+#include <epan/show_exception.h>
+
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
@@ -69,8 +72,8 @@ static int hf_rtpproxy_command = -1;
static int hf_rtpproxy_command_parameters = -1;
static int hf_rtpproxy_command_parameter = -1;
static int hf_rtpproxy_command_parameter_codec = -1;
-static int hf_rtpproxy_command_parameter_local = -1;
-static int hf_rtpproxy_command_parameter_remote = -1;
+static int hf_rtpproxy_command_parameter_local_ipv4 = -1;
+static int hf_rtpproxy_command_parameter_remote_ipv4 = -1;
static int hf_rtpproxy_command_parameter_repacketize = -1;
static int hf_rtpproxy_command_parameter_dtmf = -1;
/* static int hf_rtpproxy_command_parameter_cmap = -1; TODO */
@@ -294,8 +297,8 @@ rtpproxy_add_tag(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, guint re
return (end == realsize ? -1 : (gint)end);
}
-void
-rtpproxy_add_parameter(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, guint realsize)
+static void
+rtpproxy_add_parameter(tvbuff_t *tvb, packet_info *pinfo, proto_tree *rtpproxy_tree, guint begin, guint realsize)
{
proto_item *ti;
proto_tree *another_tree = NULL;
@@ -306,6 +309,7 @@ rtpproxy_add_parameter(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, gu
gchar** codecs = NULL;
guint codec_len;
guint8* rawstr = NULL;
+ guint32 ipaddr[4]; /* Enough room for IPv4 or IPv6 */
/* Extract the entire parameters line. */
/* Something like "t4p1iic8,0,2,4,18,96,97,98,100,101" */
@@ -338,13 +342,19 @@ rtpproxy_add_parameter(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, gu
case 'l':
new_offset = (gint)strspn(rawstr+offset, "0123456789.");
another_tree = proto_item_add_subtree(ti, ett_rtpproxy_command_parameters_local);
- proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_local, tvb, begin+offset, new_offset, ENC_ASCII | ENC_NA);
+ if(inet_pton(AF_INET, (char*)tvb_get_ephemeral_string(tvb, begin+offset, new_offset), ipaddr))
+ proto_tree_add_ipv4(another_tree, hf_rtpproxy_command_parameter_local_ipv4, tvb, begin+offset, new_offset, ipaddr[0]);
+ else
+ show_exception(tvb, pinfo, another_tree, DissectorError, "Bogus IPv4");
offset += new_offset;
break;
case 'r':
new_offset = (gint)strspn(rawstr+offset, "0123456789.");
another_tree = proto_item_add_subtree(ti, ett_rtpproxy_command_parameters_remote);
- proto_tree_add_item(another_tree, hf_rtpproxy_command_parameter_remote, tvb, begin+offset, new_offset, ENC_ASCII | ENC_NA);
+ if(inet_pton(AF_INET, (char*)tvb_get_ephemeral_string(tvb, begin+offset, new_offset), ipaddr))
+ proto_tree_add_ipv4(another_tree, hf_rtpproxy_command_parameter_remote_ipv4, tvb, begin+offset, new_offset, ipaddr[0]);
+ else
+ show_exception(tvb, pinfo, another_tree, DissectorError, "Bogus IPv4");
offset += new_offset;
break;
case 'z':
@@ -437,12 +447,13 @@ rtpproxy_add_tid(gboolean is_request, tvbuff_t *tvb, packet_info *pinfo, proto_t
return rtpproxy_info;
}
-void
-rtpproxy_add_notify_addr(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin, guint end)
+static void
+rtpproxy_add_notify_addr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *rtpproxy_tree, guint begin, guint end)
{
gint offset = 0;
gint tmp = 0;
gboolean ipv6 = FALSE;
+ guint32 ipaddr[4]; /* Enough room for IPv4 or IPv6 */
proto_item *ti;
/* Check for at least one colon */
@@ -454,17 +465,28 @@ rtpproxy_add_notify_addr(proto_tree *rtpproxy_tree, tvbuff_t *tvb, guint begin,
offset = tmp;
}
/* We have ip:port */
- if(ipv6)
- proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_ipv6, tvb, begin, offset - begin, ENC_ASCII | ENC_NA);
- else
- proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, begin, offset - begin, ENC_ASCII | ENC_NA);
+ if(ipv6){
+ if(inet_pton(AF_INET6, (char*)tvb_get_ephemeral_string(tvb, begin, offset - begin), ipaddr))
+ proto_tree_add_ipv6(rtpproxy_tree, hf_rtpproxy_notify_ipv6, tvb, begin, offset - begin, (const guint8 *)ipaddr);
+ else
+ show_exception(tvb, pinfo, rtpproxy_tree, DissectorError, "Bogus IPv6");
+ }
+ else{
+ if(inet_pton(AF_INET, (char*)tvb_get_ephemeral_string(tvb, begin, offset - begin), ipaddr))
+ proto_tree_add_ipv4(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, begin, offset - begin, ipaddr[0]);
+ else
+ show_exception(tvb, pinfo, rtpproxy_tree, DissectorError, "Bogus IPv4");
+ }
proto_tree_add_uint(rtpproxy_tree, hf_rtpproxy_notify_port, tvb, offset+1, end - (offset+1),
(guint16) g_ascii_strtoull((gchar*)tvb_get_ephemeral_string(tvb, offset+1, end - (offset+1)), NULL, 10));
}
else{
- /* Only port is supplied */
- ti = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, begin, 0, ENC_ASCII | ENC_NA);
- proto_item_append_text(ti, "<skipped>");
+ /* Only port is supplied - take IPv4/IPv6 from ip.src/ipv6.src respectively */
+ expert_add_info_format(pinfo, rtpproxy_tree, PI_PROTOCOL, PI_WARN, "Only port is supplied - take IPv4/IPv6 from ip.src/ipv6.src respectively");
+ if (pinfo->src.type == AT_IPv4)
+ ti = proto_tree_add_ipv4(rtpproxy_tree, hf_rtpproxy_notify_ipv4, tvb, begin, 0, ((guint32*)(pinfo->src.data))[0]);
+ else
+ ti = proto_tree_add_ipv6(rtpproxy_tree, hf_rtpproxy_notify_ipv6, tvb, begin, 0, (const guint8 *)(pinfo->src.data));
PROTO_ITEM_SET_GENERATED(ti);
proto_tree_add_uint(rtpproxy_tree, hf_rtpproxy_notify_port, tvb, begin, end - begin,
(guint16) g_ascii_strtoull((gchar*)tvb_get_ephemeral_string(tvb, begin, end - begin), NULL, 10));
@@ -490,7 +512,7 @@ dissect_rtpproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
/* For RT(C)P setup */
address addr;
guint16 port;
- guint32 ipaddr[4];
+ guint32 ipaddr[4]; /* Enough room for IPv4 or IPv6 */
rtpproxy_info_t *rtpproxy_info = NULL;
/* If it does not start with a printable character it's not RTPProxy */
@@ -600,7 +622,7 @@ dissect_rtpproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
if (new_offset != offset + 1){
rtpproxy_tree = proto_item_add_subtree(ti, ett_rtpproxy_command);
ti2 = proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_command_parameters, tvb, offset+1, new_offset - (offset+1), ENC_ASCII | ENC_NA);
- rtpproxy_add_parameter(proto_item_add_subtree(ti2, ett_rtpproxy_command_parameters), tvb, offset+1, new_offset - (offset+1));
+ rtpproxy_add_parameter(tvb, pinfo, proto_item_add_subtree(ti2, ett_rtpproxy_command_parameters), offset+1, new_offset - (offset+1));
rtpproxy_tree = proto_item_get_parent(ti);
}
@@ -623,10 +645,18 @@ dissect_rtpproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
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);
+ if (tvb_find_guint8(tvb, offset, new_offset - offset, ':') == -1){
+ if(inet_pton(AF_INET, (char*)tvb_get_ephemeral_string(tvb, offset, new_offset - offset), ipaddr))
+ proto_tree_add_ipv4(rtpproxy_tree, hf_rtpproxy_ipv4, tvb, offset, new_offset - offset, ipaddr[0]);
+ else
+ show_exception(tvb, pinfo, rtpproxy_tree, DissectorError, "Bogus IPv4");
+ }
+ else{
+ if(inet_pton(AF_INET6, (char*)tvb_get_ephemeral_string(tvb, offset, new_offset - offset), ipaddr))
+ proto_tree_add_ipv6(rtpproxy_tree, hf_rtpproxy_ipv6, tvb, offset, new_offset - offset, (const guint8 *)ipaddr);
+ else
+ show_exception(tvb, pinfo, rtpproxy_tree, DissectorError, "Bogus IPv6");
+ }
/* Skip whitespace */
offset = tvb_skip_wsp(tvb, new_offset+1, -1);
@@ -686,12 +716,12 @@ dissect_rtpproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
new_offset = tvb_find_guint8(tvb, offset, -1, ' ');
if(new_offset == -1){
/* NotifyTag wasn't found (we should re-use Call-ID instead) */
- rtpproxy_add_notify_addr(rtpproxy_tree, tvb, offset, realsize);
+ rtpproxy_add_notify_addr(tvb, pinfo, rtpproxy_tree, offset, realsize);
break; /* No more parameters */
}
/* NotifyTag was found */
- rtpproxy_add_notify_addr(rtpproxy_tree, tvb, offset, new_offset);
+ rtpproxy_add_notify_addr(tvb, pinfo, rtpproxy_tree, offset, new_offset);
/* Skip whitespace */
offset = tvb_skip_wsp(tvb, new_offset+1, -1);
@@ -760,29 +790,38 @@ dissect_rtpproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
offset = tvb_skip_wsp(tvb, new_offset+1, -1);
/* Extract IP */
+ memset(&addr, 0, sizeof(address));
tmp = tvb_find_line_end(tvb, offset, -1, &new_offset, FALSE);
if (tvb_find_guint8(tvb, offset, -1, ':') == -1){
- inet_pton(AF_INET, (char*)tvb_get_ephemeral_string(tvb, offset, tmp), ipaddr);
- addr.type = AT_IPv4;
- addr.len = 4;
- addr.data = ep_memdup(ipaddr, 4);
- proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ipv4, tvb, offset, tmp, ENC_ASCII | ENC_NA);
+ if (inet_pton(AF_INET, (char*)tvb_get_ephemeral_string(tvb, offset, tmp), ipaddr)){
+ addr.type = AT_IPv4;
+ addr.len = 4;
+ addr.data = ep_memdup(ipaddr, 4);
+ proto_tree_add_ipv4(rtpproxy_tree, hf_rtpproxy_ipv4, tvb, offset, tmp, ipaddr[0]);
+ }
+ else
+ show_exception(tvb, pinfo, rtpproxy_tree, DissectorError, "Bogus IPv4");
}
else{
- inet_pton(AF_INET6, (char*)tvb_get_ephemeral_string(tvb, offset, tmp), ipaddr);
- addr.type = AT_IPv6;
- addr.len = 16;
- addr.data = ep_memdup(ipaddr, 16);
- proto_tree_add_item(rtpproxy_tree, hf_rtpproxy_ipv6, tvb, offset, tmp, ENC_ASCII | ENC_NA);
+ if (inet_pton(AF_INET6, (char*)tvb_get_ephemeral_string(tvb, offset, tmp), ipaddr)){
+ addr.type = AT_IPv6;
+ addr.len = 16;
+ addr.data = ep_memdup(ipaddr, 16);
+ proto_tree_add_ipv6(rtpproxy_tree, hf_rtpproxy_ipv6, tvb, offset, tmp, (const guint8 *)ipaddr);
+ }
+ else
+ show_exception(tvb, pinfo, rtpproxy_tree, DissectorError, "Bogus IPv6");
}
if(rtpproxy_establish_conversation){
if (rtp_handle) {
/* FIXME tell if isn't a video stream, and setup codec mapping */
- rtp_add_address(pinfo, &addr, port, 0, "RTPproxy", pinfo->fd->num, 0, NULL);
+ if (addr.len)
+ rtp_add_address(pinfo, &addr, port, 0, "RTPproxy", pinfo->fd->num, 0, NULL);
}
if (rtcp_handle) {
- rtcp_add_address(pinfo, &addr, port+1, 0, "RTPproxy", pinfo->fd->num);
+ if (addr.len)
+ rtcp_add_address(pinfo, &addr, port+1, 0, "RTPproxy", pinfo->fd->num);
}
}
break;
@@ -884,7 +923,7 @@ proto_register_rtpproxy(void)
{
"IPv4",
"rtpproxy.ipv4",
- FT_STRING,
+ FT_IPv4,
BASE_NONE,
NULL,
0x0,
@@ -897,7 +936,7 @@ proto_register_rtpproxy(void)
{
"IPv6",
"rtpproxy.ipv6",
- FT_STRING,
+ FT_IPv6,
BASE_NONE,
NULL,
0x0,
@@ -984,11 +1023,11 @@ proto_register_rtpproxy(void)
}
},
{
- &hf_rtpproxy_command_parameter_local,
+ &hf_rtpproxy_command_parameter_local_ipv4,
{
- "Local IP address",
- "rtpproxy.command_parameter_local",
- FT_STRING,
+ "Local IPv4 address",
+ "rtpproxy.command_parameter_local_ipv4",
+ FT_IPv4, /* FIXME - is it ever possible to see IPv6 here? */
BASE_NONE,
NULL,
0x0,
@@ -997,11 +1036,11 @@ proto_register_rtpproxy(void)
}
},
{
- &hf_rtpproxy_command_parameter_remote,
+ &hf_rtpproxy_command_parameter_remote_ipv4,
{
- "Remote IP address",
- "rtpproxy.command_parameter_remote",
- FT_STRING,
+ "Remote IPv4 address",
+ "rtpproxy.command_parameter_remote_ipv4",
+ FT_IPv4, /* FIXME - is it ever possible to see IPv6 here? */
BASE_NONE,
NULL,
0x0,
@@ -1170,7 +1209,7 @@ proto_register_rtpproxy(void)
{
"Notification IPv4",
"rtpproxy.notify_ipv4",
- FT_STRING,
+ FT_IPv4,
BASE_NONE,
NULL,
0x0,
@@ -1183,7 +1222,7 @@ proto_register_rtpproxy(void)
{
"Notification IPv6",
"rtpproxy.notify_ipv6",
- FT_STRING,
+ FT_IPv6,
BASE_NONE,
NULL,
0x0,

View File

@ -1,34 +0,0 @@
From: Guy Harris <guy@alum.mit.edu>
Date: Wed, 1 Jan 2014 23:24:27 +0000
Subject: [PATCH] Copy over r54544 from trunk:
------------------------------------------------------------------------
r54544 | guy | 2014-01-01 15:22:53 -0800 (Wed, 01 Jan 2014) | 11 lines
If the uncompression buffers are empty, they have no data; set the count
of bytes in them to 0, as there's no data in them, and set the offset in
that buffer of the stream's current position, to 0, as we're currently
at the beginning of the file in both streams.
This fixes some tricky-to-reproduce errors (which show up only if the
ngsniffer_t structure is allocated from data that's been allocated,
written to in those variables, and freed).
svn path=/trunk-1.10/; revision=54545
diff --git a/wiretap/ngsniffer.c b/wiretap/ngsniffer.c
index 92e451d..096ee00 100644
--- a/wiretap/ngsniffer.c
+++ b/wiretap/ngsniffer.c
@@ -740,7 +740,11 @@ ngsniffer_open(wtap *wth, int *err, gchar **err_info)
/* We haven't allocated any uncompression buffers yet. */
ngsniffer->seq.buf = NULL;
+ ngsniffer->seq.nbytes = 0;
+ ngsniffer->seq.nextout = 0;
ngsniffer->rand.buf = NULL;
+ ngsniffer->rand.nbytes = 0;
+ ngsniffer->rand.nextout = 0;
/* Set the current file offset; the offset in the compressed file
and in the uncompressed data stream currently the same. */

View File

@ -1,208 +0,0 @@
From: Peter Hatina <phatina@redhat.com>
Date: Mon, 3 Mar 2014 12:01:36 +0100
Subject: [PATCH] Reorganize Capture Dialog layout
Change-Id: Iafe20f3a8509c83e821ce4abc9bd91bd1bb002dd
diff --git a/ui/gtk/capture_dlg.c b/ui/gtk/capture_dlg.c
index a4ef2dc..700f23a 100644
--- a/ui/gtk/capture_dlg.c
+++ b/ui/gtk/capture_dlg.c
@@ -4637,7 +4637,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
#endif
swindow = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_set_size_request(swindow, 676, 180);
+ gtk_widget_set_size_request(swindow, 676, 100);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(swindow), GTK_SHADOW_IN);
view = gtk_tree_view_new ();
@@ -5044,30 +5044,6 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
row++;
- /* Files row */
- stop_files_cb = gtk_check_button_new_with_label("Stop capture after");
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_files_cb),
- global_capture_opts.has_autostop_files);
- g_signal_connect(stop_files_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
- gtk_widget_set_tooltip_text(stop_files_cb, "Stop capturing after the given number of \"file switches\" have been done.");
- ws_gtk_grid_attach_extended(GTK_GRID (multi_grid), stop_files_cb, 0, row, 1, 1,
- (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
-
- stop_files_adj = (GtkAdjustment *) gtk_adjustment_new((gfloat)global_capture_opts.autostop_files,
- 1, (gfloat)INT_MAX, 1.0, 10.0, 0.0);
- stop_files_sb = gtk_spin_button_new (stop_files_adj, 0, 0);
- gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (stop_files_sb), TRUE);
- gtk_widget_set_size_request(stop_files_sb, 80, -1);
- ws_gtk_grid_attach_extended(GTK_GRID (multi_grid), stop_files_sb, 1, row, 1, 1,
- (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
-
- stop_files_lb = gtk_label_new("file(s)");
- gtk_misc_set_alignment(GTK_MISC(stop_files_lb), 0, 0.5f);
- ws_gtk_grid_attach_extended(GTK_GRID (multi_grid), stop_files_lb, 2, row, 1, 1,
- (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
-
- row++;
-
/* Capture limits frame */
limit_fr = frame_new("Stop Capture Automatically After...");
gtk_box_pack_start(GTK_BOX (left_vb), limit_fr, TRUE, TRUE, 0);
@@ -5107,15 +5083,13 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_packets_lb, 2, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
- row++;
-
/* Filesize row */
stop_filesize_cb = gtk_check_button_new();
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_filesize_cb),
global_capture_opts.has_autostop_filesize);
g_signal_connect(stop_filesize_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
gtk_widget_set_tooltip_text(stop_filesize_cb, "Stop capturing after the specified amount of data has been captured.");
- ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_filesize_cb, 0, row, 1, 1,
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_filesize_cb, 3, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
stop_filesize_adj = (GtkAdjustment *) gtk_adjustment_new(0.0,
@@ -5123,11 +5097,11 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
stop_filesize_sb = gtk_spin_button_new (stop_filesize_adj, 0, 0);
gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (stop_filesize_sb), TRUE);
gtk_widget_set_size_request(stop_filesize_sb, 80, -1);
- ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_filesize_sb, 1, row, 1, 1,
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_filesize_sb, 4, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
stop_filesize_cbx = size_unit_combo_box_new(global_capture_opts.autostop_filesize);
- ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_filesize_cbx, 2, row, 1, 1,
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_filesize_cbx, 5, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
value = size_unit_combo_box_set_value(global_capture_opts.autostop_filesize);
@@ -5135,13 +5109,35 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
row++;
+ /* Files row */
+ stop_files_cb = gtk_check_button_new();
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_files_cb),
+ global_capture_opts.has_autostop_files);
+ g_signal_connect(stop_files_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
+ gtk_widget_set_tooltip_text(stop_files_cb, "Stop capturing after the given number of \"file switches\" have been done.");
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_files_cb, 0, row, 1, 1,
+ (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
+
+ stop_files_adj = (GtkAdjustment *) gtk_adjustment_new((gfloat)global_capture_opts.autostop_files,
+ 1, (gfloat)INT_MAX, 1.0, 10.0, 0.0);
+ stop_files_sb = gtk_spin_button_new (stop_files_adj, 0, 0);
+ gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (stop_files_sb), TRUE);
+ gtk_widget_set_size_request(stop_files_sb, 80, -1);
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_files_sb, 1, row, 1, 1,
+ (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
+
+ stop_files_lb = gtk_label_new("file(s)");
+ gtk_misc_set_alignment(GTK_MISC(stop_files_lb), 0, 0.5f);
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_files_lb, 2, row, 1, 1,
+ (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
+
/* Duration row */
stop_duration_cb = gtk_check_button_new();
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(stop_duration_cb),
global_capture_opts.has_autostop_duration);
g_signal_connect(stop_duration_cb, "toggled", G_CALLBACK(capture_prep_adjust_sensitivity), cap_open_w);
gtk_widget_set_tooltip_text(stop_duration_cb, "Stop capturing after the specified amount of time has passed.");
- ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_duration_cb, 0, row, 1, 1,
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_duration_cb, 3, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
stop_duration_adj = (GtkAdjustment *) gtk_adjustment_new(0.0,
@@ -5149,11 +5145,11 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
stop_duration_sb = gtk_spin_button_new (stop_duration_adj, 0, 0);
gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (stop_duration_sb), TRUE);
gtk_widget_set_size_request(stop_duration_sb, 80, -1);
- ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_duration_sb, 1, row, 1, 1,
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_duration_sb, 4, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
stop_duration_cbx = time_unit_combo_box_new(global_capture_opts.autostop_duration);
- ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_duration_cbx, 2, row, 1, 1,
+ ws_gtk_grid_attach_extended(GTK_GRID (limit_grid), stop_duration_cbx, 5, row, 1, 1,
(GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, 0);
value = time_unit_combo_box_convert_value(global_capture_opts.autostop_duration);
@@ -5164,7 +5160,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
display_fr = frame_new("Display Options");
gtk_box_pack_start(GTK_BOX (right_vb), display_fr, TRUE, TRUE, 0);
- display_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_UNRELATED_SPACING, FALSE);
+ display_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE);
gtk_container_set_border_width(GTK_CONTAINER(display_vb), DLG_OUTER_MARGIN);
gtk_container_add(GTK_CONTAINER(display_fr), display_vb);
@@ -5177,7 +5173,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_set_tooltip_text(sync_cb,
"Using this option will show the captured packets immediately on the main screen. "
"Please note: this will slow down capturing, so increased packet drops might appear.");
- gtk_box_pack_start(GTK_BOX (display_vb), sync_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (display_vb), sync_cb, FALSE, TRUE, 0);
/* "Auto-scroll live update" row */
auto_scroll_cb = gtk_check_button_new_with_mnemonic("_Automatically scroll during live capture");
@@ -5185,19 +5181,19 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_set_tooltip_text(auto_scroll_cb,
"This will scroll the \"Packet List\" automatically to the latest captured packet, "
"when the \"Update List of packets in real time\" option is used.");
- gtk_box_pack_start(GTK_BOX (display_vb), auto_scroll_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (display_vb), auto_scroll_cb, FALSE, TRUE, 0);
/* "Hide capture info" row */
hide_info_cb = gtk_check_button_new_with_mnemonic("_Hide capture info dialog");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hide_info_cb), !global_capture_opts.show_info);
gtk_widget_set_tooltip_text(hide_info_cb, "Hide the capture info dialog while capturing.");
- gtk_box_pack_start(GTK_BOX (display_vb), hide_info_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (display_vb), hide_info_cb, FALSE, TRUE, 0);
/* Name Resolution frame */
resolv_fr = frame_new("Name Resolution");
gtk_box_pack_start(GTK_BOX (right_vb), resolv_fr, TRUE, TRUE, 0);
- resolv_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_UNRELATED_SPACING, FALSE);
+ resolv_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, DLG_LABEL_SPACING, FALSE);
gtk_container_set_border_width(GTK_CONTAINER(resolv_vb), DLG_OUTER_MARGIN);
gtk_container_add(GTK_CONTAINER(resolv_fr), resolv_vb);
@@ -5206,14 +5202,14 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_resolv_cb),
gbl_resolv_flags.mac_name);
gtk_widget_set_tooltip_text(m_resolv_cb, "Perform MAC layer name resolution while capturing.");
- gtk_box_pack_start(GTK_BOX (resolv_vb), m_resolv_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (resolv_vb), m_resolv_cb, FALSE, TRUE, 0);
n_resolv_cb = gtk_check_button_new_with_mnemonic(
"Resolve _network-layer names");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(n_resolv_cb),
gbl_resolv_flags.network_name);
gtk_widget_set_tooltip_text(n_resolv_cb, "Perform network layer name resolution while capturing.");
- gtk_box_pack_start(GTK_BOX (resolv_vb), n_resolv_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (resolv_vb), n_resolv_cb, FALSE, TRUE, 0);
t_resolv_cb = gtk_check_button_new_with_mnemonic(
"Resolve _transport-layer name");
@@ -5221,7 +5217,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gbl_resolv_flags.transport_name);
gtk_widget_set_tooltip_text(t_resolv_cb,
"Perform transport layer name resolution while capturing.");
- gtk_box_pack_start(GTK_BOX (resolv_vb), t_resolv_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (resolv_vb), t_resolv_cb, FALSE, TRUE, 0);
e_resolv_cb = gtk_check_button_new_with_mnemonic(
"Use _external network name resolver");
@@ -5229,7 +5225,7 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
gbl_resolv_flags.use_external_net_name_resolver);
gtk_widget_set_tooltip_text(e_resolv_cb,
"Use the (system's) configured name resolver (e.g., DNS) to resolve network names.");
- gtk_box_pack_start(GTK_BOX (resolv_vb), e_resolv_cb, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX (resolv_vb), e_resolv_cb, FALSE, TRUE, 0);
/* Button row: "Start", "Cancel" and "Help" buttons */
bbox = dlg_button_row_new(WIRESHARK_STOCK_CAPTURE_START, GTK_STOCK_CLOSE, GTK_STOCK_HELP, NULL);

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@
Summary: Network traffic analyzer
Name: wireshark
Version: 1.10.9
Version: 1.12.0
Release: 1%{?dist}
License: GPL+
Group: Applications/Internet
@ -30,56 +30,20 @@ Source1: 90-wireshark-usbmon.rules
Patch1: wireshark-0001-enable-Lua-support.patch
# Fedora-specific
Patch2: wireshark-0002-Customize-permission-denied-error.patch
# No longer necessary - will be removed in the next release (1.12.x)
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
# Will be proposed upstream
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. See also https://bugzilla.redhat.com/1007139
Patch7: wireshark-0007-The-beginning-of-an-openflow-dissector.patch
Patch3: wireshark-0003-fix-string-overrun-in-plugins-profinet.patch
# Will be proposed upstream
Patch8: wireshark-0008-adds-autoconf-macro-file.patch
Patch4: wireshark-0004-adds-autoconf-macro-file.patch
# Fedora-specific
Patch9: wireshark-0009-Restore-Fedora-specific-groups.patch
Patch5: wireshark-0005-Restore-Fedora-specific-groups.patch
# Will be proposed upstream
Patch10: wireshark-0010-Add-pkgconfig-entry.patch
Patch6: wireshark-0006-Add-pkgconfig-entry.patch
# Will be proposed upstream
Patch11: wireshark-0011-Install-autoconf-related-file.patch
Patch7: wireshark-0007-Install-autoconf-related-file.patch
# Fedora-specific
Patch12: wireshark-0012-move-default-temporary-directory-to-var-tmp.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch13: wireshark-0013-Copy-over-r49999-from-trunk.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch14: wireshark-0014-Fix-https-bugs.wireshark.org-bugzilla-show_bug.cgi-i.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch15: wireshark-0015-From-Dirk-Jagdmann-Make-sure-err_str-is-initialized.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch16: wireshark-0016-Crash-when-selecting-Decode-As-based-on-SCTP-PPID.-B.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch17: wireshark-0017-Fix-https-bugs.wireshark.org-bugzilla-show_bug.cgi-i.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch18: wireshark-0018-Copy-over-from-Trunk.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch19: wireshark-0019-Bugfix-port-number-endianness.-Bug-9530-https-bugs.w.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch20: wireshark-0020-Something-went-wrong-with-the-backport-of-r53608-r53.patch
# Applied upstream:
# https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9576
Patch21: wireshark-0021-Remove-g_memmove.patch
# W.i.p. patch. See also:
# https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9561
Patch22: wireshark-0022-Fix-IP-types.patch
# No longer necessary - will be removed in the next release (1.12.x)
Patch23: wireshark-0023-Copy-over-r54544-from-trunk.patch
Patch8: wireshark-0008-move-default-temporary-directory-to-var-tmp.patch
# Fedora-specific
Patch24: wireshark-0024-Fix-paths-in-a-wireshark.desktop-file.patch
# Fedora-specific
Patch25: wireshark-0025-Fix-Capture-Dialog-layout.patch
# Applied upstream (unstable branch)
Patch26: wireshark-0026-amqp-1.0.patch
Patch9: wireshark-0009-Fix-paths-in-a-wireshark.desktop-file.patch
Url: http://www.wireshark.org/
BuildRequires: libpcap-devel >= 0.9
@ -176,30 +140,30 @@ and plugins.
%endif
%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 .openflow
%patch8 -p1 -b .add_autoconf
%patch9 -p1 -b .restore_group
%patch10 -p1 -b .add_pkgconfig
%patch11 -p1 -b .install_autoconf
%patch12 -p1 -b .tmp_dir
#%patch13 -p1 -b .allow_64kpackets_for_usb
#%patch14 -p1 -b .dont_die_during_sip_dissection
#%patch15 -p1 -b .fix_main_window
#%patch16 -p1 -b .fix_sctp
#%patch17 -p1 -b .fix_global_pinfo
#%patch18 -p1 -b .fix_overflow
#%patch19 -p1 -b .fix_endianness
#%patch20 -p1 -b .fix_previous_backport
%patch21 -p1 -b .remove_g_memmove
%patch22 -p1 -b .rtpproxy_ip_types
#%patch23 -p1 -b .rare_bug_with_sniffer_traces
%patch24 -p1 -b .fix_paths
%patch25 -p1 -b .fix_capture_dlg_layout
%patch26 -p1 -b .amqp-1.0
%patch3 -p1 -b .profinet_crash
%patch4 -p1 -b .add_autoconf
%patch5 -p1 -b .restore_group
# Somebody forgot to add this file into tarball (fixed in wireshark-1.12.1)
echo "prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=\${prefix}
libdir=\${prefix}/@CMAKE_INSTALL_LIBDIR@
sharedlibdir=\${libdir}
includedir=\${prefix}/include/wireshark
plugindir=@PLUGIN_INSTALL_DIR@
Name: wireshark
Description: wireshark network packet dissection library
Version: @PROJECT_VERSION@
Requires:
Libs: -L\${libdir} -L\${sharedlibdir} -lwireshark
Cflags: -I\${includedir}" > wireshark.pc.in
%patch6 -p1 -b .add_pkgconfig
%patch7 -p1 -b .install_autoconf
%patch8 -p1 -b .tmp_dir
%patch9 -p1 -b .fix_paths
%build
%ifarch s390 s390x sparcv9 sparc64
@ -222,6 +186,7 @@ autoreconf -ivf
--with-gnu-ld \
--with-pic \
%if %{with_gtk2}
--with-gtk2 \
--with-gtk3=no \
%else
--with-gtk3=yes \
@ -249,8 +214,6 @@ autoreconf -ivf
--with-ssl \
--disable-warnings-as-errors \
--with-plugins=%{_libdir}/%{name}/plugins/%{version} \
--with-dumpcap-group="wireshark" \
--enable-setcap-install \
--enable-airpcap
#remove rpath
@ -285,8 +248,6 @@ mkdir -p "${IDIR}/wsutil"
mkdir -p %{buildroot}/%{_sysconfdir}/udev/rules.d
install -m 644 color.h config.h register.h "${IDIR}/"
install -m 644 cfile.h file.h "${IDIR}/"
install -m 644 frame_data_sequence.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"
@ -342,6 +303,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_sbindir}/text2pcap
%{_sbindir}/dftest
%{_sbindir}/capinfos
%{_sbindir}/captype
%{_sbindir}/randpkt
%{_sbindir}/reordercap
%attr(0750, root, wireshark) %caps(cap_net_raw,cap_net_admin=ep) %{_sbindir}/dumpcap
@ -383,6 +345,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/icons/hicolor/64x64/mimetypes/application-wireshark-doc.png
%{_datadir}/icons/hicolor/128x128/mimetypes/application-wireshark-doc.png
%{_datadir}/icons/hicolor/256x256/mimetypes/application-wireshark-doc.png
%{_datadir}/icons/hicolor/scalable/apps/wireshark.svg
%{_datadir}/mime/packages/wireshark.xml
%{_sbindir}/wireshark
%{_mandir}/man1/wireshark.*
@ -398,6 +361,17 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/aclocal/*
%changelog
* Tue Aug 05 2014 Peter Lemenkov <lemenkov@gmail.com> - 1.12.0-1
- Ver. 1.12.0
- Dropped a lot of outdated patches.
- Added /usr/sbin/captype application.
- Added temporary workaround for wireshark.pc.in missing in the official
tarball.
- Removed outdated --with-dumpcap-group="wireshark" cli switch. It doesn't work
during rpmbuild, and we still set group explicitly in the 'files' section.
- Removed --enable-setcap-install. Likewise.
- Some ANSI C header files were moved to epan/
* Fri Aug 1 2014 Peter Hatina <phatina@redhat.com> - 1.10.9-1
- Ver. 1.10.9