Compare commits
13 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96e5595140 | ||
|
|
2418c7c652 | ||
|
|
3fa3df32ca | ||
|
|
e2f4604234 | ||
|
|
20b8b80db8 | ||
|
|
8bcb6cd79e | ||
|
|
33f84f1483 | ||
|
|
a56d71921c | ||
|
|
0cd39cd0ed | ||
|
|
b8fe330051 | ||
|
|
984b51f0b6 | ||
|
|
2299f2cbf1 | ||
|
|
c5dd0b0214 |
17 changed files with 733 additions and 651 deletions
1
ci.fmf
1
ci.fmf
|
|
@ -1 +0,0 @@
|
|||
resultsdb-testcase: separate
|
||||
19
gating.yaml
19
gating.yaml
|
|
@ -1,25 +1,16 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
decision_contexts: [bodhi_update_push_testing]
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
|
||||
#Rawhide
|
||||
#gating rawhide
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
decision_contexts: [bodhi_update_push_stable]
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
|
||||
#gating rhel
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-*
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
35
plans.fmf
35
plans.fmf
|
|
@ -1,35 +0,0 @@
|
|||
/tier1-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/wireshark.git
|
||||
name: /plans/tier1/internal
|
||||
|
||||
/tier1-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/wireshark.git
|
||||
name: /plans/tier1/public
|
||||
|
||||
/tier2-tier3-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/wireshark.git
|
||||
name: /plans/tier2-tier3/internal
|
||||
|
||||
/tier2-tier3-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/wireshark.git
|
||||
name: /plans/tier2-tier3/public
|
||||
|
||||
/others-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/wireshark.git
|
||||
name: /plans/others/internal
|
||||
|
||||
/others-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/wireshark.git
|
||||
name: /plans/others/public
|
||||
6
plans/all.fmf
Normal file
6
plans/all.fmf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
summary: Test plan with all Fedora tests
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/wireshark.git
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -4,10 +4,5 @@ ownership:
|
|||
ignore:
|
||||
- /usr/bin/dumpcap
|
||||
|
||||
capabilities:
|
||||
#dumpcap is the only binary that has group wireshark
|
||||
ignore:
|
||||
- /usr/bin/dumpcap
|
||||
|
||||
inspections:
|
||||
xml: off
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (wireshark-4.6.8.tar.xz) = 4692bd15bebd67475502b6afe106e3be85b90add16f932d7e58c4426fd62b5886e96daa522aafd9ee4a8300bf3e091a738b5b1fa20e3e0721d0d0f3be216f3c8
|
||||
SHA512 (SIGNATURES-4.6.8.txt) = 598caa682ac71899465fb82a37445f7141287bbabee964dfd33aedbb4c4c6e0ed9b206d458b9eb2d9a083f9c6db9f8b50d8dcaf11e26dc33bb8baee83ae3f6fa
|
||||
SHA512 (wireshark-4.0.8.tar.xz) = f6de0f86bb1eac82f7ed2d98d7f4fe3189107b1f0da441abd9077593f8e624989c33aaf8b4ef4b3c460fe787c64c4b8fdb3168de9f5661802fed6b06d71c5c65
|
||||
SHA512 (SIGNATURES-4.0.8.txt) = 7da9141c6b0768121245df9e19eebb4976e2f5f16811730cd03f4088efae5fe21ec43563ff9cc68c5089722c1e4d2d90817dbd5b0c55e36a4851c0b3184d5249
|
||||
|
|
|
|||
|
|
@ -1,28 +1,55 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "From: Jan Safranek" <jsafrane@redhat.com>
|
||||
Date: Wed, 9 Sep 2026 08:53:35 +0200
|
||||
From: Jan Safranek <jsafrane@redhat.com>
|
||||
Date: Fri, 26 Nov 2010 14:30:45 +0300
|
||||
Subject: [PATCH] Customize 'permission denied' error.
|
||||
|
||||
Add Fedora-specific message to error output when dumpcap cannot be started
|
||||
because of permissions.
|
||||
|
||||
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
|
||||
|
||||
diff --git a/capture/capture_sync.c b/capture/capture_sync.c
|
||||
index 36a8f3edbe..db8b49b816 100644
|
||||
index 47a30a70c4..84d19568b0 100644
|
||||
--- a/capture/capture_sync.c
|
||||
+++ b/capture/capture_sync.c
|
||||
@@ -2102,8 +2102,16 @@ sync_pipe_input_cb(GIOChannel *pipe_io, capture_session *cap_session)
|
||||
if (!ws_strtoi32(buffer, NULL, &exec_errno)) {
|
||||
ws_warning("Invalid errno: %s", buffer);
|
||||
}
|
||||
- primary_msg = ws_strdup_printf("Couldn't run dumpcap in child process: %s",
|
||||
+ if (exec_errno == EPERM || exec_errno == EACCES) {
|
||||
+ const char *securitymsg = "\nAre you a member of the 'wireshark' group? Try running\n'usermod -a -G wireshark _your_username_' as root.";
|
||||
+ primary_msg = ws_strdup_printf("Couldn't run dumpcap in child process: %s%s",
|
||||
+ g_strerror(exec_errno), securitymsg);
|
||||
+ }
|
||||
+ else {
|
||||
+ primary_msg = ws_strdup_printf("Couldn't run dumpcap in child process: %s",
|
||||
g_strerror(exec_errno));
|
||||
+ }
|
||||
+
|
||||
cap_session->error(cap_session, primary_msg, NULL);
|
||||
/* the capture child will close the sync_pipe, nothing to do for now */
|
||||
/* (an error message doesn't mean we have to stop capturing) */
|
||||
@@ -336,6 +336,7 @@ sync_pipe_start(capture_options *capture_opts, GPtrArray *capture_comments,
|
||||
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
|
||||
@@ -741,8 +742,10 @@ sync_pipe_start(capture_options *capture_opts, GPtrArray *capture_comments,
|
||||
dup2(sync_pipe[PIPE_WRITE], 2);
|
||||
ws_close(sync_pipe[PIPE_READ]);
|
||||
execv(argv[0], argv);
|
||||
- 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.";
|
||||
+ 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
|
||||
@@ -846,6 +849,7 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
|
||||
int i;
|
||||
#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
|
||||
@@ -994,8 +998,10 @@ sync_pipe_open_command(char* const argv[], int *data_read_fd,
|
||||
ws_close(sync_pipe[PIPE_READ]);
|
||||
ws_close(sync_pipe[PIPE_WRITE]);
|
||||
execv(argv[0], argv);
|
||||
- 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.";
|
||||
+ 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
|
||||
|
|
|
|||
18
wireshark-0003-fix-string-overrun-in-plugins-profinet.patch
Normal file
18
wireshark-0003-fix-string-overrun-in-plugins-profinet.patch
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
From: Peter Hatina <phatina@redhat.com>
|
||||
Date: Wed, 4 Sep 2013 10:03:57 +0200
|
||||
Subject: [PATCH] fix string overrun in plugins/profinet
|
||||
|
||||
|
||||
diff --git a/plugins/epan/profinet/packet-dcom-cba.c b/plugins/epan/profinet/packet-dcom-cba.c
|
||||
index 52c5017e1f..fb980269db 100644
|
||||
--- a/plugins/epan/profinet/packet-dcom-cba.c
|
||||
+++ b/plugins/epan/profinet/packet-dcom-cba.c
|
||||
@@ -543,7 +543,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);
|
||||
gchar *call;
|
||||
|
||||
15
wireshark-0004-Restore-Fedora-specific-groups.patch
Normal file
15
wireshark-0004-Restore-Fedora-specific-groups.patch
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
From: Peter Lemenkov <lemenkov@gmail.com>
|
||||
Date: Fri, 13 Sep 2013 14:36:55 +0400
|
||||
Subject: [PATCH] Restore Fedora-specific groups
|
||||
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
diff --git a/resources/freedesktop/org.wireshark.Wireshark.desktop b/resources/freedesktop/org.wireshark.Wireshark.desktop
|
||||
index a880a50a33..a25d67d99b 100644
|
||||
--- a/resources/freedesktop/org.wireshark.Wireshark.desktop
|
||||
+++ b/resources/freedesktop/org.wireshark.Wireshark.desktop
|
||||
@@ -108,4 +108,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;application/x-tektronix-rf5;application/x-micropross-mplog;application/x-apple-packetlogger;application/x-endace-erf;application/ipfix;application/x-ixia-vwr;
|
||||
# Category entry according to:
|
||||
# https://specifications.freedesktop.org/menu-spec/1.0/
|
||||
-Categories=Network;Monitor;Qt;
|
||||
+Categories=Application;Network;Monitor;Qt;
|
||||
20
wireshark-0005-Fix-paths-in-a-wireshark.desktop-file.patch
Normal file
20
wireshark-0005-Fix-paths-in-a-wireshark.desktop-file.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
From: Kenneth Soerensen <knnthsrnsn@gmail.com>
|
||||
Date: Wed, 29 Jan 2014 16:04:12 +0400
|
||||
Subject: [PATCH] Fix paths in a org.wireshark.Wireshark.desktop file
|
||||
|
||||
|
||||
diff --git a/resources/freedesktop/org.wireshark.Wireshark.desktop b/resources/freedesktop/org.wireshark.Wireshark.desktop
|
||||
index a880a50a33..54b3595d55 100644
|
||||
--- a/resources/freedesktop/org.wireshark.Wireshark.desktop
|
||||
+++ b/resources/freedesktop/org.wireshark.Wireshark.desktop
|
||||
@@ -102,8 +102,8 @@ Comment[tr]=Ağ trafiği çözümleyicisi
|
||||
Comment[vi]=Trình phân tích giao thông mạng
|
||||
Comment[uk]=Аналізатор мережевого трафіку
|
||||
Icon=org.wireshark.Wireshark
|
||||
-TryExec=wireshark
|
||||
-Exec=wireshark %f
|
||||
+TryExec=/usr/bin/wireshark
|
||||
+Exec=/usr/bin/wireshark %f
|
||||
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;application/x-tektronix-rf5;application/x-micropross-mplog;application/x-apple-packetlogger;application/x-endace-erf;application/ipfix;application/x-ixia-vwr;
|
||||
# Category entry according to:
|
||||
|
|
@ -1,77 +1,271 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hatina <phatina@redhat.com>
|
||||
Date: Tue, 24 Sep 2013 10:55:09 +0200
|
||||
From cb54210f7f02b07768cfbf49ae266d487f580e1b Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 29 Jun 2017 15:32:58 +0200
|
||||
Subject: [PATCH] Move /tmp to /var/tmp
|
||||
|
||||
Fedora mounts /tmp on tmpfs, which is backed by RAM, and capture files
|
||||
are routinely larger than RAM, so the default temporary directory needs
|
||||
to be somewhere on disk.
|
||||
Fedora is using tmpfs which is limited by the size of RAM, thus we need
|
||||
to use different directory on different filesystem.
|
||||
|
||||
Set TMPDIR in configuration_init(), which every program calls early in
|
||||
main(). TMPDIR is the one knob that GLib (g_get_tmp_dir()), Qt
|
||||
(QDir::tempPath()) and child processes such as dumpcap all read, so one
|
||||
default covers every temporary file rather than the handful of call
|
||||
sites a per-site patch can reach. A TMPDIR already in the environment is
|
||||
left alone.
|
||||
---
|
||||
ui/qt/about_dialog.cpp | 3 +-
|
||||
ui/qt/iax2_analysis_dialog.cpp | 5 ++-
|
||||
ui/qt/utils/rtp_audio_file.cpp | 3 +-
|
||||
wsutil/tempfile.c | 18 +++++++-
|
||||
wsutil/tempfile.h | 2 +-
|
||||
wsutil/wstmpdir.c | 71 ++++++++++++++++++++++++++++++++++
|
||||
wsutil/wstmpdir.h | 39 +++++++++++++++++++
|
||||
7 files changed, 134 insertions(+), 7 deletions(-)
|
||||
create mode 100644 wsutil/wstmpdir.c
|
||||
create mode 100644 wsutil/wstmpdir.h
|
||||
|
||||
Only TMPDIR is consulted, and an empty one counts as unset - that is
|
||||
exactly how GLib and Qt behave on Unix, where TMP and TEMP are ignored
|
||||
entirely.
|
||||
|
||||
The change is Peter Hatina's, from 2013; the implementation above was
|
||||
rewritten in 2026 and the original is worth recording. It added
|
||||
wsutil/wstmpdir.{c,h} - a copy of g_get_tmp_dir() with a /var/tmp
|
||||
fallback, exported from libwsutil as get_tmp_dir() - and rewrote
|
||||
create_tempfile() around it.
|
||||
|
||||
That reached three of the roughly seventeen places that ask for a
|
||||
temporary directory, missing the second temporary file in
|
||||
rtp_audio_file.cpp, the export-object and traffic-tab dialogs, tshark's
|
||||
own default, wsutil/socket.c and create_tempdir(). It also worked only
|
||||
by accident: P_tmpdir is "/tmp" on glibc and was tested ahead of the
|
||||
/var/tmp default, so the fallback was reached purely because
|
||||
wstmpdir.c never included <stdio.h>. Adding that one header would have
|
||||
silently restored /tmp.
|
||||
|
||||
Setting TMPDIR keeps Peter's intent and drops all of that.
|
||||
|
||||
Rewritten-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
Assisted-by: Claude
|
||||
|
||||
diff --git a/wsutil/filesystem.c b/wsutil/filesystem.c
|
||||
index f1c7358a97..6ee028cb71 100644
|
||||
--- a/wsutil/filesystem.c
|
||||
+++ b/wsutil/filesystem.c
|
||||
@@ -932,6 +932,32 @@ configuration_init(const char* arg0)
|
||||
#ifdef _WIN32
|
||||
return configuration_init_w32(arg0);
|
||||
#else
|
||||
+ /*
|
||||
+ * Fedora mounts /tmp on tmpfs, which is backed by RAM, and capture
|
||||
+ * files are routinely larger than RAM. Default the temporary
|
||||
+ * directory to /var/tmp unless the user has asked for something else.
|
||||
+ *
|
||||
+ * TMPDIR is the one knob that GLib (g_get_tmp_dir()), Qt
|
||||
+ * (QDir::tempPath()) and child processes such as dumpcap all read on
|
||||
+ * this platform, so setting it here covers every temporary file the
|
||||
+ * programs create without having to touch each call site. It has to
|
||||
+ * happen before any of them run, and configuration_init() is among
|
||||
+ * the first things every program calls.
|
||||
+ *
|
||||
+ * Only TMPDIR is consulted. TMP and TEMP are Windows spellings that
|
||||
+ * neither GLib nor Qt looks at on Unix, so honouring them here would
|
||||
+ * promise something the rest of the code cannot keep.
|
||||
+ *
|
||||
+ * An empty TMPDIR counts as unset, which is how both GLib and Qt
|
||||
+ * treat it - otherwise it would suppress this default and leave them
|
||||
+ * falling back to /tmp, the one outcome nobody asked for.
|
||||
+ */
|
||||
+ const char *tmpdir = g_getenv("TMPDIR");
|
||||
diff --git a/ui/qt/about_dialog.cpp b/ui/qt/about_dialog.cpp
|
||||
index 752b669ac4..42c2be0fca 100644
|
||||
--- a/ui/qt/about_dialog.cpp
|
||||
+++ b/ui/qt/about_dialog.cpp
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "main_application.h"
|
||||
#include <wsutil/filesystem.h>
|
||||
+#include <wsutil/wstmpdir.h> /* for get_tmp_dir() */
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include <QUrl>
|
||||
@@ -185,7 +186,7 @@ FolderListModel::FolderListModel(QObject * parent):
|
||||
appendRow(QStringList() << tr("\"File\" dialogs") << get_last_open_dir() << tr("capture files"));
|
||||
|
||||
/* temp */
|
||||
- appendRow(QStringList() << tr("Temp") << (global_capture_opts.temp_dir && global_capture_opts.temp_dir[0] ? global_capture_opts.temp_dir : g_get_tmp_dir()) << tr("untitled capture files"));
|
||||
+ appendRow(QStringList() << tr("Temp") << (global_capture_opts.temp_dir && global_capture_opts.temp_dir[0] ? global_capture_opts.temp_dir : get_tmp_dir()) << tr("untitled capture files"));
|
||||
|
||||
/* pers conf */
|
||||
appendRow(QStringList() << tr("Personal configuration")
|
||||
diff --git a/ui/qt/iax2_analysis_dialog.cpp b/ui/qt/iax2_analysis_dialog.cpp
|
||||
index 07b9b42e01..fb09de989b 100644
|
||||
--- a/ui/qt/iax2_analysis_dialog.cpp
|
||||
+++ b/ui/qt/iax2_analysis_dialog.cpp
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "ui/rtp_stream.h"
|
||||
#endif
|
||||
#include <wsutil/utf8_entities.h>
|
||||
+#include <wsutil/wstmpdir.h> /* for get_tmp_dir() */
|
||||
|
||||
#include <wsutil/g711.h>
|
||||
#include <wsutil/pint.h>
|
||||
@@ -255,10 +256,10 @@ Iax2AnalysisDialog::Iax2AnalysisDialog(QWidget &parent, CaptureFile &cf) :
|
||||
|
||||
// We keep our temp files open for the lifetime of the dialog. The GTK+
|
||||
// UI opens and closes at various points.
|
||||
- QString tempname = QString("%1/wireshark_iax2_f").arg(QDir::tempPath());
|
||||
+ QString tempname = QString("%1/wireshark_iax2_f").arg(get_tmp_dir());
|
||||
fwd_tempfile_ = new QTemporaryFile(tempname, this);
|
||||
fwd_tempfile_->open();
|
||||
- tempname = QString("%1/wireshark_iax2_r").arg(QDir::tempPath());
|
||||
+ tempname = QString("%1/wireshark_iax2_r").arg(get_tmp_dir());
|
||||
rev_tempfile_ = new QTemporaryFile(tempname, this);
|
||||
rev_tempfile_->open();
|
||||
|
||||
diff --git a/ui/qt/utils/rtp_audio_file.cpp b/ui/qt/utils/rtp_audio_file.cpp
|
||||
index 591a63bbf3..203f5c5286 100644
|
||||
--- a/ui/qt/utils/rtp_audio_file.cpp
|
||||
+++ b/ui/qt/utils/rtp_audio_file.cpp
|
||||
@@ -31,6 +31,7 @@
|
||||
|
||||
#include "rtp_audio_file.h"
|
||||
#include <ws_attributes.h>
|
||||
+#include <wsutil/wstmpdir.h> /* for get_tmp_dir() */
|
||||
|
||||
RtpAudioFile::RtpAudioFile(bool use_disk_for_temp, bool use_disk_for_frames):
|
||||
real_pos_(0)
|
||||
@@ -45,7 +46,7 @@ RtpAudioFile::RtpAudioFile(bool use_disk_for_temp, bool use_disk_for_frames):
|
||||
|
||||
tempname = "memory";
|
||||
if (use_disk_for_temp) {
|
||||
- tempname = QString("%1/wireshark_rtp_stream").arg(QDir::tempPath());
|
||||
+ tempname = QString("%1/wireshark_rtp_stream").arg(get_tmp_dir());
|
||||
sample_file_ = new QTemporaryFile(tempname, this);
|
||||
} else {
|
||||
sample_file_ = new QBuffer(this);
|
||||
diff --git a/wsutil/tempfile.c b/wsutil/tempfile.c
|
||||
index f93f96d538..73964a1def 100644
|
||||
--- a/wsutil/tempfile.c
|
||||
+++ b/wsutil/tempfile.c
|
||||
@@ -14,10 +14,12 @@
|
||||
|
||||
#include "tempfile.h"
|
||||
#include "file_util.h"
|
||||
+#include <wsutil/file_util.h>
|
||||
+#include <wsutil/wstmpdir.h> /* for get_tmp_dir() */
|
||||
|
||||
/**
|
||||
* Create a tempfile with the given prefix (e.g. "wireshark"). The path
|
||||
- * is created using g_file_open_tmp.
|
||||
+ * is created using get_tmp_dir.
|
||||
*
|
||||
* @param tempdir [in] If not NULL, the directory in which to create the file.
|
||||
* @param namebuf [in,out] If not NULL, receives the full path of the temp file.
|
||||
@@ -33,6 +33,9 @@ create_tempfile(const char *tempdir, gchar **namebuf, const char *pfx, const cha
|
||||
{
|
||||
int fd;
|
||||
gchar *safe_pfx = NULL;
|
||||
+ gchar *tmp_file;
|
||||
+ const char *tmp_dir;
|
||||
+ int old_mask;
|
||||
|
||||
if (pfx) {
|
||||
/* The characters in "delimiters" come from:
|
||||
@@ -54,7 +57,16 @@ create_tempfile(const char *tempdir, gchar **namebuf, const char *pfx, const cha
|
||||
gchar* filetmpl = ws_strdup_printf("%sXXXXXX%s", safe_pfx ? safe_pfx : "", sfx ? sfx : "");
|
||||
g_free(safe_pfx);
|
||||
|
||||
- fd = g_file_open_tmp(filetmpl, namebuf, err);
|
||||
+ tmp_dir = get_tmp_dir();
|
||||
+ tmp_file = g_strconcat(tmp_dir, "/", filetmpl, NULL);
|
||||
+
|
||||
+ if (tmpdir == NULL || tmpdir[0] == '\0') {
|
||||
+ g_setenv("TMPDIR", "/var/tmp", true);
|
||||
+ if (namebuf)
|
||||
+ *namebuf = tmp_file;
|
||||
+
|
||||
+ old_mask = ws_umask(0077);
|
||||
+ fd = mkstemps(tmp_file, sfx ? (int) strlen(sfx) : 0);
|
||||
+ ws_umask(old_mask);
|
||||
+
|
||||
g_free(filetmpl);
|
||||
}
|
||||
else {
|
||||
diff --git a/wsutil/tempfile.h b/wsutil/tempfile.h
|
||||
index 70031b5419..72011e265a 100644
|
||||
--- a/wsutil/tempfile.h
|
||||
+++ b/wsutil/tempfile.h
|
||||
@@ -23,7 +23,7 @@ extern "C" {
|
||||
|
||||
/**
|
||||
* Create a tempfile with the given prefix (e.g. "wireshark"). The path
|
||||
- * is created using g_file_open_tmp.
|
||||
+ * is created using get_tmp_dir and mkstemp.
|
||||
*
|
||||
* @param tempdir [in] If not NULL, the directory in which to create the file.
|
||||
* @param namebuf [in,out] If not NULL, receives the full path of the temp file.
|
||||
diff --git a/wsutil/wstmpdir.c b/wsutil/wstmpdir.c
|
||||
new file mode 100644
|
||||
index 0000000000..9128d354ce
|
||||
--- /dev/null
|
||||
+++ b/wsutil/wstmpdir.c
|
||||
@@ -0,0 +1,71 @@
|
||||
+/* wstmpdir.c
|
||||
+ *
|
||||
+ * Copyright (C) 2013 Red Hat, Inc. All right reserved.
|
||||
+ *
|
||||
+ * Temporary directory routine
|
||||
+ *
|
||||
+ * 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.
|
||||
+ *
|
||||
+ * Author: Peter Hatina <phatina@redhat.com>
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+
|
||||
+#include <glib.h>
|
||||
+#include "wstmpdir.h"
|
||||
+
|
||||
+/**
|
||||
+ * Gets the directory to use for temporary files.
|
||||
+ *
|
||||
+ * Inspired by glib-2.0. If no TMP, TEMP or TMPDIR is set,
|
||||
+ * /var/tmp is returned (Fedora specific).
|
||||
+ *
|
||||
+ * Returns: the directory to use for temporary files.
|
||||
+ */
|
||||
+const char *get_tmp_dir(void)
|
||||
+{
|
||||
+ static gchar *tmp_dir;
|
||||
+
|
||||
+ if (g_once_init_enter(&tmp_dir)) {
|
||||
+ gchar *tmp;
|
||||
+
|
||||
+ tmp = g_strdup(g_getenv("TEMP"));
|
||||
+ if (tmp == NULL || *tmp == '\0') {
|
||||
+ g_free(tmp);
|
||||
+ tmp = g_strdup(g_getenv("TMPDIR"));
|
||||
+ }
|
||||
+
|
||||
+#ifdef P_tmpdir
|
||||
+ if (tmp == NULL || *tmp == '\0') {
|
||||
+ gsize k;
|
||||
+ g_free(tmp);
|
||||
+ tmp = g_strdup(P_tmpdir);
|
||||
+ k = strlen(tmp);
|
||||
+ if (k > 1 && G_IS_DIR_SEPARATOR(tmp[k - 1]))
|
||||
+ tmp[k - 1] = '\0';
|
||||
+ fprintf(stderr, "Using P_tmpdir: %s\n", P_tmpdir);
|
||||
+ }
|
||||
+#endif /* P_tmpdir */
|
||||
+
|
||||
+ if (tmp == NULL || *tmp == '\0') {
|
||||
+ g_free(tmp);
|
||||
+ tmp = g_strdup("/var/tmp");
|
||||
+ }
|
||||
+
|
||||
+ g_once_init_leave(&tmp_dir, tmp);
|
||||
+ }
|
||||
+
|
||||
return configuration_init_posix(arg0);
|
||||
#endif
|
||||
}
|
||||
+ return tmp_dir;
|
||||
+}
|
||||
diff --git a/wsutil/wstmpdir.h b/wsutil/wstmpdir.h
|
||||
new file mode 100644
|
||||
index 0000000000..07ac5837ac
|
||||
--- /dev/null
|
||||
+++ b/wsutil/wstmpdir.h
|
||||
@@ -0,0 +1,39 @@
|
||||
+/* wstmpdir.c
|
||||
+ *
|
||||
+ * Copyright (C) 2013 Red Hat, Inc. All right reserved.
|
||||
+ *
|
||||
+ * Temporary directory routine
|
||||
+ *
|
||||
+ * 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.
|
||||
+ *
|
||||
+ * Author: Peter Hatina <phatina@redhat.com>
|
||||
+ */
|
||||
+
|
||||
+#ifndef __WS_TMP_DIR_H__
|
||||
+#define __WS_TMP_DIR_H__
|
||||
+
|
||||
+#include "ws_symbol_export.h"
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif // __cplusplus
|
||||
+
|
||||
+WS_DLL_PUBLIC const char *get_tmp_dir(void);
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif // __cplusplus
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
|
|
|||
20
wireshark-0007-cmakelists.patch
Normal file
20
wireshark-0007-cmakelists.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
diff --git a/wsutil/CMakeLists.txt b/wsutil/CMakeLists.txt
|
||||
index a55086c..0149801 100644
|
||||
--- a/wsutil/CMakeLists.txt
|
||||
+++ b/wsutil/CMakeLists.txt
|
||||
@@ -80,6 +80,7 @@ set(WSUTIL_PUBLIC_HEADERS
|
||||
ws_roundup.h
|
||||
ws_return.h
|
||||
wsgcrypt.h
|
||||
+ wstmpdir.h
|
||||
wsjson.h
|
||||
wslog.h
|
||||
xtea.h
|
||||
@@ -135,6 +136,7 @@ set(WSUTIL_COMMON_FILES
|
||||
ws_mempbrk.c
|
||||
ws_pipe.c
|
||||
wsgcrypt.c
|
||||
+ wstmpdir.c
|
||||
wsjson.c
|
||||
wslog.c
|
||||
xtea.c
|
||||
13
wireshark-0008-glib2-g_strdup-build.patch
Normal file
13
wireshark-0008-glib2-g_strdup-build.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/ui/qt/wireshark_main_window_slots.cpp b/ui/qt/wireshark_main_window_slots.cpp
|
||||
index 0594ff6..3068797 100644
|
||||
--- a/ui/qt/wireshark_main_window_slots.cpp
|
||||
+++ b/ui/qt/wireshark_main_window_slots.cpp
|
||||
@@ -2513,7 +2513,7 @@ void WiresharkMainWindow::showHideMainWidgets(QAction *action)
|
||||
if (widget == toolbar) {
|
||||
GList *entry = g_list_find_custom(recent.interface_toolbars, action->text().toUtf8(), (GCompareFunc)strcmp);
|
||||
if (show && !entry) {
|
||||
- recent.interface_toolbars = g_list_append(recent.interface_toolbars, g_strdup(action->text().toUtf8()));
|
||||
+ recent.interface_toolbars = g_list_append(recent.interface_toolbars, g_strdup(action->text().toUtf8().constData()));
|
||||
} else if (!show && entry) {
|
||||
recent.interface_toolbars = g_list_remove(recent.interface_toolbars, entry->data);
|
||||
}
|
||||
|
|
@ -1,257 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Lemenkov <lemenkov@gmail.com>
|
||||
Date: Tue, 8 Sep 2026 19:49:08 +0200
|
||||
Subject: [PATCH] Docs: Build a manual page only when its program is built
|
||||
|
||||
The manual pages are added to the build unconditionally, so a build
|
||||
configured without a program still generates, installs and packages
|
||||
that program's page.
|
||||
|
||||
The default configuration shows it. BUILD_stratoshark is OFF by
|
||||
default, yet stratoshark(1), strato(1), falcodump(1), sshdig(1) and
|
||||
dumpcalls(1) are built and installed anyway, along with the Stratoshark
|
||||
release notes, documenting programs that were never compiled. The same
|
||||
goes for anything else switched off: randpktdump(1) survives
|
||||
-DBUILD_randpktdump=OFF, and etwdump(1) is installed on every platform,
|
||||
though the program it describes is built only on Windows.
|
||||
|
||||
Guard each page on the condition its program is built under, which is
|
||||
what dpauxmon, sdjournal and mmdbresolve already do a few lines further
|
||||
down. That means the dependency as well as the option, so sshdump,
|
||||
ciscodump, wifidump and sshdig follow LIBSSH_FOUND and falcodump and
|
||||
dumpcalls follow SINSP_FOUND, exactly as extcap/CMakeLists.txt builds
|
||||
them. Extend the same to the HTML pages in DOC_FILES, where falcodump
|
||||
and dumpcalls were already guarded and the rest were not, and to the
|
||||
Stratoshark release notes.
|
||||
|
||||
sshdig moves to the stratoshark package in the Debian packaging. It is
|
||||
a Stratoshark extcap, installed into STRATOSHARK_EXTCAP_INSTALL_LIBDIR
|
||||
and shipped with stratoshark, but its manual page was listed in
|
||||
wireshark-common. That was already wrong - a default build has no
|
||||
sshdig binary in that package - and it becomes a build failure once the
|
||||
page is only generated when the program is:
|
||||
|
||||
dh_installman: error: Cannot find (any matches for)
|
||||
"obj-*/doc/man_pages/sshdig.1" (tried in ., debian/tmp)
|
||||
|
||||
Pages for things that are always built - wireshark, tshark, capinfos,
|
||||
captype, dumpcap, editcap, mergecap, randpkt, rawshark, reordercap,
|
||||
sharkd, text2pcap and the section 4 pages - stay unconditional.
|
||||
|
||||
Assisted-by: Claude
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2129bd0b22..e467cfdb1f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -2281,33 +2281,60 @@ endif()
|
||||
|
||||
if (ASCIIDOCTOR_FOUND)
|
||||
list(APPEND DOC_FILES
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/androiddump.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/udpdump.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/capinfos.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/captype.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/ciscodump.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/dumpcap.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/editcap.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/extcap.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/mergecap.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/randpkt.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/randpktdump.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/etwdump.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/rawshark.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/reordercap.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/sharkd.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/sshdig.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/sshdump.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/strato.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/stratoshark.html
|
||||
- ${CMAKE_BINARY_DIR}/doc/man_pages/wifidump.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/text2pcap.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/tshark.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/wireshark.html
|
||||
${CMAKE_BINARY_DIR}/doc/man_pages/wireshark-filter.html
|
||||
"${CMAKE_BINARY_DIR}/doc/Wireshark Release Notes.html"
|
||||
- "${CMAKE_BINARY_DIR}/doc/Stratoshark Release Notes.html"
|
||||
)
|
||||
+
|
||||
+ #
|
||||
+ # As with the manual pages themselves, only install the HTML for a
|
||||
+ # program that is actually built.
|
||||
+ #
|
||||
+ if(BUILD_stratoshark)
|
||||
+ list(APPEND DOC_FILES
|
||||
+ ${CMAKE_BINARY_DIR}/doc/man_pages/stratoshark.html
|
||||
+ "${CMAKE_BINARY_DIR}/doc/Stratoshark Release Notes.html"
|
||||
+ )
|
||||
+ endif()
|
||||
+ if(BUILD_strato)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/strato.html)
|
||||
+ endif()
|
||||
+ if(BUILD_androiddump)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/androiddump.html)
|
||||
+ endif()
|
||||
+ if(BUILD_ciscodump AND LIBSSH_FOUND)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/ciscodump.html)
|
||||
+ endif()
|
||||
+ if(BUILD_etwdump AND WIN32)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/etwdump.html)
|
||||
+ endif()
|
||||
+ if(BUILD_randpktdump)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/randpktdump.html)
|
||||
+ endif()
|
||||
+ if(BUILD_sshdig AND LIBSSH_FOUND)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/sshdig.html)
|
||||
+ endif()
|
||||
+ if(BUILD_sshdump AND LIBSSH_FOUND)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/sshdump.html)
|
||||
+ endif()
|
||||
+ if(BUILD_udpdump)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/udpdump.html)
|
||||
+ endif()
|
||||
+ if(BUILD_wifidump AND LIBSSH_FOUND)
|
||||
+ list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/wifidump.html)
|
||||
+ endif()
|
||||
if(MAXMINDDB_FOUND)
|
||||
list(APPEND DOC_FILES ${CMAKE_BINARY_DIR}/doc/man_pages/mmdbresolve.html)
|
||||
endif()
|
||||
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
|
||||
index a92ed452fe..7a05821b4c 100644
|
||||
--- a/doc/CMakeLists.txt
|
||||
+++ b/doc/CMakeLists.txt
|
||||
@@ -40,28 +40,70 @@ endmacro()
|
||||
|
||||
ADD_MAN_PAGE(wireshark 1)
|
||||
ADD_MAN_PAGE(tshark 1)
|
||||
-ADD_MAN_PAGE(stratoshark 1)
|
||||
-ADD_MAN_PAGE(strato 1)
|
||||
|
||||
-ADD_MAN_PAGE(androiddump 1)
|
||||
ADD_MAN_PAGE(capinfos 1)
|
||||
ADD_MAN_PAGE(captype 1)
|
||||
-ADD_MAN_PAGE(ciscodump 1)
|
||||
ADD_MAN_PAGE(dumpcap 1)
|
||||
ADD_MAN_PAGE(editcap 1)
|
||||
-ADD_MAN_PAGE(etwdump 1)
|
||||
-ADD_MAN_PAGE(falcodump 1)
|
||||
ADD_MAN_PAGE(mergecap 1)
|
||||
ADD_MAN_PAGE(randpkt 1)
|
||||
-ADD_MAN_PAGE(randpktdump 1)
|
||||
ADD_MAN_PAGE(rawshark 1)
|
||||
ADD_MAN_PAGE(reordercap 1)
|
||||
ADD_MAN_PAGE(sharkd 1)
|
||||
-ADD_MAN_PAGE(sshdig 1)
|
||||
-ADD_MAN_PAGE(sshdump 1)
|
||||
ADD_MAN_PAGE(text2pcap 1)
|
||||
-ADD_MAN_PAGE(udpdump 1)
|
||||
-ADD_MAN_PAGE(wifidump 1)
|
||||
+
|
||||
+#
|
||||
+# A program that is not built should not leave a manual page behind for
|
||||
+# it. Each of these follows the option that decides whether the program
|
||||
+# is built, the same way dpauxmon, sdjournal and mmdbresolve do below.
|
||||
+#
|
||||
+if(BUILD_stratoshark)
|
||||
+ ADD_MAN_PAGE(stratoshark 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_strato)
|
||||
+ ADD_MAN_PAGE(strato 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_androiddump)
|
||||
+ ADD_MAN_PAGE(androiddump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_ciscodump AND LIBSSH_FOUND)
|
||||
+ ADD_MAN_PAGE(ciscodump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_dumpcalls AND SINSP_FOUND)
|
||||
+ ADD_MAN_PAGE(dumpcalls 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_etwdump AND WIN32)
|
||||
+ ADD_MAN_PAGE(etwdump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_falcodump AND SINSP_FOUND)
|
||||
+ ADD_MAN_PAGE(falcodump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_randpktdump)
|
||||
+ ADD_MAN_PAGE(randpktdump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_sshdig AND LIBSSH_FOUND)
|
||||
+ ADD_MAN_PAGE(sshdig 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_sshdump AND LIBSSH_FOUND)
|
||||
+ ADD_MAN_PAGE(sshdump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_udpdump)
|
||||
+ ADD_MAN_PAGE(udpdump 1)
|
||||
+endif()
|
||||
+
|
||||
+if(BUILD_wifidump AND LIBSSH_FOUND)
|
||||
+ ADD_MAN_PAGE(wifidump 1)
|
||||
+endif()
|
||||
|
||||
ADD_MAN_PAGE(extcap 4)
|
||||
ADD_MAN_PAGE(wireshark-filter 4)
|
||||
@@ -112,13 +154,17 @@ endif()
|
||||
if(ASCIIDOCTOR_FOUND)
|
||||
ASCIIDOCTOR2HTML("Wireshark_Release_Notes.adoc" CONVERT_UNDERSCORES)
|
||||
ASCIIDOCTOR2TXT("Wireshark_Release_Notes.adoc" CONVERT_UNDERSCORES)
|
||||
- ASCIIDOCTOR2HTML("Stratoshark_Release_Notes.adoc" CONVERT_UNDERSCORES)
|
||||
- ASCIIDOCTOR2TXT("Stratoshark_Release_Notes.adoc" CONVERT_UNDERSCORES)
|
||||
+ set(RELEASE_NOTES_HTML "${CMAKE_CURRENT_BINARY_DIR}/Wireshark Release Notes.html")
|
||||
+
|
||||
+ # Only the release notes for something that was built.
|
||||
+ if(BUILD_stratoshark)
|
||||
+ ASCIIDOCTOR2HTML("Stratoshark_Release_Notes.adoc" CONVERT_UNDERSCORES)
|
||||
+ list(APPEND RELEASE_NOTES_HTML "${CMAKE_CURRENT_BINARY_DIR}/Stratoshark Release Notes.html")
|
||||
+ endif()
|
||||
|
||||
add_custom_target(release_notes_html
|
||||
DEPENDS
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/Wireshark Release Notes.html"
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/Stratoshark Release Notes.html"
|
||||
+ ${RELEASE_NOTES_HTML}
|
||||
)
|
||||
set_target_properties(release_notes_html PROPERTIES FOLDER "Documentation")
|
||||
|
||||
@@ -166,8 +212,7 @@ if(ASCIIDOCTOR_FOUND)
|
||||
install(
|
||||
FILES
|
||||
${HTML_INSTALL_FILES}
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/Wireshark Release Notes.html"
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/Stratoshark Release Notes.html"
|
||||
+ ${RELEASE_NOTES_HTML}
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_DOCDIR}
|
||||
COMPONENT "ReleaseNotes"
|
||||
diff --git a/packaging/debian/stratoshark.manpages b/packaging/debian/stratoshark.manpages
|
||||
index 4f27313b47..f13fa2d55d 100644
|
||||
--- a/packaging/debian/stratoshark.manpages
|
||||
+++ b/packaging/debian/stratoshark.manpages
|
||||
@@ -1,2 +1,3 @@
|
||||
usr/share/man/man1/strato.1
|
||||
usr/share/man/man1/stratoshark.1
|
||||
+usr/share/man/man1/sshdig.1
|
||||
diff --git a/packaging/debian/wireshark-common.manpages b/packaging/debian/wireshark-common.manpages
|
||||
index 9c7ce5956c..974e970e28 100644
|
||||
--- a/packaging/debian/wireshark-common.manpages
|
||||
+++ b/packaging/debian/wireshark-common.manpages
|
||||
@@ -13,7 +13,6 @@ obj-*/doc/man_pages/androiddump.1
|
||||
obj-*/doc/man_pages/ciscodump.1
|
||||
obj-*/doc/man_pages/randpktdump.1
|
||||
obj-*/doc/man_pages/udpdump.1
|
||||
-obj-*/doc/man_pages/sshdig.1
|
||||
obj-*/doc/man_pages/sshdump.1
|
||||
obj-*/doc/man_pages/wifidump.1
|
||||
obj-*/doc/man_pages/extcap.4
|
||||
164
wireshark-0009-ripemd-fips-core-dump.patch
Normal file
164
wireshark-0009-ripemd-fips-core-dump.patch
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
diff --git a/capinfos.c b/capinfos.c
|
||||
index 3c7866befd..da576f88c5 100644
|
||||
--- a/capinfos.c
|
||||
+++ b/capinfos.c
|
||||
@@ -141,7 +141,6 @@ static gboolean cap_file_hashes = TRUE; /* Calculate file hashes */
|
||||
|
||||
// Strongest to weakest
|
||||
#define HASH_SIZE_SHA256 32
|
||||
-#define HASH_SIZE_RMD160 20
|
||||
#define HASH_SIZE_SHA1 20
|
||||
|
||||
#define HASH_STR_SIZE (65) /* Max hash size * 2 + '\0' */
|
||||
@@ -743,7 +742,6 @@ print_stats(const gchar *filename, capture_info *cf_info)
|
||||
}
|
||||
if (cap_file_hashes) {
|
||||
printf ("SHA256: %s\n", file_sha256);
|
||||
- printf ("RIPEMD160: %s\n", file_rmd160);
|
||||
printf ("SHA1: %s\n", file_sha1);
|
||||
}
|
||||
if (cap_order) printf ("Strict time order: %s\n", order_string(cf_info->order));
|
||||
@@ -857,7 +855,6 @@ print_stats_table_header(void)
|
||||
if (cap_packet_rate) print_stats_table_header_label("Average packet rate (packets/sec)");
|
||||
if (cap_file_hashes) {
|
||||
print_stats_table_header_label("SHA256");
|
||||
- print_stats_table_header_label("RIPEMD160");
|
||||
print_stats_table_header_label("SHA1");
|
||||
}
|
||||
if (cap_order) print_stats_table_header_label("Strict time order");
|
||||
@@ -1182,7 +1179,6 @@ calculate_hashes(const char *filename)
|
||||
}
|
||||
gcry_md_final(hd);
|
||||
hash_to_str(gcry_md_read(hd, GCRY_MD_SHA256), HASH_SIZE_SHA256, file_sha256);
|
||||
- hash_to_str(gcry_md_read(hd, GCRY_MD_RMD160), HASH_SIZE_RMD160, file_rmd160);
|
||||
hash_to_str(gcry_md_read(hd, GCRY_MD_SHA1), HASH_SIZE_SHA1, file_sha1);
|
||||
}
|
||||
if (fh) fclose(fh);
|
||||
@@ -1489,7 +1485,7 @@ print_usage(FILE *output)
|
||||
fprintf(output, " -E display the capture file encapsulation\n");
|
||||
fprintf(output, " -I display the capture file interface information\n");
|
||||
fprintf(output, " -F display additional capture file information\n");
|
||||
- fprintf(output, " -H display the SHA256, RIPEMD160, and SHA1 hashes of the file\n");
|
||||
+ fprintf(output, " -H display the SHA256 and SHA1 hashes of the file\n");
|
||||
fprintf(output, " -k display the capture comment\n");
|
||||
fprintf(output, "\n");
|
||||
fprintf(output, "Size infos:\n");
|
||||
@@ -1842,10 +1838,9 @@ main(int argc, char *argv[])
|
||||
if (cap_file_hashes) {
|
||||
gcry_check_version(NULL);
|
||||
gcry_md_open(&hd, GCRY_MD_SHA256, 0);
|
||||
- if (hd) {
|
||||
- gcry_md_enable(hd, GCRY_MD_RMD160);
|
||||
+ if (hd)
|
||||
gcry_md_enable(hd, GCRY_MD_SHA1);
|
||||
- }
|
||||
+
|
||||
hash_buf = (char *)g_malloc(HASH_BUF_SIZE);
|
||||
}
|
||||
|
||||
diff --git a/doc/capinfos.adoc b/doc/capinfos.adoc
|
||||
index 16ed2e300a..124fb56694 100644
|
||||
--- a/doc/capinfos.adoc
|
||||
+++ b/doc/capinfos.adoc
|
||||
@@ -200,7 +200,7 @@ Prints the help listing and exits.
|
||||
-H::
|
||||
+
|
||||
--
|
||||
-Displays the SHA256, RIPEMD160, and SHA1 hashes for the file.
|
||||
+Displays the SHA256 and SHA1 hashes for the file.
|
||||
SHA1 output may be removed in the future.
|
||||
--
|
||||
|
||||
diff --git a/capinfos.c b/capinfos.c
|
||||
index f0059f4e54..e153097219 100644
|
||||
--- a/capinfos.c
|
||||
+++ b/capinfos.c
|
||||
@@ -148,7 +148,6 @@ static gboolean cap_file_hashes = TRUE; /* Calculate file hashes */
|
||||
|
||||
|
||||
static gchar file_sha256[HASH_STR_SIZE];
|
||||
-static gchar file_rmd160[HASH_STR_SIZE];
|
||||
static gchar file_sha1[HASH_STR_SIZE];
|
||||
|
||||
static char *hash_buf = NULL;
|
||||
@@ -1024,11 +1023,6 @@ print_stats_table(const gchar *filename, capture_info *cf_info)
|
||||
printf("%s", file_sha256);
|
||||
putquote();
|
||||
|
||||
- putsep();
|
||||
- putquote();
|
||||
- printf("%s", file_rmd160);
|
||||
- putquote();
|
||||
-
|
||||
putsep();
|
||||
putquote();
|
||||
printf("%s", file_sha1);
|
||||
@@ -1168,7 +1162,6 @@ calculate_hashes(const char *filename)
|
||||
size_t hash_bytes;
|
||||
|
||||
(void) g_strlcpy(file_sha256, "<unknown>", HASH_STR_SIZE);
|
||||
- (void) g_strlcpy(file_rmd160, "<unknown>", HASH_STR_SIZE);
|
||||
(void) g_strlcpy(file_sha1, "<unknown>", HASH_STR_SIZE);
|
||||
|
||||
if (cap_file_hashes) {
|
||||
diff --git a/ui/qt/capture_file_properties_dialog.cpp b/ui/qt/capture_file_properties_dialog.cpp
|
||||
index 9e5b86a7fd..c77056818c 100644
|
||||
--- a/ui/qt/capture_file_properties_dialog.cpp
|
||||
+++ b/ui/qt/capture_file_properties_dialog.cpp
|
||||
@@ -175,11 +175,6 @@ QString CaptureFilePropertiesDialog::summaryToHtml()
|
||||
<< table_data_tmpl.arg(summary.file_sha256)
|
||||
<< table_row_end;
|
||||
|
||||
- out << table_row_begin
|
||||
- << table_vheader_tmpl.arg(tr("Hash (RIPEMD160)"))
|
||||
- << table_data_tmpl.arg(summary.file_rmd160)
|
||||
- << table_row_end;
|
||||
-
|
||||
out << table_row_begin
|
||||
<< table_vheader_tmpl.arg(tr("Hash (SHA1)"))
|
||||
<< table_data_tmpl.arg(summary.file_sha1)
|
||||
diff --git a/ui/summary.c b/ui/summary.c
|
||||
index 127698fd5c..58c7cd68a4 100644
|
||||
--- a/ui/summary.c
|
||||
+++ b/ui/summary.c
|
||||
@@ -21,7 +21,6 @@
|
||||
|
||||
// Strongest to weakest
|
||||
#define HASH_SIZE_SHA256 32
|
||||
-#define HASH_SIZE_RMD160 20
|
||||
#define HASH_SIZE_SHA1 20
|
||||
|
||||
#define HASH_BUF_SIZE (1024 * 1024)
|
||||
@@ -213,12 +212,10 @@ summary_fill_in(capture_file *cf, summary_tally *st)
|
||||
g_free(idb_info);
|
||||
|
||||
(void) g_strlcpy(st->file_sha256, "<unknown>", HASH_STR_SIZE);
|
||||
- (void) g_strlcpy(st->file_rmd160, "<unknown>", HASH_STR_SIZE);
|
||||
(void) g_strlcpy(st->file_sha1, "<unknown>", HASH_STR_SIZE);
|
||||
|
||||
gcry_md_open(&hd, GCRY_MD_SHA256, 0);
|
||||
if (hd) {
|
||||
- gcry_md_enable(hd, GCRY_MD_RMD160);
|
||||
gcry_md_enable(hd, GCRY_MD_SHA1);
|
||||
}
|
||||
hash_buf = (char *)g_malloc(HASH_BUF_SIZE);
|
||||
@@ -230,7 +227,6 @@ summary_fill_in(capture_file *cf, summary_tally *st)
|
||||
}
|
||||
gcry_md_final(hd);
|
||||
hash_to_str(gcry_md_read(hd, GCRY_MD_SHA256), HASH_SIZE_SHA256, st->file_sha256);
|
||||
- hash_to_str(gcry_md_read(hd, GCRY_MD_RMD160), HASH_SIZE_RMD160, st->file_rmd160);
|
||||
hash_to_str(gcry_md_read(hd, GCRY_MD_SHA1), HASH_SIZE_SHA1, st->file_sha1);
|
||||
}
|
||||
if (fh) fclose(fh);
|
||||
diff --git a/ui/summary.h b/ui/summary.h
|
||||
index 9063b99b77..95a51a38c0 100644
|
||||
--- a/ui/summary.h
|
||||
+++ b/ui/summary.h
|
||||
@@ -56,7 +56,6 @@ typedef struct _summary_tally {
|
||||
const char *filename; /**< path of capture file */
|
||||
gint64 file_length; /**< file length in bytes */
|
||||
gchar file_sha256[HASH_STR_SIZE]; /**< SHA256 hash of capture file */
|
||||
- gchar file_rmd160[HASH_STR_SIZE]; /**< RIPEMD160 hash of capture file */
|
||||
gchar file_sha1[HASH_STR_SIZE]; /**< SHA1 hash of capture file */
|
||||
int file_type; /**< wiretap file type */
|
||||
wtap_compression_type compression_type; /**< compression type of file, or uncompressed */
|
||||
74
wireshark-0010-manage-interfaces-crash.patch
Normal file
74
wireshark-0010-manage-interfaces-crash.patch
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
From 2d55e5672b07a8a102024e0af66e821bba51213b Mon Sep 17 00:00:00 2001
|
||||
From: Gerald Combs <gerald@wireshark.org>
|
||||
Date: Sun, 27 Aug 2023 14:47:52 -0700
|
||||
Subject: [PATCH] Qt: Fix ManageInterfacesDialog cleanup
|
||||
|
||||
Handle our ManageInterfacesDialog cleanup tasks inside our destructor.
|
||||
If we try to handle them in on_buttonBox_accepted we run into a race
|
||||
condition with WA_DeleteOnClose.
|
||||
|
||||
Fixes #19287
|
||||
---
|
||||
ui/qt/manage_interfaces_dialog.cpp | 25 ++++++++++++-------------
|
||||
ui/qt/manage_interfaces_dialog.h | 2 --
|
||||
2 files changed, 12 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/ui/qt/manage_interfaces_dialog.cpp b/ui/qt/manage_interfaces_dialog.cpp
|
||||
index cb9da8697b5..a8529e265a9 100644
|
||||
--- a/ui/qt/manage_interfaces_dialog.cpp
|
||||
+++ b/ui/qt/manage_interfaces_dialog.cpp
|
||||
@@ -209,6 +209,18 @@ ManageInterfacesDialog::ManageInterfacesDialog(QWidget *parent) :
|
||||
|
||||
ManageInterfacesDialog::~ManageInterfacesDialog()
|
||||
{
|
||||
+ if (result() == QDialog::Accepted) {
|
||||
+#ifdef HAVE_LIBPCAP
|
||||
+ sourceModel->save();
|
||||
+#endif
|
||||
+#ifdef HAVE_PCAP_REMOTE
|
||||
+ remoteAccepted();
|
||||
+#endif
|
||||
+ prefs_main_write();
|
||||
+ mainApp->refreshLocalInterfaces();
|
||||
+ emit ifsChanged();
|
||||
+ }
|
||||
+
|
||||
delete ui;
|
||||
}
|
||||
|
||||
@@ -252,19 +264,6 @@ void ManageInterfacesDialog::updateWidgets()
|
||||
ui->hintLabel->setText(hint);
|
||||
}
|
||||
|
||||
-void ManageInterfacesDialog::on_buttonBox_accepted()
|
||||
-{
|
||||
-#ifdef HAVE_LIBPCAP
|
||||
- sourceModel->save();
|
||||
-#endif
|
||||
-#ifdef HAVE_PCAP_REMOTE
|
||||
- remoteAccepted();
|
||||
-#endif
|
||||
- prefs_main_write();
|
||||
- mainApp->refreshLocalInterfaces();
|
||||
- emit ifsChanged();
|
||||
-}
|
||||
-
|
||||
#ifdef HAVE_LIBPCAP
|
||||
void ManageInterfacesDialog::on_addPipe_clicked()
|
||||
{
|
||||
diff --git a/ui/qt/manage_interfaces_dialog.h b/ui/qt/manage_interfaces_dialog.h
|
||||
index 80b78afbe7a..79e9d0d9bfa 100644
|
||||
--- a/ui/qt/manage_interfaces_dialog.h
|
||||
+++ b/ui/qt/manage_interfaces_dialog.h
|
||||
@@ -59,8 +59,6 @@ signals:
|
||||
private slots:
|
||||
void updateWidgets();
|
||||
|
||||
- void on_buttonBox_accepted();
|
||||
-
|
||||
#ifdef HAVE_LIBPCAP
|
||||
void on_addPipe_clicked();
|
||||
void on_delPipe_clicked();
|
||||
--
|
||||
GitLab
|
||||
|
||||
326
wireshark.spec
326
wireshark.spec
|
|
@ -1,17 +1,14 @@
|
|||
%undefine __cmake_in_source_build
|
||||
%global with_lua 1
|
||||
%global with_maxminddb 1
|
||||
%global with_pytools 1
|
||||
%global plugins_version 4.6
|
||||
|
||||
%bcond http3 %[0%{?fedora} >= 43]
|
||||
%global plugins_version 4.0
|
||||
|
||||
Summary: Network traffic analyzer
|
||||
Name: wireshark
|
||||
Version: 4.6.8
|
||||
Release: 1%{?dist}
|
||||
Version: 4.0.8
|
||||
Release: 2%{?dist}
|
||||
Epoch: 1
|
||||
License: BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND MIT AND GPL-2.0-or-later AND LGPL-2.0-or-later AND Zlib AND ISC AND (BSD-3-Clause OR GPL-2.0-only) AND (GPL-2.0-or-later AND Zlib)
|
||||
License: GPL+
|
||||
Url: http://www.wireshark.org/
|
||||
|
||||
Source0: https://wireshark.org/download/src/%{name}-%{version}.tar.xz
|
||||
|
|
@ -20,11 +17,19 @@ Source2: 90-wireshark-usbmon.rules
|
|||
Source3: wireshark.sysusers
|
||||
|
||||
# Fedora-specific
|
||||
Patch2: wireshark-0002-Customize-permission-denied-error.patch
|
||||
Patch2: wireshark-0002-Customize-permission-denied-error.patch
|
||||
# Will be proposed upstream
|
||||
Patch3: wireshark-0003-fix-string-overrun-in-plugins-profinet.patch
|
||||
# Fedora-specific
|
||||
Patch6: wireshark-0006-Move-tmp-to-var-tmp.patch
|
||||
# Proposed upstream - https://gitlab.com/wireshark/wireshark/-/merge_requests/26425
|
||||
Patch9: wireshark-0009-remove-strato-manpages.patch
|
||||
Patch4: wireshark-0004-Restore-Fedora-specific-groups.patch
|
||||
# Fedora-specific
|
||||
Patch5: wireshark-0005-Fix-paths-in-a-wireshark.desktop-file.patch
|
||||
# Fedora-specific
|
||||
Patch6: wireshark-0006-Move-tmp-to-var-tmp.patch
|
||||
Patch7: wireshark-0007-cmakelists.patch
|
||||
Patch8: wireshark-0008-glib2-g_strdup-build.patch
|
||||
Patch9: wireshark-0009-ripemd-fips-core-dump.patch
|
||||
Patch10: wireshark-0010-manage-interfaces-crash.patch
|
||||
|
||||
#install tshark together with wireshark GUI
|
||||
Requires: %{name}-cli = %{epoch}:%{version}-%{release}
|
||||
|
|
@ -59,47 +64,27 @@ BuildRequires: perl(Pod::Man)
|
|||
BuildRequires: perl(open)
|
||||
BuildRequires: pcre2-devel
|
||||
Buildrequires: libssh-devel
|
||||
BuildRequires: qt6-qttools-devel
|
||||
BuildRequires: qt6-linguist
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: qt6-qt5compat-devel
|
||||
BuildRequires: qt6-qtmultimedia-devel
|
||||
BuildRequires: qt6-qtsvg-devel
|
||||
BuildRequires: qt6-qtimageformats
|
||||
BuildRequires: qt6-qttools-devel
|
||||
BuildRequires: qt6-linguist
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: qt6-qt5compat-devel
|
||||
BuildRequires: qt6-qtmultimedia-devel
|
||||
BuildRequires: qt6-qtsvg-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: asciidoctor
|
||||
%if %{with_maxminddb} && 0%{?fedora}
|
||||
BuildRequires: libmaxminddb-devel
|
||||
%endif
|
||||
%if %{with_lua} && 0%{?fedora}
|
||||
BuildRequires: lua-devel
|
||||
%if %{with_lua}
|
||||
BuildRequires: compat-lua-devel
|
||||
%endif
|
||||
Buildrequires: git-core
|
||||
Buildrequires: python3-devel
|
||||
Buildrequires: cmake
|
||||
Buildrequires: speexdsp-devel
|
||||
Buildrequires: git-core
|
||||
Buildrequires: python3-devel
|
||||
Buildrequires: cmake
|
||||
#needed for sdjournal external capture interface
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: libnghttp2-devel
|
||||
%if %{with http3}
|
||||
BuildRequires: libnghttp3-devel
|
||||
%endif
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: lz4-devel
|
||||
BuildRequires: snappy-devel
|
||||
BuildRequires: brotli-devel
|
||||
BuildRequires: opus-devel
|
||||
BuildRequires: sbc-devel
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: ilbc-devel
|
||||
BuildRequires: opencore-amr-devel
|
||||
# bcg729 for G.729
|
||||
BuildRequires: bcg729-devel
|
||||
# spandsp for G.722 and G.726
|
||||
BuildRequires: spandsp-devel
|
||||
# wireshark needs the -compat package
|
||||
%endif
|
||||
|
||||
BuildRequires: systemd-devel
|
||||
BuildRequires: libnghttp2-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
%description
|
||||
Wireshark allows you to examine protocol data stored in files or as it is
|
||||
|
|
@ -114,6 +99,8 @@ transferred over HTTP or CIFS, or play back an RTP audio stream.
|
|||
|
||||
%package cli
|
||||
Summary: Network traffic analyzer
|
||||
Requires(pre): shadow-utils
|
||||
Requires(post): systemd-udev
|
||||
|
||||
%description cli
|
||||
This package contains command-line utilities, plugins, and documentation for
|
||||
|
|
@ -125,10 +112,6 @@ Requires: %{name} = %{epoch}:%{version}-%{release}
|
|||
Requires: %{name}-cli = %{epoch}:%{version}-%{release}
|
||||
Requires: glibc-devel
|
||||
Requires: glib2-devel
|
||||
%if %{with_pytools} && 0%{?fedora}
|
||||
Requires: python3-ply
|
||||
Requires: omniORB-devel
|
||||
%endif
|
||||
|
||||
%description devel
|
||||
The wireshark-devel package contains the header files, developer
|
||||
|
|
@ -143,8 +126,9 @@ and plugins.
|
|||
%cmake -G "Unix Makefiles" \
|
||||
-DDISABLE_WERROR=ON \
|
||||
-DBUILD_wireshark=ON \
|
||||
%if %{with_lua} && 0%{?fedora}
|
||||
%if %{with_lua}
|
||||
-DENABLE_LUA=ON \
|
||||
-DLUA_VERSION_NUM=5.1 \
|
||||
%else
|
||||
-DENABLE_LUA=OFF \
|
||||
%endif
|
||||
|
|
@ -160,49 +144,55 @@ and plugins.
|
|||
-DENABLE_PLUGINS=ON \
|
||||
-DENABLE_NETLINK=ON \
|
||||
-DBUILD_dcerpcidl2wrs=OFF \
|
||||
-DBUILD_sdjournal=ON \
|
||||
-DBUILD_stratoshark=OFF
|
||||
-DBUILD_sdjournal=ON
|
||||
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%cmake_install --component Development
|
||||
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.wireshark.Wireshark.desktop
|
||||
|
||||
#install devel files (inspired by debian/wireshark-dev.header-files)
|
||||
install -d -m 0755 %{buildroot}%{_includedir}/wireshark
|
||||
install -m 0644 %{__cmake_builddir}/config.h %{buildroot}%{_includedir}/wireshark/config.h
|
||||
IDIR="%{buildroot}%{_includedir}/wireshark"
|
||||
mkdir -p "${IDIR}/epan"
|
||||
mkdir -p "${IDIR}/epan/crypt"
|
||||
mkdir -p "${IDIR}/epan/ftypes"
|
||||
mkdir -p "${IDIR}/epan/dfilter"
|
||||
mkdir -p "${IDIR}/epan/dissectors"
|
||||
mkdir -p "${IDIR}/epan/wmem"
|
||||
mkdir -p "${IDIR}/wiretap"
|
||||
mkdir -p "${IDIR}/wsutil"
|
||||
mkdir -p %{buildroot}%{_udevrulesdir}
|
||||
install -m 0644 %{SOURCE2} %{buildroot}%{_udevrulesdir}
|
||||
install -Dpm 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||
|
||||
%if %{with_pytools} && 0%{?fedora}
|
||||
#install asn2wrs.py, idl2wrs and make-plugin-reg.py tools
|
||||
mkdir -p %{buildroot}%{_libexecdir}/wireshark/pytools
|
||||
install -m 0755 tools/asn2wrs.py %{buildroot}%{_libexecdir}/wireshark/pytools/
|
||||
install -m 0755 tools/make-plugin-reg.py %{buildroot}%{_libexecdir}/wireshark/pytools/
|
||||
install -m 0755 tools/idl2wrs %{buildroot}%{_libexecdir}/wireshark/pytools/
|
||||
|
||||
#install idl2wrs dependent scripts
|
||||
install -m 0644 tools/wireshark_be.py %{buildroot}%{_libexecdir}/wireshark/pytools/
|
||||
install -m 0644 tools/wireshark_gen.py %{buildroot}%{_libexecdir}/wireshark/pytools/
|
||||
%endif
|
||||
install -m 644 %{_vpath_builddir}/config.h epan/register.h "${IDIR}/"
|
||||
install -m 644 cfile.h file.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"
|
||||
install -m 644 epan/dfilter/*.h "${IDIR}/epan/dfilter"
|
||||
install -m 644 epan/dissectors/*.h "${IDIR}/epan/dissectors"
|
||||
install -m 644 wiretap/*.h "${IDIR}/wiretap"
|
||||
install -m 644 wsutil/*.h "${IDIR}/wsutil"
|
||||
install -m 644 include/ws_symbol_export.h "${IDIR}/"
|
||||
install -m 644 include/ws_diag_control.h "${IDIR}/"
|
||||
install -m 644 %{SOURCE2} %{buildroot}%{_udevrulesdir}
|
||||
install -Dpm 644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||
|
||||
touch %{buildroot}%{_bindir}/%{name}
|
||||
|
||||
# Remove libtool archives and static libs
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
%pre cli
|
||||
%sysusers_create_compat %{SOURCE3}
|
||||
|
||||
%post cli
|
||||
%{?ldconfig}
|
||||
# skip triggering if udevd isn't even accessible, e.g. containers or
|
||||
# rpm-ostree-based systems
|
||||
if [ -S /run/udev/control ]; then
|
||||
/usr/bin/udevadm trigger --subsystem-match=usbmon || :
|
||||
/usr/bin/udevadm trigger --subsystem-match=usbmon
|
||||
fi
|
||||
|
||||
%ldconfig_postun cli
|
||||
|
|
@ -218,11 +208,10 @@ fi
|
|||
|
||||
%files cli
|
||||
%license COPYING
|
||||
%doc AUTHORS INSTALL README*
|
||||
%doc AUTHORS INSTALL NEWS README*
|
||||
%{_bindir}/capinfos
|
||||
%{_bindir}/captype
|
||||
%{_bindir}/editcap
|
||||
%{_bindir}/dftest
|
||||
%{_bindir}/mergecap
|
||||
%{_bindir}/randpkt
|
||||
%{_bindir}/reordercap
|
||||
|
|
@ -236,17 +225,18 @@ fi
|
|||
%{_bindir}/rawshark
|
||||
%{_udevrulesdir}/90-wireshark-usbmon.rules
|
||||
%{_libdir}/lib*.so.*
|
||||
%dir %{_libexecdir}/wireshark
|
||||
%dir %{_libexecdir}/wireshark/extcap
|
||||
%dir %{_libdir}/wireshark/plugins
|
||||
%dir %{_libdir}/wireshark
|
||||
%{_libexecdir}/wireshark/extcap/ciscodump
|
||||
%{_libexecdir}/wireshark/extcap/udpdump
|
||||
%{_libexecdir}/wireshark/extcap/wifidump
|
||||
%{_libexecdir}/wireshark/extcap/sshdump
|
||||
%{_libexecdir}/wireshark/extcap/sdjournal
|
||||
%{_libexecdir}/wireshark/extcap/dpauxmon
|
||||
%{_libexecdir}/wireshark/extcap/androiddump
|
||||
%dir %{_libdir}/wireshark/extcap
|
||||
%dir %{_libdir}/wireshark/plugins
|
||||
%{_libdir}/wireshark/extcap/ciscodump
|
||||
%{_libdir}/wireshark/extcap/udpdump
|
||||
%{_libdir}/wireshark/extcap/wifidump
|
||||
%{_libdir}/wireshark/extcap/sshdump
|
||||
%{_libdir}/wireshark/extcap/sdjournal
|
||||
%{_libdir}/wireshark/extcap/dpauxmon
|
||||
%{_libdir}/wireshark/extcap/androiddump
|
||||
%dir %{_libdir}/wireshark/cmake
|
||||
%{_libdir}/wireshark/cmake/*.cmake
|
||||
#the version wireshark uses to store plugins is only x.y, not .z
|
||||
%dir %{_libdir}/wireshark/plugins/%{plugins_version}
|
||||
%dir %{_libdir}/wireshark/plugins/%{plugins_version}/epan
|
||||
|
|
@ -263,6 +253,7 @@ fi
|
|||
%{_mandir}/man1/dumpcap.*
|
||||
%{_mandir}/man4/wireshark-filter.*
|
||||
%{_mandir}/man1/rawshark.*
|
||||
%{_mandir}/man1/dftest.*
|
||||
%{_mandir}/man1/randpkt.*
|
||||
%{_mandir}/man1/reordercap.*
|
||||
%{_mandir}/man1/sshdump.*
|
||||
|
|
@ -271,12 +262,11 @@ fi
|
|||
%{_mandir}/man1/androiddump.*
|
||||
%{_mandir}/man1/captype.*
|
||||
%{_mandir}/man1/ciscodump.*
|
||||
%{_mandir}/man1/randpktdump.*
|
||||
%{_mandir}/man1/dpauxmon.*
|
||||
%{_mandir}/man1/sdjournal.*
|
||||
%{_mandir}/man1/sharkd.*
|
||||
%{_mandir}/man1/etwdump.1.gz
|
||||
%{_mandir}/man4/extcap.*
|
||||
%{_datadir}/doc/wireshark/*
|
||||
|
||||
%if %{with_maxminddb} && 0%{?fedora}
|
||||
%{_mandir}/man1/mmdbresolve.*
|
||||
%endif
|
||||
|
|
@ -286,152 +276,11 @@ fi
|
|||
|
||||
%files devel
|
||||
%doc doc/README.* ChangeLog
|
||||
%dir %{_includedir}/wireshark
|
||||
%{_includedir}/wireshark/*
|
||||
%{_includedir}/wireshark
|
||||
%{_libdir}/lib*.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_libdir}/cmake/%{name}/*.cmake
|
||||
%if %{with_pytools} && 0%{?fedora}
|
||||
%dir %{_libexecdir}/wireshark/pytools
|
||||
%{_libexecdir}/wireshark/pytools/*.py
|
||||
%{_libexecdir}/wireshark/pytools/idl2wrs
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Sep 9 2026 Peter Lemenkov <lemenkov@gmail.com> - 1:4.6.8-1
|
||||
- New version 4.6.8
|
||||
|
||||
* Tue Sep 08 2026 Peter Lemenkov <lemenkov@gmail.com> - 1:4.6.7-3
|
||||
- Rewrite the /var/tmp patch to set TMPDIR in configuration_init() rather
|
||||
than add wsutil/wstmpdir.{c,h} and rewrite create_tempfile(). TMPDIR is
|
||||
read by GLib, by Qt and by child processes such as dumpcap, so one
|
||||
default now covers every temporary file instead of three of the roughly
|
||||
seventeen places that ask for a temporary directory
|
||||
- Drop wireshark-0007-cmakelists.patch, which existed only to build the
|
||||
files the rewrite removes
|
||||
- Drop the stray wireshark-0003 patch, applied upstream in 0bc06ec1086 and
|
||||
unreferenced by the spec since 4.6.0
|
||||
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.6.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Tue Jul 14 2026 Michal Ruprich <mruprich@redhat.com> - 1:4.6.7-1
|
||||
- New version 4.6.7
|
||||
|
||||
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1:4.6.6-2
|
||||
- Rebuilt for openssl 4.0
|
||||
|
||||
* Mon Jun 01 2026 Michal Ruprich <mruprich@redhat.com> - 1:4.6.6-1
|
||||
- New version 4.6.6
|
||||
|
||||
* Wed Mar 11 2026 Michal Ruprich <mruprich@redhat.com> - 1:4.6.4-2
|
||||
- Python tools should only be shipped in Fedora
|
||||
|
||||
* Wed Mar 04 2026 Michal Ruprich <mruprich@redhat.com> - 1:4.6.4-1
|
||||
- New version 4.6.4
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.6.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Thu Jan 15 2026 Michal Ruprich <mruprich@redhat.com> - 1:4.6.3-1
|
||||
- New version 4.6.3
|
||||
|
||||
* Thu Dec 11 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 1:4.6.1-3
|
||||
- Enable HTTP/3 support on F43+ only
|
||||
|
||||
* Tue Dec 09 2025 Alexey Kurov <nucleo@fedoraproject.org> - 1:4.6.1-2
|
||||
- BuildRequires: libnghttp3-devel - needed for HTTP3 support
|
||||
|
||||
* Thu Nov 27 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.6.1-1
|
||||
- New version 4.6.1
|
||||
|
||||
* Thu Oct 09 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.6.0-1
|
||||
- New version 4.6.0
|
||||
|
||||
* Mon Sep 01 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.9-1
|
||||
- New version 4.4.9
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.4.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Fri Jul 18 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.8-1
|
||||
- New version 4.4.8
|
||||
|
||||
* Thu Jun 05 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.7-1
|
||||
- New version 4.4.7
|
||||
|
||||
* Tue Jun 03 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.6-2
|
||||
- udevadm should be ignored if an error occures
|
||||
|
||||
* Mon May 26 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.6-1
|
||||
- New version 4.4.6
|
||||
|
||||
* Tue Mar 18 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.5-1
|
||||
- New version 4.4.5
|
||||
|
||||
* Thu Feb 20 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.4-1
|
||||
- New version 4.4.4
|
||||
|
||||
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1:4.4.3-2
|
||||
- Drop call to %sysusers_create_compat
|
||||
|
||||
* Wed Jan 22 2025 Michal Ruprich <mruprich@redhat.com> - 1:4.4.3-1
|
||||
- New version 4.4.3
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.4.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Thu Nov 21 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.4.2-1
|
||||
- New version 4.4.2
|
||||
|
||||
* Thu Oct 10 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.4.1-1
|
||||
- New version 4.4.1
|
||||
|
||||
* Fri Sep 20 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.4.0-2
|
||||
- Using cmake install for development headers and .cmake files
|
||||
|
||||
* Thu Aug 29 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.4.0-1
|
||||
- New version 4.4.0
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.2.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Jul 11 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.2.6-1
|
||||
- New version 4.2.6
|
||||
|
||||
* Fri May 24 2024 Neal Gompa <ngompa@fedoraproject.org> - 1:4.2.5-2
|
||||
- Rebuild (Qt6)
|
||||
|
||||
* Wed May 22 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.2.5-1
|
||||
- New version 4.2.5
|
||||
|
||||
* Tue May 21 2024 Jan Grulich <jgrulich@redhat.com> - 1:4.2.4-3
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Sat May 04 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.2.4-2
|
||||
- Enabling additional features (rhbz#2278136)
|
||||
|
||||
* Mon Apr 08 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.2.4-1
|
||||
- New version 4.2.4
|
||||
|
||||
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 1:4.2.3-2
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Tue Mar 12 2024 Marie Loise Nolden <loise@kde.org> - 1:4.2.3-1
|
||||
- New version 4.2.3-1
|
||||
|
||||
* Sun Feb 18 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1:4.2.2-3
|
||||
- Install more devel headers
|
||||
|
||||
* Sun Feb 11 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.2.2-2
|
||||
- Making sure that wireshark.pc is created and installed
|
||||
|
||||
* Thu Feb 01 2024 Michal Ruprich <mruprich@redhat.com> - 1:4.2.2-1
|
||||
- New version 4.2.2
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.0.8-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Aug 31 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.8-2
|
||||
- Resolves: #2236246 - wireshark crash in managed interfaces
|
||||
|
||||
|
|
@ -439,12 +288,9 @@ fi
|
|||
- New version 4.0.8
|
||||
- Resolves: #2235577 - possible Denial of Service via crafted package
|
||||
|
||||
* Fri Jul 28 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.7-3
|
||||
* Fri Jul 28 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.7-2
|
||||
- Resolves: #2227004 - capinfos aborts in FIPS
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.0.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri Jul 14 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.7-1
|
||||
- New version 4.0.7
|
||||
|
||||
|
|
@ -455,33 +301,25 @@ fi
|
|||
- New version 4.0.5
|
||||
- Fix for bug #2159392
|
||||
|
||||
* Wed Mar 22 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.4-2
|
||||
- SPDX migration
|
||||
|
||||
* Tue Mar 07 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.4-1
|
||||
- New version 4.0.4
|
||||
|
||||
* Thu Feb 02 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.3-1
|
||||
- New version 4.0.3
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.0.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Dec 08 2022 Michal Ruprich <mruprich@redhat.com> - 1:4.0.2-1
|
||||
- New version 4.0.2
|
||||
|
||||
* Thu Oct 27 2022 Michal Ruprich <mruprich@redhat.com> - 1:4.0.1-1
|
||||
* Fri Nov 25 2022 Michal Ruprich <mruprich@redhat.com> - 1:4.0.1-1
|
||||
- New version 4.0.1
|
||||
- Only compat-lua is supported, on Fedora only
|
||||
- Fix for rhbz #2148308
|
||||
- Fix for CVE-2022-3725
|
||||
|
||||
* Fri Oct 14 2022 Michal Ruprich <mruprich@redhat.com> - 1:4.0.0-2
|
||||
- Adding a couple of tweaks for the latest rebased version
|
||||
|
||||
* Thu Oct 06 2022 Kenneth Topp <toppk@bllue.org> - 1:4.0.0-1
|
||||
* Fri Oct 14 2022 Michal Ruprich <mruprich@redhat.com> - 1:4.0.0-1
|
||||
- New version 4.0.0
|
||||
|
||||
* Thu Sep 29 2022 Michal Ruprich <mruprich@redhat.com> - 1:3.6.8-2
|
||||
- New version 3.6.8
|
||||
* Thu Sep 29 2022 Michal Ruprich <mruprich@redhat.com> - 1:3.6.8-1
|
||||
- New-version 3.6.8
|
||||
- Fix for CVE-2022-3190
|
||||
|
||||
* Mon Aug 01 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 1:3.6.7-2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue