Karel Zak [Mon, 7 Apr 2025 12:03:07 +0000 (14:03 +0200)]
Merge branch 'PR/coverity' of https://github.com/karelzak/util-linux-work
* 'PR/coverity' of https://github.com/karelzak/util-linux-work:
fdisk: fix possible memory leak
fdformat: use size_t and ssize_t
cfdisk: fix memory leak and possible NULL dereference [gcc-analyzer]
run_shell() will implicitly execute the previous ctl->shell_line
not only if the function was indirectly invoked by the '.' command
but also by a subsequent '!' command.
Addresses: #3508 Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
more: Add MORESECURE and PAGERSECURE environment variables #3503
Add MORESECURE and PAGERSECURE environment variables to run 'more' in secure mode,
which will effectively disable the _!_ and _v_ commands. This helps to prevent
unprivileged users from running arbitrary shell commands or file manipulations.
Addresses: #3503 Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
Karel Zak [Thu, 3 Apr 2025 12:07:35 +0000 (14:07 +0200)]
Merge branch 'PR/Benno-31Mar' of https://github.com/karelzak/util-linux-work
* 'PR/Benno-31Mar' of https://github.com/karelzak/util-linux-work:
tests: update coresched tests
coresched: reduce excessive whitespace and verbosity in usage text
lsblk: (man) remove the incorrect spaces between the arguments of --ct
hardlink: fix typoed semicolon to colon in error message
findmnt: (man) remove duplicated option, and correct a description
irqtop: improve several more option descriptions, and align them all
irqtop: improve the description of --batch, and align it with others
last: don't use a tab character in the --help usage text
uclampset: simplify the synopsis in the --help usage text
enosys: add the missing arguments of -s and -i to the usage text
findmnt: (man) remove duplicated option, and correct a description
The page listed both '--shadowed' and '--shadow', while the description
of '--hyperlink' duplicated the possible values of the _mode_ argument
and mistakenly spoke of _when_.
Also, sort the options alphabetically and fix two bits of markup.
uclampset: simplify the synopsis in the --help usage text
The synopsis cannot express all possible forms of the command and still
stay readable, so do not even try. Giving one, single synopsis is far
clearer. Also, unabbreviate two words in the option descriptions.
Also, improve the markup and the wording in the man page.
Karel Zak [Wed, 2 Apr 2025 09:00:47 +0000 (11:00 +0200)]
include/cctype: fix string comparison
Reimplement c_strcasecmp() and c_strncasecmp() to be libc compatible
and fix c_strncasecmp() to avoid \0 misinterpretation. The original
implementation was pretty stupid (sorry).
Karel Zak [Tue, 1 Apr 2025 13:54:07 +0000 (15:54 +0200)]
mkfs.bfs: fix memory leaks and weak code
- use size_t to store strlen() result
- init superblock with the default volume and fsname
- don't use strdup(), it's unnecessary as getopt_long() does not
modify arguments
- don't use memcpy() as we need to check string sizes
- restrict verbose output 6 bytes
Addresses: https://github.com/util-linux/util-linux/pull/3488 Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 1 Apr 2025 13:06:54 +0000 (15:06 +0200)]
Merge branch 'setarch--show-pid' of https://github.com/masatake/util-linux
* 'setarch--show-pid' of https://github.com/masatake/util-linux:
setarch: add -p/--pid option showing the personality of specified process
procfs: add a helper function to access /proc/$pid/personality
bash-completion: (setarch) show some options as the 1st arg
Karel Zak [Tue, 1 Apr 2025 12:59:24 +0000 (14:59 +0200)]
Merge branch 'lsfd--bugfix-af-packet' of https://github.com/masatake/util-linux
* 'lsfd--bugfix-af-packet' of https://github.com/masatake/util-linux:
lsfd: (bug fix) scan the protocol field of /proc/net/packet as a hex number
tests: (test_mkfds::mapped-packet-socket) add a new parameter, protocol
lsfd: fix the description for PACKET.PROTOCOL column
Karel Zak [Thu, 27 Mar 2025 09:58:24 +0000 (10:58 +0100)]
more: improve help readability
The internal help can be printed within the current content. In this
case, it's hard to see where the help starts. Add a separator to make
it easier to read.
mkfs.cramfs: reduce the synopsis to the standard, succinct form
The old synopsis was 1) incomplete (mentioning -h and -v, but not
-V and -E and -z, for example), and 2) overlong, being wider than
80 columns. So, change the synposis to what most other utilities
nowadays use: "<name> [options] <arguments>..." -- this makes it
much clearer what the two required arguments are.
Also, reshuffle the descriptions of the two arguments, to not hide
them among the options.
And remove the description of option -s, as listing an option that
does nothing is not helpful.
swapon: improve a translator hint, and remove a pointless one
The reference to "each entry below" made no sense, as that second
translator hint is not before a gettextized message and therefore
did not make it into the POT file. Gettextizing that message is
not useful as 1) there is nothing to translate, and 2) allowing
the translators to fiddle with the tabs is too complicated, and
3) the --summary output is deprecated anyway.
Thomas Devoogdt [Tue, 25 Mar 2025 10:58:18 +0000 (11:58 +0100)]
lsns: fix undefined reference to add_namespace_for_nsfd #3483
Fixes:
sys-utils/lsns-lsns.o: In function `read_process':
lsns.c:(.text+0x9e8): undefined reference to `add_namespace_for_nsfd'
collect2: error: ld returned 1 exit status
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Karel Zak [Mon, 24 Mar 2025 13:44:46 +0000 (14:44 +0100)]
Merge branch 'PR/fix-non-widechar' of https://github.com/karelzak/util-linux-work
* 'PR/fix-non-widechar' of https://github.com/karelzak/util-linux-work:
misc: never include wchar.h
autotools: don't use wide-character ncurses if --disable-widechar
column: fix compiler warning for non-widechar compilation
Karel Zak [Thu, 20 Mar 2025 10:53:59 +0000 (11:53 +0100)]
column: fix compiler warning for non-widechar compilation
text-utils/column.c: In function ‘ansi_esc_width’:
text-utils/column.c:212:17: warning: case label value exceeds maximum value for type [-Wswitch-outside-range]
Karel Zak [Mon, 17 Mar 2025 13:35:10 +0000 (14:35 +0100)]
include: use public domain for colors.{c,h} and xalloc.h
The LGPL makes it difficult to use the code in the old BSD tools we
have in util-linux. After obtaining agreement from the major
contributors to the files, we are changing it to "Public Domain".
Karel Zak [Mon, 17 Mar 2025 12:38:20 +0000 (13:38 +0100)]
terminal-colors.d: support NO_COLOR
We already provide the ability to easily disable output colorization,
but there is also the https://no-color.org initiative based on the
NO_COLOR environment variable. Let's support this method to disable
colors. Let's be friendly :-)
Addresses: https://github.com/util-linux/util-linux/issues/3463 Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 17 Mar 2025 11:11:08 +0000 (12:11 +0100)]
Merge branch 'PR/lscpu-risc' of https://github.com/karelzak/util-linux-work
* 'PR/lscpu-risc' of https://github.com/karelzak/util-linux-work:
tests: (lscpu) update RISC-V tests to add ISA line
lscpu: RISC-V: Print ISA information in summary
Karel Zak [Mon, 17 Mar 2025 11:10:26 +0000 (12:10 +0100)]
Merge branch 'lsfd--revise-unix-endpoints' of https://github.com/masatake/util-linux
* 'lsfd--revise-unix-endpoints' of https://github.com/masatake/util-linux:
lsfd: (man) fix a typo
lsfd: add UNIX.IPEER column
lsfd: fill ENDPOINTS column for UNIX one-way sockets
include/list: add a macro for initializing list_head a declarative way
lsfd: (refactor) add a helper function building ENDPOINTS strings for UNIX socket
lsfd: add a dummy entry for UNIX socket having no peer to the IPC table
tests: (lsfd::mkfds-unix-dgram, refactor) split the test into subtests
tests: add ts_is_in_docker as a helper function
lsfd: (man) fix a typo
Karel Zak [Mon, 17 Mar 2025 10:49:57 +0000 (11:49 +0100)]
more: fix repeat command
The function more_key_command() may modify the current command setting.
We need to remember the original unmodified version, as specified by
the user, as the previous command; otherwise, the output will be affected
by unexpected cmd.number settings.
Simple reproducer:
$ more -c /etc/passwd
- Press <enter> to jump to the next line.
- Press '.' to repeat the last command.
Old version:
- It clears the screen and prints only one line (like the "1 <enter>" command).
Fixed version:
- It jumps to the next line (like the "<enter>" command).
Reported-by: Benno Schulenberg <bensberg@telfort.nl> Signed-off-by: Karel Zak <kzak@redhat.com>