]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
7 years agoman: document dependencies implied by Sockets= (#4412)
Lucas Werkmeister [Wed, 19 Oct 2016 21:21:26 +0000 (23:21 +0200)] 
man: document dependencies implied by Sockets= (#4412)

Fixes #4410. Also includes two minor improvements to the previous
sentence.

7 years agoMerge pull request #4378 from evverx/nspawn-smoke-test
Lennart Poettering [Wed, 19 Oct 2016 19:35:39 +0000 (21:35 +0200)] 
Merge pull request #4378 from evverx/nspawn-smoke-test

tests: add smoke test for systemd-nspawn

7 years agoMerge pull request #4390 from keszybz/install-specifiers
Lennart Poettering [Wed, 19 Oct 2016 19:33:32 +0000 (21:33 +0200)] 
Merge pull request #4390 from keszybz/install-specifiers

Various install-related tweaks

7 years agobootctl: don't try to remove esp_path (#4407)
Evgeny Vereshchagin [Wed, 19 Oct 2016 19:15:20 +0000 (22:15 +0300)] 
bootctl: don't try to remove esp_path (#4407)

This is a follow-up for 9ee051b9c7623

7 years agoboot: fix `bootctl install` segfault (#4404)
Yu Watanabe [Wed, 19 Oct 2016 11:50:47 +0000 (20:50 +0900)] 
boot: fix `bootctl install` segfault (#4404)

7 years agoshared/install: report invalid unit files slightly better 4390/head
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 02:57:38 +0000 (22:57 -0400)] 
shared/install: report invalid unit files slightly better

When a unit file is invalid, we'd return an error without any details:
$ systemctl --root=/ enable testing@instance.service
Failed to enable: Invalid argument.

Fix things to at least print the offending file name:
$ systemctl enable testing@instance.service
Failed to enable unit: File testing@instance.service: Invalid argument

$ systemctl --root=/ enable testing@instance.service
Failed to enable unit, file testing@instance.service: Invalid argument.

A real fix would be to pass back a proper error message from conf-parser.
But this would require major surgery, since conf-parser functions now
simply print log errors, but we would need to return them over the bus.
So let's just print the file name, to indicate where the error is.

(Incomplete) fix for #4210.

7 years agoshared/install: resolve specifiers in Also=
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 01:40:41 +0000 (21:40 -0400)] 
shared/install: resolve specifiers in Also=

Test case:
[Install]
WantedBy= default.target
Also=getty@%p.service

$ ./systemctl --root=/ enable testing@instance.service
Created symlink /etc/systemd/system/default.target.wants/testing@instance.service → /etc/systemd/system/testing@.service.
Created symlink /etc/systemd/system/getty.target.wants/getty@testing.service → /usr/lib/systemd/system/getty@.service.
$ ./systemctl --root=/ disable testing@instance.service
Removed /etc/systemd/system/getty.target.wants/getty@testing.service.
Removed /etc/systemd/system/default.target.wants/testing@instance.service.

Fixes part of #4210.

Resolving specifiers in DefaultInstance seems to work too:
[Install]
WantedBy= default.target
DefaultInstance=%u

$ systemctl --root=/ enable testing3@instance.service
Created symlink /etc/systemd/system/default.target.wants/testing3@instance.service → /etc/systemd/system/testing3@.service.
$ systemctl --root=/ enable testing3@.service
Created symlink /etc/systemd/system/default.target.wants/testing3@zbyszek.service → /etc/systemd/system/testing3@.service.

7 years agoshared/install: provide more info if install_info_traverse_fails
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 01:27:57 +0000 (21:27 -0400)] 
shared/install: provide more info if install_info_traverse_fails

Test case:
[Install]
WantedBy= default.target
Also=foobar-unknown.service

Before:
$ systemctl --root=/ enable testing2@instance.service
Failed to enable: No such file or directory.

After
$ ./systemctl --root=/ enable testing2@instance.service
Failed to enable unit, file foobar-unknown.service: No such file or directory.

7 years agoshared/install: in install_context_mark_for_removal ignore not found units
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 00:56:31 +0000 (20:56 -0400)] 
shared/install: in install_context_mark_for_removal ignore not found units

With the following test case:
[Install]
WantedBy= default.target
Also=foobar-unknown.service

disabling would fail with:
$ ./systemctl --root=/ disable testing.service
Cannot find unit foobar-unknown.service.       # this is level debug
Failed to disable: No such file or directory.  # this is the error

After the change we proceed:
$ ./systemctl --root=/ disable testing.service
Cannot find unit foobar-unknown.service.
Removed /etc/systemd/system/default.target.wants/testing.service.

This does not affect specifying a missing unit directly:
$ ./systemctl --root=/ disable nosuch.service
Failed to disable: No such file or directory.

7 years agoMerge pull request #4382 from keszybz/unit-type-underline
Lennart Poettering [Tue, 18 Oct 2016 15:03:40 +0000 (17:03 +0200)] 
Merge pull request #4382 from keszybz/unit-type-underline

systemctl: use underlines to seperate unit types in listing

7 years agonetworkd: use proper cast to access VTI6 (#4399)
Susant Sahani [Tue, 18 Oct 2016 03:19:08 +0000 (08:49 +0530)] 
networkd: use proper cast to access VTI6 (#4399)

Fixes #4371.

7 years agocore/exec: add a named-descriptor option ("fd") for streams (#4179)
Luca Bruno [Tue, 18 Oct 2016 00:05:49 +0000 (00:05 +0000)] 
core/exec: add a named-descriptor option ("fd") for streams (#4179)

This commit adds a `fd` option to `StandardInput=`,
`StandardOutput=` and `StandardError=` properties in order to
connect standard streams to externally named descriptors provided
by some socket units.

This option looks for a file descriptor named as the corresponding
stream. Custom names can be specified, separated by a colon.
If multiple name-matches exist, the first matching fd will be used.

7 years agoREADME: list dependencies for testing 4378/head
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 00:51:19 +0000 (20:51 -0400)] 
README: list dependencies for testing

Fixes #4365.

7 years agotests: add smoke test for systemd-nspawn
Evgeny Vereshchagin [Fri, 14 Oct 2016 18:42:46 +0000 (18:42 +0000)] 
tests: add smoke test for systemd-nspawn

Basically, this test runs:
```
    systemd-nspawn --register=no -D "$_root" -b
    systemd-nspawn --register=no -D "$_root" --private-network -b
    systemd-nspawn --register=no -D "$_root" -U -b
    systemd-nspawn --register=no -D "$_root" --private-network -U -b
```
and exports the `UNIFIED_CGROUP_HIERARCHY=[yes|no]`, `SYSTEMD_NSPAWN_USE_CGNS=[yes|no]`

Inspired by
* systemd#3589 (comment)
* systemd#4372 (comment)
* systemd#4223 (comment)
* systemd#1555

and so on :-)

7 years agoterminal-util: helper macro for highlighting functions 4382/head
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 15:48:12 +0000 (11:48 -0400)] 
terminal-util: helper macro for highlighting functions

7 years agosystemctl: ditto for list-unit-files
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 15:37:55 +0000 (11:37 -0400)] 
systemctl: ditto for list-unit-files

7 years agosystemctl: use underlines to seperate unit types in listing
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 15:37:41 +0000 (11:37 -0400)] 
systemctl: use underlines to seperate unit types in listing

(printf("%.*s", -1, "…") is the same as not specifying the precision at all.)

v2: also underline highlighted (failing) units

Fixes #4137.

7 years agoman: avoid abbreviated "cgroups" terminology (#4396)
Lennart Poettering [Mon, 17 Oct 2016 13:50:26 +0000 (15:50 +0200)] 
man: avoid abbreviated "cgroups" terminology (#4396)

Let's avoid the overly abbreviated "cgroups" terminology. Let's instead write:

"Linux Control Groups (cgroups)" is the long form wherever the term is
introduced in prose. Use "control groups" in the short form wherever the term
is used within brief explanations.

Follow-up to: #4381

7 years agozsh-completion: fix for #4318 (#4394)
llua [Mon, 17 Oct 2016 12:35:26 +0000 (08:35 -0400)] 
zsh-completion: fix for #4318 (#4394)

Escape unit names for the eval call in _call_program

The value of the Id property is transformed back into a unit name
usable by systemctl.
system-systemd\x5cx2dcryptsetup.slice -> system-systemd\x2dcryptsetup.slice

Also filter units by property via parameter expansion, not a for loop

7 years agoMerge pull request #4392 from keszybz/running-timers
Lennart Poettering [Mon, 17 Oct 2016 10:58:55 +0000 (12:58 +0200)] 
Merge pull request #4392 from keszybz/running-timers

Fix for display of elapsed timers

7 years agoMerge pull request #4387 from keszybz/loginctl-tty
Lennart Poettering [Mon, 17 Oct 2016 09:36:25 +0000 (11:36 +0200)] 
Merge pull request #4387 from keszybz/loginctl-tty

loginctl: print TTY field in the session listing

7 years agoshared/install: do not break loop when we enounter a dangling symlink
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 01:20:08 +0000 (21:20 -0400)] 
shared/install: do not break loop when we enounter a dangling symlink

We should ignore that unit, but otherwise continue.

7 years agoman: mention that systemctl --root=/ operates on the fs directly
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 23:44:40 +0000 (19:44 -0400)] 
man: mention that systemctl --root=/ operates on the fs directly

7 years agocore/timer: reset next_elapse_*time when timer is not waiting 4392/head
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 06:05:30 +0000 (02:05 -0400)] 
core/timer: reset next_elapse_*time when timer is not waiting

When the unit that is triggered by a timer is started and running,
we transition to "running" state, and the timer will not elapse again
until the unit has finished running. In this state "systemctl list-timers"
would display the previously calculated next elapse time, which would
now of course be in the past, leading to nonsensical values.

Simply set the next elapse to infinity, which causes list-timers to
show n/a. We cannot specify when the next elapse will happen, possibly
never.

Fixes #4031.

7 years agopid1: do not use mtime==0 as sign of masking (#4388)
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 05:15:03 +0000 (01:15 -0400)] 
pid1: do not use mtime==0 as sign of masking (#4388)

It is allowed for unit files to have an mtime==0, so instead of assuming that
any file that had mtime==0 was masked, use the load_state to filter masked
units.

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

7 years agoMerge pull request #4391 from keszybz/treewide-macros
Martin Pitt [Mon, 17 Oct 2016 05:12:20 +0000 (07:12 +0200)] 
Merge pull request #4391 from keszybz/treewide-macros

Use mfree more and add another function to simplify a common set&free pattern

7 years agoMerge pull request #4381 from keszybz/man-pages
Martin Pitt [Mon, 17 Oct 2016 04:56:22 +0000 (06:56 +0200)] 
Merge pull request #4381 from keszybz/man-pages

7 years agotest-calendarspec: test that hourly timers are incremented properly
Zbigniew Jędrzejewski-Szmek [Mon, 17 Oct 2016 04:08:43 +0000 (00:08 -0400)] 
test-calendarspec: test that hourly timers are incremented properly

Apparently this works just fine, so the issue in #4031 is elsewhere.

7 years agotree-wide: introduce free_and_replace helper 4391/head
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 23:23:35 +0000 (19:23 -0400)] 
tree-wide: introduce free_and_replace helper

It's a common pattern, so add a helper for it. A macro is necessary
because a function that takes a pointer to a pointer would be type specific,
similarly to cleanup functions. Seems better to use a macro.

7 years agotree-wide: use mfree more
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 22:28:30 +0000 (18:28 -0400)] 
tree-wide: use mfree more

7 years agoshared/install: use _cleanup_free_
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 21:59:37 +0000 (17:59 -0400)] 
shared/install: use _cleanup_free_

Also rewrap some comments so that they don't have a very long line and a very
short line.

7 years agoMerge pull request #4380 from bgamari/master
Peter Hutterer [Mon, 17 Oct 2016 03:17:03 +0000 (13:17 +1000)] 
Merge pull request #4380 from bgamari/master

hwdb: Add sensitivity for Dell Latitude E7470 pointing stick

7 years agologinctl: report tty in session listings 4387/head
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 19:13:03 +0000 (15:13 -0400)] 
loginctl: report tty in session listings

Without the tty it's really hard to tell which session is which.

New output:
$ ./loginctl
   SESSION        UID USER             SEAT             TTY
        13       1002 zbyszek          seat0            tty3
        c1         42 gdm              seat0            /dev/tty1
        11       1002 zbyszek          seat0            tty4
         3       1002 zbyszek          seat0            /dev/tty2
        17       1002 zbyszek          seat0            tty5
        18       1002 zbyszek          seat0            tty6
6 sessions listed.

7 years agologinctl: drop casts in printf
Zbigniew Jędrzejewski-Szmek [Sun, 16 Oct 2016 18:19:06 +0000 (14:19 -0400)] 
loginctl: drop casts in printf

7 years agoman: document sd_event_get_tid() return value (#4385)
Martin Ejdestig [Sun, 16 Oct 2016 14:25:34 +0000 (16:25 +0200)] 
man: document sd_event_get_tid() return value (#4385)

7 years agoman: drop discouragment of runtime and vendor drop-ins 4381/head
Zbigniew Jędrzejewski-Szmek [Sat, 15 Oct 2016 20:46:13 +0000 (16:46 -0400)] 
man: drop discouragment of runtime and vendor drop-ins

In certain situations drop-ins in /usr/lib/ are useful, for example when one package
wants to modify the behaviour of another package, or the vendor wants to tweak some
upstream unit without patching.

Drop-ins in /run are useful for testing, and may also be created by systemd itself.

Follow-up for the discussion in #2103.

7 years agoman: add journal-upload.conf(5)
Zbigniew Jędrzejewski-Szmek [Sat, 15 Oct 2016 20:12:46 +0000 (16:12 -0400)] 
man: add journal-upload.conf(5)

Fixes #3370.

7 years agoman: add notes about thread safety of sd_journal_* functions
Zbigniew Jędrzejewski-Szmek [Sat, 15 Oct 2016 19:24:55 +0000 (15:24 -0400)] 
man: add notes about thread safety of sd_journal_* functions

Fixes #4056.

7 years agoman: add crosslink between systemd.resource-control(5) and systemd.exec(5)
Zbigniew Jędrzejewski-Szmek [Sat, 15 Oct 2016 18:17:05 +0000 (14:17 -0400)] 
man: add crosslink between systemd.resource-control(5) and systemd.exec(5)

Fixes #4379.

7 years agovirt: add possibility to skip the check for chroot (#4374)
Lukáš Nykrýn [Sat, 15 Oct 2016 17:54:58 +0000 (19:54 +0200)] 
virt: add possibility to skip the check for chroot (#4374)

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

7 years agohwdb: Add sensitivity for Dell Latitude E7470 pointingstick 4380/head
Ben Gamari [Sat, 15 Oct 2016 16:11:03 +0000 (12:11 -0400)] 
hwdb: Add sensitivity for Dell Latitude E7470 pointingstick

7 years agocore: make settings for unified cgroup hierarchy supersede the ones for legacy hierar...
Tejun Heo [Sat, 15 Oct 2016 01:07:16 +0000 (21:07 -0400)] 
core: make settings for unified cgroup hierarchy supersede the ones for legacy hierarchy (#4269)

There are overlapping control group resource settings for the unified and
legacy hierarchies.  To help transition, the settings are translated back and
forth.  When both versions of a given setting are present, the one matching the
cgroup hierarchy type in use is used.  Unfortunately, this is more confusing to
use and document than necessary because there is no clear static precedence.

Update the translation logic so that the settings for the unified hierarchy are
always preferred.  systemd.resource-control man page is updated to reflect the
change and reorganized so that the deprecated settings are at the end in its
own section.

7 years agonspawn: remove unused variable (#4369)
Thomas H. P. Andersen [Thu, 13 Oct 2016 21:30:28 +0000 (23:30 +0200)] 
nspawn: remove unused variable (#4369)

7 years agoMerge pull request #4243 from endocode/djalal/sandbox-first-protection-kernelmodules-v1
Lennart Poettering [Thu, 13 Oct 2016 16:36:29 +0000 (18:36 +0200)] 
Merge pull request #4243 from endocode/djalal/sandbox-first-protection-kernelmodules-v1

core:sandbox: Add ProtectKernelModules= and some fixes

7 years agoMerge pull request #653 from dvdhrm/bus-gold
Zbigniew Jędrzejewski-Szmek [Thu, 13 Oct 2016 16:25:56 +0000 (12:25 -0400)] 
Merge pull request #653 from dvdhrm/bus-gold

7 years agoMerge pull request #4363 from stefan-it/replace-while-loops
Daniel Mack [Thu, 13 Oct 2016 13:56:23 +0000 (15:56 +0200)] 
Merge pull request #4363 from stefan-it/replace-while-loops

basic,coredump: use for loop instead of while

7 years agoMerge pull request #4364 from phomes/man-fixes
Daniel Mack [Thu, 13 Oct 2016 13:55:40 +0000 (15:55 +0200)] 
Merge pull request #4364 from phomes/man-fixes

man: typo fixes

7 years agonspawn: cleanup and chown the synced cgroup hierarchy (#4223)
Evgeny Vereshchagin [Thu, 13 Oct 2016 13:50:46 +0000 (16:50 +0300)] 
nspawn: cleanup and chown the synced cgroup hierarchy (#4223)

Fixes: #4181
7 years agoMerge pull request #4362 from poettering/journalbootlistfix
Zbigniew Jędrzejewski-Szmek [Thu, 13 Oct 2016 11:42:39 +0000 (07:42 -0400)] 
Merge pull request #4362 from poettering/journalbootlistfix

7 years agoman: typo fixes 4364/head
Thomas Hindoe Paaboel Andersen [Wed, 12 Oct 2016 21:02:44 +0000 (23:02 +0200)] 
man: typo fixes

A mix of fixes for typos and UK english

7 years agocoredump: use for() loop instead of while() 4363/head
Stefan Schweter [Wed, 12 Oct 2016 20:49:01 +0000 (22:49 +0200)] 
coredump: use for() loop instead of while()

7 years agobasic: use for() loop instead of while()
Stefan Schweter [Wed, 12 Oct 2016 20:48:41 +0000 (22:48 +0200)] 
basic: use for() loop instead of while()

7 years agoMerge pull request #4358 from fsateler/pam-config
Lennart Poettering [Wed, 12 Oct 2016 18:41:52 +0000 (20:41 +0200)] 
Merge pull request #4358 from fsateler/pam-config

Pam config fixes

7 years agoupdate TODO 4362/head
Lennart Poettering [Wed, 12 Oct 2016 18:33:33 +0000 (20:33 +0200)] 
update TODO

7 years agojournalctl: say in which directory we vacuum stuff
Lennart Poettering [Wed, 12 Oct 2016 18:23:43 +0000 (20:23 +0200)] 
journalctl: say in which directory we vacuum stuff

Fixes: #4060
7 years agojournalctl: don't claim the journal was stored on disk
Lennart Poettering [Wed, 12 Oct 2016 18:20:53 +0000 (20:20 +0200)] 
journalctl: don't claim the journal was stored on disk

Let's just say that the journal takes up space in the file system, not on disk,
as tmpfs is definitely a file system, but not a disk.

Fixes: #4059
7 years agojournal: refuse opening journal files from the future for writing
Lennart Poettering [Wed, 12 Oct 2016 16:53:35 +0000 (18:53 +0200)] 
journal: refuse opening journal files from the future for writing

Never permit that we write to journal files that have newer timestamps than our
local wallclock has. If we'd accept that, then the entries in the file might
end up not being ordered strictly.

Let's refuse this with ETXTBSY, and then immediately rotate to use a new file,
so that each file remains strictly ordered also be wallclock internally.

7 years agojournald: automatically rotate journal files when the clock jumps backwards
Lennart Poettering [Wed, 12 Oct 2016 16:49:51 +0000 (18:49 +0200)] 
journald: automatically rotate journal files when the clock jumps backwards

As soon as we notice that the clock jumps backwards, rotate journal files. This
is beneficial, as this makes sure that the entries in journal files remain
strictly ordered internally, and thus the bisection algorithm applied on it is
not confused.

This should help avoiding borked wallclock-based bisection on journal files as
witnessed in #4278.

7 years agojournald: use the event loop dispatch timestamp for journal entries
Lennart Poettering [Wed, 12 Oct 2016 16:46:07 +0000 (18:46 +0200)] 
journald: use the event loop dispatch timestamp for journal entries

Let's use the earliest linearized event timestamp for journal entries we have:
the event dispatch timestamp from the event loop, instead of requerying the
timestamp at the time of writing.

This makes the time a bit more accurate, allows us to query the kernel time one
time less per event loop, and also makes sure we always use the same timestamp
for both attempts to write an entry to a journal file.

7 years agojournal: when iterating through entry arrays and we hit an invalid one keep going
Lennart Poettering [Wed, 12 Oct 2016 10:36:01 +0000 (12:36 +0200)] 
journal: when iterating through entry arrays and we hit an invalid one keep going

When iterating through partially synced journal files we need to be prepared
for hitting with invalid entries (specifically: non-initialized). Instead of
generated an error and giving up, let's simply try to preceed with the next one
that is valid (and debug log about this).

This reworks the logic introduced with caeab8f626e709569cc492b75eb7e119076059e7
to iteration in both directions, and tries to look for valid entries located
after the invalid one. It also extends the behaviour to both iterating through
the global entry array and per-data object entry arrays.

Fixes: #4088
7 years agojournal: add an explicit check for uninitialized objects
Lennart Poettering [Wed, 12 Oct 2016 10:22:57 +0000 (12:22 +0200)] 
journal: add an explicit check for uninitialized objects

Let's make dissecting of borked journal files more expressive: if we encounter
an object whose first 8 bytes are all zeroes, then let's assume the object was
simply never initialized, and say so.

Previously, this would be detected as "overly short object", which is true too
in a away, but it's a lot more helpful printing different debug options for the
case where the size is not initialized at all and where the size is initialized
to some bogus value.

No function behaviour change, only a different log messages for both cases.

7 years agojournal: also check that our entry arrays are properly ordered
Lennart Poettering [Wed, 12 Oct 2016 10:12:58 +0000 (12:12 +0200)] 
journal: also check that our entry arrays are properly ordered

Let's and extra check, reusing check_properly_ordered() also for
journal_file_next_entry_for_data().

7 years agojournal: split out check for properly ordered arrays into its own function
Lennart Poettering [Wed, 12 Oct 2016 10:12:05 +0000 (12:12 +0200)] 
journal: split out check for properly ordered arrays into its own function

This adds a new call check_properly_ordered(), which we can reuse later, and
makes the code a bit more readable.

7 years agojournal: split out array index inc/dec code into a new call bump_array_index()
Lennart Poettering [Wed, 12 Oct 2016 09:54:36 +0000 (11:54 +0200)] 
journal: split out array index inc/dec code into a new call bump_array_index()

This allows us to share a bit more code between journal_file_next_entry() and
journal_file_next_entry_for_data().

7 years agojournal: when we encounter a broken journal file, add some debug logging
Lennart Poettering [Tue, 11 Oct 2016 17:12:41 +0000 (19:12 +0200)] 
journal: when we encounter a broken journal file, add some debug logging

Let's make it easier to figure out when we see an invalid journal file, why we
consider it invalid, and add some minimal debug logging for it.

This log output is normally not seen (after all, this all is library code),
unless debug logging is exlicitly turned on.

7 years agobuild-sys: Allow disabling installation of pam config snippet 4358/head
Felipe Sateler [Wed, 12 Oct 2016 14:56:27 +0000 (11:56 -0300)] 
build-sys: Allow disabling installation of pam config snippet

7 years agoAvoid forever loop for journalctl --list-boots command (#4278)
hese10 [Wed, 12 Oct 2016 16:40:28 +0000 (19:40 +0300)] 
Avoid forever loop for journalctl --list-boots command (#4278)

When date is changed in system to future and normal user logs to new journal file, and then date is changed back to present time, the "journalctl --list-boot" command goes to forever loop. This commit tries to fix this problem by checking first the boot id list if the found boot id was already in that list. If it is found, then stopping the boot id find loop.

7 years agosystemd-user: add pam_unix account module
Felipe Sateler [Wed, 12 Oct 2016 14:20:46 +0000 (11:20 -0300)] 
systemd-user: add pam_unix account module

Otherwise systemd-user@ fails because systemd validates the account

Fixes: #4342
7 years agohwdb: Treat Latitude 2110 brightness keys like on Inspiron 1520 (#4355)
Ben Harris [Wed, 12 Oct 2016 13:41:56 +0000 (14:41 +0100)] 
hwdb: Treat Latitude 2110 brightness keys like on Inspiron 1520 (#4355)

Like the Inspiron 1520, the Dell Latitude 2110 emits brightness-control
key events both through atkbd and acpi-video.  This suppresses them on
the atkbd side.

7 years agotest: add test to make sure that ProtectKernelModules=yes disconnect mount propagation 4243/head
Djalal Harouni [Sun, 9 Oct 2016 10:38:45 +0000 (12:38 +0200)] 
test: add test to make sure that ProtectKernelModules=yes disconnect mount propagation

7 years agocore: make sure to dump ProtectKernelModules= value
Djalal Harouni [Sun, 9 Oct 2016 10:31:51 +0000 (12:31 +0200)] 
core: make sure to dump ProtectKernelModules= value

7 years agocore: check protect_kernel_modules and private_devices in order to setup NNP
Djalal Harouni [Sun, 9 Oct 2016 10:28:25 +0000 (12:28 +0200)] 
core: check protect_kernel_modules and private_devices in order to setup NNP

7 years agocore:sandbox: lets make /lib/modules/ inaccessible on ProtectKernelModules=
Djalal Harouni [Wed, 12 Oct 2016 12:11:16 +0000 (14:11 +0200)] 
core:sandbox: lets make /lib/modules/ inaccessible on ProtectKernelModules=

Lets go further and make /lib/modules/ inaccessible for services that do
not have business with modules, this is a minor improvment but it may
help on setups with custom modules and they are limited... in regard of
kernel auto-load feature.

This change introduce NameSpaceInfo struct which we may embed later
inside ExecContext but for now lets just reduce the argument number to
setup_namespace() and merge ProtectKernelModules feature.

7 years agodoc: minor hint about InaccessiblePaths= in regard of ProtectKernelTunables=
Djalal Harouni [Sat, 8 Oct 2016 15:48:35 +0000 (17:48 +0200)] 
doc: minor hint about InaccessiblePaths= in regard of ProtectKernelTunables=

7 years agotest: add test to make sure that CAP_SYS_RAWIO was removed on PrivateDevices=yes
Djalal Harouni [Fri, 7 Oct 2016 18:41:38 +0000 (20:41 +0200)] 
test: add test to make sure that CAP_SYS_RAWIO was removed on PrivateDevices=yes

7 years agocore:sandbox: remove CAP_SYS_RAWIO on PrivateDevices=yes
Djalal Harouni [Fri, 7 Oct 2016 18:38:05 +0000 (20:38 +0200)] 
core:sandbox: remove CAP_SYS_RAWIO on PrivateDevices=yes

The rawio system calls were filtered, but CAP_SYS_RAWIO allows to access raw
data through /proc, ioctl and some other exotic system calls...

7 years agotest: add capability tests for ProtectKernelModules=
Djalal Harouni [Fri, 7 Oct 2016 17:17:34 +0000 (19:17 +0200)] 
test: add capability tests for ProtectKernelModules=

This just adds capabilities test.

7 years agocore:sandbox: Add ProtectKernelModules= option
Djalal Harouni [Wed, 12 Oct 2016 11:31:21 +0000 (13:31 +0200)] 
core:sandbox: Add ProtectKernelModules= option

This is useful to turn off explicit module load and unload operations on modular
kernels. This option removes CAP_SYS_MODULE from the capability bounding set for
the unit, and installs a system call filter to block module system calls.

This option will not prevent the kernel from loading modules using the module
auto-load feature which is a system wide operation.

7 years agoMerge pull request #4351 from keszybz/nspawn-debugging
Lennart Poettering [Wed, 12 Oct 2016 09:21:11 +0000 (11:21 +0200)] 
Merge pull request #4351 from keszybz/nspawn-debugging

Enhance nspawn debug logs for mount/unmount operations

7 years agounits: journal-upload Wants= and After=network-online.target (#4354)
Yu Watanabe [Wed, 12 Oct 2016 09:13:13 +0000 (18:13 +0900)] 
units: journal-upload Wants= and After=network-online.target (#4354)

To upload journal entries to a remote server, it is required that
the network is online.

7 years agoAllow block and char classes in DeviceAllow bus properties (#4353)
Zbigniew Jędrzejewski-Szmek [Wed, 12 Oct 2016 09:12:11 +0000 (05:12 -0400)] 
Allow block and char classes in DeviceAllow bus properties (#4353)

Allowed paths are unified betwen the configuration file parses and the bus
property checker. The biggest change is that the bus code now allows "block-"
and "char-" classes. In addition, path_startswith("/dev") was used in the bus
code, and startswith("/dev") was used in the config file code. It seems
reasonable to use path_startswith() which allows a slightly broader class of
strings.

Fixes #3935.

7 years agonetworkd: add dbus interface for lease raw options (#3528)
Andrew Jeddeloh [Wed, 12 Oct 2016 01:28:22 +0000 (21:28 -0400)] 
networkd: add dbus interface for lease raw options (#3528)

Add a dbus object to represent dhcp leases and their raw options (i.e.
options 224-254).

7 years agocore/main: get rid from excess check of ACTION_TEST (#4350)
0xAX [Tue, 11 Oct 2016 21:30:04 +0000 (00:30 +0300)] 
core/main: get rid from excess check of ACTION_TEST (#4350)

If `--test` command line option was passed, the systemd set skip_setup
to true during bootup. But after this we check again that arg_action is
test or help and opens pager depends on result.

We should skip setup in a case when `--test` is passed, but it is also
safe to set skip_setup in a case of `--help`. So let's remove first
check and move skip_setup = true to the second check.

7 years agomissing: add a bunch of mount flags 4351/head
Zbigniew Jędrzejewski-Szmek [Tue, 11 Oct 2016 21:24:03 +0000 (17:24 -0400)] 
missing: add a bunch of mount flags

7 years agonspawn: let's mount(/tmp) inside the user namespace (#4340)
Evgeny Vereshchagin [Tue, 11 Oct 2016 21:18:27 +0000 (00:18 +0300)] 
nspawn: let's mount(/tmp) inside the user namespace (#4340)

Fixes:
host# systemd-nspawn -D ... -U -b systemd.unit=multi-user.target
...
$ grep /tmp /proc/self/mountinfo
154 145 0:41 / /tmp rw - tmpfs tmpfs rw,seclabel,uid=1036124160,gid=1036124160

$ umount /tmp
umount: /root/tmp: not mounted

$ systemctl poweroff
...
[FAILED] Failed unmounting Temporary Directory.

7 years agonspawn,mount-util: add [u]mount_verbose and use it in nspawn
Zbigniew Jędrzejewski-Szmek [Mon, 10 Oct 2016 19:55:20 +0000 (15:55 -0400)] 
nspawn,mount-util: add [u]mount_verbose and use it in nspawn

This makes it easier to debug failed nspawn invocations:

Mounting sysfs on /var/lib/machines/fedora-rawhide/sys (MS_RDONLY|MS_NOSUID|MS_NOEXEC|MS_NODEV "")...
Mounting tmpfs on /var/lib/machines/fedora-rawhide/dev (MS_NOSUID|MS_STRICTATIME "mode=755,uid=1450901504,gid=1450901504")...
Mounting tmpfs on /var/lib/machines/fedora-rawhide/dev/shm (MS_NOSUID|MS_NODEV|MS_STRICTATIME "mode=1777,uid=1450901504,gid=1450901504")...
Mounting tmpfs on /var/lib/machines/fedora-rawhide/run (MS_NOSUID|MS_NODEV|MS_STRICTATIME "mode=755,uid=1450901504,gid=1450901504")...
Bind-mounting /sys/fs/selinux on /var/lib/machines/fedora-rawhide/sys/fs/selinux (MS_BIND "")...
Remounting /var/lib/machines/fedora-rawhide/sys/fs/selinux (MS_RDONLY|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_BIND|MS_REMOUNT "")...
Mounting proc on /proc (MS_NOSUID|MS_NOEXEC|MS_NODEV "")...
Bind-mounting /proc/sys on /proc/sys (MS_BIND "")...
Remounting /proc/sys (MS_RDONLY|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_BIND|MS_REMOUNT "")...
Bind-mounting /proc/sysrq-trigger on /proc/sysrq-trigger (MS_BIND "")...
Remounting /proc/sysrq-trigger (MS_RDONLY|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_BIND|MS_REMOUNT "")...
Mounting tmpfs on /tmp (MS_STRICTATIME "mode=1777,uid=0,gid=0")...
Mounting tmpfs on /sys/fs/cgroup (MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME "mode=755,uid=0,gid=0")...
Mounting cgroup on /sys/fs/cgroup/systemd (MS_NOSUID|MS_NOEXEC|MS_NODEV "none,name=systemd,xattr")...
Failed to mount cgroup on /sys/fs/cgroup/systemd (MS_NOSUID|MS_NOEXEC|MS_NODEV "none,name=systemd,xattr"): No such file or directory

7 years agonspawn: small cleanups in get_controllers()
Zbigniew Jędrzejewski-Szmek [Tue, 11 Oct 2016 18:41:30 +0000 (14:41 -0400)] 
nspawn: small cleanups in get_controllers()

- check for oom after strdup
- no need to truncate the line since we're only extracting one field anyway
- use STR_IN_SET

7 years agonspawn: simplify arg_us_cgns passing
Zbigniew Jędrzejewski-Szmek [Mon, 10 Oct 2016 20:12:50 +0000 (16:12 -0400)] 
nspawn: simplify arg_us_cgns passing

We would check the condition cg_ns_supported() twice. No functional
change.

7 years agocore: chown() any TTY used for stdin, not just when StandardInput=tty is used (#4347)
Lennart Poettering [Tue, 11 Oct 2016 18:07:22 +0000 (20:07 +0200)] 
core: chown() any TTY used for stdin, not just when StandardInput=tty is used (#4347)

If stdin is supplied as an fd for transient units (using the
StandardInputFileDescriptor pseudo-property for transient units), then we
should also fix up the TTY ownership, not just when we opened the TTY
ourselves.

This simply drops the explicit is_terminal_input()-based check. Note that
chown_terminal() internally does a much more appropriate isatty()-based check
anyway, hence we can drop this without replacement.

Fixes: #4260
7 years agoresolve: remove unsed counter (#4349)
Thomas H. P. Andersen [Tue, 11 Oct 2016 17:51:03 +0000 (19:51 +0200)] 
resolve: remove unsed counter (#4349)

It was introduced but never used in 45ec7efb.

7 years agoMerge pull request #4348 from poettering/docfixes
Zbigniew Jędrzejewski-Szmek [Tue, 11 Oct 2016 17:49:15 +0000 (13:49 -0400)] 
Merge pull request #4348 from poettering/docfixes

Various smaller documentation fixes.

7 years agoMerge pull request #4067 from poettering/invocation-id
Zbigniew Jędrzejewski-Szmek [Tue, 11 Oct 2016 17:40:50 +0000 (13:40 -0400)] 
Merge pull request #4067 from poettering/invocation-id

Add an "invocation ID" concept to the service manager

7 years agoman: beef up documentation on per-unit resource limits a bit 4348/head
Lennart Poettering [Tue, 11 Oct 2016 16:42:22 +0000 (18:42 +0200)] 
man: beef up documentation on per-unit resource limits a bit

Let's clarify that for user services some OS-defined limits bound the settings
in the unit files.

Fixes: #4232
7 years agoman: document that Type=idle is subject to a 5s time-out
Lennart Poettering [Tue, 11 Oct 2016 16:01:54 +0000 (18:01 +0200)] 
man: document that Type=idle is subject to a 5s time-out

Fixes: #4116
7 years agoman: avoid using the term "loaded" for units currently in memory, since we also have...
Lennart Poettering [Tue, 11 Oct 2016 15:55:04 +0000 (17:55 +0200)] 
man: avoid using the term "loaded" for units currently in memory, since we also have a unit state of that name

Fixes: #3971
7 years agopager: tiny beautification
Lennart Poettering [Tue, 11 Oct 2016 15:46:59 +0000 (17:46 +0200)] 
pager: tiny beautification

7 years agoman: expand the documentation of $SYSTEMD_PAGER and related environment variables
Lennart Poettering [Tue, 11 Oct 2016 15:45:49 +0000 (17:45 +0200)] 
man: expand the documentation of $SYSTEMD_PAGER and related environment variables

Document the default pagers used, as well as $SYSTEMD_LESSCHARSET.

Fixes: #4143
7 years agoMerge pull request #4115 from yuwata/completion-fix
Lennart Poettering [Tue, 11 Oct 2016 15:05:19 +0000 (17:05 +0200)] 
Merge pull request #4115 from yuwata/completion-fix

bash-completion: systemctl: do not pass masked or not-found units to filter

7 years agounits: add Wants=initrd-cleanup.service to initrd-switch-root.target (#4345)
Yu Watanabe [Tue, 11 Oct 2016 12:36:14 +0000 (21:36 +0900)] 
units: add Wants=initrd-cleanup.service to initrd-switch-root.target (#4345)

`systemctl isolate initrd-switch-root.target` called by initrd-cleanup.service
kills initrd-cleanup.service itself. Then, initrd-cleanup.service failed and
system goes to emergency shell.
To prevent this problem, this commit adds `Wants=initrd-cleanup.service` to
initrd-switch-root.target.

fixes: #4343.

7 years agoudevadm: use parse_sec instead of atoi for timeout option (#4331)
Stefan Schweter [Tue, 11 Oct 2016 07:08:04 +0000 (09:08 +0200)] 
udevadm: use parse_sec instead of atoi for timeout option (#4331)

log_error method is used instead of fprintf