Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/util-linux.git#5977e189d6cfbb091395521ccc6d4c680cc1298b
This commit is contained in:
parent
f673cea2b7
commit
8c971d2ce0
@ -1,55 +0,0 @@
|
||||
From 9418ba6d05feed6061f5343741b1bc56e7bde663 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Fri, 20 Dec 2019 15:05:33 +0100
|
||||
Subject: [PATCH] agetty: keep freed issue file pointer zeroized
|
||||
|
||||
References: https://bugzilla.redhat.com/show_bug.cgi?id=1784536
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
term-utils/agetty.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
|
||||
index 3c20acc98..dfc4921f5 100644
|
||||
--- a/term-utils/agetty.c
|
||||
+++ b/term-utils/agetty.c
|
||||
@@ -1820,8 +1820,12 @@ static int issuefile_read_stream(
|
||||
if (fstat(fileno(f), &st) || !S_ISREG(st.st_mode))
|
||||
return 1;
|
||||
|
||||
- if (!ie->output)
|
||||
- ie->output = open_memstream(&ie->mem, &ie->mem_sz);
|
||||
+ if (!ie->output) {
|
||||
+ free(ie->mem);
|
||||
+ ie->mem_sz = 0;
|
||||
+ ie->mem = NULL;
|
||||
+ ie->output = open_memstream(&ie->mem, &ie->mem_sz);
|
||||
+ }
|
||||
|
||||
while ((c = getc(f)) != EOF) {
|
||||
if (c == '\\')
|
||||
@@ -1965,8 +1969,10 @@ done:
|
||||
if (netlink_groups != 0)
|
||||
open_netlink();
|
||||
#endif
|
||||
- if (ie->output)
|
||||
+ if (ie->output) {
|
||||
fclose(ie->output);
|
||||
+ ie->output = NULL;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* This is --show-issue backend, executed by normal user on the current
|
||||
@@ -1985,7 +1991,8 @@ static void show_issue(struct options *op)
|
||||
|
||||
if (ie.mem_sz)
|
||||
write_all(STDOUT_FILENO, ie.mem, ie.mem_sz);
|
||||
-
|
||||
+ if (ie.output)
|
||||
+ fclose(ie.output);
|
||||
free(ie.mem);
|
||||
}
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,148 +0,0 @@
|
||||
From 651c5d428c2ef103ee8c5b1a310d6f29f0304744 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Tue, 27 Mar 2018 10:40:13 +0200
|
||||
Subject: [PATCH] column: fix leading space characters bug
|
||||
|
||||
The bug has been introduced during column(1) rewrite. The function
|
||||
read_input() need to skip leading space only temporary to detect empty
|
||||
lines, but the rest of the code has to use the original buffer (line).
|
||||
I've tried to fix one of the symptoms by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa
|
||||
(alter), but this solution is unnecessary and too complex.
|
||||
|
||||
Changes:
|
||||
|
||||
* don't ignore leading space
|
||||
* remove unnecessary stuff introduced by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa
|
||||
* fix regression test with incorrect separator
|
||||
|
||||
Addresses: https://github.com/karelzak/util-linux/issues/575
|
||||
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1560283
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
tests/expected/column/table-input-separator-space | 2 +-
|
||||
tests/ts/column/table | 2 +-
|
||||
text-utils/column.c | 36 ++---------------------
|
||||
4 files changed, 5 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git a/tests/expected/column/table-input-separator-space b/tests/expected/column/table-input-separator-space
|
||||
index 8a6513c11..25d9b5ab0 100644
|
||||
--- a/tests/expected/column/table-input-separator-space
|
||||
+++ b/tests/expected/column/table-input-separator-space
|
||||
@@ -1,5 +1,5 @@
|
||||
AAA BBBB C DDDD
|
||||
-BBB CCCC DDD
|
||||
+ BBB CCCC DDD
|
||||
AA BB DD
|
||||
AAAA B CC D
|
||||
AA CC DD
|
||||
diff --git a/tests/ts/column/table b/tests/ts/column/table
|
||||
index 27b52e7c8..5c89d5eaf 100755
|
||||
--- a/tests/ts/column/table
|
||||
+++ b/tests/ts/column/table
|
||||
@@ -37,7 +37,7 @@ $TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep >> $TS_OUTPUT 2>
|
||||
ts_finalize_subtest
|
||||
|
||||
ts_init_subtest "input-separator-space"
|
||||
-$TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1
|
||||
+$TS_CMD_COLUMN --separator "$(echo -e '\t')" --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1
|
||||
ts_finalize_subtest
|
||||
|
||||
ts_init_subtest "long"
|
||||
diff --git a/text-utils/column.c b/text-utils/column.c
|
||||
index 89d46d280..195814328 100644
|
||||
--- a/text-utils/column.c
|
||||
+++ b/text-utils/column.c
|
||||
@@ -86,7 +86,6 @@ struct column_control {
|
||||
const char *tree_parent;
|
||||
|
||||
wchar_t *input_separator;
|
||||
- char *input_separator_raw;
|
||||
const char *output_separator;
|
||||
|
||||
wchar_t **ents; /* input entries */
|
||||
@@ -96,7 +95,6 @@ struct column_control {
|
||||
unsigned int greedy :1,
|
||||
json :1,
|
||||
header_repeat :1,
|
||||
- input_sep_space : 1, /* input separator contains space chars */
|
||||
tab_noheadings :1;
|
||||
};
|
||||
|
||||
@@ -470,19 +468,7 @@ static int read_input(struct column_control *ctl, FILE *fp)
|
||||
char *buf = NULL;
|
||||
size_t bufsz = 0;
|
||||
size_t maxents = 0;
|
||||
- int rc = 0, is_space_sep = 0;
|
||||
-
|
||||
- /* Check if columns separator contains spaces chars */
|
||||
- if (ctl->mode == COLUMN_MODE_TABLE && ctl->input_separator_raw) {
|
||||
- char *p;
|
||||
-
|
||||
- for (p = ctl->input_separator_raw; *p; p++) {
|
||||
- if (isspace(*p)) {
|
||||
- is_space_sep = 1;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ int rc = 0;
|
||||
|
||||
/* Read input */
|
||||
do {
|
||||
@@ -496,19 +482,6 @@ static int read_input(struct column_control *ctl, FILE *fp)
|
||||
err(EXIT_FAILURE, _("read failed"));
|
||||
}
|
||||
str = (char *) skip_space(buf);
|
||||
-
|
||||
- /* The table columns separator could be a space. In this case
|
||||
- * don't skip the separator if at begin of the line. For example:
|
||||
- *
|
||||
- * echo -e "\tcol1\tcol2\nrow\t1\t2" \
|
||||
- * | column -t -s "$(echo -e '\t')" --table-columns A,B,C
|
||||
- */
|
||||
- if (is_space_sep && str > buf) {
|
||||
- char *x = strpbrk(buf, ctl->input_separator_raw);
|
||||
- if (x && x < str)
|
||||
- str = x;
|
||||
- }
|
||||
-
|
||||
if (str) {
|
||||
p = strchr(str, '\n');
|
||||
if (p)
|
||||
@@ -517,13 +490,13 @@ static int read_input(struct column_control *ctl, FILE *fp)
|
||||
if (!str || !*str)
|
||||
continue;
|
||||
|
||||
- wcs = mbs_to_wcs(str);
|
||||
+ wcs = mbs_to_wcs(buf);
|
||||
if (!wcs) {
|
||||
/*
|
||||
* Convert broken sequences to \x<hex> and continue.
|
||||
*/
|
||||
size_t tmpsz = 0;
|
||||
- char *tmp = mbs_invalid_encode(str, &tmpsz);
|
||||
+ char *tmp = mbs_invalid_encode(buf, &tmpsz);
|
||||
|
||||
if (!tmp)
|
||||
err(EXIT_FAILURE, _("read failed"));
|
||||
@@ -720,7 +693,6 @@ int main(int argc, char **argv)
|
||||
|
||||
ctl.output_separator = " ";
|
||||
ctl.input_separator = mbs_to_wcs("\t ");
|
||||
- ctl.input_separator_raw = xstrdup("\t ");
|
||||
|
||||
while ((c = getopt_long(argc, argv, "c:dE:eH:hi:JN:n:O:o:p:R:r:s:T:tVW:x", longopts, NULL)) != -1) {
|
||||
|
||||
@@ -775,9 +747,7 @@ int main(int argc, char **argv)
|
||||
break;
|
||||
case 's':
|
||||
free(ctl.input_separator);
|
||||
- free(ctl.input_separator_raw);
|
||||
ctl.input_separator = mbs_to_wcs(optarg);
|
||||
- ctl.input_separator_raw = xstrdup(optarg);
|
||||
ctl.greedy = 0;
|
||||
break;
|
||||
case 'T':
|
||||
--
|
||||
2.14.3
|
||||
|
40
libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch
Normal file
40
libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 76bb9b30cfcf54b59591a57a3d2a747e514469b2 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Thu, 19 Nov 2020 09:49:16 +0100
|
||||
Subject: [PATCH] libmount: don't use "symfollow" for helpers on user mounts
|
||||
|
||||
Addresses: https://github.com/karelzak/util-linux/issues/1193
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
libmount/src/context_mount.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
|
||||
index 8c394c1ff..dd1786176 100644
|
||||
--- a/libmount/src/context_mount.c
|
||||
+++ b/libmount/src/context_mount.c
|
||||
@@ -415,6 +415,9 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
|
||||
* string, because there is nothing like MS_EXEC (we only have
|
||||
* MS_NOEXEC in mount flags and we don't care about the original
|
||||
* mount string in libmount for VFS options).
|
||||
+ *
|
||||
+ * This use-case makes sense for MS_SECURE flags only (see
|
||||
+ * mnt_optstr_get_flags() and mnt_context_merge_mflags()).
|
||||
*/
|
||||
if (!(cxt->mountflags & MS_NOEXEC))
|
||||
mnt_optstr_append_option(optstr, "exec", NULL);
|
||||
@@ -422,11 +425,8 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
|
||||
mnt_optstr_append_option(optstr, "suid", NULL);
|
||||
if (!(cxt->mountflags & MS_NODEV))
|
||||
mnt_optstr_append_option(optstr, "dev", NULL);
|
||||
- if (!(cxt->mountflags & MS_NOSYMFOLLOW))
|
||||
- mnt_optstr_append_option(optstr, "symfollow", NULL);
|
||||
}
|
||||
|
||||
-
|
||||
if (cxt->flags & MNT_FL_SAVED_USER)
|
||||
rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user);
|
||||
if (rc)
|
||||
--
|
||||
2.25.4
|
||||
|
@ -2,7 +2,7 @@
|
||||
Summary: A collection of basic system utilities
|
||||
Name: util-linux
|
||||
Version: 2.36.1
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain
|
||||
URL: http://en.wikipedia.org/wiki/Util-linux
|
||||
|
||||
@ -103,10 +103,12 @@ Requires: libfdisk = %{version}-%{release}
|
||||
### Ready for upstream?
|
||||
###
|
||||
# 151635 - makeing /var/log/lastlog
|
||||
Patch0: 2.36-login-lastlog-create.patch
|
||||
Patch0: login-lastlog-create.patch
|
||||
# https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02
|
||||
# The workaround is unnecessary on Fedora with kernel >= 5.8.
|
||||
Patch1: 0002-libmount-remove-read-mountinfo-workaround.patch
|
||||
Patch1: libmount-remove-read-mountinfo-workaround.patch
|
||||
# usptream patch, https://github.com/karelzak/util-linux/issues/1193
|
||||
Patch2: libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch
|
||||
|
||||
%description
|
||||
The util-linux package contains a large variety of low-level system
|
||||
@ -939,6 +941,11 @@ fi
|
||||
%{_libdir}/python*/site-packages/libmount/
|
||||
|
||||
%changelog
|
||||
* Thu Nov 19 2020 Karel Zak <kzak@redhat.com> - 2.36.1-2
|
||||
- remove unused patches
|
||||
- remove versions and seq.numbers from patch names
|
||||
- fix mount "symfollow" issue (upstream patch)
|
||||
|
||||
* Mon Nov 16 2020 Karel Zak <kzak@redhat.com> - 2.36.1-1
|
||||
- upgrade to stable upstream 2.36.1
|
||||
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ReleaseNotes
|
||||
|
Loading…
Reference in New Issue
Block a user