Compare commits
10 Commits
b6bd1654eb
...
f466b48de0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f466b48de0 | ||
|
|
d531246e47 | ||
|
|
f3db2257bb | ||
|
|
7c336a95b7 | ||
|
|
15c86d559d | ||
|
|
2a07055558 | ||
|
|
93d96cb022 | ||
|
|
be3abedfe0 | ||
|
|
722208a5a4 | ||
|
|
2f0531fa5c |
@ -0,0 +1,37 @@
|
|||||||
|
From 8f99f3782663959062ee868bbfdbc336307a3a4d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||||
|
Date: Mon, 5 Nov 2018 15:17:16 +0000
|
||||||
|
Subject: [PATCH] Fix #1354 [Linux] disk_io_counters() fails on Linux kernel
|
||||||
|
4.18+ (#1360)
|
||||||
|
|
||||||
|
Linux kernel 4.18+ added 4 fields, ingore them and parse the rest as
|
||||||
|
usual.
|
||||||
|
---
|
||||||
|
psutil/_pslinux.py | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/psutil/_pslinux.py b/psutil/_pslinux.py
|
||||||
|
index b57adb3..764c95f 100644
|
||||||
|
--- a/psutil/_pslinux.py
|
||||||
|
+++ b/psutil/_pslinux.py
|
||||||
|
@@ -1051,6 +1051,8 @@ def disk_io_counters():
|
||||||
|
# ...unless (Linux 2.6) the line refers to a partition instead
|
||||||
|
# of a disk, in which case the line has less fields (7):
|
||||||
|
# "3 1 hda1 8 8 8 8"
|
||||||
|
+ # 4.18+ has 4 fields added:
|
||||||
|
+ # "3 0 hda 8 8 8 8 8 8 8 8 8 8 8 0 0 0 0"
|
||||||
|
# See:
|
||||||
|
# https://www.kernel.org/doc/Documentation/iostats.txt
|
||||||
|
# https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
|
||||||
|
@@ -1062,7 +1064,7 @@ def disk_io_counters():
|
||||||
|
reads = int(fields[2])
|
||||||
|
(reads_merged, rbytes, rtime, writes, writes_merged,
|
||||||
|
wbytes, wtime, _, busy_time, _) = map(int, fields[4:14])
|
||||||
|
- elif fields_len == 14:
|
||||||
|
+ elif flen == 14 or flen == 18:
|
||||||
|
# Linux 2.6+, line referring to a disk
|
||||||
|
name = fields[2]
|
||||||
|
(reads, reads_merged, rbytes, rtime, writes, writes_merged,
|
||||||
|
--
|
||||||
|
2.39.0.windows.2
|
||||||
|
|
||||||
40
0002-Pass-python_requires-argument-to-setuptools-1208.patch
Normal file
40
0002-Pass-python_requires-argument-to-setuptools-1208.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From f7171c45d7cfc1ce68baa7cd0afdaa94e28305a5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jon Dufresne <jon.dufresne@gmail.com>
|
||||||
|
Date: Thu, 11 Jan 2018 12:34:18 -0800
|
||||||
|
Subject: [PATCH] Pass python_requires argument to setuptools (#1208)
|
||||||
|
|
||||||
|
Helps pip decide what version of the library to install.
|
||||||
|
|
||||||
|
https://packaging.python.org/tutorials/distributing-packages/#python-requires
|
||||||
|
|
||||||
|
> If your project only runs on certain Python versions, setting the
|
||||||
|
> python_requires argument to the appropriate PEP 440 version specifier
|
||||||
|
> string will prevent pip from installing the project on other Python
|
||||||
|
> versions.
|
||||||
|
|
||||||
|
https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords
|
||||||
|
|
||||||
|
> python_requires
|
||||||
|
>
|
||||||
|
> A string corresponding to a version specifier (as defined in PEP 440)
|
||||||
|
> for the Python version, used to specify the Requires-Python defined in
|
||||||
|
> PEP 345.
|
||||||
|
---
|
||||||
|
setup.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 1625a3eb..d8db694e 100755
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -338,6 +338,7 @@ def main():
|
||||||
|
)
|
||||||
|
if setuptools is not None:
|
||||||
|
kwargs.update(
|
||||||
|
+ python_requires=">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
|
||||||
|
test_suite="psutil.tests.get_suite",
|
||||||
|
tests_require=tests_require,
|
||||||
|
extras_require=extras_require,
|
||||||
|
--
|
||||||
|
2.39.0.windows.2
|
||||||
|
|
||||||
25
0003-fix-compatibility-with-python-2.6.x-1216.patch
Normal file
25
0003-fix-compatibility-with-python-2.6.x-1216.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 7618de9683684811402f50b08ca3f3e979774e72 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dan Vinakovsky <dvinak@gmail.com>
|
||||||
|
Date: Mon, 12 Feb 2018 18:29:34 -0500
|
||||||
|
Subject: [PATCH] fix compatibility with python 2.6.x (#1216)
|
||||||
|
|
||||||
|
---
|
||||||
|
psutil/_pswindows.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/psutil/_pswindows.py b/psutil/_pswindows.py
|
||||||
|
index b6c58c93..0eb4b14f 100644
|
||||||
|
--- a/psutil/_pswindows.py
|
||||||
|
+++ b/psutil/_pswindows.py
|
||||||
|
@@ -200,7 +200,7 @@ def py2_strencode(s):
|
||||||
|
if isinstance(s, str):
|
||||||
|
return s
|
||||||
|
else:
|
||||||
|
- return s.encode(ENCODING, errors=ENCODING_ERRS)
|
||||||
|
+ return s.encode(ENCODING, ENCODING_ERRS)
|
||||||
|
|
||||||
|
|
||||||
|
# =====================================================================
|
||||||
|
--
|
||||||
|
2.39.0.windows.2
|
||||||
|
|
||||||
44
0004-1216-give-credit-to-hexaclock.patch
Normal file
44
0004-1216-give-credit-to-hexaclock.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From 62e1783764420f36cd270135decb00b324add7fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Giampaolo Rodola <g.rodola@gmail.com>
|
||||||
|
Date: Tue, 13 Feb 2018 00:31:59 +0100
|
||||||
|
Subject: [PATCH] #1216 - give credit to @hexaclock
|
||||||
|
|
||||||
|
---
|
||||||
|
CREDITS | 4 ++++
|
||||||
|
HISTORY.rst | 9 +++++++++
|
||||||
|
2 files changed, 13 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/CREDITS b/CREDITS
|
||||||
|
index cf9ce493..798b36e3 100644
|
||||||
|
--- a/CREDITS
|
||||||
|
+++ b/CREDITS
|
||||||
|
@@ -515,3 +515,7 @@ I: 1167
|
||||||
|
N: janderbrain
|
||||||
|
W: https://github.com/janderbrain
|
||||||
|
I: 1169
|
||||||
|
+
|
||||||
|
+N: Dan Vinakovsky
|
||||||
|
+W: https://github.com/hexaclock
|
||||||
|
+I: 1216
|
||||||
|
diff --git a/HISTORY.rst b/HISTORY.rst
|
||||||
|
index dd813c5b..463860c2 100644
|
||||||
|
--- a/HISTORY.rst
|
||||||
|
+++ b/HISTORY.rst
|
||||||
|
@@ -1,5 +1,14 @@
|
||||||
|
*Bug tracker at https://github.com/giampaolo/psutil/issues*
|
||||||
|
|
||||||
|
+5.4.4
|
||||||
|
+=====
|
||||||
|
+
|
||||||
|
+XXXX-XX-XX
|
||||||
|
+
|
||||||
|
+**Bug fixes**
|
||||||
|
+
|
||||||
|
+- 1216_: fix compatibility with python 2.6 on Windows (patch by Dan Vinakovsky)
|
||||||
|
+
|
||||||
|
5.4.3
|
||||||
|
=====
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.0.windows.2
|
||||||
|
|
||||||
59
CVE-2019-18874-1.patch
Normal file
59
CVE-2019-18874-1.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
Backport of:
|
||||||
|
|
||||||
|
From 7d512c8e4442a896d56505be3e78f1156f443465 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Riccardo Schirone <ret2libc@users.noreply.github.com>
|
||||||
|
Date: Wed, 13 Nov 2019 14:54:21 +0100
|
||||||
|
Subject: [PATCH] Use Py_CLEAR instead of Py_DECREF to also set the variable to
|
||||||
|
NULL (#1616)
|
||||||
|
|
||||||
|
These files contain loops that convert system data into python objects
|
||||||
|
and during the process they create objects and dereference their
|
||||||
|
refcounts after they have been added to the resulting list.
|
||||||
|
|
||||||
|
However, in case of errors during the creation of those python objects,
|
||||||
|
the refcount to previously allocated objects is dropped again with
|
||||||
|
Py_XDECREF, which should be a no-op in case the paramater is NULL. Even
|
||||||
|
so, in most of these loops the variables pointing to the objects are
|
||||||
|
never set to NULL, even after Py_DECREF is called at the end of the loop
|
||||||
|
iteration. This means, after the first iteration, if an error occurs
|
||||||
|
those python objects will get their refcount dropped two times,
|
||||||
|
resulting in a possible double-free.
|
||||||
|
---
|
||||||
|
psutil/_psutil_aix.c | 18 +++++++-------
|
||||||
|
psutil/_psutil_bsd.c | 30 +++++++++++-----------
|
||||||
|
psutil/_psutil_linux.c | 14 +++++------
|
||||||
|
psutil/_psutil_osx.c | 39 ++++++++++++++---------------
|
||||||
|
psutil/_psutil_sunos.c | 43 ++++++++++++++++----------------
|
||||||
|
psutil/_psutil_windows.c | 54 ++++++++++++++++++++--------------------
|
||||||
|
6 files changed, 97 insertions(+), 101 deletions(-)
|
||||||
|
|
||||||
|
--- a/psutil/_psutil_linux.c
|
||||||
|
+++ b/psutil/_psutil_linux.c
|
||||||
|
@@ -232,9 +232,9 @@ psutil_disk_partitions(PyObject *self, P
|
||||||
|
goto error;
|
||||||
|
if (PyList_Append(py_retlist, py_tuple))
|
||||||
|
goto error;
|
||||||
|
- Py_DECREF(py_dev);
|
||||||
|
- Py_DECREF(py_mountp);
|
||||||
|
- Py_DECREF(py_tuple);
|
||||||
|
+ Py_CLEAR(py_dev);
|
||||||
|
+ Py_CLEAR(py_mountp);
|
||||||
|
+ Py_CLEAR(py_tuple);
|
||||||
|
}
|
||||||
|
endmntent(file);
|
||||||
|
return py_retlist;
|
||||||
|
@@ -488,10 +488,10 @@ psutil_users(PyObject *self, PyObject *a
|
||||||
|
goto error;
|
||||||
|
if (PyList_Append(py_retlist, py_tuple))
|
||||||
|
goto error;
|
||||||
|
- Py_DECREF(py_username);
|
||||||
|
- Py_DECREF(py_tty);
|
||||||
|
- Py_DECREF(py_hostname);
|
||||||
|
- Py_DECREF(py_tuple);
|
||||||
|
+ Py_CLEAR(py_username);
|
||||||
|
+ Py_CLEAR(py_tty);
|
||||||
|
+ Py_CLEAR(py_hostname);
|
||||||
|
+ Py_CLEAR(py_tuple);
|
||||||
|
}
|
||||||
|
endutent();
|
||||||
|
return py_retlist;
|
||||||
31
CVE-2019-18874-2.patch
Normal file
31
CVE-2019-18874-2.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
From 3a9bccfd2c6d2e6538298cd3892058b1204056e0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Riccardo Schirone <ret2libc@users.noreply.github.com>
|
||||||
|
Date: Mon, 18 Nov 2019 15:51:39 +0100
|
||||||
|
Subject: [PATCH] psutil/_psutil_posix.c: better clear variables to ensure they
|
||||||
|
are NULL (#1624)
|
||||||
|
|
||||||
|
---
|
||||||
|
psutil/_psutil_posix.c | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/psutil/_psutil_posix.c b/psutil/_psutil_posix.c
|
||||||
|
index 209e787d5..aa6008491 100644
|
||||||
|
--- a/psutil/_psutil_posix.c
|
||||||
|
+++ b/psutil/_psutil_posix.c
|
||||||
|
@@ -324,11 +324,11 @@ psutil_net_if_addrs(PyObject* self, PyObject* args) {
|
||||||
|
goto error;
|
||||||
|
if (PyList_Append(py_retlist, py_tuple))
|
||||||
|
goto error;
|
||||||
|
- Py_DECREF(py_tuple);
|
||||||
|
- Py_DECREF(py_address);
|
||||||
|
- Py_DECREF(py_netmask);
|
||||||
|
- Py_DECREF(py_broadcast);
|
||||||
|
- Py_DECREF(py_ptp);
|
||||||
|
+ Py_CLEAR(py_tuple);
|
||||||
|
+ Py_CLEAR(py_address);
|
||||||
|
+ Py_CLEAR(py_netmask);
|
||||||
|
+ Py_CLEAR(py_broadcast);
|
||||||
|
+ Py_CLEAR(py_ptp);
|
||||||
|
}
|
||||||
|
|
||||||
|
freeifaddrs(ifaddr);
|
||||||
@ -1,11 +1,18 @@
|
|||||||
Name: python-psutil
|
Name: python-psutil
|
||||||
Version: 5.4.3
|
Version: 5.4.3
|
||||||
Release: 8
|
Release: 13
|
||||||
Summary: A library for retrieving information on running processes and system utilization in Python
|
Summary: A library for retrieving information on running processes and system utilization in Python
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://github.com/giampaolo/psutil
|
URL: https://github.com/giampaolo/psutil
|
||||||
Source0: https://github.com/giampaolo/psutil/archive/release-%{version}.tar.gz#/psutil-%{version}.tar.gz
|
Source0: https://github.com/giampaolo/psutil/archive/release-%{version}.tar.gz#/psutil-%{version}.tar.gz
|
||||||
|
|
||||||
|
Patch0001: CVE-2019-18874-1.patch
|
||||||
|
Patch0002: CVE-2019-18874-2.patch
|
||||||
|
Patch0003: 0001-Fix-1354-Linux-disk_io_counters-fails-on-Linux-kerne.patch
|
||||||
|
Patch0004: 0002-Pass-python_requires-argument-to-setuptools-1208.patch
|
||||||
|
Patch0005: 0003-fix-compatibility-with-python-2.6.x-1216.patch
|
||||||
|
Patch0006: 0004-1216-give-credit-to-hexaclock.patch
|
||||||
|
|
||||||
BuildRequires: gcc python2-devel python3-devel procps-ng python2-mock python3-mock python2-ipaddress
|
BuildRequires: gcc python2-devel python3-devel procps-ng python2-mock python3-mock python2-ipaddress
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -68,6 +75,21 @@ done
|
|||||||
%{python3_sitearch}/*.egg-info
|
%{python3_sitearch}/*.egg-info
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jan 12 2024 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 5.4.3-13
|
||||||
|
- #1216 - give credit to @hexaclock
|
||||||
|
|
||||||
|
* Wed Dec 27 2023 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 5.4.3-12
|
||||||
|
- fix compatibility with python 2.6.x
|
||||||
|
|
||||||
|
* Thu Dec 21 2023 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 5.4.3-11
|
||||||
|
- Pass python_requires argument to setuptools (#1208)
|
||||||
|
|
||||||
|
* Wed Oct 18 2023 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 5.4.3-10
|
||||||
|
- Fix Linuxdisk io counters fails on Linux kernel
|
||||||
|
|
||||||
|
* Wed Oct 20 2021 yaoxin <yaoxin30@huawei.com> - 5.4.3-9
|
||||||
|
- Fix CVE-2019-18874
|
||||||
|
|
||||||
* Fri Aug 21 2020 shixuantong <shixuantong@huawei.com> - 5.4.3-8
|
* Fri Aug 21 2020 shixuantong <shixuantong@huawei.com> - 5.4.3-8
|
||||||
- add release version for rebuild
|
- add release version for rebuild
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user