Compare commits
13 Commits
Author | SHA1 | Date |
---|---|---|
Michal Fabik | c462fa7f12 | |
Michal Fabik | bc806d3edb | |
Michal Fabik | 724e2df111 | |
Sérgio M. Basto | c004d62b10 | |
Michal Fabik | d2cb4f403d | |
Matěj Grabovský | 538fa3cf9f | |
Matěj Grabovský | 869bfed2d0 | |
Michal Fabik | 1e4725643b | |
Michal Fabik | 2c6fa9dda5 | |
Michal Fabik | e7f8fadcb8 | |
Michal Fabik | 98f76983a2 | |
Michal Fabik | a42c2c5dd8 | |
Michal Fabik | 46aa70c18c |
|
@ -71,3 +71,6 @@ abrt-1.1.13.tar.gz
|
|||
/abrt-2.14.0.tar.gz
|
||||
/abrt-2.14.1.tar.gz
|
||||
/abrt-2.14.2.tar.gz
|
||||
/abrt-2.14.4.tar.gz
|
||||
/abrt-2.14.5.tar.gz
|
||||
/abrt-2.14.6.tar.gz
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
From 5618985d3d7f830ebba0ef78e2ee6d3d6f9f6c55 Mon Sep 17 00:00:00 2001
|
||||
From: Ernestas Kulik <ekulik@redhat.com>
|
||||
Date: Fri, 15 May 2020 15:49:59 +0200
|
||||
Subject: [PATCH] applet: Pass instance pointer to signal handler
|
||||
|
||||
Some fallout from 802a40a2f7c971b6533162e70b860e01ae3b5a27.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1836190
|
||||
---
|
||||
src/applet/abrt-applet-application.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c
|
||||
index d982c9f9..8ea653bb 100644
|
||||
--- a/src/applet/abrt-applet-application.c
|
||||
+++ b/src/applet/abrt-applet-application.c
|
||||
@@ -177,7 +177,7 @@ abrt_applet_application_init (AbrtAppletApplication *self)
|
||||
g_signal_connect (network_monitor, "notify::connectivity",
|
||||
G_CALLBACK (on_connectivity_changed), self);
|
||||
g_signal_connect (network_monitor, "notify::network-available",
|
||||
- G_CALLBACK (on_connectivity_changed), NULL);
|
||||
+ G_CALLBACK (on_connectivity_changed), self);
|
||||
|
||||
self->deferred_problems = g_ptr_array_new_with_free_func (g_object_unref);
|
||||
}
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From 1f2963b0611d4023957abe3c7391eab86256ba82 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Fabik <mfabik@redhat.com>
|
||||
Date: Wed, 23 Sep 2020 16:55:25 +0200
|
||||
Subject: [PATCH] hooklib: Don't g_autofree backtrace
|
||||
|
||||
The result of abrt_get_backtrace was being freed every time, even when
|
||||
no error occured.
|
||||
|
||||
Resolves:
|
||||
https://github.com/abrt/abrt/issues/1528
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1881745
|
||||
Signed-off-by: Michal Fabik <mfabik@redhat.com>
|
||||
---
|
||||
src/lib/hooklib.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
|
||||
index dceaeb16..56b77bc3 100644
|
||||
--- a/src/lib/hooklib.c
|
||||
+++ b/src/lib/hooklib.c
|
||||
@@ -348,7 +348,7 @@ char *abrt_get_backtrace(struct dump_dir *dd, unsigned timeout_sec, const char *
|
||||
unsigned bt_depth = 1024;
|
||||
const char *thread_apply_all = "thread apply all -ascending";
|
||||
const char *full = "full ";
|
||||
- g_autofree char *bt = NULL;
|
||||
+ char *bt = NULL;
|
||||
while (1)
|
||||
{
|
||||
args[bt_cmd_index] = g_strdup_printf("%s backtrace %s%u", thread_apply_all, full, bt_depth);
|
||||
@@ -367,6 +367,7 @@ char *abrt_get_backtrace(struct dump_dir *dd, unsigned timeout_sec, const char *
|
||||
/* (NB: in fact, current impl. of exec_vp() never returns NULL) */
|
||||
log_warning("Failed to generate backtrace, reducing depth to %u",
|
||||
bt_depth);
|
||||
+ free(bt);
|
||||
|
||||
/* Replace -ex disassemble (which disasms entire function $pc points to)
|
||||
* to a version which analyzes limited, small patch of code around $pc.
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
From b08e7cbd26704b0a5400fdfab1f3f2e3922b102f Mon Sep 17 00:00:00 2001
|
||||
From: Ernestas Kulik <ekulik@redhat.com>
|
||||
Date: Fri, 15 May 2020 15:50:50 +0200
|
||||
Subject: [PATCH] applet: Chain up in dispose()
|
||||
|
||||
Also something missed in 802a40a2f7c971b6533162e70b860e01ae3b5a27.
|
||||
---
|
||||
src/applet/abrt-applet-application.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c
|
||||
index 8ea653bb..52ed5529 100644
|
||||
--- a/src/applet/abrt-applet-application.c
|
||||
+++ b/src/applet/abrt-applet-application.c
|
||||
@@ -985,6 +985,8 @@ abrt_applet_application_dispose (GObject *object)
|
||||
self = ABRT_APPLET_APPLICATION (object);
|
||||
|
||||
g_clear_pointer (&self->deferred_problems, g_ptr_array_unref);
|
||||
+
|
||||
+ G_OBJECT_CLASS (abrt_applet_application_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From 5fa7b1f84fb02ca5dcf50d27f4bc14563c1918f6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= <mgrabovs@redhat.com>
|
||||
Date: Mon, 12 Oct 2020 19:14:03 +0200
|
||||
Subject: [PATCH] hooklib: Proper freeing of backtrace
|
||||
|
||||
Improper bracing caused the bt variable to be freed every time in every
|
||||
iteration no matter what. This would then lead to an invalid (freed)
|
||||
pointer being returned by the function.
|
||||
|
||||
The mistake was made in 1f2963b0 and reported by Jeff Law.
|
||||
---
|
||||
src/lib/hooklib.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/hooklib.c b/src/lib/hooklib.c
|
||||
index 56b77bc3..fc2a6a00 100644
|
||||
--- a/src/lib/hooklib.c
|
||||
+++ b/src/lib/hooklib.c
|
||||
@@ -361,13 +361,17 @@ char *abrt_get_backtrace(struct dump_dir *dd, unsigned timeout_sec, const char *
|
||||
|
||||
bt_depth /= 2;
|
||||
if (bt)
|
||||
+ {
|
||||
log_warning("Backtrace is too big (%u bytes), reducing depth to %u",
|
||||
(unsigned)strlen(bt), bt_depth);
|
||||
+ }
|
||||
else
|
||||
+ {
|
||||
/* (NB: in fact, current impl. of exec_vp() never returns NULL) */
|
||||
log_warning("Failed to generate backtrace, reducing depth to %u",
|
||||
bt_depth);
|
||||
- free(bt);
|
||||
+ g_clear_pointer(&bt, free);
|
||||
+ }
|
||||
|
||||
/* Replace -ex disassemble (which disasms entire function $pc points to)
|
||||
* to a version which analyzes limited, small patch of code around $pc.
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
From b28fcc053db224c11f1f88d2885eba88d60a7322 Mon Sep 17 00:00:00 2001
|
||||
From: Ernestas Kulik <ekulik@redhat.com>
|
||||
Date: Tue, 28 Jul 2020 15:39:43 +0200
|
||||
Subject: [PATCH] applet: application: Fix crash when processing deferred
|
||||
|
||||
Currently, when processing the deferred problems, if reporting fails,
|
||||
the problem is re-added to the queue, but the object is not
|
||||
re-referenced, leading to invalid reads later on.
|
||||
---
|
||||
src/applet/abrt-applet-application.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/applet/abrt-applet-application.c b/src/applet/abrt-applet-application.c
|
||||
index 28e55135..4716524b 100644
|
||||
--- a/src/applet/abrt-applet-application.c
|
||||
+++ b/src/applet/abrt-applet-application.c
|
||||
@@ -771,11 +771,9 @@ handle_event_output_cb (GIOChannel *gio,
|
||||
gpointer data)
|
||||
{
|
||||
EventProcessingState *state;
|
||||
- AbrtAppletProblemInfo *problem_info;
|
||||
int status;
|
||||
|
||||
state = data;
|
||||
- problem_info = state->problem_info;
|
||||
|
||||
/* Read streamed data and split lines */
|
||||
for (;;)
|
||||
@@ -836,21 +834,23 @@ handle_event_output_cb (GIOChannel *gio,
|
||||
|
||||
if (WIFEXITED (status) && WEXITSTATUS (status) == EXIT_STOP_EVENT_RUN)
|
||||
{
|
||||
- abrt_applet_problem_info_set_known (problem_info, true);
|
||||
+ abrt_applet_problem_info_set_known (state->problem_info, true);
|
||||
status = 0;
|
||||
}
|
||||
|
||||
if (status == 0)
|
||||
{
|
||||
- abrt_applet_problem_info_set_reported (problem_info, true);
|
||||
+ abrt_applet_problem_info_set_reported (state->problem_info, true);
|
||||
|
||||
log_debug ("fast report finished successfully");
|
||||
- abrt_applet_application_send_problem_notification (state->application, problem_info);
|
||||
+ abrt_applet_application_send_problem_notification (state->application,
|
||||
+ state->problem_info);
|
||||
}
|
||||
else
|
||||
{
|
||||
log_debug ("fast report failed, deferring");
|
||||
- g_ptr_array_add (state->application->deferred_problems, problem_info);
|
||||
+ g_ptr_array_add (state->application->deferred_problems,
|
||||
+ g_steal_pointer (&state->problem_info));
|
||||
}
|
||||
|
||||
event_processing_state_free (state);
|
||||
--
|
||||
2.26.2
|
||||
|
121
abrt.spec
121
abrt.spec
|
@ -43,21 +43,17 @@
|
|||
%define docdirversion -%{version}
|
||||
%endif
|
||||
|
||||
%define libreport_ver 2.13.0
|
||||
%define libreport_ver 2.14.0
|
||||
%define satyr_ver 0.24
|
||||
|
||||
Summary: Automatic bug detection and reporting tool
|
||||
Name: abrt
|
||||
Version: 2.14.2
|
||||
Release: 5%{?dist}
|
||||
Version: 2.14.6
|
||||
Release: 3%{?dist}
|
||||
License: GPLv2+
|
||||
URL: https://abrt.readthedocs.org/
|
||||
Source: https://github.com/abrt/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch0: 0001-applet-Pass-instance-pointer-to-signal-handler.patch
|
||||
Patch1: 0002-applet-Chain-up-in-dispose.patch
|
||||
Patch2: 0003-applet-application-Fix-crash-when-processing-deferre.patch
|
||||
|
||||
BuildRequires: git-core
|
||||
BuildRequires: %{dbus_devel}
|
||||
BuildRequires: hostname
|
||||
|
@ -67,6 +63,7 @@ BuildRequires: rpm-devel >= 4.6
|
|||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: libnotify-devel
|
||||
#why? BuildRequires: file-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: gettext
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: intltool
|
||||
|
@ -83,6 +80,7 @@ BuildRequires: libselinux-devel
|
|||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-systemd
|
||||
BuildRequires: python3-argcomplete
|
||||
BuildRequires: python3-dbus
|
||||
%endif
|
||||
|
||||
Requires: libreport >= %{libreport_ver}
|
||||
|
@ -106,12 +104,11 @@ Requires: python3-dbus
|
|||
Requires: dmidecode
|
||||
%endif
|
||||
Requires: libreport-plugin-ureport
|
||||
%if 0%{?rhel}
|
||||
Requires: libreport-plugin-rhtsupport
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
Requires: libreport-plugin-systemd-journal
|
||||
%endif
|
||||
# to fix upgrade path abrt-plugin-sosreport was removed in the previous commit.
|
||||
Obsoletes: abrt-plugin-sosreport < 2.14.5
|
||||
|
||||
#gui
|
||||
BuildRequires: libreport-gtk-devel >= %{libreport_ver}
|
||||
|
@ -274,7 +271,8 @@ Summary: %{name}'s pstore oops addon
|
|||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: abrt-libs = %{version}-%{release}
|
||||
Requires: abrt-addon-kerneloops
|
||||
Obsoletes: abrt-addon-uefioops
|
||||
Obsoletes: abrt-addon-uefioops <= 2.1.6
|
||||
Provides: abrt-addon-uefioops = %{version}-%{release}
|
||||
|
||||
%description addon-pstoreoops
|
||||
This package contains plugin for collecting kernel oopses from pstore storage.
|
||||
|
@ -283,7 +281,7 @@ This package contains plugin for collecting kernel oopses from pstore storage.
|
|||
%package plugin-bodhi
|
||||
Summary: %{name}'s bodhi plugin
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Obsoletes: libreport-plugin-bodhi > 0.0.1
|
||||
Obsoletes: libreport-plugin-bodhi <= 2.0.10
|
||||
Provides: libreport-plugin-bodhi = %{version}-%{release}
|
||||
|
||||
%description plugin-bodhi
|
||||
|
@ -312,15 +310,6 @@ This package contains python 3 hook and handling uncaught exception in python 3
|
|||
programs in container.
|
||||
%endif
|
||||
|
||||
%package plugin-sosreport
|
||||
Summary: %{name}'s plugin for building automatic sosreports
|
||||
Requires: sos >= 3.6
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description plugin-sosreport
|
||||
This package contains a configuration snippet to enable automatic generation
|
||||
of sosreports for abrt events.
|
||||
|
||||
%package plugin-machine-id
|
||||
Summary: %{name}'s plugin to generate machine_id based off dmidecode
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
@ -360,10 +349,7 @@ Requires: abrt-addon-ccpp
|
|||
Requires: python3-abrt-addon
|
||||
%endif
|
||||
Requires: abrt-addon-xorg
|
||||
%if 0%{?rhel}
|
||||
Requires: libreport-rhel >= %{libreport_ver}
|
||||
Requires: libreport-plugin-rhtsupport >= %{libreport_ver}
|
||||
%else
|
||||
%if ! 0%{?rhel}
|
||||
%if %{with retrace}
|
||||
Requires: abrt-retrace-client
|
||||
%endif
|
||||
|
@ -403,10 +389,7 @@ Requires: abrt-addon-xorg
|
|||
Requires: gdb-headless
|
||||
Requires: abrt-gui
|
||||
Requires: gnome-abrt
|
||||
%if 0%{?rhel}
|
||||
Requires: libreport-rhel >= %{libreport_ver}
|
||||
Requires: libreport-plugin-rhtsupport >= %{libreport_ver}
|
||||
%else
|
||||
%if ! 0%{?rhel}
|
||||
%if %{with retrace}
|
||||
Requires: abrt-retrace-client
|
||||
%endif
|
||||
|
@ -489,7 +472,7 @@ to the shell
|
|||
|
||||
|
||||
%build
|
||||
autoconf
|
||||
./autogen.sh
|
||||
|
||||
%define default_dump_dir %{_localstatedir}/spool/abrt
|
||||
|
||||
|
@ -506,9 +489,6 @@ CFLAGS="%{optflags} -Werror" %configure \
|
|||
%if %{without retrace}
|
||||
--without-retrace \
|
||||
%endif
|
||||
%if 0%{?rhel}
|
||||
--enable-authenticated-autoreporting \
|
||||
%endif
|
||||
%ifnarch %{arm}
|
||||
--enable-native-unwinder \
|
||||
%endif
|
||||
|
@ -559,8 +539,7 @@ rm -f %{buildroot}%{_infodir}/dir
|
|||
%check
|
||||
make check|| {
|
||||
# find and print the logs of failed test
|
||||
# do not cat tests/testsuite.log because it contains a lot of bloat
|
||||
find tests/testsuite.dir -name "testsuite.log" -print -exec cat '{}' \;
|
||||
find src -name "test-suite.log" -print -exec cat '{}' \;
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
@ -576,10 +555,12 @@ exit 0
|
|||
%systemd_post abrtd.service
|
||||
|
||||
%post addon-ccpp
|
||||
# this is required for transition from 1.1.x to 2.x
|
||||
# because /cache/abrt-di/* was created under root with root:root
|
||||
# so 2.x fails when it tries to extract debuginfo there..
|
||||
chown -R abrt:abrt %{_localstatedir}/cache/abrt-di
|
||||
# migration from 2.14.1.18
|
||||
if [ ! -e "%{_localstatedir}/cache/abrt-di/.migration-group-add" ]; then
|
||||
chmod -R g+w %{_localstatedir}/cache/abrt-di
|
||||
touch "%{_localstatedir}/cache/abrt-di/.migration-group-add"
|
||||
fi
|
||||
|
||||
%systemd_post abrt-journal-core.service
|
||||
%journal_catalog_update
|
||||
|
||||
|
@ -822,8 +803,8 @@ killall abrt-dbus >/dev/null 2>&1 || :
|
|||
|
||||
%dir %{_localstatedir}/lib/abrt
|
||||
|
||||
# attr(6755) ~= SETUID|SETGID
|
||||
%attr(6755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache
|
||||
# attr(2755) ~= SETGID
|
||||
%attr(2755, abrt, abrt) %{_libexecdir}/abrt-action-install-debuginfo-to-abrt-cache
|
||||
|
||||
%{_bindir}/abrt-action-analyze-c
|
||||
%{_bindir}/abrt-action-trim-files
|
||||
|
@ -951,9 +932,6 @@ killall abrt-dbus >/dev/null 2>&1 || :
|
|||
%{python3_sitelib}/__pycache__/abrt_exception_handler3_container.*
|
||||
%endif
|
||||
|
||||
%files plugin-sosreport
|
||||
%config(noreplace) %{_sysconfdir}/libreport/events.d/sosreport_event.conf
|
||||
|
||||
%files plugin-machine-id
|
||||
%config(noreplace) %{_sysconfdir}/libreport/events.d/machine-id_event.conf
|
||||
%{_libexecdir}/abrt-action-generate-machine-id
|
||||
|
@ -1019,6 +997,61 @@ killall abrt-dbus >/dev/null 2>&1 || :
|
|||
%config(noreplace) %{_sysconfdir}/profile.d/abrt-console-notification.sh
|
||||
|
||||
%changelog
|
||||
* Tue May 25 2021 Michal Fabik <mfabik@redhat.com> - 2.14.6-1
|
||||
- Add support of master + subkeys gpg.
|
||||
- hooks: Remove stale workaround for a fixed bug
|
||||
- cli: Gracefully handle disappearance of problem directory
|
||||
- libs: Add version info script
|
||||
- retrace-client: Output task ID to console in batch mode
|
||||
- retrace-client: Separate commands by commas
|
||||
- Doc: Improve man page for abrt-action-analyze-vulnerability
|
||||
- Various memory management and other fixes
|
||||
|
||||
* Sat Apr 24 2021 Sérgio Basto <sergio@serjux.com> - 2.14.5-2
|
||||
- Obsoletes abrt-plugin-sosreport
|
||||
|
||||
* Tue Dec 01 2020 Michal Fabik <mfabik@redhat.com> 2.14.5-1
|
||||
- Fix invalid free (rhbz#1895660)
|
||||
- Fix crash during local processing (rhbz#1881745)
|
||||
- Fix reported numbers of missing debuginfo packages in abrt-action-install-debuginfo
|
||||
- Correct the format of NEVRA generated for packages where a problem occurred (rhbz#1900982)
|
||||
- Drop --raw flag in abrt-action-generate-core-backtrace
|
||||
|
||||
* Tue Oct 13 2020 Matěj Grabovský <mgrabovs@redhat.com> - 2.14.4-7
|
||||
- Add upstream patch for an invalid read bug
|
||||
|
||||
* Thu Sep 24 2020 Matěj Grabovský <mgrabovs@redhat.com> - 2.14.4-6
|
||||
- Add fix for https://bugzilla.redhat.com/show_bug.cgi?id=1881745
|
||||
|
||||
* Mon Sep 14 2020 Michal Fabik <mfabik@redhat.com> 2.14.4-5
|
||||
- Bump release to rebuild reportd
|
||||
|
||||
* Wed Sep 09 2020 Michal Fabik <mfabik@redhat.com> 2.14.4-4
|
||||
- Bump release to rebuild gnome-abrt
|
||||
|
||||
* Wed Sep 02 2020 Michal Fabik <mfabik@redhat.com> 2.14.4-3
|
||||
- Bump release to rebuild in new side tag
|
||||
|
||||
* Wed Aug 26 2020 Michal Fabik <mfabik@redhat.com> 2.14.4-2
|
||||
- Bump release to rebuild in new side tag
|
||||
|
||||
* Mon Aug 24 2020 Michal Fabik <mfabik@redhat.com> - 2.14.4-1
|
||||
- oops-utils: Respect the 'world-readable' flag
|
||||
- Decommission libreport_list_free_with_free
|
||||
- plugins: abrt-dump-journal-core: Handle zstd compression
|
||||
- applet: application: Use GLib for logging
|
||||
- Replace various utility functions with stock GLib ones
|
||||
- Various coding style improvements
|
||||
- Update documentation
|
||||
- applet: application: Fix crash when processing deferred problems
|
||||
- dbus: Remove session objects when owner disconnects
|
||||
- python-problem: Use org.freedesktop.Problems2 API
|
||||
- abrt-console-notification: Work around noclobber
|
||||
- daemon: rpm: Use NEVRA instead of ENVRA
|
||||
- abrtd: Don't delete new problem dirs
|
||||
- Make sure that former caches are group writable
|
||||
- Various memory management fixes
|
||||
|
||||
* Tue Jul 28 2020 - Ernestas Kulik <ekulik@redhat.com> - 2.14.2-5
|
||||
- Add patch for https://bugzilla.redhat.com/show_bug.cgi?id=1860903
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (abrt-2.14.2.tar.gz) = 020bd0550c41b2358a718a4f0f0c3a839d86fd46fc0c4f4cfc4b7d7f851baf2d5179e008ac1912b350f9f0fbfbfee94e422de3aadce5eb0f7f84a04f233349ff
|
||||
SHA512 (abrt-2.14.6.tar.gz) = eb1ba2f624d51eeccd203bb23060493347f5a9142fad7d0570d46134071d870a9c66b4fbfb8210e7d6f87c0c039f31eb486d18a36b10fba318e2180aa09df9fe
|
||||
|
|
Loading…
Reference in New Issue