]>
git.ipfire.org Git - thirdparty/util-linux.git/log
Masatake YAMATO [Fri, 3 Nov 2023 20:22:21 +0000 (05:22 +0900)]
tests: (lsfd) add a case testing NAME, SOURCE, ENDPOINTS, and PTMX.TTY-INDEX columns of pts fds
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Fri, 3 Nov 2023 19:38:52 +0000 (04:38 +0900)]
tests: (test_mkfds::pty) add a new factory
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 17:47:35 +0000 (02:47 +0900)]
lsfd: fill ENDPOINTS column for pty devices
An example output:
$ ./lsfd -o+ENDPOINTS -Q '(COMMAND =~ "tmux") and ((SOURCE == "ptmx") or (SOURCE =~ "pts:.*"))'
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME ENDPOINTS
tmux: client
3717086 yamato 0 rw---- CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: client
3717086 yamato 1 rw---- CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: client
3717086 yamato 2 rw---- CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: server
3717088 yamato 5 rw---m CHR pts:9 27 12 /dev/pts/9
2143274 ,xfce4-terminal,34rw
tmux: server
3717088 yamato 8 rw---m CHR ptmx 24 208 tty-index=16
3717089 ,zsh,0rw
3717089 ,zsh,1rw
3717089 ,zsh,2rw
3717089 ,zsh,10rw
$ ./lsfd -o+ENDPOINTS -Q '(PID ==
3717089 ) and (FD == 0)'
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME ENDPOINTS
zsh
3717089 yamato 0 rw---- CHR pts:16 27 19 /dev/pts/16
3717088 ,tmux: server,8rw
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 17:42:27 +0000 (02:42 +0900)]
lsfd: add attach_xinfo and get_ipc_class methods to cdev_ops
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 15:44:20 +0000 (00:44 +0900)]
lsfd: add PTMX.TTY-INDEX column
tty-index field in /proc/$pid/fdinfo/$fd is the data source of
the column. The value is helpful for looking up the conterpart
of /dev/ptmx.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Wed, 1 Nov 2023 15:05:12 +0000 (00:05 +0900)]
lsfd: utilize /proc/tty/drivers for filling SOURCE column of tty devices
The original code referenced /proc/devices using major numbers as keys to obtain
the name of the device driver corresponding to a file descriptor.
However, it turnes out that some drivers share a same major number;
there are cases that a key is not unique.
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
...
About tty-related devices, /proc/tty/drivers is better information
source; both major and minor numbers can be used as keys:
/dev/tty /dev/tty 5 0 system:/dev/tty
/dev/console /dev/console 5 1 system:console
/dev/ptmx /dev/ptmx 5 2 system
/dev/vc/0 /dev/vc/0 4 0 system:vtmaster
usbserial /dev/ttyUSB 188 0-511 serial
dbc_serial /dev/ttyDBC 242 0-63 serial
serial /dev/ttyS 4 64-95 serial
pty_slave /dev/pts 136 0-
1048575 pty:slave
pty_master /dev/ptm 128 0-
1048575 pty:master
unknown /dev/tty 4 1-63 console
This commit extracts the second column of the /proc/tty/drivers as
driver names after removing "/dev": tty, console, ptmx, ...
With the orinal code:
# lsfd -n -p 1789 -Q '(FD == 25)'
systemd-logind 1789 root 25 rw- CHR /dev/vc/0:6 432 25 /dev/tty6
--------------------------------------------^^^^^^^^^^^
With this commit:
# ./lsfd -n -p 1789 -Q '(FD == 25)'
systemd-logind 1789 root 25 rw---- CHR tty:6 432 25 /dev/tty6
----------------------------------------------^^^^^
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Tue, 31 Oct 2023 23:18:11 +0000 (08:18 +0900)]
lsfd: make the order of calling finalize_* and initialize_* consistent
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Wed, 25 Oct 2023 09:37:21 +0000 (11:37 +0200)]
Merge branch 'refine-the-choice-of-stream-related-functions-in-usage' of https://github.com/masatake/util-linux
* 'refine-the-choice-of-stream-related-functions-in-usage' of https://github.com/masatake/util-linux:
Make the ways of using output stream consistent in usage()
Use fputs instead of fprintf if possible
Karel Zak [Wed, 25 Oct 2023 09:34:43 +0000 (11:34 +0200)]
Merge branch 'umount/recursive-bind' of https://github.com/t-8ch/util-linux
* 'umount/recursive-bind' of https://github.com/t-8ch/util-linux:
umount: handle bindmounts during --recursive
mount: (tests) don't create /dev/nul
Karel Zak [Tue, 24 Oct 2023 18:13:29 +0000 (20:13 +0200)]
tests: fix memory leak in scols fromfile
Signed-off-by: Karel Zak <kzak@redhat.com>
Masatake YAMATO [Tue, 24 Oct 2023 17:21:45 +0000 (02:21 +0900)]
Make the ways of using output stream consistent in usage()
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Tue, 24 Oct 2023 16:41:58 +0000 (01:41 +0900)]
Use fputs instead of fprintf if possible
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Karel Zak [Mon, 23 Oct 2023 13:20:47 +0000 (15:20 +0200)]
libsmartcols: fix uninitialized local variable in sample
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 12:47:35 +0000 (14:47 +0200)]
libsmartcols: add wrap-zero test
* modify samples/fromfile.c to use scols_wrapzero_nextchunk() callback
if "wrapzero" specified for the test colum
* add col-wrapzero and data-string-zero to define the column and zero
separated data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 12:35:21 +0000 (14:35 +0200)]
libsmartcols: support \x?? for data by samples/fromfile.c
The test (sample) binary already supports \n in strings to covert it
to the real line-break. It seem more generic to use \x?? (hex) to
support arbitrary byte in the column data.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 11:37:51 +0000 (13:37 +0200)]
libsmartcols: add new functions to API docs
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 11:42:08 +0000 (13:42 +0200)]
findmnt: use zero to separate lines in multi-line cells
Fixes: https://github.com/util-linux/util-linux/issues/2533
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 19:33:38 +0000 (21:33 +0200)]
libsmartcols: improve cell data preparation for non-wrapping cases
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 10:42:35 +0000 (12:42 +0200)]
libsmartcols: add --{export,raw,json} to wrap sample
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 09:23:20 +0000 (11:23 +0200)]
libsmartcols: make calculation more robust
* add debug messages
* make columns stat debug more compact
* default to zero if data undefined
* fix "extreme" column enlarging
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 19 Oct 2023 08:48:59 +0000 (10:48 +0200)]
libsmartcols: reset cell wrapping if all done
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 18 Oct 2023 10:29:17 +0000 (12:29 +0200)]
lsblk: use zero to separate lines in multi-line cells
Fixes: https://github.com/util-linux/util-linux/issues/2533
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 18 Oct 2023 10:28:40 +0000 (12:28 +0200)]
libsmartcols: add support for zero separated wrap data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 18 Oct 2023 08:20:12 +0000 (10:20 +0200)]
libsmartcols: add scols_cell_refer_memory()
* allow to use non-string data
* use memcpy() rather than strdup() for data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 21:15:06 +0000 (23:15 +0200)]
libsmartcols: always print vertical symbol
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 20:38:43 +0000 (22:38 +0200)]
libsmartcols: multi-line cells refactoring
* move data wrapping code to column.c
* do data wrapping on one place when copy cell data to buffer
* use table cursor in affected functions
* calculate tree ASCII-art to wrapped data
* mark wrap_chunksize() callback as deprecated; library calculates
the size itself from real data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 09:57:10 +0000 (11:57 +0200)]
libsmartcols: add table cursor
The cursor makes it simple for callbacks to access information about
the current cell, line and column. It will reduce number of necessary
arguments for callbacks.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Thu, 12 Oct 2023 20:12:58 +0000 (22:12 +0200)]
lib/mbsalign: calculate size of decoded string
The "safe" encoding replaces each unsafe byte with \x<hex>, the new
function mbs_safe_decoded_size() calculates the original size of the
string.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Tue, 10 Oct 2023 17:35:34 +0000 (19:35 +0200)]
lib/buffer: make buffer usable for non-string data
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Wed, 11 Oct 2023 10:37:40 +0000 (12:37 +0200)]
lib/strutils: add ul_next_string()
The function jumps to the next string in buffer where strings are
separated by \0.
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 23 Oct 2023 10:50:22 +0000 (12:50 +0200)]
Merge branch 'master' of https://github.com/Connor-GH/util-linux
* 'master' of https://github.com/Connor-GH/util-linux:
Fix man page for col to correct documentation error
Update col.c to fix option mistake
Karel Zak [Mon, 23 Oct 2023 10:47:19 +0000 (12:47 +0200)]
Merge branch 'libblkid/vxfs/cleanup' of https://github.com/t-8ch/util-linux
* 'libblkid/vxfs/cleanup' of https://github.com/t-8ch/util-linux:
libblkid: (vxfs) simplify prober
libblkid: (superblocks) add helper blkid32_to_cpu()
libblkid: (vxfs) use hex escape for magic
libblkid: (vxfs) add test files
Karel Zak [Mon, 23 Oct 2023 10:37:19 +0000 (12:37 +0200)]
Merge branch 'wdctl/sysfs' of https://github.com/t-8ch/util-linux
* 'wdctl/sysfs' of https://github.com/t-8ch/util-linux:
wdctl: use only sysfs if sufficient
Karel Zak [Mon, 23 Oct 2023 10:35:57 +0000 (12:35 +0200)]
Merge branch 'libmount/null-api' of https://github.com/t-8ch/util-linux
* 'libmount/null-api' of https://github.com/t-8ch/util-linux:
libmount: guard against sysapi == NULL
Karel Zak [Mon, 23 Oct 2023 10:35:34 +0000 (12:35 +0200)]
Merge branch 'PR/lscpu-caches-sep' of github.com:karelzak/util-linux-work
* 'PR/lscpu-caches-sep' of github.com:karelzak/util-linux-work:
lscpu: fix caches separator for --parse=<list>
Karel Zak [Mon, 23 Oct 2023 10:34:56 +0000 (12:34 +0200)]
Merge branch 'chfn_gecos' of https://github.com/mator/util-linux
* 'chfn_gecos' of https://github.com/mator/util-linux:
Use empty libuser config file.
Karel Zak [Mon, 23 Oct 2023 10:32:58 +0000 (12:32 +0200)]
Merge branch 'topic-fix-fail-to-find-exfat-volume-label' of https://github.com/YuezhangMo/util-linux
* 'topic-fix-fail-to-find-exfat-volume-label' of https://github.com/YuezhangMo/util-linux:
libblkid: exfat: fix fail to find volume label
Karel Zak [Mon, 23 Oct 2023 10:29:50 +0000 (12:29 +0200)]
Merge branch 'misc/fixes' of https://github.com/t-8ch/util-linux
* 'misc/fixes' of https://github.com/t-8ch/util-linux:
meson: don't try to build test_ca without libcap-ng
blkpr: store return value of getopt_long in int
Karel Zak [Mon, 23 Oct 2023 10:28:26 +0000 (12:28 +0200)]
Merge branch 'meson/int-cmp' of https://github.com/t-8ch/util-linux
* 'meson/int-cmp' of https://github.com/t-8ch/util-linux:
meson: avoid int operation with non-int
Karel Zak [Mon, 23 Oct 2023 10:26:45 +0000 (12:26 +0200)]
Merge branch 'path' of https://github.com/stoeckmann/util-linux
* 'path' of https://github.com/stoeckmann/util-linux:
sys-utils/lscpu: Use ul_path_scanf where possible
lib/path: Set errno in case of fgets failure
lib/path: fix typos
lib/path: remove ul_prefix_fopen
lib/path: set errno in case of error
lib/path: fix possible out of boundary access
Karel Zak [Mon, 23 Oct 2023 10:23:51 +0000 (12:23 +0200)]
Merge branch 'login-simplify' of https://github.com/stoeckmann/util-linux
* 'login-simplify' of https://github.com/stoeckmann/util-linux:
login: access login.noauth file directly
login: use xasprintf
Connor-GH [Sat, 21 Oct 2023 22:58:36 +0000 (17:58 -0500)]
Fix man page for col to correct documentation error
Connor-GH [Sat, 21 Oct 2023 22:55:49 +0000 (17:55 -0500)]
Update col.c to fix option mistake
Thomas Weißschuh [Tue, 17 Oct 2023 16:06:15 +0000 (18:06 +0200)]
umount: handle bindmounts during --recursive
Fixes #2551
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Tue, 17 Oct 2023 16:01:31 +0000 (18:01 +0200)]
mount: (tests) don't create /dev/nul
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Fri, 13 Oct 2023 14:44:51 +0000 (16:44 +0200)]
wdctl: use only sysfs if sufficient
Also avoid opening device if nowayout is set.
Opening the device node starts the watchdog.
With 'nowayout' enabled unstoppably.
Also the device node can only be opened once at the same time which can
be problematic.
Prefer to retrieve the information via sysfs which does not have such
problems.
Fixes #2543
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sat, 14 Oct 2023 10:56:42 +0000 (12:56 +0200)]
libblkid: (vxfs) simplify prober
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sat, 14 Oct 2023 10:56:04 +0000 (12:56 +0200)]
libblkid: (superblocks) add helper blkid32_to_cpu()
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sat, 14 Oct 2023 10:18:14 +0000 (12:18 +0200)]
libblkid: (vxfs) use hex escape for magic
It's easier to read and more consistent.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sat, 14 Oct 2023 10:14:42 +0000 (12:14 +0200)]
libblkid: (vxfs) add test files
The test files have been constructed manually from the prober.
While not providing a real test at least they make sure that the
existing logic stays stable.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Fri, 13 Oct 2023 08:17:16 +0000 (10:17 +0200)]
libmount: guard against sysapi == NULL
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Thu, 12 Oct 2023 22:03:15 +0000 (00:03 +0200)]
lscpu: fix caches separator for --parse=<list>
Fixes: https://github.com/util-linux/util-linux/issues/2544
Signed-off-by: Karel Zak <kzak@redhat.com>
Anatoly Pugachev [Thu, 12 Oct 2023 11:13:02 +0000 (14:13 +0300)]
Use empty libuser config file.
In case of an absence /etc/libuser.conf, use empty file by pointing
LIBUSER_CONF to /dev/null. This allows chfn/gecos to pass without error.
PS: The "libuser" library is no longer maintained, and it was recommended
by the original author to not use it anymore.
Thomas Weißschuh [Wed, 11 Oct 2023 14:35:45 +0000 (16:35 +0200)]
meson: don't try to build test_ca without libcap-ng
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Yuezhang Mo [Wed, 11 Oct 2023 10:42:11 +0000 (18:42 +0800)]
libblkid: exfat: fix fail to find volume label
Commit
f98b56326 set the maximum number of iterations to 10000.
If the volume label is after the 10000th entry, the volume label
will not be found. So this commit sets the maximum number of
iterations to correct value 256×1024×1024/32.
Fixes: f98b56326 ("libblkid: [exfat] Limit maximum number of iterations in find_label")
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Andy Wu <Andy.Wu@sony.com>
Reviewed-by: Aoyama Wataru <wataru.aoyama@sony.com>
Thomas Weißschuh [Wed, 11 Oct 2023 05:20:43 +0000 (07:20 +0200)]
blkpr: store return value of getopt_long in int
getopt_long returns an int. Don't try to store it in a char.
See #2538.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Tobias Stoeckmann [Tue, 10 Oct 2023 19:08:41 +0000 (21:08 +0200)]
sys-utils/lscpu: Use ul_path_scanf where possible
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Tue, 10 Oct 2023 19:00:48 +0000 (21:00 +0200)]
lib/path: Set errno in case of fgets failure
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Sun, 8 Oct 2023 18:22:47 +0000 (20:22 +0200)]
login: access login.noauth file directly
There is no need to scan a directory if we already know the filename
we are looking for.
While at it, close resources afterwards.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Sun, 8 Oct 2023 18:21:04 +0000 (20:21 +0200)]
login: use xasprintf
It is easier to use xasprintf than performing all its internals
explicitly in login's code base.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Karel Zak [Mon, 9 Oct 2023 11:04:07 +0000 (13:04 +0200)]
Merge branch 'libmount/errormsg' of https://github.com/t-8ch/util-linux
* 'libmount/errormsg' of https://github.com/t-8ch/util-linux:
libmount: report all kernel messages for fd-based mount API
libmount: add helper to log mount messages as emitted by kernel
libmount: change syscall status macros to be functions
Karel Zak [Mon, 9 Oct 2023 10:26:37 +0000 (12:26 +0200)]
Merge branch 'lsfs--sockdiag-RW' of https://github.com/masatake/util-linux
* 'lsfs--sockdiag-RW' of https://github.com/masatake/util-linux:
lsfd: (man) update the description of ENDPOINTS column of UNIX-Stream sockets
tests: (lsfd) extend the mkfds-socketpair case to test ENDPOINTS with SOCK.SHUTDOWN info
lsfd: append SOCK.SHUTDOWN value to ENDPOINTS column of UNIX-STREAM sockets
tests: (lsfd) add a case for testing SOCK.SHUTDOWN column
tests: (test_mkfds::socketpair) add "halfclose" parameter
lsfd: don't capitalize the help strings for the columns
lsfd: (man) write about SOCK.SHUTDOWN column
lsfd: add SOCK.SHUTDOWN column
lsfd: call xinfo backend method before calling socket generic method when filling columns
tests: (lsfd) add a case for testing ENDPOINTS column of UNIX-STREAM sockets
tests: (lsfd::mkfds-socketpair) make a case for testing DGRAM a subtest and add a subtest for STREAM
lsfd: (man) document the ENDPOINT column for UNIX socket
lsfd: fill ENDPOINTS column of unix socket using UNIX_DIAG_PEER information
lsfd: make the sock_xinfo layer be able to prepare an ipc_class for a given socket
lsfd: initialize the ipc table before loading lists of unix socket peers via netlink diag
Karel Zak [Mon, 9 Oct 2023 10:18:31 +0000 (12:18 +0200)]
autotools: fix AC_DEFINE_UNQUOTED() use
Let's use AC_DEFINE_UNQUOTED() for string-like content, otherwise use
a simple AC_DEFINE().
Signed-off-by: Karel Zak <kzak@redhat.com>
Karel Zak [Mon, 9 Oct 2023 10:15:20 +0000 (12:15 +0200)]
autotools: fix librtas check
Fixes: https://github.com/util-linux/util-linux/discussions/2527
Signed-off-by: Karel Zak <kzak@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:56:47 +0000 (23:56 +0900)]
lsfd: (man) update the description of ENDPOINTS column of UNIX-Stream sockets
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 12:52:00 +0000 (21:52 +0900)]
tests: (lsfd) extend the mkfds-socketpair case to test ENDPOINTS with SOCK.SHUTDOWN info
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:50:21 +0000 (23:50 +0900)]
lsfd: append SOCK.SHUTDOWN value to ENDPOINTS column of UNIX-STREAM sockets
An example output:
# ./lsfd -Q '((PID == 1) || (PID == 1896)) && (TYPE == "UNIX-STREAM") && ((FD == 1) || (FD == 278))' -o+ENDPOINTS
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME ENDPOINTS
systemd 1 root 278 rw---m UNIX-STREAM sockfs 9 37012 state=connected path=/run/systemd/journal/stdout 1896,ModemManager,1-w
ModemManager 1896 root 1 rw---- UNIX-STREAM sockfs 9 43126 state=connected 1,systemd,278r-
1870458 ,systemd-journal,68r-
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:35:46 +0000 (23:35 +0900)]
tests: (lsfd) add a case for testing SOCK.SHUTDOWN column
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 12:44:13 +0000 (21:44 +0900)]
tests: (test_mkfds::socketpair) add "halfclose" parameter
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:19:51 +0000 (23:19 +0900)]
lsfd: don't capitalize the help strings for the columns
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:15:59 +0000 (23:15 +0900)]
lsfd: (man) write about SOCK.SHUTDOWN column
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:03:06 +0000 (23:03 +0900)]
lsfd: add SOCK.SHUTDOWN column
An example output:
# ./lsfd -p1 -Q '(TYPE == "UNIX-STREAM")' -o+SOCK.SHUTDOWN
systemd 1 root 443 rw---m UNIX-STREAM sockfs 9
183103884 state=connected path=/run/systemd/journal/stdout r-
systemd 1 root 462 rw---- UNIX-STREAM sockfs 9
11172039 state=listen path=/run/libvirt/libvirt-sock rw
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 2 Oct 2023 14:00:41 +0000 (23:00 +0900)]
lsfd: call xinfo backend method before calling socket generic method when filling columns
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Thu, 3 Aug 2023 16:29:53 +0000 (01:29 +0900)]
tests: (lsfd) add a case for testing ENDPOINTS column of UNIX-STREAM sockets
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Mon, 9 Oct 2023 06:29:40 +0000 (15:29 +0900)]
tests: (lsfd::mkfds-socketpair) make a case for testing DGRAM a subtest and add a subtest for STREAM
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Thomas Weißschuh [Mon, 9 Oct 2023 05:34:46 +0000 (07:34 +0200)]
meson: avoid int operation with non-int
`conf` as configuration_data() object can contain any datatype.
For `HAVE_FOO` variables this will be a `1` int to generate
`#define HAVE_FOO 1` or a `false` bool to generate `#undef HAVE_FOO`
in `conf.h`.
When retrieving and testing `HAVE_FOO` from `conf` it can be both types.
Newer versions of meson are unhappy about comparisions of int with
non-int
../meson.build:734: DEPRECATION: Project uses feature that was always broken, and is now deprecated since '1.2.0': int operations with non-int. It is not commutative and only worked because of leaky Python abstractions.
WARNING: Broken features used:
* 1.2.0: {'int operations with non-int'}
As both `int` and `bool` support a `.to_string()` method, we can use
that to convert them into a well-known type and compare that.
Unfortunately meson does not implement a way to determine the type of a
value.
A method `int.to_int()` would also have worked but does not exist.
This broken feature was actually first recognized in util-linux.
See #2312 and https://github.com/mesonbuild/meson/pull/11879.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Tobias Stoeckmann [Sun, 8 Oct 2023 18:51:07 +0000 (20:51 +0200)]
lib/path: fix typos
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Sun, 8 Oct 2023 18:49:31 +0000 (20:49 +0200)]
lib/path: remove ul_prefix_fopen
The function ul_prefix_fopen does not properly check for paths which are
too long. Since the only caller of ul_prefix_fopen can be easily
converted to ul_path_fopen, remove the function.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Sun, 8 Oct 2023 18:47:53 +0000 (20:47 +0200)]
lib/path: set errno in case of error
Some programs like lscpu expect errno to be set if ul_path_cpuparse
fails.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Sun, 8 Oct 2023 18:41:29 +0000 (20:41 +0200)]
lib/path: fix possible out of boundary access
If fgets reads from a file starting with a NUL byte in ul_path_cpuparse,
then the check for newline leads to an out of boundary access.
Proof of Concept (compile with --enable-asan):
1. Prepare /tmp/poc with required files
```
$ install -d /tmp/poc/sys/devices/system/cpu
$ dd if=/dev/zero of=/tmp/poc/sys/devices/system/cpu/possible bs=1 count=1
$ install -D /dev/null /tmp/poc/proc/cpuinfo
```
2. Run lscpu with sysroot option
```
$ lscpu --sysroot /tmp/poc
=================================================================
==78238==ERROR: AddressSanitizer: heap-buffer-overflow
```
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Thomas Weißschuh [Thu, 5 Oct 2023 11:21:23 +0000 (13:21 +0200)]
libmount: report all kernel messages for fd-based mount API
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Thu, 5 Oct 2023 11:19:14 +0000 (13:19 +0200)]
libmount: add helper to log mount messages as emitted by kernel
The kernel helpfully provides feedback about failed operations via the
filesystem descriptor. Read that information and expose it via libmounts
debug facilities.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Thu, 5 Oct 2023 11:18:15 +0000 (13:18 +0200)]
libmount: change syscall status macros to be functions
Functions are easier to modify and reason about.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Wed, 4 Oct 2023 18:08:06 +0000 (20:08 +0200)]
Merge branch 'libblkid/align' of https://github.com/t-8ch/util-linux
* 'libblkid/align' of https://github.com/t-8ch/util-linux:
libblkid: (probe) remove chunking from blkid_probe_get_idmag()
libblkid: (probe) read data in chunks
swapon: (tests) abort test on failing commands
libblkid: reset errno before calling probefuncs
libfdisk: reset errno before calling read()
Thomas Weißschuh [Sun, 1 Oct 2023 12:24:04 +0000 (14:24 +0200)]
libblkid: (probe) remove chunking from blkid_probe_get_idmag()
blkid_probe_get_buffer is doing the same thing internally now.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sat, 30 Sep 2023 21:59:44 +0000 (23:59 +0200)]
libblkid: (probe) read data in chunks
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Wed, 4 Oct 2023 18:03:02 +0000 (20:03 +0200)]
Merge branch 'libmount/tab-uaf' of https://github.com/t-8ch/util-linux
* 'libmount/tab-uaf' of https://github.com/t-8ch/util-linux:
Revert "libmount: (tab) avoid leaking memory allocated in loop"
Karel Zak [Wed, 4 Oct 2023 17:57:21 +0000 (19:57 +0200)]
Merge branch 'setpriv/completion' of https://github.com/t-8ch/util-linux
* 'setpriv/completion' of https://github.com/t-8ch/util-linux:
setpriv: fix group argument completion
Karel Zak [Wed, 4 Oct 2023 17:56:39 +0000 (19:56 +0200)]
Merge branch 'libfdisk/errno' of https://github.com/t-8ch/util-linux
* 'libfdisk/errno' of https://github.com/t-8ch/util-linux:
libfdisk: reset errno before calling read()
Karel Zak [Wed, 4 Oct 2023 17:35:26 +0000 (19:35 +0200)]
Merge branch 'ci/musl' of https://github.com/t-8ch/util-linux
* 'ci/musl' of https://github.com/t-8ch/util-linux:
ci: run full testsuite under musl libc
build-sys: only build col on glibc
lib/timeutils: don't use glibc strptime extension
Thomas Weißschuh [Wed, 4 Oct 2023 15:21:47 +0000 (17:21 +0200)]
Revert "libmount: (tab) avoid leaking memory allocated in loop"
coverity claims that this is now a use-after-free.
Let's revert the original change and make the code clearer before trying
another fix.
This reverts commit
d36306a560fd6d747e18ab22fc1279f4a373f43d .
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Mon, 2 Oct 2023 16:17:01 +0000 (18:17 +0200)]
swapon: (tests) abort test on failing commands
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Mon, 2 Oct 2023 20:24:21 +0000 (22:24 +0200)]
libblkid: reset errno before calling probefuncs
The probers optionally use errno to communicate error details.
When a leftover errno is set from libblkid internally this can confuse
the probers.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Masatake YAMATO [Mon, 2 Oct 2023 12:07:02 +0000 (21:07 +0900)]
lsfd: (man) document the ENDPOINT column for UNIX socket
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Thu, 3 Aug 2023 16:10:58 +0000 (01:10 +0900)]
lsfd: fill ENDPOINTS column of unix socket using UNIX_DIAG_PEER information
An example output:
# ./lsfd -Q '((PID == 1) || (PID == 1896)) && (TYPE == "UNIX-STREAM") && ((FD == 1) || (FD == 278))' -o+ENDPOINTS
COMMAND PID USER ASSOC XMODE TYPE SOURCE MNTID INODE NAME ENDPOINTS
systemd 1 root 278 rw---m UNIX-STREAM sockfs 9 37012 state=connected path=/run/systemd/journal/stdout 1896,ModemManager,1
ModemManager 1896 root 1 rw---- UNIX-STREAM sockfs 9 43126 state=connected 1,systemd,278
1870458 ,systemd-journal,68
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Thomas Weißschuh [Mon, 2 Oct 2023 13:52:33 +0000 (15:52 +0200)]
setpriv: fix group argument completion
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Masatake YAMATO [Thu, 3 Aug 2023 15:51:49 +0000 (00:51 +0900)]
lsfd: make the sock_xinfo layer be able to prepare an ipc_class for a given socket
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Masatake YAMATO [Sun, 23 Jul 2023 07:35:20 +0000 (16:35 +0900)]
lsfd: initialize the ipc table before loading lists of unix socket peers via netlink diag
Loading the lists is done in initialize_classes().
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Thomas Weißschuh [Mon, 2 Oct 2023 11:01:47 +0000 (13:01 +0200)]
libfdisk: reset errno before calling read()
The else branch will be executed on short reads.
For those errno is not reset so a random left-over errno value may be
checked.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Mon, 2 Oct 2023 11:01:47 +0000 (13:01 +0200)]
libfdisk: reset errno before calling read()
The else branch will be executed on short reads.
For those errno is not reset so a random left-over errno value may be
checked.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>