Update to v2.9.0.post0 and revise patches
Resolves: RHEL-113228 Signed-off-by: Kseniia Nivnia <knivnia@redhat.com>
This commit is contained in:
parent
8f4fa349cd
commit
9e50889967
1
.gitignore
vendored
1
.gitignore
vendored
@ -18,3 +18,4 @@
|
||||
/python-dateutil-2.7.5.tar.gz
|
||||
/python-dateutil-2.8.0.tar.gz
|
||||
/python-dateutil-2.8.1.tar.gz
|
||||
/python-dateutil-2.9.0.post0.tar.gz
|
||||
|
57
1295.patch
57
1295.patch
@ -1,57 +0,0 @@
|
||||
From a97d0ff4b7559a431f42102b6208fb876f511194 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Viktorin <encukou@gmail.com>
|
||||
Date: Tue, 27 Jun 2023 15:28:36 +0200
|
||||
Subject: [PATCH 1/2] zoneinfo.rebuild: Extract using tarfile data filter (PEP
|
||||
706) if available
|
||||
|
||||
---
|
||||
src/dateutil/zoneinfo/rebuild.py | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/src/dateutil/zoneinfo/rebuild.py b/src/dateutil/zoneinfo/rebuild.py
|
||||
index 684c6586f..1b6e34b15 100644
|
||||
--- a/dateutil/zoneinfo/rebuild.py
|
||||
+++ b/dateutil/zoneinfo/rebuild.py
|
||||
@@ -4,6 +4,7 @@
|
||||
import shutil
|
||||
import json
|
||||
from subprocess import check_call
|
||||
+import tarfile
|
||||
from tarfile import TarFile
|
||||
|
||||
from dateutil.zoneinfo import METADATA_FN, ZONEFILENAME
|
||||
@@ -20,6 +21,13 @@ def rebuild(filename, tag=None, format="gz", zonegroups=[], metadata=None):
|
||||
moduledir = os.path.dirname(__file__)
|
||||
try:
|
||||
with TarFile.open(filename) as tf:
|
||||
+
|
||||
+ # Limit extraction to safe, plain data files, if this Python
|
||||
+ # allows it easily. If not, just trust the input.
|
||||
+ # See: https://docs.python.org/3/library/tarfile.html#supporting-older-python-versions
|
||||
+ tf.extraction_filter = getattr(tarfile, 'data_filter',
|
||||
+ (lambda member, path: member))
|
||||
+
|
||||
for name in zonegroups:
|
||||
tf.extract(name, tmpdir)
|
||||
filepaths = [os.path.join(tmpdir, n) for n in zonegroups]
|
||||
|
||||
From 4790f9d64451002fd3c31c2fbe0d70322019a92a Mon Sep 17 00:00:00 2001
|
||||
From: Petr Viktorin <encukou@gmail.com>
|
||||
Date: Tue, 27 Jun 2023 16:12:14 +0200
|
||||
Subject: [PATCH 2/2] Add changelog entry
|
||||
|
||||
---
|
||||
changelog.d/1295.misc.rst | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
create mode 100644 changelog.d/1295.misc.rst
|
||||
|
||||
diff --git a/changelog.d/1295.misc.rst b/changelog.d/1295.misc.rst
|
||||
new file mode 100644
|
||||
index 000000000..c2876dd65
|
||||
--- /dev/null
|
||||
+++ b/changelog.d/1295.misc.rst
|
||||
@@ -0,0 +1,4 @@
|
||||
+On Python versions that support it, ``zoneinfo.rebuild`` now uses the
|
||||
+tarfile ``data`` filter to limit damage in case it's used with a
|
||||
+malicious tarball, and to avoid a deprecation warning on Python 3.12.
|
||||
+Reported and fixed by @encukou (gh pr #1295)
|
@ -1,31 +1,39 @@
|
||||
%global modname dateutil
|
||||
|
||||
Name: python-%{modname}
|
||||
Version: 2.8.1
|
||||
Release: 7%{?dist}
|
||||
Version: 2.9.0.post0
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
Summary: Powerful extensions to the standard datetime module
|
||||
|
||||
License: BSD
|
||||
# According to the LICENSE file:
|
||||
# - Apache-2.0 applies to all contributions after 2017-12-01, as well as
|
||||
# all contributions that have been re-licensed.
|
||||
# - BSD-3-Clause applies to all code, even that also covered by Apache-2.0
|
||||
License: (Apache-2.0 AND BSD-3-Clause) OR BSD-3-Clause
|
||||
|
||||
URL: https://github.com/dateutil/dateutil
|
||||
Source: %{pypi_source}
|
||||
Source: %{pypi_source python-dateutil}
|
||||
|
||||
# Mitigate CVE-2007-4559 (tarfile directory traversal).
|
||||
# `dateutil.zoneinfo.rebuild` handles "pure data" tarballs,
|
||||
# here we disable tar features that are potentially unsafe.
|
||||
# Submitted upstream, but rejected because they're removing this
|
||||
# code entirely.
|
||||
# BZ: https://bugzilla.redhat.com/show_bug.cgi?id=2203905
|
||||
Patch1: https://github.com/dateutil/dateutil/pull/1295.patch
|
||||
|
||||
# Disable tests to avoid pulling in test dependencies on RHEL9
|
||||
# Specify --with tests to run the tests e.g. on EPEL
|
||||
%bcond_with tests
|
||||
# when bootstrapping dateutil-freezegun, we cannot run tests
|
||||
# on RHEL, we do not have or want all test dependencies
|
||||
%bcond tests %{undefined rhel}
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: make
|
||||
BuildRequires: python3-sphinx
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: python3-devel
|
||||
|
||||
# For docs
|
||||
BuildRequires: make
|
||||
BuildRequires: python3dist(sphinx)
|
||||
BuildRequires: python3dist(sphinx-rtd-theme)
|
||||
|
||||
# For tests
|
||||
%if %{with tests}
|
||||
BuildRequires: python3dist(pytest)
|
||||
BuildRequires: python3dist(freezegun)
|
||||
BuildRequires: python3dist(hypothesis)
|
||||
BuildRequires: python3dist(six)
|
||||
%endif
|
||||
|
||||
%global _description \
|
||||
The dateutil module provides powerful extensions to the standard datetime\
|
||||
@ -35,17 +43,7 @@ module available in Python.
|
||||
|
||||
%package -n python3-%{modname}
|
||||
Summary: %summary
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-setuptools_scm
|
||||
%if %{with tests}
|
||||
BuildRequires: python3-freezegun
|
||||
BuildRequires: python3-hypothesis
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-six
|
||||
%endif
|
||||
Requires: tzdata
|
||||
%{?python_provide:%python_provide python3-%{modname}}
|
||||
|
||||
%description -n python3-%{modname} %_description
|
||||
|
||||
@ -54,34 +52,53 @@ Summary: API documentation for python-dateutil
|
||||
%description doc
|
||||
This package contains %{summary}.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
|
||||
# Relax version requirements
|
||||
sed -i 's/setuptools_scm<8\.0/setuptools_scm/' pyproject.toml
|
||||
# Fix sphinx import
|
||||
sed -i "s|os.path.abspath('../')|os.path.abspath('../src/')|" docs/conf.py
|
||||
|
||||
iconv --from=ISO-8859-1 --to=UTF-8 NEWS > NEWS.new
|
||||
mv NEWS.new NEWS
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
%pyproject_wheel
|
||||
make -C docs html
|
||||
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
%pyproject_install
|
||||
%pyproject_save_files %{modname} -l
|
||||
|
||||
|
||||
%check
|
||||
%pyproject_check_import -e dateutil.tz.win -e dateutil.tzwin
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
%{__python3} -m pytest -W ignore::pytest.PytestUnknownMarkWarning
|
||||
%pytest -W ignore::pytest.PytestUnknownMarkWarning
|
||||
%endif
|
||||
|
||||
%files -n python3-%{modname}
|
||||
%license LICENSE
|
||||
%files -n python3-%{modname} -f %{pyproject_files}
|
||||
%doc NEWS README.rst
|
||||
%{python3_sitelib}/%{modname}/
|
||||
%{python3_sitelib}/*.egg-info
|
||||
|
||||
|
||||
%files doc
|
||||
%license LICENSE
|
||||
%doc docs/_build/html
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Sep 05 2025 Kseniia Nivnia <knivnia@redhat.com> - 2.9.0.post0-1
|
||||
- Update to 2.9.0.post0 and revise patches
|
||||
Resolves: RHEL-113228
|
||||
|
||||
* Wed Jul 12 2023 Petr Viktorin <pviktori@redhat.com> - 1:2.8.1-7
|
||||
- Mitigate CVE-2007-4559 (tarfile directory traversal).
|
||||
Resolves: rhbz#2203905
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (python-dateutil-2.8.1.tar.gz) = 337000216e0f8ce32d6363768444144183ab9268f69082f20858f2b3322b1c449e53b2f2b5dcb3645be22294659ce7838f74ace2fd7a7c4f2adc6cf806a9fa2c
|
||||
SHA512 (python-dateutil-2.9.0.post0.tar.gz) = f76522de0ff21547327eaf6966e80a15c57f8f92588d520eabd354a732e5c4b51d9c3ac5effd9eaa6dd451d1bce329a54a3f4c6bf4f1bd08ff06b0305c994e5a
|
||||
|
Loading…
Reference in New Issue
Block a user