Compare commits

...

No commits in common. "c8" and "c9" have entirely different histories.
c8 ... c9

11 changed files with 173 additions and 377 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/sysstat-11.7.3.tar.xz
SOURCES/v12.5.4.tar.gz

View File

@ -1 +1 @@
d60fe0d4789cb377105c9a30f73e8e2158d3d288 SOURCES/sysstat-11.7.3.tar.xz
597196f8f2be7a8960bec880c18eec875b27ff73 SOURCES/v12.5.4.tar.gz

View File

@ -1,88 +0,0 @@
From 5b5339d06c4f50730e5cc679e0854ce716f39117 Mon Sep 17 00:00:00 2001
From: Ondrej Dubaj <odubaj@redhat.com>
Date: Thu, 28 Feb 2019 15:29:08 +0100
Subject: [PATCH] ignoring autofs as real filesystem by counting number of
valid filesystems and getting all valid filesystems
---
count.c | 18 ++++++++++++++++--
rd_stats.c | 18 ++++++++++++++++--
2 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/count.c b/count.c
index 03469b0..6424baa 100644
--- a/count.c
+++ b/count.c
@@ -463,8 +463,8 @@ __nr_t get_usb_nr(void)
__nr_t get_filesystem_nr(void)
{
FILE *fp;
- char line[512], fs_name[MAX_FS_LEN], mountp[256];
- char *pos = 0;
+ char line[512], fs_name[MAX_FS_LEN], mountp[256], type[128];
+ char *pos = 0, *pos2 = 0;
__nr_t fs = 0;
int skip = 0, skip_next = 0;
struct statvfs buf;
@@ -491,6 +491,20 @@ __nr_t get_filesystem_nr(void)
if (pos == NULL)
continue;
+ /*
+ * Find second field separator position,
+ * read filesystem type,
+ * if filesystem type is autofs, skip it
+ */
+ memset(type, 0, sizeof(type));
+ pos2 = strchr(pos + 1, ' ');
+ if (pos2 == NULL)
+ continue;
+
+ sscanf(pos2 + 1, "%127s", type);
+ if(strcmp(type, "autofs") == 0)
+ continue;
+
/* Read filesystem name and mount point */
sscanf(line, "%127s", fs_name);
sscanf(pos + 1, "%255s", mountp);
diff --git a/rd_stats.c b/rd_stats.c
index 61dc958..43e082c 100644
--- a/rd_stats.c
+++ b/rd_stats.c
@@ -2464,10 +2464,10 @@ __nr_t read_bus_usb_dev(struct stats_pwr_usb *st_pwr_usb, __nr_t nr_alloc)
__nr_t read_filesystem(struct stats_filesystem *st_filesystem, __nr_t nr_alloc)
{
FILE *fp;
- char line[512], fs_name[128], mountp[256];
+ char line[512], fs_name[128], mountp[256], type[128];
int skip = 0, skip_next = 0;
char *pos = 0;
- __nr_t fs_read = 0;
+ __nr_t fs_read = 0, *pos2 = 0;
struct stats_filesystem *st_filesystem_i;
struct statvfs buf;
@@ -2491,6 +2491,20 @@ __nr_t read_filesystem(struct stats_filesystem *st_filesystem, __nr_t nr_alloc)
if (pos == NULL)
continue;
+ /*
+ * Find second field separator position,
+ * read filesystem type,
+ * if filesystem type is autofs, skip it
+ */
+ memset(type, 0, sizeof(type));
+ pos2 = strchr(pos + 1, ' ');
+ if (pos2 == NULL)
+ continue;
+
+ sscanf(pos2 + 1, "%127s", type);
+ if(strcmp(type, "autofs") == 0)
+ continue;
+
/* Read current filesystem name */
sscanf(line, "%127s", fs_name);
/*
--
2.30.1 (Apple Git-130)

View File

@ -1,101 +0,0 @@
From 560d88cb5a16636acb0e350d6997fe915cc4253e Mon Sep 17 00:00:00 2001
From: Kyle Walker <kwalker@redhat.com>
Date: Wed, 30 Jan 2019 07:50:55 -0500
Subject: [PATCH] sadc: Add a -f flag to force fdatasync() use
For quite some time, the sadc utility has not used fdatasync() when writing
stat information to disk. This resulted in instances where data files could
be corrupted or entries lost if a system encountered a sudden reset
condition. This change adds a "-f" flag which can be used to bring back the
previous behaviour if end users require it.
Note, the fdatasync() lowers the likelihood of lost data, but does so at
the expense of performance within the write operation.
---
man/sadc.in | 8 +++++++-
sa.h | 2 ++
sadc.c | 13 ++++++++++++-
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/man/sadc.in b/man/sadc.in
index 2d754b71..ce8ee230 100644
--- a/man/sadc.in
+++ b/man/sadc.in
@@ -4,7 +4,7 @@ sadc \- System activity data collector.
.SH SYNOPSIS
.B @SA_LIB_DIR@/sadc [ -C
.I comment
-.B ] [ -D ] [ -F ] [ -L ] [ -V ] [ -S { DISK | INT | IPV6 | POWER | SNMP | XDISK | ALL | XALL [,...] } ] [
+.B ] [ -D ] [ -F ] [ -L ] [ -V ] [ -f ] [ -S { DISK | INT | IPV6 | POWER | SNMP | XDISK | ALL | XALL [,...] } ] [
.I interval
.B [
.I count
@@ -106,6 +106,12 @@ then it will be truncated. This may be useful for daily data files
created by an older version of
.B sadc
and whose format is no longer compatible with current one.
+.IP -f
+fdatasync() will be used to ensure data is written to disk. This differs
+from the normal operation in that a sudden system reset is less likely to
+result in the saDD datafiles being corrupted. However, this is at the
+expense of performance within the sadc process as forward progress will be
+blocked while data is written to underlying disk instead of just to cache.
.IP -L
.B sadc
will try to get an exclusive lock on the
diff --git a/sa.h b/sa.h
index 1cd0c3d9..d3236f7c 100644
--- a/sa.h
+++ b/sa.h
@@ -110,5 +110,6 @@
#define S_F_HUMAN_READ 0x01000000
#define S_F_ZERO_OMIT 0x02000000
+#define S_F_FDATASYNC 0x08000000
#define WANT_SINCE_BOOT(m) (((m) & S_F_SINCE_BOOT) == S_F_SINCE_BOOT)
#define WANT_SA_ROTAT(m) (((m) & S_F_SA_ROTAT) == S_F_SA_ROTAT)
@@ -138,5 +139,6 @@
#define PACK_VIEWS(m) (((m) & S_F_SVG_PACKED) == S_F_SVG_PACKED)
#define DISPLAY_HUMAN_READ(m) (((m) & S_F_HUMAN_READ) == S_F_HUMAN_READ)
+#define FDATASYNC(m) (((m) & S_F_FDATASYNC) == S_F_FDATASYNC)
#define AO_F_NULL 0x00000000
diff --git a/sadc.c b/sadc.c
index 826f4aed..139d490a 100644
--- a/sadc.c
+++ b/sadc.c
@@ -92,7 +92,7 @@ void usage(char *progname)
progname);
fprintf(stderr, _("Options are:\n"
- "[ -C <comment> ] [ -D ] [ -F ] [ -L ] [ -V ]\n"
+ "[ -C <comment> ] [ -D ] [ -F ] [ -L ] [ -V ] [ -f ]\n"
"[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]\n"));
exit(1);
}
@@ -1109,6 +1109,13 @@ void rw_sa_stat_loop(long count, int stdfd, int ofd, char ofile[],
/* Flush data */
fflush(stdout);
+ if (FDATASYNC(flags)) {
+ /* If indicated, sync the data to media */
+ if (fdatasync(ofd) < 0) {
+ perror("fdatasync");
+ exit(4);
+ }
+ }
if (count > 0) {
count--;
@@ -1206,6 +1213,10 @@ int main(int argc, char **argv)
optz = 1;
}
+ else if (!strcmp(argv[opt], "-f")) {
+ flags |= S_F_FDATASYNC;
+ }
+
else if (!strcmp(argv[opt], "-C")) {
if (!argv[++opt]) {
usage(argv[0]);

View File

@ -1,40 +0,0 @@
From ce90f916fee2a39eb914f8b6b349adb76d100f75 Mon Sep 17 00:00:00 2001
From: Sebastien GODARD <sysstat@users.noreply.github.com>
Date: Sat, 13 Apr 2019 18:44:29 +0200
Subject: [PATCH] sadf: Fix seg fault on empty data files
Trying to display XML or JSON data (with sadf -x/-j) from a data file
containing only RESTART records created a core dump.
This patch fixes that.
Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
---
sadf.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sadf.c b/sadf.c
index 2d2c39c..5d558d3 100644
--- a/sadf.c
+++ b/sadf.c
@@ -963,14 +963,15 @@ void logic1_display_loop(int ifd, struct file_activity *file_actlst, char *file,
(tm_start.use && (datecmp(loctime, &tm_start) < 0)) ||
(tm_end.use && (datecmp(loctime, &tm_end) >= 0))));
- /* Save the first stats collected. Used for example in next_slice() function */
- copy_structures(act, id_seq, record_hdr, 2, 0);
-
curr = 1;
cnt = count;
reset = TRUE;
if (!eosaf) {
+
+ /* Save the first stats collected. Used for example in next_slice() function */
+ copy_structures(act, id_seq, record_hdr, 2, 0);
+
do {
eosaf = read_next_sample(ifd, IGNORE_COMMENT | IGNORE_RESTART, curr,
file, &rtype, tab, file_magic, file_actlst,
--
2.31.1

View File

@ -1,31 +0,0 @@
From c542c259ba9e71a5ade235dfbcde67ac8b510c4f Mon Sep 17 00:00:00 2001
From: Sebastien GODARD <sysstat@users.noreply.github.com>
Date: Fri, 19 Apr 2019 15:20:45 +0200
Subject: [PATCH] sar: Add missing %gnice CPU value for tickless CPU
A field (which should be displayed as 0.00) was missing in CPU
statistics displayed by "sar -u ALL" for tickless CPUs.
Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
---
pr_stats.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pr_stats.c b/pr_stats.c
index 4fbd5d1..319630d 100644
--- a/pr_stats.c
+++ b/pr_stats.c
@@ -218,8 +218,8 @@ __print_funct_t print_cpu_stats(struct activity *a, int prev, int curr,
* %irq, %soft, %guest, %gnice.
*/
else if (DISPLAY_CPU_ALL(a->opt_flags)) {
- cprintf_pc(DISPLAY_UNIT(flags), 4, 9, 2,
- 0.0, 0.0, 0.0, 100.0);
+ cprintf_pc(DISPLAY_UNIT(flags), 5, 9, 2,
+ 0.0, 0.0, 0.0, 0.0, 100.0);
printf("\n");
}
continue;
--
2.30.1 (Apple Git-130)

View File

@ -1,26 +0,0 @@
From 83dac62520afe3fa92b53393f438c9fb9c492525 Mon Sep 17 00:00:00 2001
From: Sebastien GODARD <sysstat@users.noreply.github.com>
Date: Sat, 6 Oct 2018 18:12:54 +0200
Subject: [PATCH] sar: Fix typo in manual page
Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
---
man/sar.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/man/sar.in b/man/sar.in
index c45ee54..925c5f5 100644
--- a/man/sar.in
+++ b/man/sar.in
@@ -373,7 +373,7 @@ The following values are displayed:
.B MBfsfree
.RS
.RS
-Total amount a free space in megabytes (including space available only to privileged user).
+Total amount of free space in megabytes (including space available only to privileged user).
.RE
.B MBfsused
--
2.31.1

View File

@ -1,43 +0,0 @@
--- sa_common.c
+++ sa_common.c
@@ -1249,6 +1249,11 @@
/* Remap [unsigned] long fields */
d = gtypes_nr[0] - ftypes_nr[0];
if (d) {
+
+ if (ftypes_nr[0] * ULL_ALIGNMENT_WIDTH < ftypes_nr[0])
+ /* Overflow */
+ return;
+
memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH,
((char *) ps) + ftypes_nr[0] * ULL_ALIGNMENT_WIDTH,
st_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH);
@@ -1260,7 +1265,13 @@
/* Remap [unsigned] int fields */
d = gtypes_nr[1] - ftypes_nr[1];
if (d) {
- memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+
+ if (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ ftypes_nr[1] * UL_ALIGNMENT_WIDTH < ftypes_nr[1])
+ /* Overflow */
+ return;
+
+ memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH,
((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ ftypes_nr[1] * UL_ALIGNMENT_WIDTH,
@@ -1275,6 +1286,13 @@
/* Remap possible fields (like strings of chars) following int fields */
d = gtypes_nr[2] - ftypes_nr[2];
if (d) {
+
+ if (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH +
+ ftypes_nr[2] * U_ALIGNMENT_WIDTH < ftypes_nr[2])
+ /* Overflow */
+ return;
+
memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH
+ gtypes_nr[2] * U_ALIGNMENT_WIDTH,

View File

@ -57,7 +57,7 @@ index 55b6657d..e8ab98ab 100644
--- a/common.h
+++ b/common.h
@@ -260,6 +260,8 @@ int check_dir
(const char *, int);
(char *);
#ifndef SOURCE_SADC
+void check_overflow

View File

@ -0,0 +1,112 @@
From 398585bfe7b1340d41143f50dfc868ef8ab9a5e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= <lzaoral@redhat.com>
Date: Tue, 21 Feb 2023 12:43:42 +0100
Subject: [PATCH] Tools that take --dec=X option should only accept digits
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Right now the argument of --dec is passed to atoi(3) which returns 0
on conversion error. Therefore, --dec=A was not rejected and was
equivalent to --dec=0 by mistake.
Signed-off-by: Lukáš Zaoral <lzaoral@redhat.com>
---
cifsiostat.c | 5 +++++
iostat.c | 5 +++++
mpstat.c | 5 +++++
pidstat.c | 5 +++++
sar.c | 6 ++++++
5 files changed, 26 insertions(+)
diff --git a/cifsiostat.c b/cifsiostat.c
index 375b1ff..849583b 100644
--- a/cifsiostat.c
+++ b/cifsiostat.c
@@ -522,6 +522,11 @@ int main(int argc, char **argv)
}
else if (!strncmp(argv[opt], "--dec=", 6) && (strlen(argv[opt]) == 7)) {
+ /* Check that the argument is a digit */
+ if (!isdigit(argv[opt][6])) {
+ usage(argv[0]);
+ }
+
/* Get number of decimal places */
dplaces_nr = atoi(argv[opt] + 6);
if ((dplaces_nr < 0) || (dplaces_nr > 2)) {
diff --git a/iostat.c b/iostat.c
index 1d7ea3c..7ac56ef 100644
--- a/iostat.c
+++ b/iostat.c
@@ -2142,6 +2142,11 @@ int main(int argc, char **argv)
#endif
else if (!strncmp(argv[opt], "--dec=", 6) && (strlen(argv[opt]) == 7)) {
+ /* Check that the argument is a digit */
+ if (!isdigit(argv[opt][6])) {
+ usage(argv[0]);
+ }
+
/* Get number of decimal places */
dplaces_nr = atoi(argv[opt] + 6);
if ((dplaces_nr < 0) || (dplaces_nr > 2)) {
diff --git a/mpstat.c b/mpstat.c
index 90d6226..5045e45 100644
--- a/mpstat.c
+++ b/mpstat.c
@@ -2221,6 +2221,11 @@ int main(int argc, char **argv)
while (++opt < argc) {
if (!strncmp(argv[opt], "--dec=", 6) && (strlen(argv[opt]) == 7)) {
+ /* Check that the argument is a digit */
+ if (!isdigit(argv[opt][6])) {
+ usage(argv[0]);
+ }
+
/* Get number of decimal places */
dplaces_nr = atoi(argv[opt] + 6);
if ((dplaces_nr < 0) || (dplaces_nr > 2)) {
diff --git a/pidstat.c b/pidstat.c
index 21fed6c..d550605 100644
--- a/pidstat.c
+++ b/pidstat.c
@@ -2633,6 +2633,11 @@ int main(int argc, char **argv)
}
else if (!strncmp(argv[opt], "--dec=", 6) && (strlen(argv[opt]) == 7)) {
+ /* Check that the argument is a digit */
+ if (!isdigit(argv[opt][6])) {
+ usage(argv[0]);
+ }
+
/* Get number of decimal places */
dplaces_nr = atoi(argv[opt] + 6);
if ((dplaces_nr < 0) || (dplaces_nr > 2)) {
diff --git a/sar.c b/sar.c
index 4f06172..7691793 100644
--- a/sar.c
+++ b/sar.c
@@ -28,6 +28,7 @@
#include <errno.h>
#include <signal.h>
#include <sys/stat.h>
+#include <ctype.h>
#include "version.h"
#include "sa.h"
@@ -1372,6 +1373,11 @@ int main(int argc, char **argv)
}
else if (!strncmp(argv[opt], "--dec=", 6) && (strlen(argv[opt]) == 7)) {
+ /* Check that the argument is a digit */
+ if (!isdigit(argv[opt][6])) {
+ usage(argv[0]);
+ }
+
/* Get number of decimal places */
dplaces_nr = atoi(argv[opt] + 6);
if ((dplaces_nr < 0) || (dplaces_nr > 2)) {
--
2.39.2

View File

@ -1,31 +1,26 @@
Summary: Collection of performance monitoring tools for Linux
Name: sysstat
Version: 11.7.3
Release: 9%{?dist}
Version: 12.5.4
Release: 5%{?dist}
License: GPLv2+
Group: Applications/System
URL: http://sebastien.godard.pagesperso-orange.fr/
Source: http://pagesperso-orange.fr/sebastien.godard/%{name}-%{version}.tar.xz
Source: https://github.com/sysstat/sysstat/archive/v%{version}.tar.gz
# Use colors in sysstat output
Source10: colorsysstat.csh
Source11: colorsysstat.sh
Source1: colorsysstat.csh
Source2: colorsysstat.sh
# Downstream patches
Patch01: CVE-2019-16167_memory-corruption-due-to-an-integer-overflow.patch
Patch02: 0001-ignoring-autofs-as-real-filesystem-by-counting-numbe.patch
Patch03: 0001-sar-Add-missing-gnice-CPU-value-for-tickless-CPU.patch
Patch04: 0001-sadf-Fix-seg-fault-on-empty-data-files.patch
Patch05: 0001-sar-Fix-typo-in-manual-page.patch
Patch06: CVE-2022-39377-arithmetic-overflow-in-allocate-structures-on-32-bit-systems.patch
Patch07: 0001-sadc-Add-a-f-flag-to-force-fdatasync-use.patch
# arithmetic overflow in allocate_structures() on 32 bit systems (CVE-2022-39377)
Patch1: sysstat-12.5.4-CVE-2022-39377.patch
# {cifsio,io,mp,pid}stat --dec and sar --dec report values from single alphabet other than defined (bz2080650)
Patch2: sysstat-12.5.4-bz2080650.patch
BuildRequires: gettext, lm_sensors-devel, systemd
BuildRequires: make
BuildRequires: gcc, gettext, lm_sensors-devel, pcp-libs-devel, systemd, git
Requires: findutils, xz
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%{?systemd_requires}
%description
The sysstat package contains the sar, sadf, mpstat, iostat, tapestat,
@ -38,7 +33,7 @@ interrupts, network activity, memory and swap space utilization, CPU
utilization, kernel activities and TTY statistics, among others. Both
UP and SMP machines are fully supported.
The sadf command may be used to display data collected by sar in
various formats (CSV, XML, etc.).
various formats (CSV, PCP, XML, etc.).
The iostat command reports CPU utilization and I/O statistics for disks.
The tapestat command reports statistics for tapes connected to the system.
The mpstat command reports global and per-processor statistics.
@ -46,14 +41,7 @@ The pidstat command reports statistics for Linux tasks (processes).
The cifsiostat command reports I/O statistics for CIFS file systems.
%prep
%setup -q
%patch01 -p0
%patch02 -p1
%patch03 -p1
%patch04 -p1
%patch05 -p1
%patch06 -p1
%patch07 -p1
%autosetup -S git_am
%build
export CFLAGS="$RPM_OPT_FLAGS -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld"
@ -74,8 +62,8 @@ make %{?_smp_mflags}
# Colored sysstat output
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
install -p -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/profile.d
install -p -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/profile.d
install -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d
%post
%systemd_post sysstat.service sysstat-collect.timer sysstat-summary.timer
@ -98,33 +86,58 @@ fi
%{_bindir}/*
%{_libdir}/sa
%{_unitdir}/sysstat*
%{_systemd_util_dir}/system-sleep/sysstat*
%{_mandir}/man*/*
%{_localstatedir}/log/sa
%changelog
* Wed Dec 14 2022 Lukáš Zaoral <lzaoral@redhat.com> - 11.7.3-9
- add -f flag to force fdatasync() after sa file update (#2153192)
* Tue Feb 21 2023 Lukáš Zaoral <lzaoral@redhat.com> - 12.5.4-5
- Fix --dec argument validation (rhbz#2080650)
* Thu Nov 10 2022 Lukáš Zaoral <lzaoral@redhat.com> - 11.7.3-8
* Thu Nov 10 2022 Lukáš Zaoral <lzaoral@redhat.com> - 12.5.4-4
- arithmetic overflow in allocate_structures() on 32 bit systems (CVE-2022-39377)
* Mon Nov 29 2021 <msekleta@redhat.com> - 11.7.3-7
- Don't trigger autofs mounts when running sadc (#2000910)
- sar: Add missing %gnice CPU value for tickless CPU (#2000916)
- sadf: Fix seg fault on empty data files (#1910841)
- sar: Fix typo in manual page (#1877836)
* Mon Feb 21 2022 Michal Sekletar <msekleta@redhat.com> 12.5.4-3
- sysstat's buildsystem doesn't really use LDFLAGS, we have to merge CFLAGS and LDFLAGS to get binaries with full RELRO (#2044893)
* Fri Jul 10 2020 Jan Macku <jamacku@redhat.com> - 11.7.3-5
- Rebuild
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 12.5.4-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 17 2020 Jan Macku <jamacku@redhat.com> - 11.7.3-4
- Package onboarded to gating
* Tue Jun 15 2021 Nathan Scott <nathans@redhat.com> - 12.5.4-1
- update to v12.5.4 (#1866234)
* Thu Feb 20 2020 Jan Macku <jamacku@redhat.com> - 11.7.3-3
- Fix memory corruption bug due to integer overflow (#1790608)
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 12.5.3-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Oct 25 2018 Michal Sekletár <msekleta@redhat.com> - 11.7.3-2
- sysstat's buildsystem doesn't really use LDFLAGS, we have to merge CFLAGS and LDFLAGS to get binaries with full RELRO (#1624177)
* Mon Mar 15 2021 Nathan Scott <nathans@redhat.com> - 12.5.3-1
- update to v12.5.3 (#1822907)
- enable Performance Co-Pilot (PCP) archive output option
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 12.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 23 2020 Michael Cronenworth <mike@cchtml.com> - 12.3.1-1
- update to v12.3.1 (#1585186)
* Tue Oct 15 2019 Michal Sekletár <msekleta@redhat.com> - 12.1.7-1
- update to v12.1.7 (#1585186)
- Fixes CVE-2019-16167
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.7.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.7.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 11.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Apr 19 2018 Michal Sekletar <msekleta@redhat.com> - 11.7.3-1
- rebase to 11.7.3 (#1508436)