Commit Graph

28716 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
cc566cd06c build-sys: drop obsolete hook from Makefile.am 2017-04-04 22:39:30 -04:00
Zbigniew Jędrzejewski-Szmek
65fbd93915 udev: rename gperf struct name to match other headers
This makes it easier to use the same generator script as for other
gperf scripts. With automake each gperf file had it's own rule, but
with meson I'm trying to use one script, and this inconsistency made
that harder.
2017-04-04 20:36:09 -04:00
Zbigniew Jędrzejewski-Szmek
948aaa7c52 tree-wide: standardize on $(PACKAGE_VERSION) for the version string
We defined both $(VERSION) and $(PACKAGE_VERSION) with the same contents.
$(PACKAGE_VERSION) is slightly more descriptive, so settle on that, and
drop the other define.
2017-04-04 20:36:09 -04:00
Zbigniew Jędrzejewski-Szmek
1b81e156c5 build-sys: drop undefined target ref from Makefile.am 2017-04-04 20:36:09 -04:00
Zbigniew Jędrzejewski-Szmek
f52df9bff3 build-sys: drop undefined var ref from Makefile.am 2017-04-04 20:36:09 -04:00
Zbigniew Jędrzejewski-Szmek
79f1c8f619 build-sys: use a single ENABLE_LOGIND conditional
We used ENABLE_LOGIND for the automake conditional, and HAVE_LOGIND
for the ifdef. That wasn't wrong, but it certainly was confusing.

Also, move the ifdeffery to avoid warning about unused static function
logind_set_wall_message() when logind is disabled.
2017-04-04 20:36:09 -04:00
Zbigniew Jędrzejewski-Szmek
a75e27eb70 shared/dissect-image: fix warning about unused function when !HAVE_BLKID 2017-04-04 20:36:09 -04:00
Zbigniew Jędrzejewski-Szmek
3bcaf458f6 Move busctl sources to src/busctl
busctl is not part of libsystemd, and should not be stored under libsystemd.
In particular this is confusing because busctl is linked with libshared, but
stuff in libsystemd is not supposed to depend on libshared.
2017-04-04 20:36:09 -04:00
Yu Watanabe
b0b46a2c12 journal-upload: add state file directory to ReadWritePaths (#5578)
The commit c7fb922d62 prohibits
journal-upload to save its state in /var/lib/systemd/journal-upload/state,
thus the daemon fails and outputs the following error message even if
the directory is not read-only file system
```Cannot save state to /var/lib/systemd/journal-upload/state: Read-only file system```
This commit adds the permission the daemon to write the state file.
2017-03-30 18:01:03 +02:00
Martin Pitt
969faed189 Merge pull request #5670 from poettering/trivialities
trivial doc fixes
2017-03-30 15:09:28 +02:00
Michael Biebl
b6a20306fa journal: fix up syslog facility when forwarding native messages (#5667)
Native journal messages (_TRANSPORT=journal) typically don't have a
syslog facility attached to it. As a result when forwarding the messages
to syslog they ended up with facility 0 (LOG_KERN).
Apply syslog_fixup_facility() so we use LOG_USER instead.

Fixes: #5640
2017-03-30 11:56:25 +02:00
Lennart Poettering
b493bdafa9 man: use <varlistentry> for all unit entries
So far, all sections of the systemd.special(7) man page used
<varlistentry> for listing the targets, with one exception: the
"Special Passive User Units" one. Let's clean this up and use the same
formatting everywhere.
2017-03-30 11:54:45 +02:00
Lennart Poettering
4f5e972279 README: document that gperf 3.1 is required for building now 2017-03-30 11:54:23 +02:00
tblume
4e6f13af93 units: move Before deps for quota services to remote-fs.target (#5627)
Creating quota on an iscsi device is causing dependency loops at next reboot.
Reason is that systemd-quotacheck and quotaon.service are ordered before
local-fs.target and quota enabled mounts have a before dependency to them.
This cannot work for _netdev mounts, because network activation is ordered
after local-fs.target.
Moving the Before dependency for systemd-quotacheck and quotaon.service
to remote-fs.target fixes this.
2017-03-30 11:21:18 +02:00
Lukáš Nykrýn
bd9ad4ff5b sysv-generator: Provides: $network should also pull network.target to transaction (#5652)
network.target should be pulled in to the transaction
by the unit that provides network services, but currently
for initscripts it only pulls in network-online.target.
2017-03-30 11:12:50 +02:00
Franck Bui
9aeac5c623 serial-getty@.service.m4: add Conflicts=/Before= against rescue.service (#5632)
Commit 5ed020d8d1 already fixed this issue for
getty@.service but forgot serial console.

Note that this is not needed for emergency target as the sysinit target
conflicts against this target already.
2017-03-30 10:39:16 +02:00
Michael Biebl
3ebfa4df79 man: clarify that handle-lid-switch is a low level inhibitor lock (#5662)
… like the other handle-*-key inhibitor locks.

Follow-up for 05b2a8fd7a

Fixes: #5647
2017-03-30 10:12:54 +02:00
Lennart Poettering
7e65c6e501 Merge pull request #5663 from keszybz/test-sizeof-more
Add a few `struct timespec`-related types to `test-sizeof`
2017-03-30 09:58:05 +02:00
Zbigniew Jędrzejewski-Szmek
0c183e963d test-sizeof: add some struct-timespec related fields
Might help with #5264.
2017-03-29 21:31:58 -04:00
Zbigniew Jędrzejewski-Szmek
61d1a5a25c test-sizeof: do not link with libsystemd-shared
This makes it much quicker to compile.
2017-03-29 21:31:21 -04:00
Jan Synacek
ab88312570 basic: forbid rm_rf() to remove paths ending with ".." (#5653)
Fixes: #5644
2017-03-29 08:25:52 +02:00
Zbigniew Jędrzejewski-Szmek
9e49656037 units: make enablement of s-n-wait-online.service follow systemd-networkd.service (#5635)
In 58a6dd1558 s-n-wait-online.service was added
to presets to synchronize the presets with the state after installation. But it
is harmful to have s-n-wait-online.service enabled when s-n.service is
disabled, because s-n-wait-online.service has Requsite=s-n.service and cannot
be activated. Thus remove s-n-wait-online.service from presets again, and let
it be enabled whenever s-n.service is enabled.

During installation we create enablement symlinks by hand, and since s-n.service
is enabled, s-n-w-o.service should be enabled too, so the symlink should still
be created during installation.

https://bugzilla.redhat.com/show_bug.cgi?id=1433459#c15
2017-03-27 12:55:55 +02:00
Zbigniew Jędrzejewski-Szmek
5a664ca10f rules: add a rule to set /dev/kvm access mode and ownership (#5597)
Kernel default mode is 0600, but distributions change it to group kvm, mode
either 0660 (e.g. Debian) or 0666 (e.g. Fedora). Both approaches have valid
reasons (a stricter mode limits exposure to bugs in the kvm subsystem, a looser
mode makes libvirt and other virtualization mechanisms work out of the box for
unprivileged users over ssh).

In Fedora the qemu package carries the relevant rule, but it's nicer to have it
in systemd, so that the permissions are not dependent on the qemu package being
installed. Use of packaged qemu binaries is not required to make use of
/dev/kvm, e.g. it's possible to use a self-compiled qemu or some alternative.

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

To accomodate both approaches, add a rule to set the mode in 50-udev-default.rules,
but allow the mode to be overridden with a --with-dev-kvm-mode configure rule.
The default is 0660, as the (slightly) more secure option.
2017-03-27 12:34:24 +02:00
flussence
d7e228d9fe hwdb: add resolution values for Waltop USB tablet (#5634)
Newer versions of libinput need this to recognise it as an input device.

https://bugs.freedesktop.org/show_bug.cgi?id=99664
2017-03-26 20:00:40 -04:00
Thomas Haller
1539a651a9 basic: don't link "libm.so" into "libbasic.so" (#5628)
Very few parts of the systemd source require <math.h> or "libm.so".
Linking libbasic with -lm drags the mathematical library in for all
systemd components, and in turn for all users of systemd libraries.

It's just unneeded.
2017-03-24 15:36:06 +01:00
Michael Biebl
29f3265584 units: simplify rescue.service and emergency.service (#5623)
The emergency.service and rescue.service units have become rather
convoluted. We spawn multiple shells and the help text spans multiple lines
which makes the units hard to read.

Move the logic into a single shell script and call that via ExecStart.
2017-03-22 23:37:06 -04:00
Michael Biebl
1de2fef652 build-sys: minor indentation fix 2017-03-22 18:59:09 +01:00
John Paul Adrian Glaubitz
f652c62d71 basic/journal-importer: Fix unaligned access in get_data_size() (#5622) 2017-03-21 22:36:50 -04:00
Zbigniew Jędrzejewski-Szmek
2c7ef56459 Merge pull request #5531 from yuwata/mdns
resolved: do not start LLMNR or mDNS stack when no network enables them
2017-03-21 22:30:32 -04:00
Yu Watanabe
007ef0a224 resolved: detect and warn other running LLMNR stack
Previously, `SO_REUSEADDR` is set before `bind`-ing socket, Thus,
even if another LLMNR stack is running, `bind` always success and
we cannot detect the other stack. By this commit, we first try to
`bind` without `SO_REUSEADDR`, and if it fails, show warning and
retry with `SO_REUSEADDR`.
2017-03-21 13:35:12 +09:00
Yu Watanabe
77525fdc8d resolved: add global config option to control mDNS stack 2017-03-21 13:35:08 +09:00
Yu Watanabe
71a047d2f7 resolved: detect and warn other running mDNS stack
Previously, `SO_REUSEADDR` is set before `bind`-ing socket, Thus,
even if another mDNS stack (e.g. avahi) is running, `bind` always
success and we cannot detect the other stack.
By this commit, we first try to `bind` without `SO_REUSEADDR`,
and if it fails, show warning and retry with `SO_REUSEADDR`.
2017-03-21 13:34:52 +09:00
Yu Watanabe
c6a8f6f66d resolved: do not start LLMNR or mDNS stack when no network enables them
When no network enables LLMNR or mDNS, it is not necessary to create
LLMNR or mDNS related sockets. So, let's create them only when
LLMNR- or mDNS-enabled network becomes active or at least one network
enables `LLMNR=` or `MulticastDNS=` options.
2017-03-21 13:14:04 +09:00
Daniel Molkentin
03bf096ba2 units: apply plymouth warning fix to in rescue mode as well (#5615)
Follow up for #5528.
2017-03-20 22:26:05 -04:00
Lucas Werkmeister
83ddf5d3d8 man: change /lib to /usr/lib (#5618)
Per man:file-hierarchy(7), /lib is just a compatibility symlink; the
other manpages also refer to /usr/lib.

Found with:

    git grep -P '(?<!/usr|/var|local)/lib' man/
2017-03-20 20:32:23 -04:00
Felix Zhang
6070504015 systemctl: fix broken vertical lines in list-dependencies --all (#5608) 2017-03-20 11:27:39 +01:00
John Paul Adrian Glaubitz
7c1ebe99b6 rules: allow SPARC vdisk devices when identifying CD drives (#5599) 2017-03-20 11:22:54 +01:00
hanklank
231f1a7603 Updated Swedish translation (#5614) 2017-03-19 23:56:34 -04:00
Daniel Molkentin
7e3ba38919 units: do not throw a warning in emergency mode if plymouth is not installed (#5528)
Ideally, plymouth should only be referenced via dependencies,
not ExecStartPre's. This at least avoids the confusing error message
on minimal installations that do not carry plymouth.
2017-03-17 12:13:19 +01:00
Zbigniew Jędrzejewski-Szmek
825fd3cd41 Merge (¾ of) pull request #5596 from matijaskala/master 2017-03-16 08:42:22 -04:00
Djalal Harouni
d1d59eeb47 base-filesystem: skip fchownat() if the previous mkdirat() on same path failed (#5548)
If we are working on a path that was marked to be ignored on errors, and
the mkdirat() fails then add a continue statement and skip fchownat() call.
This avoids the case where UID/GID are valid and we run fchownat() on
non existent path which will fail hard even on paths that we want to
ignore in case of errors.
2017-03-15 22:30:15 -04:00
Matija Skala
2797366cd2 check for _POSIX_C_SOURCE instead of __USE_POSIX*
check for _GNU_SOURCE as well as sd_event_child_handler_t needs to be
defined correctly while compiling systemd
2017-03-16 03:29:53 +01:00
Matija Skala
e5276995ae assigning stdout and stderr is not allowed 2017-03-16 03:24:49 +01:00
AlexanderKurtz
bda99fab31 man: Fix a simple grammar error in systemd.service.xml (#5594) 2017-03-15 20:33:56 -04:00
Matija Skala
284d1cd0a1 fix includes
linux/sockios.h is needed for the SIOCGSTAMPNS macro

xlocale.h is included indirectly in glibc and doesn't even exist in
other libcs
2017-03-15 13:21:10 +01:00
steelman
ff2e33db54 build-sys: make RPM macros installation path configurable (#5564)
--with-rpmmacrosdir=no disables installation of the macros.
2017-03-14 19:16:47 -04:00
Adrian Heine né Lang
5c50321ca9 man: Document when pam_systemd sets XDG_RUNTIME_DIR (#5570)
https://github.com/systemd/systemd/blob/f97b34a6/src/login/pam_systemd.c#L439
2017-03-14 17:42:18 -04:00
Michal Sekletar
3c302cddfb machinectl: don't return 1 in case we couldn't figure out container IP addresses (#5587)
This is in spirit very similar to commit
4b2419165c.

Fixes: #5581
2017-03-14 17:38:19 -04:00
Tobias Stoeckmann
ff8017c4a2 Never call unmap with MAP_FAILED. (#5590)
When mmap is called, the code in correctly checks for p == MAP_FAILED.

But the resource cleanup at the end of busname_peek_message checks for
p == NULL, and if that's not true, munmap is called.

Therefore in error case, munmap is called with a MAP_FAILED argument
which can result in unexpected behaviour depending on sz's value.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2017-03-14 17:33:22 -04:00
Tobias Stoeckmann
6f94e420e8 journal: prevent integer overflow while validating header (#5569)
It is possible to overflow uint64_t while validating the header of
a journal file. To prevent this, the addition itself is checked to
be within the limits of UINT64_MAX first.

To keep this readable, I have introduced two stack variables which
hold the converted values during validation.
2017-03-13 08:14:42 +01:00