Frantisek Sumsal [Tue, 25 Jun 2019 21:01:40 +0000 (23:01 +0200)]
test: introduce TEST-36-NUMAPOLICY
Frantisek Sumsal [Tue, 25 Jun 2019 20:45:15 +0000 (22:45 +0200)]
test: allow overriding QEMU_OPTIONS from the outside
Yu Watanabe [Sat, 3 Aug 2019 21:08:06 +0000 (06:08 +0900)]
udev: do not try to import properties on commented out lines
Fixes #13257.
Yu Watanabe [Sun, 4 Aug 2019 08:07:03 +0000 (17:07 +0900)]
Merge pull request #13256 from keszybz/minor-sd-network-cleanup
Minor sd-network cleanup and other coverity-inspired changes
Zbigniew Jędrzejewski-Szmek [Sat, 3 Aug 2019 15:46:56 +0000 (17:46 +0200)]
pid1: replace asprintf() with strjoin()
It's nicer. And coverity doesn't need to complain about unchecked return
value (CID#1401780).
Zbigniew Jędrzejewski-Szmek [Sat, 3 Aug 2019 15:43:51 +0000 (17:43 +0200)]
sd-hwdb: use return value from ordered_hashmap_iterate()
Why not? Coverity CID#1402329.
Zbigniew Jędrzejewski-Szmek [Sat, 3 Aug 2019 14:49:39 +0000 (16:49 +0200)]
libsystemd-network: make option_append() atomic and make the code a bit clearer
Comparisons are done in the normal order (if (need > available), not if (available < need)),
variables have reduced scope and are renamed for clarity.
The only functional change is that if we return -ENAMETOOLONG, we do that
without modifying the options[] array.
I also added an explanatory comment. The use of one offset to point into three
buffers is not obvious.
Coverity (in CID#1402354) says that sname might be accessed at bad offset, but
I cannot see this happening. We check for available space before writing anything.
Yu Watanabe [Fri, 2 Aug 2019 20:05:43 +0000 (05:05 +0900)]
unit: make logind can access ESP
Fixes the following error:
```
logind[601]: Failed to open file system "/dev/block/259:1": Operation not permitted
```
Zbigniew Jędrzejewski-Szmek [Sat, 3 Aug 2019 12:15:52 +0000 (14:15 +0200)]
Merge pull request #13253 from yuwata/udev-update-logs
udev: update log messages
Yu Watanabe [Fri, 2 Aug 2019 21:04:34 +0000 (06:04 +0900)]
udev-node: fix misleading log messages
This fixes the following logs:
```
drm_dp_aux2: Handling device node '/dev/drm_dp_aux2', devnum=c238:2, mode=
037777777777, uid=
4294967295, gid=
4294967295
drm_dp_aux2: Preserve permissions of /dev/drm_dp_aux2,
037777777777, uid=
4294967295, gid=
4294967295
```
Yu Watanabe [Fri, 2 Aug 2019 20:38:13 +0000 (05:38 +0900)]
udev-event: log device name on spawning commands
Miroslav Lichvar [Thu, 1 Aug 2019 09:47:18 +0000 (11:47 +0200)]
time-util: improve detection of synchronized clock
Instead of checking for the STA_UNSYNC flag in the timex status, check
the maximum error. It is updated by the kernel, increasing at a rate of
500 ppm. The maximum value is 16 seconds, which triggers the STA_UNSYNC
flag.
This follows timedatex and allows timedated to correctly detect a clock
synchronized by chronyd when configured to not synchronize the RTC.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 15:31:12 +0000 (17:31 +0200)]
Merge pull request #13243 from keszybz/two-cryptsetup-quickfixes
Two cryptsetup quickfixes
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 06:15:43 +0000 (08:15 +0200)]
cryptsetup: don't assert on variable which is optional
https://github.com/systemd/systemd/commit/
50d2eba27b9bfc77ef6b40e5721713846815418b#commitcomment-
34519739
In add_crypttab_devices() split_keyspec is called on the keyfile argument,
which may be NULL.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Aug 2019 06:13:13 +0000 (08:13 +0200)]
cryptsetup: use unabbrieviated variable names
Now that "ret_" has been added to the output variables, we can name
the internal variables without artificial abbrevs.
Frantisek Sumsal [Wed, 31 Jul 2019 18:59:03 +0000 (18:59 +0000)]
Merge pull request #13225 from mrc0mmand/networkd-test-replace-adduser-with-useradd
test: use `useradd` instead of `adduser`
Frantisek Sumsal [Tue, 30 Jul 2019 18:27:34 +0000 (20:27 +0200)]
test: print an error when networkctl returns an unexpected EC
If networkctl crashes, like recently with SIGABRT, it returns absolutely
no output, which may be confusing during debugging. Help it a little
with a short informative message.
Jan Synacek [Wed, 31 Jul 2019 14:13:35 +0000 (16:13 +0200)]
analyze-security: move assert above first use of the variable (#13238)
Zbigniew Jędrzejewski-Szmek [Wed, 31 Jul 2019 14:08:52 +0000 (16:08 +0200)]
Merge pull request #13239 from poettering/coverity-fixes
four coverity fixes
Lennart Poettering [Wed, 31 Jul 2019 08:20:16 +0000 (10:20 +0200)]
man: reword DeviceAllow= documentation
Don't claim we'd use cgroup.deny much. It's just a way to remove stuff
from device lists, which is nothing we allow users to explicitly
configure.
Also, extend documentation when wildcards may be used, and when not.
Lennart Poettering [Wed, 31 Jul 2019 07:44:28 +0000 (09:44 +0200)]
job: fix coverity issue
Fixes coverity issue 1403550
Lennart Poettering [Wed, 31 Jul 2019 07:42:24 +0000 (09:42 +0200)]
test-chase-symlinks: fix coverity issue
Fixes coverity issue 1403708
Lennart Poettering [Wed, 31 Jul 2019 07:39:12 +0000 (09:39 +0200)]
unit-file: fix coverity issue
Fixes coverity issue 1403820
Lennart Poettering [Wed, 31 Jul 2019 07:38:15 +0000 (09:38 +0200)]
cryptsetup-generator: fix coverity issue
Fixes coverity issue 1403772
Chris Down [Wed, 31 Jul 2019 02:51:10 +0000 (03:51 +0100)]
NEWS: Remove DisableControllers from v243
We already released this in v240 and had a NEWS entry then.
Frantisek Sumsal [Tue, 30 Jul 2019 19:22:10 +0000 (21:22 +0200)]
test-execute: skip test_exec_systemcallfilter_system under ASan
This particular test case keeps intermittently failing due to crashing
LSan when running under clang+ASan. Generally, sanitizers don't
like seccomp filters, so the best option here is to just switch this
test off for this scenario.
Mike Gilbert [Tue, 30 Jul 2019 18:51:38 +0000 (14:51 -0400)]
analyze: declare dump_exit_status outside of HAVE_SECCOMP block
Fixes:
76ed04d936f757763c32db5dbaaebd8b13785d7b
Closes: https://github.com/systemd/systemd/issues/13230
Piotr Drąg [Mon, 29 Jul 2019 15:54:38 +0000 (17:54 +0200)]
po: update Polish translation
Frantisek Sumsal [Tue, 30 Jul 2019 12:27:44 +0000 (14:27 +0200)]
test: use `useradd` instead of `adduser`
`adduser` is in certain cases a standalone package which provides a
better user experience. In other cases it's just a symlink to `useradd`.
And some distributions don't have `adduser` at all, like Arch Linux.
Let's use the `useradd` binary instead, which should provide the same
functionality everywhere.
Yu Watanabe [Tue, 30 Jul 2019 14:14:05 +0000 (23:14 +0900)]
boot: fix build with gnu-efi older than 3.0.5
Lennart Poettering [Tue, 30 Jul 2019 15:55:37 +0000 (17:55 +0200)]
Merge pull request #13119 from keszybz/unit-loading-2
Rework unit loading to take into account all aliases
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jul 2019 14:21:21 +0000 (16:21 +0200)]
NEWS: more entries and some rewordings
Yu Watanabe [Tue, 30 Jul 2019 14:39:10 +0000 (23:39 +0900)]
bash-completion: support "systemd-analyze exit-status"
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jul 2019 14:38:59 +0000 (16:38 +0200)]
Merge pull request #13189 from yuwata/network-initrd-generator-unit
unit: update initrd-network-generator.service
Yu Watanabe [Tue, 30 Jul 2019 10:29:44 +0000 (19:29 +0900)]
networkctl: TABLE_BPS requires uint64_t
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jul 2019 10:29:18 +0000 (12:29 +0200)]
test-unit-file: allow printing of information about specific units
Useful for manual debugging.
Zbigniew Jędrzejewski-Szmek [Wed, 10 Jul 2019 16:01:13 +0000 (18:01 +0200)]
pid1: drop unit caches only based on mtime
v2:
- do not watch mtime of transient and generated dirs
We'd reload the map after every transient unit we created, which we don't
need to do, since we create those units ourselves and know their fragment
path.
Zbigniew Jędrzejewski-Szmek [Mon, 8 Jul 2019 15:33:25 +0000 (17:33 +0200)]
analyze: add "unit-files" to dump the unit fragment map
I'm not convinced that this is useful enough to be included... But it is
certainly nice when debugging.
Zbigniew Jędrzejewski-Szmek [Thu, 18 Jul 2019 11:11:28 +0000 (13:11 +0200)]
pid1: use a cache for all unit aliases
This reworks how we load units from disk. Instead of chasing symlinks every
time we are asked to load a unit by name, we slurp all symlinks from disk
and build two hashmaps:
1. from unit name to either alias target, or fragment on disk
(if an alias, we put just the target name in the hashmap, if a fragment
we put an absolute path, so we can distinguish both).
2. from a unit name to all aliases
Reading all this data can be pretty costly (40 ms) on my machine, so we keep it
around for reuse.
The advantage is that we can reliably know what all the aliases of a given unit
are. This means we can reliably load dropins under all names. This fixes #11972.
Zbigniew Jędrzejewski-Szmek [Tue, 2 Apr 2019 09:22:56 +0000 (11:22 +0200)]
shared/unit-file: add a function to validate unit alias symlinks
It turns out most possible symlinks are invalid, because the type has to match,
and template units can only be linked to template units.
I'm not sure if the existing code made the same checks consistently. At least
I don't see the same rules expressed in a single place.
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jul 2019 10:28:48 +0000 (12:28 +0200)]
TEST-15-DROPIN: add test for details of unit aliasing
I adjusted the tests to pass. I don't think the behaviour makes much sense,
even if we ignore the issue with "lazy loading" of aliases. E.g. in the
last section, the fact that dropins for yup@.service and yup@3.service are
not loaded seems to be a plain old bug.
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jul 2019 07:33:58 +0000 (09:33 +0200)]
test: use "ln -fs"
Without this, repeated runs of "make -C TEST/... setup" fail when trying
to create the symlink.
Simon Schricker [Tue, 30 Jul 2019 06:00:21 +0000 (08:00 +0200)]
docs: fix typo
Zbigniew Jędrzejewski-Szmek [Tue, 30 Jul 2019 06:27:20 +0000 (08:27 +0200)]
Merge pull request #13219 from poettering/named-exit-codes-tweaks
quick follow-up for the symbolic exit status PR #13207
Lennart Poettering [Mon, 29 Jul 2019 17:57:08 +0000 (19:57 +0200)]
update TODO
Lennart Poettering [Mon, 29 Jul 2019 18:44:54 +0000 (20:44 +0200)]
Merge pull request #13216 from poettering/busctl-format-table
port "busctl list" to format-table.h
Lennart Poettering [Mon, 29 Jul 2019 18:44:39 +0000 (20:44 +0200)]
Merge pull request #13217 from poettering/TODO-updates
udev: warn if rules files are executable
Zbigniew Jędrzejewski-Szmek [Sat, 27 Jul 2019 11:55:29 +0000 (13:55 +0200)]
shared/install: typo
Lennart Poettering [Mon, 29 Jul 2019 17:48:13 +0000 (19:48 +0200)]
Merge pull request #13004 from shinygold/master
cryptsetup: Improve support for keyfiles on removable storage
Lennart Poettering [Mon, 29 Jul 2019 17:44:24 +0000 (19:44 +0200)]
analyze: clarify that 'exit-status' optionally takes arguments
Lennart Poettering [Mon, 29 Jul 2019 17:32:14 +0000 (19:32 +0200)]
Merge pull request #13201 from yuwata/networkctl-merge-table_add_cell
networkctl cleanups and improvements
Yu Watanabe [Mon, 29 Jul 2019 15:58:00 +0000 (00:58 +0900)]
unit: rename initrd-network-generator.service -> systemd-network-generator.service
Yu Watanabe [Mon, 29 Jul 2019 15:50:19 +0000 (00:50 +0900)]
network-generator: rename generated unit files
The tool may be used in the initrd-less systems.
Thiebaud Weksteen [Mon, 29 Jul 2019 12:24:03 +0000 (14:24 +0200)]
logind: notify dbus of changes to session State
This adds the option to monitor transitions between the state Opening ->
Active.
Lennart Poettering [Mon, 29 Jul 2019 17:25:49 +0000 (19:25 +0200)]
man: remove trailing space in link in HTML output
Lennart Poettering [Mon, 29 Jul 2019 17:22:34 +0000 (19:22 +0200)]
analyze: right-align exit status column
Lennart Poettering [Mon, 29 Jul 2019 17:18:56 +0000 (19:18 +0200)]
analyze: rename "exit-codes" to "exit-status"
waitid(2) and the libc function signature calls this "exit status", and
uses "exit code" for something different. Let's stick to the same
nomenclature hence.
Lennart Poettering [Mon, 29 Jul 2019 17:14:09 +0000 (19:14 +0200)]
analyze: always use "int" to display exit status values
That's what it actually is, hence let's use that and cast when the type
is bigger.
Lennart Poettering [Mon, 29 Jul 2019 17:05:25 +0000 (19:05 +0200)]
exit-status: rename EXIT_STATUS_GLIBC → EXIT_STATUS_LIBC
After all these two exit codes are defined by ISO C as part of the C
library, and it's not the GNU implementation defines them.
Lennart Poettering [Mon, 29 Jul 2019 16:58:06 +0000 (18:58 +0200)]
Merge pull request #13207 from keszybz/symbolic-exit-code-names
Symbolic exit code names
Lennart Poettering [Mon, 29 Jul 2019 16:35:07 +0000 (18:35 +0200)]
update TODO
Lennart Poettering [Mon, 29 Jul 2019 14:00:26 +0000 (16:00 +0200)]
TODO: drop udev access mode item we just implemented
Lennart Poettering [Mon, 29 Jul 2019 13:59:20 +0000 (15:59 +0200)]
udev: warn on rules files with weird access modes
Lennart Poettering [Mon, 29 Jul 2019 13:52:27 +0000 (15:52 +0200)]
TODO: remove item implemented in
f05e1ae6660
Zbigniew Jędrzejewski-Szmek [Sat, 27 Jul 2019 21:40:24 +0000 (23:40 +0200)]
pid1: use LOG_DEBUG/INFO/NOTICE for unit resource consumption message
We now log at LOG_INFO for any unit. Let's vary the log level
a bit, so that for normal short lived-units (less than 1 sec CPU),
we only log if debugging is enabled.
Lennart Poettering [Mon, 29 Jul 2019 16:39:41 +0000 (18:39 +0200)]
busctl: port "busctl list" to format_table.h
Among generally being prettier this gives us JSON output for basically
free.
Lennart Poettering [Mon, 29 Jul 2019 16:39:32 +0000 (18:39 +0200)]
format-table: add TABLE_PID cell type
Lennart Poettering [Mon, 29 Jul 2019 16:39:05 +0000 (18:39 +0200)]
format-table: automatically show empty cells in grey
Lennart Poettering [Mon, 29 Jul 2019 16:38:13 +0000 (18:38 +0200)]
format-table: add table_fill_empty() to fill in empty cells until the specified column is reached
Lennart Poettering [Mon, 29 Jul 2019 16:36:59 +0000 (18:36 +0200)]
format-table: if NULL is spcified as data, let's patch to an empty cell
This should make various calls easier that currently generate either an
empty cell or a regular cell depending on whether they have data to
show.
Lennart Poettering [Mon, 29 Jul 2019 16:36:19 +0000 (18:36 +0200)]
format-table: optionally show a specific string in empty cells
For some cases it might make sense to show "-" instead of just spaces
for empty cells.
Yu Watanabe [Sun, 28 Jul 2019 06:23:39 +0000 (15:23 +0900)]
test-network: add tests for new entries in "networkctl status"
Susant Sahani [Thu, 25 Jul 2019 17:09:34 +0000 (22:39 +0530)]
networkctl : Add support to display vxlan properties
Susant Sahani [Thu, 25 Jul 2019 17:09:34 +0000 (22:39 +0530)]
networkctl: Add support to display bridge properties
Yu Watanabe [Mon, 29 Jul 2019 14:47:04 +0000 (23:47 +0900)]
time-util: introduce jiffies_to_usec()
Yu Watanabe [Mon, 29 Jul 2019 14:30:32 +0000 (23:30 +0900)]
table: add missing NULL initialization
Yu Watanabe [Sun, 28 Jul 2019 05:14:02 +0000 (14:14 +0900)]
table: add TABLE_UINT8 or friends
Yu Watanabe [Sun, 28 Jul 2019 04:43:28 +0000 (13:43 +0900)]
table: add TABLE_IN_ADDR and TABLE_IN6_ADDR
Yu Watanabe [Sun, 28 Jul 2019 04:07:19 +0000 (13:07 +0900)]
networkctl: merge multiple table_add_cell() by using table_add_many()
Lennart Poettering [Mon, 29 Jul 2019 09:40:30 +0000 (11:40 +0200)]
analyze: dot(1) man page link should be urlified
I mean, let's not miss out on this excellent opportunity to use
hyperlinks on terminals.
(Unfortunately not see unless you invoke 'systemd-analyze --no-pager
--help', because 'less' is so much stuck in the past :-(.)
Zbigniew Jędrzejewski-Szmek [Mon, 29 Jul 2019 14:03:54 +0000 (16:03 +0200)]
Merge pull request #13212 from poettering/sleep-conf-default
sleep: document default HibernateDelaySec=
Zbigniew Jędrzejewski-Szmek [Mon, 29 Jul 2019 13:53:24 +0000 (15:53 +0200)]
NEWS: add entry about exit status changes
Zbigniew Jędrzejewski-Szmek [Mon, 29 Jul 2019 13:44:39 +0000 (15:44 +0200)]
analyze: add exit-codes verb
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 13:00:08 +0000 (15:00 +0200)]
units: use symbolic exit code names
(nspawn uses 133 which doesn't have a name. That's reasonable, because
there's less chance of conflict with a return value from the payload.)
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 11:47:39 +0000 (13:47 +0200)]
systemctl: do print all statuses/signals received from pid1
If for some reason we do not know some signal, instead of silently
skipping it, let's print it numerically. Likewise, 'show' is not the
right place to do value filtering for exit codes. If pid1 accepted it,
let's just print it with no fuss.
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 11:00:01 +0000 (13:00 +0200)]
pid1: fix message about triggers missing services
systemd[1]: systemd-tmpfiles-clean.timer: Refusing to start, unit systemd-tmpfiles-cle
an.timer to trigger not loaded.
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 10:37:31 +0000 (12:37 +0200)]
pid1,systemctl: allow symbolic exit code names
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 09:55:49 +0000 (11:55 +0200)]
shared/bus-util: fix dbus serialization of {RestartPrevent,RestartForce,Success}ExitStatus
We were passing 1/4th of the size in bytes as argument. So depending
on the size of the array, either we'd only transfer a subset of values,
or we'd get an alignment error.
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 09:43:53 +0000 (11:43 +0200)]
bus-util: convert bus_log_{parse,create}_error into defines
With SYSTEMD_LOG_LOCATION=1, it is much more useful to see the location
where the call to bus_log_{parse,create}_error() was made, rather then
the one-line body of the helper function. Also, it's our internal code,
so having a one-line non-inline function doesn't make much sense anyway.
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 09:14:46 +0000 (11:14 +0200)]
shared/exit-status: use Bitmap instead of Sets
I opted to embed the Bitmap structure directly in the ExitStatusSet.
This means that memory usage is a bit higher for units which don't define
this setting:
Service changes:
/* size: 2720, cachelines: 43, members: 73 */
/* sum members: 2680, holes: 9, sum holes: 39 */
/* sum bitfield members: 7 bits, bit holes: 1, sum bit holes: 1 bits */
/* last cacheline: 32 bytes */
/* size: 2816, cachelines: 44, members: 73 */
/* sum members: 2776, holes: 9, sum holes: 39 */
/* sum bitfield members: 7 bits, bit holes: 1, sum bit holes: 1 bits */
But this way the code is simpler and we do less pointer chasing.
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 09:04:12 +0000 (11:04 +0200)]
shared/bitmap: constify various operators which don't modify bitmap
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 08:19:53 +0000 (10:19 +0200)]
shared/exit-status: add exit_status_from_string()
Zbigniew Jędrzejewski-Szmek [Sun, 28 Jul 2019 08:13:21 +0000 (10:13 +0200)]
shared/exit-status: turn status level into a bitmask, add "test"
The "test" doesn't really test much automatically, but it is still useful
to look at the mappings.
Lennart Poettering [Mon, 29 Jul 2019 12:25:04 +0000 (14:25 +0200)]
Merge pull request #13209 from poettering/nspawn-volatile-merged-usr
make incompatibility of non-/usr-merged distros with --volatile=yes more discoverable
Lennart Poettering [Mon, 29 Jul 2019 11:40:23 +0000 (13:40 +0200)]
Merge pull request #13184 from poettering/nspawn-usr-root
Allow "systemd-nspawn -D / --volatile=yes" to work
Zach Smith [Mon, 15 Jul 2019 03:01:20 +0000 (20:01 -0700)]
systemd-sleep: use swaps in priority order
In situations where hibernation is requested but resume= and
resume_offset= kernel parameters are not configured, systemd
will attempt to locate a suitable swap location by inspecting
/proc/swaps. This change will use the first suitable swap with
the highest configured priority.
Lennart Poettering [Mon, 29 Jul 2019 10:49:38 +0000 (12:49 +0200)]
man: document default HibernateDelaySec= setting
Lennart Poettering [Mon, 29 Jul 2019 10:49:13 +0000 (12:49 +0200)]
update TODO
Lennart Poettering [Mon, 29 Jul 2019 07:45:11 +0000 (09:45 +0200)]
man: document that --volatile=yes is not supported for split /usr systems
Lennart Poettering [Mon, 29 Jul 2019 07:14:17 +0000 (09:14 +0200)]
nspawn: print an explanatory error when people try to use --volatile=yes on distros that are not /usr-merged