]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agoresolved: have the stub resolver listen on both TCP and UDP by default
Sam Morris [Mon, 8 Oct 2018 11:03:28 +0000 (12:03 +0100)] 
resolved: have the stub resolver listen on both TCP and UDP by default

RFC7766 section 4 states that in the absence of EDNS0, a response that
is too large for a 512-byte UDP packet will have the 'truncated' bit
set. The client is expected to retry the query over TCP.

Fixes #10264.

5 years agocgroup: Don't explicitly check for member in UNIT_BEFORE
Chris Down [Wed, 12 Dec 2018 10:49:35 +0000 (10:49 +0000)] 
cgroup: Don't explicitly check for member in UNIT_BEFORE

The parent slice is always filtered ahead of time from UNIT_BEFORE, so
checking if the current member is the same as the parent unit will never
pass.

I may also write a SLICE_FOREACH_CHILD macro to remove some more of the
parent slice checks, but this requires a bit of a rework and general
refactoring and may not be worth it, so let's just do this for now.

5 years agotimedated: Add dbus method to retrieve list of time zones (#11114)
tibbling [Wed, 12 Dec 2018 19:49:04 +0000 (20:49 +0100)] 
timedated: Add dbus method to retrieve list of time zones (#11114)

Move function call get_timezones from timedatectl to timedated and
create a dbus method to list timezones.

5 years agotree-wide: Remove O_CLOEXEC from fdopen
Chris Down [Wed, 12 Dec 2018 14:58:46 +0000 (14:58 +0000)] 
tree-wide: Remove O_CLOEXEC from fdopen

fdopen doesn't accept "e", it's ignored. Let's not mislead people into
believing that it actually sets O_CLOEXEC.

From `man 3 fdopen`:

> e (since glibc 2.7):
> Open the file with the O_CLOEXEC flag. See open(2) for more information. This flag is ignored for fdopen()\ 2

As mentioned by @jlebon in #11131.

5 years agoMerge pull request #10892 from mbiebl/revert-systemctl-runtime-unmask-breakage
Zbigniew Jędrzejewski-Szmek [Wed, 12 Dec 2018 13:23:04 +0000 (14:23 +0100)] 
Merge pull request #10892 from mbiebl/revert-systemctl-runtime-unmask-breakage

Revert "systemctl: when removing enablement or mask symlinks, cover both /run and /etc

5 years agoMerge pull request #11121 from poettering/daemon-reload-race-fix
Lennart Poettering [Wed, 12 Dec 2018 12:47:07 +0000 (13:47 +0100)] 
Merge pull request #11121 from poettering/daemon-reload-race-fix

daemon reload race fix

5 years agocore: extend comments regarding coldplug() vs. catchup() 11121/head
Lennart Poettering [Tue, 11 Dec 2018 14:22:10 +0000 (15:22 +0100)] 
core: extend comments regarding coldplug() vs. catchup()

5 years agocore: when a unit state changes only propagate to jobs after reloading is complete
Lennart Poettering [Tue, 11 Dec 2018 10:59:39 +0000 (11:59 +0100)] 
core: when a unit state changes only propagate to jobs after reloading is complete

Previously, we'd immediately propagate unit state changes into any jobs
pending for them, always. With this we only do this if the manager is
out of the "reload" state. This fixes the problem #8803 tried to
address, by simply not completing jobs until after the reload (and thus
reestablishment of the dbus connection) is complete.

Note that there's no need to later on explicitly catch up with the
missed job state changes (i.e. there's no need to call
unit_process_job() later one explicitly). That's because for jobs in
JOB_WAITING state on deserialization all jobs are requeued into the run
queue anyway, and thus checked again if they can complete now. And for
JOB_RUNNING jobs unit_catchup() phase is going to trigger missed out
state changes *after* the reload complete anyway (after all that's what
distinguishes from unit_coldplug()).

Replaces: #8803

5 years agocore: split out all logic that updates a Job on a unit's unit_notify() invocation
Lennart Poettering [Mon, 10 Dec 2018 19:56:57 +0000 (20:56 +0100)] 
core: split out all logic that updates a Job on a unit's unit_notify() invocation

Just some refactoring, no change in behaviour.

5 years agocore: rework how we deserialize jobs
Lennart Poettering [Mon, 10 Dec 2018 18:40:37 +0000 (19:40 +0100)] 
core: rework how we deserialize jobs

Let's add a helper call unit_deserialize_job() for this purpose, and
let's move registration in the global jobs hash table into
job_install_deserialized() so that it it is done after all superficial
checks are done, and before transitioning into installed states, so that
rollback code is not necessary anymore.

5 years agojob: be more careful when removing job object from jobs hash table
Lennart Poettering [Mon, 10 Dec 2018 18:38:38 +0000 (19:38 +0100)] 
job: be more careful when removing job object from jobs hash table

Let's validate that the ID is actually allocated to us before remove a
job.

This is relevant as various bits of code will call job_free() on
partially set up Job objects, and we really shouldn't remove another job
object accidentally from the hash table, when the set up didn't
complete.

5 years agocore: don't track jobs-finishing-during-reload explicitly
Lennart Poettering [Mon, 10 Dec 2018 17:52:28 +0000 (18:52 +0100)] 
core: don't track jobs-finishing-during-reload explicitly

Memory management is borked for this, and moreover this is unnecessary
since f0831ed2a03, i.e. since coldplug() and catchup() are two different
concepts: the former restoring the state from before a reload, the
latter than adjusting it again to the actual status in effect after the
reload.

Fixes: #10716
Mostly reverts: #8803

5 years agojob: update job_free() to follow our usual return-NULL style
Lennart Poettering [Mon, 10 Dec 2018 17:52:11 +0000 (18:52 +0100)] 
job: update job_free() to follow our usual return-NULL style

5 years agoMerge pull request #11122 from keszybz/tmpfiles-man
Lennart Poettering [Wed, 12 Dec 2018 09:13:21 +0000 (10:13 +0100)] 
Merge pull request #11122 from keszybz/tmpfiles-man

Improvements to tmpfiles.d man page

5 years agomeson: make net.naming-scheme= default configurable
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 22:28:29 +0000 (23:28 +0100)] 
meson: make net.naming-scheme= default configurable

This is useful for distributions, where the stability of interface names should
be preseved after an upgrade of systemd. So when some specific release of the
distro is made available, systemd defaults to the latest & greatest naming
scheme, and subsequent updates set the same default. This default may still
be overriden through the kernel and env var options.

A special value "latest" is also allowed. Without a specific name, it is harder
to verride from meson. In case of 'combo' options, meson reads the default
during the initial configuration, and "remembers" this choice. When systemd is
updated, old build/ directories could keep the old default, which would be
annoying. Hence, "latest" is introduced to make it explicit, yet follow the
upstream. This is actually useful for the user too, because it may be used
as an override, without having to actually specify a version.

5 years agoudev: introduce udev net_id "naming schemes"
Lennart Poettering [Mon, 10 Dec 2018 16:10:19 +0000 (17:10 +0100)] 
udev: introduce udev net_id "naming schemes"

With this we can stabilize how naming works for network interfaces. A
user can request through a kernel cmdline option or an env var which
scheme to follow. The idea is that installers use this to set into stone
(a very soft stone though) the scheme used during installation so that
interface naming doesn't change afterwards anymore.

Why use env vars and kernel cmdline options, and not a config file of
its own?

Well, first of all there's no obvious existing one to use. But more
importantly: I have the feeling that this logic is kind of an incomplete
hack, and I simply don't want to do advertise this as a perfectly
working solution. So far we used env vars for the non-so-official
options and proper config files for the official stuff. Given how
incomplete this logic is (i.e. the big variable for naming remains the
kernel, which might expose sysfs attributes in newer versions that we
check for and didn't exist in older versions — and other problems like
this), I am simply not confident in giving this first-class exposure in
a primary configuration file.

Fixes: #10448
5 years agoman: add a note that /var/run should not be used in tmpfiles 11122/head
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 21:11:46 +0000 (22:11 +0100)] 
man: add a note that /var/run should not be used in tmpfiles

5 years agocore: fix typo in comment
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 18:12:38 +0000 (19:12 +0100)] 
core: fix typo in comment

5 years agoman: rewrite the general description of tmpfiles
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 18:09:48 +0000 (19:09 +0100)] 
man: rewrite the general description of tmpfiles

We would describe tmpfiles.d through what systemd-tmpfiles does with them, but
I think it's better to start with a geneneral statement what they are. Also,
let's make the description of volatile file systems less prominent.

Also, strenghten the advice to use RuntimeDirectory and mention
{Cache,Logs,Configuration,State}Directory=.

5 years agoman: reword tmpfiles.d descriptions to refer less to previous descriptions
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 16:45:34 +0000 (17:45 +0100)] 
man: reword tmpfiles.d descriptions to refer less to previous descriptions

I think it is OK if some option is described as "similar to ..., but in
addition ...", as long as the "in addition" part is strictly additive this is
unambiguous. Otherwise, we'd have to repeat a lot of text, and then we'd
probably forget to adjust some of the descriptions when doing changes.

But when the "in addition" part is about replacing or removing parts of
functionality, it is better to avoid this pattern and describe the later option
from scratch.

Some paragraph breaks are added and minor changes made. UID/GID is changed to
user/group, since we generally expect user/group names to be used, not numeric
ids.

Fixes #11115.

5 years agoAlways explicitly discard popped stream type from __fsetlocking
Chris Down [Tue, 11 Dec 2018 13:34:01 +0000 (13:34 +0000)] 
Always explicitly discard popped stream type from __fsetlocking

No biggie, but I noticed this while looking into bus_match_to_string.

5 years agoMerge pull request #11100 from abogdanenko/udev-test-check-perm
Lennart Poettering [Tue, 11 Dec 2018 16:37:57 +0000 (17:37 +0100)] 
Merge pull request #11100 from abogdanenko/udev-test-check-perm

udev-test: check if permitted to create block device nodes

5 years agoMerge pull request #11119 from cdown/news
Lennart Poettering [Tue, 11 Dec 2018 16:37:09 +0000 (17:37 +0100)] 
Merge pull request #11119 from cdown/news

NEWS: Add some cgroup related updates

5 years agoNEWS: Add DisableControllers= to v240 11119/head
Chris Down [Tue, 11 Dec 2018 13:43:29 +0000 (13:43 +0000)] 
NEWS: Add DisableControllers= to v240

5 years agoNEWS: Add that CPUAccounting=yes may not enable CPU controller in v240
Chris Down [Tue, 11 Dec 2018 13:41:50 +0000 (13:41 +0000)] 
NEWS: Add that CPUAccounting=yes may not enable CPU controller in v240

5 years agoudev-test: check if permitted to create block device nodes 11100/head
Alexey Bogdanenko [Tue, 11 Dec 2018 13:55:34 +0000 (16:55 +0300)] 
udev-test: check if permitted to create block device nodes

5 years agoudev-test: add message to show why test-udev failed
Alexey Bogdanenko [Tue, 11 Dec 2018 13:55:34 +0000 (16:55 +0300)] 
udev-test: add message to show why test-udev failed

Before:

    Assertion 'mknod(devname, mode, devnum) == 0' failed at ../src/test/test-udev.c:116, function run(). Aborting.
    Assertion 'unlink(devname) == 0' failed at ../src/test/test-udev.c:118, function run(). Aborting.

After:

    mknod() failed for '/dev/sda': Operation not permitted
    unlink('/dev/sda') failed: No such file or directory

5 years agonspawn: check cg_ns_supported() just once
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 11:00:06 +0000 (12:00 +0100)] 
nspawn: check cg_ns_supported() just once

cg_ns_supported() caches, so the condition was really checked just once, but
it looks weird to assign the return value to arg_use_cgns (if the variable is not present),
because then the other checks are effectively equivalent to
  if (cg_ns_supported() && cg_ns_supported()) { ...
and later
  if (!cg_ns_supported() || !cg_ns_supported()) { ...

5 years agoMerge pull request #11099 from abogdanenko/udev-test-fix-missing-dir
Evgeny Vereshchagin [Tue, 11 Dec 2018 11:48:29 +0000 (14:48 +0300)] 
Merge pull request #11099 from abogdanenko/udev-test-fix-missing-dir

udev-test: fix skip condition and missing directory test/run

5 years agoMerge pull request #11107 from keszybz/udevadm-info-args
Lennart Poettering [Tue, 11 Dec 2018 11:12:58 +0000 (12:12 +0100)] 
Merge pull request #11107 from keszybz/udevadm-info-args

Allow multiple args in udevadm info

5 years agoMerge pull request #11116 from keszybz/predictable-interface-names
Lennart Poettering [Tue, 11 Dec 2018 11:12:22 +0000 (12:12 +0100)] 
Merge pull request #11116 from keszybz/predictable-interface-names

Predictable interface names

5 years agoMerge pull request #11083 from poettering/nspawn-settings-fixes
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 10:52:23 +0000 (11:52 +0100)] 
Merge pull request #11083 from poettering/nspawn-settings-fixes

read nspawn's .nspawn files before validating configuration

5 years agoMerge pull request #11084 from poettering/networkd-test-fix
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 10:37:05 +0000 (11:37 +0100)] 
Merge pull request #11084 from poettering/networkd-test-fix

unbreak networkd-test.py

5 years agoMerge branch 'predictable-interface-names' 11116/head
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 10:03:50 +0000 (11:03 +0100)] 
Merge branch 'predictable-interface-names'

This imports the wiki page for predictable interface names. I think it's
useful to preserve history here because it's a contentious subject, and
it's useful to know when what happened.

5 years agoRename to follow the convention
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 10:02:06 +0000 (11:02 +0100)] 
Rename to follow the convention

Also remove trailing whitespace.

5 years ago(no commit message)
LennartPoettering [Thu, 17 Nov 2016 17:52:54 +0000 (17:52 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 14 Nov 2016 19:46:52 +0000 (19:46 +0000)] 

5 years agofix typo
TanuKaskinen [Mon, 14 Nov 2016 13:27:59 +0000 (13:27 +0000)] 
fix typo

5 years ago(no commit message)
LennartPoettering [Thu, 12 Nov 2015 09:29:35 +0000 (01:29 -0800)] 

5 years ago(no commit message)
LennartPoettering [Thu, 12 Nov 2015 09:28:06 +0000 (01:28 -0800)] 

5 years agoDeal with 80-net-setup-link.rules introduced in 209.
ColinGuthrie [Fri, 21 Feb 2014 15:36:45 +0000 (07:36 -0800)] 
Deal with 80-net-setup-link.rules introduced in 209.

5 years ago(no commit message)
LennartPoettering [Tue, 10 Sep 2013 01:52:06 +0000 (18:52 -0700)] 

5 years ago(no commit message)
LennartPoettering [Tue, 10 Sep 2013 01:50:49 +0000 (18:50 -0700)] 

5 years agoDocument the net.ifnames kernel command line.
ColinGuthrie [Wed, 22 May 2013 08:55:30 +0000 (01:55 -0700)] 
Document the net.ifnames kernel command line.

5 years agomoin2mdwn: convert page docs/PredictableNetworkInterfaceNames
Joe Rayhawk [Sat, 18 May 2013 08:08:42 +0000 (01:08 -0700)] 
moin2mdwn: convert page docs/PredictableNetworkInterfaceNames

5 years ago(no commit message)
LennartPoettering [Tue, 22 Jan 2013 20:22:48 +0000 (20:22 +0000)] 

5 years ago(no commit message)
LennartPoettering [Tue, 22 Jan 2013 20:16:41 +0000 (20:16 +0000)] 

5 years ago(no commit message)
LennartPoettering [Tue, 8 Jan 2013 18:41:55 +0000 (18:41 +0000)] 

5 years ago(no commit message)
LennartPoettering [Tue, 8 Jan 2013 18:29:30 +0000 (18:29 +0000)] 

5 years ago(no commit message)
LennartPoettering [Tue, 8 Jan 2013 18:21:59 +0000 (18:21 +0000)] 

5 years ago(no commit message)
LennartPoettering [Tue, 8 Jan 2013 17:59:33 +0000 (17:59 +0000)] 

5 years ago(no commit message)
LennartPoettering [Tue, 8 Jan 2013 02:02:24 +0000 (02:02 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 22:27:04 +0000 (22:27 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 22:26:14 +0000 (22:26 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 22:23:47 +0000 (22:23 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 22:21:36 +0000 (22:21 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 22:19:48 +0000 (22:19 +0000)] 

5 years agotypo fix
127.0.0.1 [Mon, 7 Jan 2013 22:00:47 +0000 (22:00 +0000)] 
typo fix

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:41:35 +0000 (21:41 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:36:45 +0000 (21:36 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:33:19 +0000 (21:33 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:31:23 +0000 (21:31 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:30:57 +0000 (21:30 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:29:44 +0000 (21:29 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:29:02 +0000 (21:29 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:14:27 +0000 (21:14 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 21:12:16 +0000 (21:12 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 20:54:53 +0000 (20:54 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 20:45:16 +0000 (20:45 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 20:43:36 +0000 (20:43 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 20:41:17 +0000 (20:41 +0000)] 

5 years ago(no commit message)
LennartPoettering [Mon, 7 Jan 2013 20:38:43 +0000 (20:38 +0000)] 

5 years agoudevadm: allow multiple arguments to "info" 11107/head
Zbigniew Jędrzejewski-Szmek [Mon, 10 Dec 2018 13:02:39 +0000 (14:02 +0100)] 
udevadm: allow multiple arguments to "info"

This matches udevadm trigger, which allows multiple arguments since
80877656a55.

5 years agoudevadm: allow a .device unit to be specified for query and trigger
Zbigniew Jędrzejewski-Szmek [Mon, 10 Dec 2018 10:46:21 +0000 (11:46 +0100)] 
udevadm: allow a .device unit to be specified for query and trigger

This is convenient when working with device units in systemd. Instead of
converting the systemd unit name to a path to feed to udevadm, udevadm
info|trigger can be called directly on the unit name.

The man page is reworked a bit to describe the modern syntax with positional
arguments first. It's just simpler to use than the positional options.

5 years agoudevadm: use path_startswith and shorten code a bit
Zbigniew Jędrzejewski-Szmek [Tue, 11 Dec 2018 06:34:45 +0000 (07:34 +0100)] 
udevadm: use path_startswith and shorten code a bit

5 years agoudevadm: improve error output when a device is not specified or specified wrong
Zbigniew Jędrzejewski-Szmek [Mon, 10 Dec 2018 10:06:27 +0000 (11:06 +0100)] 
udevadm: improve error output when a device is not specified or specified wrong

udevadm would dump help() output, instead of printing a message about what is
wrong. That's just bad UX. Let's use a different message if the argument is
missing, and a different one if it is invalid.

Also, rework the code to separate the business logic from argument parsing.
Let's not use "default:" in switch statements. This way, the compiler will warn
us if we miss one of the cases.

5 years agoLogitech MX Master 2S: Unifying Receiver and Bluetooth Connectivity (#11078)
Emil Soleyman [Tue, 11 Dec 2018 01:18:20 +0000 (01:18 +0000)] 
Logitech MX Master 2S: Unifying Receiver and Bluetooth Connectivity (#11078)

* Logitech MX Master 2S: Unifying Receiver and Bluetooth Connectivity

Logitech MX Master 2S can connect through either the unifying receiver
or bluetooth. Clarify that the previous listing was for unifying
receiver and add listing for bluetooth. Note the MOUSE_DPI differences
between the two listings.

5 years agoMerge pull request #11109 from poettering/cgroup-cpu-acct-fixes
Lennart Poettering [Mon, 10 Dec 2018 17:27:28 +0000 (18:27 +0100)] 
Merge pull request #11109 from poettering/cgroup-cpu-acct-fixes

cgroup cpuacct controller handling fixes

5 years agoupdate TODO 11109/head
Lennart Poettering [Mon, 10 Dec 2018 15:09:30 +0000 (16:09 +0100)] 
update TODO

5 years agocgroup: correct mangling of return values
Lennart Poettering [Mon, 10 Dec 2018 15:08:33 +0000 (16:08 +0100)] 
cgroup: correct mangling of return values

Let's nor return the unmangled return value before we actually mangle
it.

Fixes: #11062
5 years agocgroup: call cg_all_unified() right before using the result
Lennart Poettering [Mon, 10 Dec 2018 15:08:13 +0000 (16:08 +0100)] 
cgroup: call cg_all_unified() right before using the result

Let's not query it before we actually need it.

5 years agoMerge pull request #11105 from keszybz/path-parsing
Lennart Poettering [Mon, 10 Dec 2018 14:50:08 +0000 (15:50 +0100)] 
Merge pull request #11105 from keszybz/path-parsing

Some tightening of our path parsing code

5 years agonetwork: fix handling of uninitialized and zero IAID setting
Thomas Haller [Fri, 23 Nov 2018 21:19:26 +0000 (22:19 +0100)] 
network: fix handling of uninitialized and zero IAID setting

An earlier commit 0e408b82b (dhcp6-client: handle IAID with value zero)
introduced a flag to sd_dhcp6_client to distinguish between an unset
IAID and a value set to zero.

However, that was not sufficient and broke leaving the setting
uninitialized in networkd configuration. The configuration parsing
also must distinguish between the default, unset value and an
explict zero configuration.

Fixes: 0e408b82b8bd7675234cf58009475d4f4c0a491a
5 years agopid1: set Description even for devices which don't exist yet
Zbigniew Jędrzejewski-Szmek [Tue, 4 Dec 2018 13:24:46 +0000 (14:24 +0100)] 
pid1: set Description even for devices which don't exist yet

We'd only set the description after the device appeared in sysfs, so
we'd always print
"A start job is running for dev-disk-by\x2duuid-aaaa ... aaaa.device (42s / 1min 30s)"
Let's make this
"A start job is running for /dev/disk/by-duuid/aaaa ... aaaa (42s / 1min 30s)"

https://bugzilla.redhat.com/show_bug.cgi?id=1655860

5 years agoAdd RF kill switch button for Zbook 15 G2 (#11060) 11106/head
Cedric Viou [Mon, 10 Dec 2018 12:20:46 +0000 (13:20 +0100)] 
Add RF kill switch button for Zbook 15 G2 (#11060)

5 years agonspawn: move most validation checks and configuration mangling into verify_arguments() 11083/head
Lennart Poettering [Thu, 6 Dec 2018 21:00:00 +0000 (22:00 +0100)] 
nspawn: move most validation checks and configuration mangling into verify_arguments()

That's what the function is for after all, and only if it's done there
we can verify the effect of .nspawn files correctly too: after all we
should not just validate that everything configured on the command line
makes sense, but the stuff configured in the .nspawn files, too.

5 years agonspawn: split out code parsing env vars into a function of its own
Lennart Poettering [Thu, 6 Dec 2018 20:54:11 +0000 (21:54 +0100)] 
nspawn: split out code parsing env vars into a function of its own

This then let's us to ensure it's called after we parsed the cmdline,
and after we loaded the settings file, so that it these env var settings
override everything loaded from there.

5 years agonspawn: move cg_unified_flush() invocation out of parse_argv()
Lennart Poettering [Thu, 6 Dec 2018 20:49:11 +0000 (21:49 +0100)] 
nspawn: move cg_unified_flush() invocation out of parse_argv()

It has nothing to do with argument parsing, and hence shouldn't be
there.

5 years agoMerge pull request #10984 from fbuihuu/tmpfiles-be-more-explicit-with-unsafe-transition
Lennart Poettering [Mon, 10 Dec 2018 11:31:56 +0000 (12:31 +0100)] 
Merge pull request #10984 from fbuihuu/tmpfiles-be-more-explicit-with-unsafe-transition

tmpfiles: be more explicit when an unsafe path transition is met

5 years agoMerge pull request #10897 from keszybz/etc-fstab-parsing
Lennart Poettering [Mon, 10 Dec 2018 11:31:30 +0000 (12:31 +0100)] 
Merge pull request #10897 from keszybz/etc-fstab-parsing

Forbid dashes in hostnames and /etc/fstab parsing improvements

5 years agofuzz-unit-file: add one more test case 11105/head
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 15:49:20 +0000 (16:49 +0100)] 
fuzz-unit-file: add one more test case

There seems to be no error per se. RequiresMountsFor=%s%s%s..%s%s%s is expanded to
RequiresMountsFor=/bin/zsh/bin/zsh/bin/zsh/bin/zsh/..., which takes a bit of time,
and then we iterate over this a few times, creating a hashmap with a hashmap
for each prefix of the path, each with one item pointing back to the original unit.
Takes about 0.8 s on my machine.

5 years agoUse VLA instead of alloca
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 15:38:03 +0000 (16:38 +0100)] 
Use VLA instead of alloca

The test is the same, but an array is more readable.

5 years agopid1: fix (harmless) off-by-one in PATH_MAX comparison
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 15:22:10 +0000 (16:22 +0100)] 
pid1: fix (harmless) off-by-one in PATH_MAX comparison

PATH_MAX is supposed to include the terminating NUL byte. But we already
check that there is no NUL byte in the specified path. Hence the maximum
length we can expect is PATH_MAX - 1.

This doesn't change much, but makes this use of PATH_MAX consistent with the
rest of the codebase.

5 years agobasic/path-util: line-break PATH_FOREACH_PREFIX macros
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 15:16:39 +0000 (16:16 +0100)] 
basic/path-util: line-break PATH_FOREACH_PREFIX macros

Now I can see what they do :]

5 years agoWhen parsing paths, reject anything above PATH_MAX
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 15:12:19 +0000 (16:12 +0100)] 
When parsing paths, reject anything above PATH_MAX

The check for length is done after path_simplify(), to be nice to paths which
are constructed using specifiers, and have duplicate slashes and stuff.

5 years agoMerge pull request #11093 from yuwata/update-python-scripts-for-lgtm
Lennart Poettering [Mon, 10 Dec 2018 10:13:21 +0000 (11:13 +0100)] 
Merge pull request #11093 from yuwata/update-python-scripts-for-lgtm

Update python scripts for lgtm

5 years agosystemctl: check triggering units only for stopped units
Yu Watanabe [Sat, 8 Dec 2018 09:33:38 +0000 (18:33 +0900)] 
systemctl: check triggering units only for stopped units

Fixes #11088.

5 years agoMerge pull request #10999 from wkennington/static-neighbor-master
Lennart Poettering [Mon, 10 Dec 2018 10:04:14 +0000 (11:04 +0100)] 
Merge pull request #10999 from wkennington/static-neighbor-master

networkd: Static neighbor support

5 years agobasic/hostname-util: do truncation last when cleaning up 10897/head
Zbigniew Jędrzejewski-Szmek [Wed, 5 Dec 2018 11:27:29 +0000 (12:27 +0100)] 
basic/hostname-util: do truncation last when cleaning up

This allows more of the original name to be used if there are invalid
chars in the beginning.

5 years agoPartially unify hostname_is_valid() and dns_name_is_valid()
Zbigniew Jędrzejewski-Szmek [Wed, 5 Dec 2018 11:26:29 +0000 (12:26 +0100)] 
Partially unify hostname_is_valid() and dns_name_is_valid()

This makes hostname_is_valid() apply the ldh checks too, rejecting more
hostnames.