]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agodev-setup: generalize logic we use to create "inaccessible" device nodes
Lennart Poettering [Fri, 27 Jul 2018 16:04:11 +0000 (18:04 +0200)] 
dev-setup: generalize logic we use to create "inaccessible" device nodes

Let's generalize this, so that we can use this in nspawn later on, which
is pretty useful as we need to be able to mask files from the inner
child of nspawn too, where the host's /run/systemd/inaccessible
directory is not visible anymore. Moreover, if nspawn can create these
nodes on its own before the payload this means the payload can run with
fewer privileges.

5 years agonspawn: let's also pre-mount /dev/mqueue
Lennart Poettering [Thu, 26 Jul 2018 15:24:51 +0000 (17:24 +0200)] 
nspawn: let's also pre-mount /dev/mqueue

5 years agoptyfwd: optionally override terminal width/height
Lennart Poettering [Tue, 24 Jul 2018 15:15:33 +0000 (17:15 +0200)] 
ptyfwd: optionally override terminal width/height

5 years agofs-util: beef up chmod_and_chown() a bit
Lennart Poettering [Tue, 24 Jul 2018 15:12:27 +0000 (17:12 +0200)] 
fs-util: beef up chmod_and_chown() a bit

5 years agocapability: add new type for maintaining all five cap sets as one
Lennart Poettering [Tue, 24 Jul 2018 15:00:58 +0000 (17:00 +0200)] 
capability: add new type for maintaining all five cap sets as one

5 years agocgroup: use device_path_parse_major_minor() also for block device paths
Lennart Poettering [Mon, 2 Jul 2018 16:20:03 +0000 (18:20 +0200)] 
cgroup: use device_path_parse_major_minor() also for block device paths

Not only when we populate the "devices" cgroup controller we need
major/minor numbers, but for the io/blkio one it's the same, hence let's
use the same logic for both.

5 years agotree-wide: port various parts of the code over to the new device_major_minor_path...
Lennart Poettering [Fri, 29 Jun 2018 14:49:23 +0000 (16:49 +0200)] 
tree-wide: port various parts of the code over to the new device_major_minor_path() calls

5 years agostat-util: add new APIs device_path_make_{major_minor|canonical}() and device_path_pa...
Lennart Poettering [Fri, 29 Jun 2018 13:57:49 +0000 (15:57 +0200)] 
stat-util: add new APIs device_path_make_{major_minor|canonical}() and device_path_parse_major_minor()

device_path_make_{major_minor|canonical)  generate device node paths
given a mode_t and a dev_t. We have similar code all over the place,
let's unify this in one place. The former will generate a "/dev/char/"
or "/dev/block" path, and never go to disk. The latter then goes to disk
and resolves that path to the actual path of the device node.

device_path_parse_major_minor() reverses device_path_make_major_minor(),
also withozut going to disk.

We have similar code doing something like this at various places, let's
unify this in a single set of functions. This also allows us to teach
them special tricks, for example handling of the
/run/systemd/inaccessible/{blk|chr} device nodes, which we use for
masking device nodes, and which do not exist in /dev/char/* and
/dev/block/*

5 years agocgroups: beef up DeviceAllow= syntax a bit
Lennart Poettering [Fri, 29 Jun 2018 10:09:29 +0000 (12:09 +0200)] 
cgroups: beef up DeviceAllow= syntax a bit

Previously we'd allow pattern expressions such as "char-input" to match
all input devices. Internally, this would look up the right major to
test in /proc/devices. With this commit the syntax is slightly extended:

- "char-*" can be used to match any kind of character device, and
  similar "block-*. This expression would work previously already, but
  instead of actually installing a wildcard match it would install many
  individual matches for everything listed in /proc/devices.

- "char-<MAJOR>" with "<MAJOR>" being a numerical parameter works now
  too. This allows clients to install whitelist items by specifying the
  major directly.

The main reason to add these is to provide limited compat support for
clients that for some reason contain whitelists with major/minor numbers
(such as OCI containers).

5 years agocore: add special handling for devices cgroup allow lists for /dev/block/* and /dev...
Lennart Poettering [Fri, 29 Jun 2018 10:03:33 +0000 (12:03 +0200)] 
core: add special handling for devices cgroup allow lists for /dev/block/* and /dev/char/* device nodes

This adds some code to hanlde /dev/block/* and /dev/char/* device node
paths specially: instead of actually stat()ing them we'll just parse the
major/minor name from the name. This is useful 'hack' to allow clients
to install whitelists for devices that don't actually have to exist.

Also, let's similarly handle /run/systemd/inaccessible/{blk|chr}. This
allows us to simplify our built-in default whitelist to not require a
"ignore_enoent" mode for these nodes.

In general we should be careful with hardcoding major/minor numbers, but
in this case this should safe.

5 years agotree-wide: port various parts of the code to use parse_dev()
Lennart Poettering [Fri, 29 Jun 2018 10:01:02 +0000 (12:01 +0200)] 
tree-wide: port various parts of the code to use parse_dev()

5 years agopath-util: port path_join() over to path_join_many()
Lennart Poettering [Mon, 30 Jul 2018 19:29:34 +0000 (21:29 +0200)] 
path-util: port path_join() over to path_join_many()

We should probably drop path_join() entirely in the long run (and
then rename path_join_many() to it?), but for now let's make one a
wrapper for the other.

5 years agopath-util: add new path_join_many() API
Lennart Poettering [Thu, 28 Jun 2018 20:28:40 +0000 (22:28 +0200)] 
path-util: add new path_join_many() API

5 years agoparse-util: rework parse_dev() based on safe_atou() and DEVICE_MAJOR_VALID()/DEVICE_M...
Lennart Poettering [Fri, 29 Jun 2018 09:58:24 +0000 (11:58 +0200)] 
parse-util: rework parse_dev() based on safe_atou() and DEVICE_MAJOR_VALID()/DEVICE_MINOR_VALID()

Let's be a bit more careful when parsing major/minor pairs, and filter
out more corner cases. This also means using safe_atou() rather than
sscanf() to avoid weird negative unsigned handling and such.

5 years agologind: validate majors/minors we receieve via the bus
Lennart Poettering [Fri, 29 Jun 2018 10:13:33 +0000 (12:13 +0200)] 
logind: validate majors/minors we receieve via the bus

5 years agostat-util: add macros for checking whether major and minor values are in range
Lennart Poettering [Thu, 28 Jun 2018 18:57:15 +0000 (20:57 +0200)] 
stat-util: add macros for checking whether major and minor values are in range

As it turns out glibc and the Linux kernel have different ideas about
the size of dev_t and how many bits exist for the major and the minor.
When validating major/minor numbers we should check against the kernel's
actual sizes, hence add macros for this.

5 years agoMerge pull request #10987 from poettering/index-md-work-around
Lennart Poettering [Thu, 29 Nov 2018 18:29:02 +0000 (19:29 +0100)] 
Merge pull request #10987 from poettering/index-md-work-around

docs: work around GitHub pages weirdness

5 years agoMerge pull request #10989 from keszybz/nss-man
Lennart Poettering [Thu, 29 Nov 2018 18:28:39 +0000 (19:28 +0100)] 
Merge pull request #10989 from keszybz/nss-man

Add example to nss-mymachines(8)

5 years agodocs: work around GitHub pages weirdness 10987/head
Lennart Poettering [Thu, 29 Nov 2018 10:40:23 +0000 (11:40 +0100)] 
docs: work around GitHub pages weirdness

Fixes: #10546
5 years agoMerge pull request #10357 from poettering/import-fs
Zbigniew Jędrzejewski-Szmek [Thu, 29 Nov 2018 15:38:46 +0000 (16:38 +0100)] 
Merge pull request #10357 from poettering/import-fs

machinectl import-fs command and other fixes

5 years agoman: add an extensive example to nss-mymachines(8) 10989/head
Zbigniew Jędrzejewski-Szmek [Thu, 29 Nov 2018 11:28:02 +0000 (12:28 +0100)] 
man: add an extensive example to nss-mymachines(8)

The man page didn't really say what we are mapping and with what
patterns. Let's fix that.

5 years agoMerge pull request #10959 from poettering/systemctl-edit-fixo
Zbigniew Jędrzejewski-Szmek [Thu, 29 Nov 2018 14:35:07 +0000 (15:35 +0100)] 
Merge pull request #10959 from poettering/systemctl-edit-fixo

Fix "systemctl edit" for non-loadable units

5 years agodocs: fix typo
Lennart Poettering [Thu, 29 Nov 2018 10:17:36 +0000 (11:17 +0100)] 
docs: fix typo

5 years agodocs: uppercase the title of our Markdown docs
Lennart Poettering [Thu, 29 Nov 2018 10:09:09 +0000 (11:09 +0100)] 
docs: uppercase the title of our Markdown docs

5 years agonetworkd: vxlan make use of parse_ip_port_range
Susant Sahani [Thu, 29 Nov 2018 09:47:49 +0000 (15:17 +0530)] 
networkd: vxlan make use of parse_ip_port_range

Use parse_ip_port_range

5 years agomachinectl: fix printing of multiple addresses
Zbigniew Jędrzejewski-Szmek [Thu, 29 Nov 2018 11:50:22 +0000 (12:50 +0100)] 
machinectl: fix printing of multiple addresses

We'd print everything jumbled together:
$ machinectl --max-addresses=3
MACHINE CLASS     SERVICE        OS     VERSION ADDRESSES
rawhide container systemd-nspawn fedora 30      169.254.40.164fe80::94aa:3aff:fe7b:d4b9

5 years agomachinectl: drop helper function
Zbigniew Jędrzejewski-Szmek [Thu, 29 Nov 2018 11:47:43 +0000 (12:47 +0100)] 
machinectl: drop helper function

It only serves to forward some arguments without modification and is only
used in one place anyway.

5 years agosystemctl: if service manager couldn't load unit file, don't rely on it to tell us... 10959/head
Lennart Poettering [Tue, 27 Nov 2018 16:26:53 +0000 (17:26 +0100)] 
systemctl: if service manager couldn't load unit file, don't rely on it to tell us the fragment path

Previously, "systemctl edit" exclusively used the service manager's
per-unit FragmentPath property to figure out which file to edit, when
operating on a non-template unit. If for some reason loading the unit
file failed entirely though (LoadState=error), then FragmentPath would
be empty, and thus the unit not editable.

Let's fix this, by falling back to client-side unit file searching in
this case.

(Also, various other clean-ups to make the relevant functions follow our
coding style)

Fixes: #9561
5 years agosystemctl: rework message suggesting how to create a new unit file
Lennart Poettering [Tue, 27 Nov 2018 16:10:47 +0000 (17:10 +0100)] 
systemctl: rework message suggesting how to create a new unit file

We need to specifiy --full for creating full unit files.

Also, this is an explanatory hint, hence shouldn't be logged on LOG_ERR
level.

5 years agosystemctl: shorten code a bit
Lennart Poettering [Tue, 27 Nov 2018 16:09:25 +0000 (17:09 +0100)] 
systemctl: shorten code a bit

5 years agosystemctl: improve message when we skip a unit for editing a bit
Lennart Poettering [Thu, 29 Nov 2018 10:10:24 +0000 (11:10 +0100)] 
systemctl: improve message when we skip a unit for editing a bit

5 years agosystemctl: use _cleanup_ logic for error paths in unit_file_create_copy(), too
Lennart Poettering [Tue, 27 Nov 2018 16:08:30 +0000 (17:08 +0100)] 
systemctl: use _cleanup_ logic for error paths in unit_file_create_copy(), too

5 years agosystemctl: rework error paths in unit_file_create_new()
Lennart Poettering [Tue, 27 Nov 2018 16:07:32 +0000 (17:07 +0100)] 
systemctl: rework error paths in unit_file_create_new()

Let's use _cleanup_ to clean up stuff for us.

5 years agosystemctl: rework unit_find_template_path() to follow coding style
Lennart Poettering [Tue, 27 Nov 2018 16:06:03 +0000 (17:06 +0100)] 
systemctl: rework unit_find_template_path() to follow coding style

This makes sure that we don't clobber return values on failure and reset
all return values on success.

5 years agosystemctl: make sure we initialize return parameters in unit_file_find_path() on...
Lennart Poettering [Thu, 29 Nov 2018 10:10:37 +0000 (11:10 +0100)] 
systemctl: make sure we initialize return parameters in unit_file_find_path() on success

According to our coding style return values should be initialized when
we return any form of success, do so here too.

5 years agosystemctl: rename unit_file_find_path()'s return paramete to indicate that it is one
Lennart Poettering [Tue, 27 Nov 2018 16:05:27 +0000 (17:05 +0100)] 
systemctl: rename unit_file_find_path()'s return paramete to indicate that it is one

5 years agodocs: add brief docs explaing udev's flock() block device node synchronization
Lennart Poettering [Wed, 28 Nov 2018 20:26:36 +0000 (21:26 +0100)] 
docs: add brief docs explaing udev's flock() block device node synchronization

5 years agoNEWS: extend docs on RLIMIT_NOFILE
Lennart Poettering [Wed, 28 Nov 2018 20:58:51 +0000 (21:58 +0100)] 
NEWS: extend docs on RLIMIT_NOFILE

We now settled on 512K, and forgot to update NEWS.

Moreover, explain why 512K was chosen.

5 years agocatalog: reject entries where the language is too short early
Evgeny Vereshchagin [Thu, 29 Nov 2018 02:05:20 +0000 (03:05 +0100)] 
catalog: reject entries where the language is too short early

Closes https://oss-fuzz.com/testcase-detail/5674475278827520

5 years agonetworkd: slightly rework route establishment logic
Lennart Poettering [Wed, 28 Nov 2018 20:25:47 +0000 (21:25 +0100)] 
networkd: slightly rework route establishment logic

Use a for() loop to merge the two very similar loops into one, and add
more comments explaining the logic behing this.

Follow-up for 0d34228fc03f9dc47d1024268b66a23df1914914

5 years agoMerge pull request #10977 from yuwata/test-network-remove-state-file
Yu Watanabe [Thu, 29 Nov 2018 04:38:08 +0000 (13:38 +0900)] 
Merge pull request #10977 from yuwata/test-network-remove-state-file

test-network: optionally remove state file of networkd

5 years agoMerge pull request #10797 from poettering/run-generator
Zbigniew Jędrzejewski-Szmek [Wed, 28 Nov 2018 21:40:55 +0000 (22:40 +0100)] 
Merge pull request #10797 from poettering/run-generator

add new "systemd-run-generator" for running arbitrary commands from the kernel command line as system services using the "systemd.run=" kernel command line switch

5 years agotest-network: stop systemd-networkd.socket during testing 10977/head
Yu Watanabe [Wed, 28 Nov 2018 21:00:19 +0000 (22:00 +0100)] 
test-network: stop systemd-networkd.socket during testing

To suppress noisy warning messages.

5 years agotest-network: clear state file before starting networkd
Yu Watanabe [Wed, 28 Nov 2018 19:03:56 +0000 (20:03 +0100)] 
test-network: clear state file before starting networkd

Otherwise, some tests may disturb others, e.g.,
NetworkdNetWorkTests.test_routing_policy_rule_port_range and
NetworkdNetWorkTests.test_routing_policy_rule.

5 years agotest-network: use /run instead of legacy /var/run
Yu Watanabe [Wed, 28 Nov 2018 18:55:01 +0000 (19:55 +0100)] 
test-network: use /run instead of legacy /var/run

5 years agoMerge pull request #10970 from yuwata/from-name-return-negative-errno
Yu Watanabe [Wed, 28 Nov 2018 18:18:03 +0000 (03:18 +0900)] 
Merge pull request #10970 from yuwata/from-name-return-negative-errno

util: make *_from_name() returns negative errno on error

5 years agoMerge pull request #10948 from ssahani/iprule-port-proto
Yu Watanabe [Wed, 28 Nov 2018 18:17:36 +0000 (03:17 +0900)] 
Merge pull request #10948 from ssahani/iprule-port-proto

networkd: add support to configure ip rule port range and protocol.

5 years agomeson: let's bump RLIMIT_NOFILE hard limit to 512K
Lennart Poettering [Thu, 15 Nov 2018 08:50:42 +0000 (09:50 +0100)] 
meson: let's bump RLIMIT_NOFILE hard limit to 512K

Prompted by:

https://lists.freedesktop.org/archives/systemd-devel/2018-October/041578.html

5 years agosysctl.d: switch net.ipv4.conf.all.rp_filter from 1 to 2
Lubomir Rintel [Wed, 28 Nov 2018 10:44:20 +0000 (11:44 +0100)] 
sysctl.d: switch net.ipv4.conf.all.rp_filter from 1 to 2

This switches the RFC3704 Reverse Path filtering from Strict mode to Loose
mode. The Strict mode breaks some pretty common and reasonable use cases,
such as keeping connections via one default route alive after another one
appears (e.g. plugging an Ethernet cable when connected via Wi-Fi).

The strict filter also makes it impossible for NetworkManager to do
connectivity check on a newly arriving default route (it starts with a
higher metric and is bumped lower if there's connectivity).

Kernel's default is 0 (no filter), but a Loose filter is good enough. The
few use cases where a Strict mode could make sense can easily override
this.

The distributions that don't care about the client use cases and prefer a
strict filter could just ship a custom configuration in
/usr/lib/sysctl.d/ to override this.

5 years agonetworkd: add support to configure ip rule port range and protocol. 10948/head
Susant Sahani [Tue, 27 Nov 2018 05:28:54 +0000 (10:58 +0530)] 
networkd: add support to configure ip rule port range and protocol.

Please see:

iprule: support for ip_proto, sport and dport match options
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=f686f764682745daf6a93b0a6330ba42a961f858

Closes 10622

5 years agofix: systemd-networkd reverse route ordering
Susant Sahani [Mon, 26 Nov 2018 17:13:17 +0000 (22:43 +0530)] 
fix: systemd-networkd reverse route ordering

We missing a default route. Add gateway first.

This fixes https://github.com/systemd/systemd/issues/5430

5 years agoresolved: Increase size of TCP stub replies
Victor Tapia [Wed, 21 Nov 2018 13:01:04 +0000 (14:01 +0100)] 
resolved: Increase size of TCP stub replies

DNS_PACKET_PAYLOAD_SIZE_MAX is limiting the size of the stub replies to
512 with EDNS off or 4096 with EDNS on, without checking the protocol
used. This makes TCP replies for clients without EDNS support to be
limited to 512, making the truncate flag useless if the query result is
bigger than 512 bytes.

This commit increases the size of TCP replies to DNS_PACKET_SIZE_MAX

Fixes: #10816
5 years agoutil: make *_from_name() returns negative errno on error 10970/head
Yu Watanabe [Wed, 28 Nov 2018 08:54:04 +0000 (17:54 +0900)] 
util: make *_from_name() returns negative errno on error

5 years agoutil: also move scripts related to socket-protocol-list.[ch] to shared/
Yu Watanabe [Wed, 28 Nov 2018 11:20:29 +0000 (20:20 +0900)] 
util: also move scripts related to socket-protocol-list.[ch] to shared/

The source files were moved to shared/. Let's also move the relevant scripts.

5 years agotools: move generate-gperfs.py to tools/
Yu Watanabe [Wed, 28 Nov 2018 11:19:41 +0000 (20:19 +0900)] 
tools: move generate-gperfs.py to tools/

5 years agomissing.h: remove duplicate definition of 'struct ethtool_link_settings'
Lennart Poettering [Wed, 28 Nov 2018 07:52:52 +0000 (08:52 +0100)] 
missing.h: remove duplicate definition of 'struct ethtool_link_settings'

Fixes: #10966
5 years agoMerge pull request #10961 from poettering/busctl-monitor-json
Lennart Poettering [Wed, 28 Nov 2018 09:30:53 +0000 (10:30 +0100)] 
Merge pull request #10961 from poettering/busctl-monitor-json

busctl: support json mode also for 'busctl monitor'

5 years agocore: USB function properties do not change dynamically, don't claim so
Lennart Poettering [Tue, 27 Nov 2018 19:08:03 +0000 (20:08 +0100)] 
core: USB function properties do not change dynamically, don't claim so

This reduces our PropertiesChanged signals a bit in size as we don't
keep out blasting properties that cannot change anyway all the time.

5 years agoMerge pull request #10954 from poettering/install-all-fixo
Zbigniew Jędrzejewski-Szmek [Wed, 28 Nov 2018 09:28:05 +0000 (10:28 +0100)] 
Merge pull request #10954 from poettering/install-all-fixo

correct of enabling logic for template units without DefaultInstall=

5 years agoinstall: when enabling a template unit without DefaultInstance= nor specified instanc... 10954/head
Lennart Poettering [Tue, 27 Nov 2018 12:50:37 +0000 (13:50 +0100)] 
install: when enabling a template unit without DefaultInstance= nor specified instance don't do anything

Previously, we'd link the unit file into /etc in this case, but that
should only be done if the unit file is not in the search path anyway,
and this is already done implicitly anyway for all enabled unit files,
hence no reason to duplicate this here.

Fixes: #10253
5 years agoinstall: use structured initializers
Lennart Poettering [Tue, 27 Nov 2018 12:39:20 +0000 (13:39 +0100)] 
install: use structured initializers

5 years agosystemctl: separate out paragraphs in long message with empty line
Lennart Poettering [Tue, 27 Nov 2018 12:52:54 +0000 (13:52 +0100)] 
systemctl: separate out paragraphs in long message with empty line

5 years agosystemctl: bullet lists FTW!
Lennart Poettering [Tue, 27 Nov 2018 12:52:04 +0000 (13:52 +0100)] 
systemctl: bullet lists FTW!

There's no reason to number these items, let's make this a bit nicer by
using proper bullets.

5 years agosystemctl: downgrade log message to LOG_NOTICE
Lennart Poettering [Tue, 27 Nov 2018 12:40:19 +0000 (13:40 +0100)] 
systemctl: downgrade log message to LOG_NOTICE

This log message is not problematic at all, it is merely explanatory,
hence LOG_WARN is too high for this.

5 years agosystemctl: suffix unit file settings with = in our output
Lennart Poettering [Tue, 27 Nov 2018 12:39:28 +0000 (13:39 +0100)] 
systemctl: suffix unit file settings with = in our output

We do this in our man pages and log messages, and hence also in this
explanatory text.

5 years agolocale-util: add unicode bullet to special glyphs
Lennart Poettering [Tue, 27 Nov 2018 12:50:28 +0000 (13:50 +0100)] 
locale-util: add unicode bullet to special glyphs

5 years agobusctl: use new JSON_BUILD_PAIR_CONDITIONAL() for minimizing bus message JSON transfo... 10961/head
Lennart Poettering [Tue, 27 Nov 2018 21:30:30 +0000 (22:30 +0100)] 
busctl: use new JSON_BUILD_PAIR_CONDITIONAL() for minimizing bus message JSON transformations

Let's not generate object fields that aren't defined for a message.

5 years agojson: teach json builder "conditional" object fields
Lennart Poettering [Tue, 27 Nov 2018 21:26:21 +0000 (22:26 +0100)] 
json: teach json builder "conditional" object fields

Quite often when we generate objects some fields should only be
generated in some conditions. Let's add high-level support for that.
Matching the existing JSON_BUILD_PAIR() this adds
JSON_BUILD_PAIR_CONDITIONAL() which is very similar, but takes an
additional parameter: a boolean condition. If "true" this acts like
JSON_BUILD_PAIR(), but if false then the whole pair is suppressed.

This sounds simply, but requires a tiny bit of complexity: when complex
sub-variants are used in fields, then we also need to suppress them.

5 years agobusctl: support json mode also for 'busctl monitor'
Lennart Poettering [Tue, 27 Nov 2018 19:07:58 +0000 (20:07 +0100)] 
busctl: support json mode also for 'busctl monitor'

5 years agoMerge pull request #10967 from evverx/check-directives
Yu Watanabe [Wed, 28 Nov 2018 05:02:42 +0000 (14:02 +0900)] 
Merge pull request #10967 from evverx/check-directives

travis: make sure that *.perf and directives.* files are in sync

5 years agotests: update test/fuzz/fuzz-netdev-parser/directives.netdev 10967/head
Evgeny Vereshchagin [Wed, 28 Nov 2018 04:13:17 +0000 (05:13 +0100)] 
tests: update test/fuzz/fuzz-netdev-parser/directives.netdev

This is a follow-up to 2266864b04257d7a.

5 years agotravis: make sure that *.perf and directives.* files are in sync
Evgeny Vereshchagin [Wed, 28 Nov 2018 03:50:04 +0000 (04:50 +0100)] 
travis: make sure that *.perf and directives.* files are in sync

New features are constantly added to networkd. Apparently, not everybody
knows that the "directives" files should be updated too to make
the fuzzers aware of them.

5 years agotree-wide: more IOVEC_MAKE() conversions
Lennart Poettering [Tue, 27 Nov 2018 09:34:32 +0000 (10:34 +0100)] 
tree-wide: more IOVEC_MAKE() conversions

5 years agotest: make TEST-27 non-racy
Lennart Poettering [Tue, 27 Nov 2018 16:30:23 +0000 (17:30 +0100)] 
test: make TEST-27 non-racy

Not sure how I missed this, but we of course need to wait for the
"systemd-run" commands to finish before we can check the output files
this generated.

5 years agoMerge pull request #10952 from evverx/keep-fuzz-udev-rules-going
Yu Watanabe [Wed, 28 Nov 2018 02:33:27 +0000 (11:33 +0900)] 
Merge pull request #10952 from evverx/keep-fuzz-udev-rules-going

tests: make fuzz-udev-rules work also in the environment created by run_minijail

5 years agotests: suppress "unwanted log lines" in several fuzzers
Evgeny Vereshchagin [Tue, 27 Nov 2018 20:57:33 +0000 (21:57 +0100)] 
tests: suppress "unwanted log lines" in several fuzzers

According to https://oss-fuzz.com/fuzzer-stats/by-fuzzer/fuzzer/libFuzzer/job/libfuzzer_asan_systemd,
fuzz-network-parser, fuzz-netdev-parser and fuzz-journal-remote produce
a lot of unwanted log lines. Let's set the maximum log level to LOG_CRIT
as we do in the other fuzzers.

5 years agotests: make fuzz-udev-rules work also in the environment created by run_minijail 10952/head
Evgeny Vereshchagin [Wed, 28 Nov 2018 00:29:57 +0000 (01:29 +0100)] 
tests: make fuzz-udev-rules work also in the environment created by run_minijail

This should close https://oss-fuzz.com/testcase?key=5642013043589120.

See also https://github.com/google/oss-fuzz/issues/1983.

5 years agoMerge pull request #10951 from thom311/network-dhcp-route-option
Lennart Poettering [Tue, 27 Nov 2018 21:37:22 +0000 (22:37 +0100)] 
Merge pull request #10951 from thom311/network-dhcp-route-option

add accessor for sd_dhcp_route's "option"

5 years agoman,factory: update factory config for nsswitch.conf to match the man pages
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 16:02:20 +0000 (17:02 +0100)] 
man,factory: update factory config for nsswitch.conf to match the man pages

Also add a note in the man pages to remind people to adjust the factory config
and other man pages at the same time.

5 years agoMerge pull request #10955 from keszybz/rc-local-more-info
Lennart Poettering [Tue, 27 Nov 2018 16:12:57 +0000 (17:12 +0100)] 
Merge pull request #10955 from keszybz/rc-local-more-info

Provide more information in rc-local-generator

5 years agorc-local-generator: provide more debugging information 10955/head
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 14:24:07 +0000 (15:24 +0100)] 
rc-local-generator: provide more debugging information

C.f. https://bugzilla.redhat.com/show_bug.cgi?id=1516188.

5 years agorc-local-generator: use macro to define main()
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 14:23:35 +0000 (15:23 +0100)] 
rc-local-generator: use macro to define main()

5 years agoMerge pull request #10944 from poettering/redirect-file-fix
Lennart Poettering [Tue, 27 Nov 2018 12:18:26 +0000 (13:18 +0100)] 
Merge pull request #10944 from poettering/redirect-file-fix

StandardOutput=file: fixes

5 years agoMerge pull request #10902 from poettering/highlight-status
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 11:53:43 +0000 (12:53 +0100)] 
Merge pull request #10902 from poettering/highlight-status

Highlight status

5 years agotests: keep going even if setup_mount_namespace has failed
Evgeny Vereshchagin [Tue, 27 Nov 2018 11:47:06 +0000 (12:47 +0100)] 
tests: keep going even if setup_mount_namespace has failed

This should address https://github.com/google/oss-fuzz/issues/1983.

5 years agonetwork: use sd_dhcp_route_get_option() accessor in link_set_dhcp_routes() 10951/head
Thomas Haller [Tue, 27 Nov 2018 11:18:29 +0000 (12:18 +0100)] 
network: use sd_dhcp_route_get_option() accessor in link_set_dhcp_routes()

5 years agonetwork: add sd_dhcp_route_get_option() accessor
Thomas Haller [Tue, 27 Nov 2018 11:09:52 +0000 (12:09 +0100)] 
network: add sd_dhcp_route_get_option() accessor

Since sd_dhcp_lease_get_routes() returns the list of all routes,
the caller may need to differenciate whether the route was option
33 (static-routes) or 121 (classless-static-route).

Add an accessor for the internal field.

5 years agoMerge pull request #10813 from poettering/cgroup-exec-start-pre
Lennart Poettering [Tue, 27 Nov 2018 09:29:17 +0000 (10:29 +0100)] 
Merge pull request #10813 from poettering/cgroup-exec-start-pre

make sure ExecStartPre= and Delegate=yes mix well

5 years agotree-wide: use IOVEC_MAKE() at many places
Lennart Poettering [Mon, 26 Nov 2018 20:52:36 +0000 (21:52 +0100)] 
tree-wide: use IOVEC_MAKE() at many places

5 years agotest: add a test for StandardError=file:… 10944/head
Lennart Poettering [Mon, 26 Nov 2018 20:09:07 +0000 (21:09 +0100)] 
test: add a test for StandardError=file:…

This deserves a test of its, given how broken on so many levels this
previously was.

5 years agocore: be more careful when inheriting stdout fds to stderr
Lennart Poettering [Mon, 26 Nov 2018 20:07:48 +0000 (21:07 +0100)] 
core: be more careful when inheriting stdout fds to stderr

We need to compare the fd name/file name if we inherit an fd from stdout
to stderr. Let's do that.

Fixes: #10875
5 years agobus-unit-util: properly accept StandardOutput=append:… settings
Lennart Poettering [Mon, 26 Nov 2018 20:07:39 +0000 (21:07 +0100)] 
bus-unit-util: properly accept StandardOutput=append:… settings

5 years agodbus-execute: generate the correct transient unit setting
Lennart Poettering [Mon, 26 Nov 2018 20:07:06 +0000 (21:07 +0100)] 
dbus-execute: generate the correct transient unit setting

5 years agodbus-execute: fix indentation
Lennart Poettering [Mon, 26 Nov 2018 20:06:19 +0000 (21:06 +0100)] 
dbus-execute: fix indentation

5 years agocore: drop references to 'StandardOutputFileToCreate'
Lennart Poettering [Mon, 26 Nov 2018 20:05:37 +0000 (21:05 +0100)] 
core: drop references to 'StandardOutputFileToCreate'

This property never existed, let's drop any reference to it.

5 years agoMerge pull request #10949 from yuwata/man-improve-unset
Zbigniew Jędrzejewski-Szmek [Tue, 27 Nov 2018 09:04:20 +0000 (10:04 +0100)] 
Merge pull request #10949 from yuwata/man-improve-unset

man: slightly update man pages of network related units

5 years agoupdate TODO 10797/head
Lennart Poettering [Fri, 16 Nov 2018 11:21:12 +0000 (12:21 +0100)] 
update TODO

5 years agoman: document systemd-run-generator
Lennart Poettering [Fri, 16 Nov 2018 11:15:50 +0000 (12:15 +0100)] 
man: document systemd-run-generator

5 years agoman: document FailureActionExitStatus=/SuccessActionExitStatus=
Lennart Poettering [Fri, 16 Nov 2018 11:40:28 +0000 (12:40 +0100)] 
man: document FailureActionExitStatus=/SuccessActionExitStatus=

5 years agoadd new run-generator
Lennart Poettering [Thu, 15 Nov 2018 21:09:29 +0000 (22:09 +0100)] 
add new run-generator

This is really useful for running commands like this:

        # systemd-run -i someimage.raw -b systemd.run='"some command line"'

This will now run the command line inside a small Type=oneshot service
and even propagate the exit code of the command back to the parent. And
all that with the full system booted up.

By default this causes the system to shutdown right after the command
completed, but this can be tweaked with systemd.run_success_action= and
systemd.run_failure_action=.

Note that when used in VMs the exit status can of course not be
propagate, as VMs don't really know a concept for that.