summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-21tree-wide: mark log_struct with _printf_ and fix falloutZbigniew Jędrzejewski-Szmek
log_struct takes multiple format strings, each one followed by arguments. The _printf_ annotation is not sufficiently flexible to express this, but we can still annotate the first format string, though not its arguments (because their number is unknown). With the annotation, the places which specified the message id or similar as the first pattern cause a warning from -Wformat-nonliteral. This can be trivially fixed by putting the MESSAGE= first. This change will help find issues where a non-literal is erroneously used as the pattern.
2017-04-21µhttpd-util: use #pragma to silence warning about nonliteral patternZbigniew Jędrzejewski-Szmek
This is safe, because we're taking a pattern which was already marked with _printf_ and appending a literal string.
2017-04-20basic/log: fix _printf_ annotation on log_object_internalvZbigniew Jędrzejewski-Szmek
Fixup for 4b58153dd22172d817055d2a09a0cdf3f4bd9db3. I saw this because of a clang warning. With gcc the -Wformat-nonliteral warning doesn't seem to work as expected. In two places, a string constructed with strjoina is used as the pattern. This is safe, because we're taking a pattern which was already marked with _printf_ and prepending a known value to it. Those places are marked with #pragma to silence the warning.
2017-04-03hwdb: Asus TP300LJ accelerometer quirks (#5681)wiertel
iio-sensor-proxy expects the accelerometer oriented as follows: positive x - to the right, positive y - up (opposite to gravity). The hardware in the Asus TP300LJ-DW049H is however oriented differently: positive x - down, positive y - to the left This commit adds a ACCEL_MOUNT_MATRIX quirk for this particular laptop model.
2017-04-01Merge pull request #5589 from jasonreeder/claimed_address_fixLennart Poettering
libsystemd-network: sd-ipv4ll: acquire new address after claimed addr…
2017-04-01Merge pull request #5558 from dm0-/nspawn-resolvedLennart Poettering
nspawn: fix DNS when the stub listener is disabled
2017-03-31libsystemd-network: sd-ipv4ll: acquire new address after claimed address ↵Jason Reeder
conflict If a conflict occurs on a claimed ipv4ll address, the device releases the address and then does not attempt to acquire a new ipv4ll address. According to RFC3927, releasing the address in this situation is correct. However, this should be followed by an attempt to configure a new ipv4ll address. This commit restarts the ipv4ll address acquisition state machine after releasing the conflicting address. From RFC3927 Section 2.5 conflict defense method (b): ... However, if this is not the first conflicting ARP packet the host has seen, and the time recorded for the previous conflicting ARP packet is recent, within DEFEND_INTERVAL seconds, then the host MUST immediately cease using this address and configure a new IPv4 Link-Local address as described above. ... Signed-off-by: Jason Reeder <jasonreeder@gmail.com>
2017-03-31libsystemd-network: sd-ipv4ll: Wrapper to restart address aquisition after ↵Jason Reeder
conflict After an ipv4ll claimed address conflict occurs a new address needs to be chosen and then the acquisition state machine needs to be restarted. This commit adds a function (sd_ipv4ll_restart) that clears the previously acquired address (ll->address) and then calls the existing sd_ipv4ll_start function to choose the new address and start the acquisition. Signed-off-by: Jason Reeder <jasonreeder@gmail.com>
2017-03-31nspawn: check if the DNS stub is listening for requestsDavid Michael
2017-03-31resolved: add a DNSStubListener property to ManagerDavid Michael
2017-03-31udev: net_id - support predictable ifnames on vio buses (#5675)Franck Bui
For IBM PowerVM Virtual I/O network devices, we can build predictable names based on the slot number passed as part of the OF "reg" property. Valid slot numbers range between 2-32767, so we only need the bottom half of the unit address passed. For example: /proc/device-tree/vdevice/l-lan@30000002 /proc/device-tree/vdevice/vnic@30000005 would initially map to something like: /sys/devices/vio/30000002/net/eth0 /sys/devices/vio/30000005/net/eth1 and would then translate to env2 and env5 This patch ignores the bus number, as there should only ever be one bus, and then remove leading zeros.
2017-03-31networkd: RFC compliant autonomous prefix handling (#5636)hendrikw01
Previously, `lifetime_valid` of a Router Advertisement was not handled the way RFC4862 has specified. In particular: Sections 5.5.3.d and 5.5.3.e
2017-03-31Merge pull request #5534 from ssahani/vxlan-labelLennart Poettering
networkd: vxlan support setting IPv6 flow label
2017-03-31networkd: fix route_new_static assert when IPv4LLRoute=true (#5676)Susant Sahani
fixes: #5664
2017-03-31doc: spell out handle-* options, use <literal> syntax (#5673)Michael Biebl
2017-03-30journal-upload: add state file directory to ReadWritePaths (#5578)Yu Watanabe
The commit c7fb922d6250543ba5462fa7a6ff03cc8f628e94 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-30Merge pull request #5670 from poettering/trivialitiesMartin Pitt
trivial doc fixes
2017-03-30journal: fix up syslog facility when forwarding native messages (#5667)Michael Biebl
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-30man: use <varlistentry> for all unit entriesLennart Poettering
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-30README: document that gperf 3.1 is required for building nowLennart Poettering
2017-03-30units: move Before deps for quota services to remote-fs.target (#5627)tblume
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-30sysv-generator: Provides: $network should also pull network.target to ↵Lukáš Nykrýn
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-30serial-getty@.service.m4: add Conflicts=/Before= against rescue.service (#5632)Franck Bui
Commit 5ed020d8d10fc100c68edddb519f085b7397a45c 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-30man: clarify that handle-lid-switch is a low level inhibitor lock (#5662)Michael Biebl
… like the other handle-*-key inhibitor locks. Follow-up for 05b2a8fd7a0533758d2f532df798cabc3c442683 Fixes: #5647
2017-03-30Merge pull request #5663 from keszybz/test-sizeof-moreLennart Poettering
Add a few `struct timespec`-related types to `test-sizeof`
2017-03-29test-sizeof: add some struct-timespec related fieldsZbigniew Jędrzejewski-Szmek
Might help with #5264.
2017-03-29test-sizeof: do not link with libsystemd-sharedZbigniew Jędrzejewski-Szmek
This makes it much quicker to compile.
2017-03-29basic: forbid rm_rf() to remove paths ending with ".." (#5653)Jan Synacek
Fixes: #5644
2017-03-27units: make enablement of s-n-wait-online.service follow ↵Zbigniew Jędrzejewski-Szmek
systemd-networkd.service (#5635) In 58a6dd15582c038a25bd7059435833943e2e4617 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-27rules: add a rule to set /dev/kvm access mode and ownership (#5597)Zbigniew Jędrzejewski-Szmek
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-26hwdb: add resolution values for Waltop USB tablet (#5634)flussence
Newer versions of libinput need this to recognise it as an input device. https://bugs.freedesktop.org/show_bug.cgi?id=99664
2017-03-24basic: don't link "libm.so" into "libbasic.so" (#5628)Thomas Haller
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-22units: simplify rescue.service and emergency.service (#5623)Michael Biebl
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-22build-sys: minor indentation fixMichael Biebl
2017-03-21basic/journal-importer: Fix unaligned access in get_data_size() (#5622)John Paul Adrian Glaubitz
2017-03-21Merge pull request #5531 from yuwata/mdnsZbigniew Jędrzejewski-Szmek
resolved: do not start LLMNR or mDNS stack when no network enables them
2017-03-21resolved: detect and warn other running LLMNR stackYu Watanabe
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-21resolved: add global config option to control mDNS stackYu Watanabe
2017-03-21resolved: detect and warn other running mDNS stackYu Watanabe
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-21resolved: do not start LLMNR or mDNS stack when no network enables themYu Watanabe
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-20units: apply plymouth warning fix to in rescue mode as well (#5615)Daniel Molkentin
Follow up for #5528.
2017-03-20man: change /lib to /usr/lib (#5618)Lucas Werkmeister
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-20systemctl: fix broken vertical lines in list-dependencies --all (#5608)Felix Zhang
2017-03-20rules: allow SPARC vdisk devices when identifying CD drives (#5599)John Paul Adrian Glaubitz
2017-03-19Updated Swedish translation (#5614)hanklank
2017-03-17units: do not throw a warning in emergency mode if plymouth is not installed ↵Daniel Molkentin
(#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-16Merge (¾ of) pull request #5596 from matijaskala/masterZbigniew Jędrzejewski-Szmek
2017-03-15base-filesystem: skip fchownat() if the previous mkdirat() on same path ↵Djalal Harouni
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-16check for _POSIX_C_SOURCE instead of __USE_POSIX*Matija Skala
check for _GNU_SOURCE as well as sd_event_child_handler_t needs to be defined correctly while compiling systemd
2017-03-16assigning stdout and stderr is not allowedMatija Skala