summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-01-28sysv-generator: there's really no need to invoke fstatat() multiple times on ↵Lennart Poettering
the same sysv script It's sufficient to check once if something is a regular file, hence, let's do that.
2015-01-28core: if two start jobs for the same swap device node are queued, only ↵Lennart Poettering
dispatch one of them at a time If two start jobs for two seperate .swap device nodes are queued, which then turns out to be referring to the same device node, refuse dispatching more than one of them at the same time. This should solve an issue when the same swap partition is found via GPT auto-discovery and via /etc/fstab, where one uses a symlink path, and the other the raw devce node. So far we might have ended up invoking mkswap on the same node at the very same time with the two device node names. With this change only one mkswap should be executed at a time. THis mkswap should have immediate effect on the other swap unit, due to the state in /proc/swaps changing, and thus suppressing actual invocation of the second mkswap. http://lists.freedesktop.org/archives/systemd-devel/2015-January/027314.html
2015-01-28swap: simplify a few things by making use of new LIST_FOREACH_OTHERS macroLennart Poettering
2015-01-28list: add macro for iterating through a list an item is in, skipping the itemLennart Poettering
2015-01-28swap: properly specify errno when loggingLennart Poettering
2015-01-27sysv-generator: use is_symlink() utility call where appropriateLennart Poettering
2015-01-27sysv-generator: minor simplificationsLennart Poettering
2015-01-27logind: chown+chmod /run/user/$UID if mount(tmpfs) fails with EPERMChristian Seiler
In containers without CAP_SYS_ADMIN, it is not possible to mount tmpfs (or any filesystem for that matter) on top of /run/user/$UID. Previously, logind just failed in such a situation. Now, logind will resort to chown+chmod of the directory instead. This allows logind still to work in those environments, although without the guarantees it provides (i.e. users not being able to DOS /run or other users' /run/user/$UID space) when CAP_SYS_ADMIN is available.
2015-01-27logind: remove per-user runtime dir again if setup failsChristian Seiler
If setup of per-user runtime dir fails, clean up afterwards by removing the directory before returning from the function, so we don't leave the directory behind. If this is not done, the second time the user logs in logind would assume that the directory is already set up, even though it isn't.
2015-01-27networkd-dhcp6: Assign DHCPv6 addresses and prefix lengthsPatrik Flykt
Once IPv6 addresses have been acquired, assign these to the interface with the prefix lengths taken from the ICMPv6 Router Advertisement handling code. The preferred and valid IPv6 address lifetimes are handed to the kernel which will clean up them if not renewed in time. When a prefix announced via Router Advertisements expires, find all addresses that match that prefix and update the address to have a prefix length of 128 causing the prefix to be off-link.
2015-01-27sd-icmp6-nd: Add support for fetching the latest expired prefixPatrik Flykt
Keep the expired prefix for the duration of the prefix expiration event and remove it afterwards.
2015-01-27test-icmp6-nd: Add test cases for prefixesPatrik Flykt
Add test cases that feeds an Router Advertisement to the ICMPv6 code and verify that the correct prefix lengths are returned given an IPv6 address. Enhance the prefix verification test by adding a shorter prefix and check that the intended prefix lengths are now updated.
2015-01-27sd-icmp6-nd: Parse ICMPv6 prefix informationPatrik Flykt
Save each new onlink IPv6 prefix and attach an expiry timer to it. If the prefixes overlap, take the shorter prefix and write a debug message about the event. Once the prefix is resent in a Router Advertisement, update the timer. Add a new event for the expiring prefix. Add two helper functions, one for returning a prefix length given a Router Advertisement and the other for generic prefix matching given an IPv6 prefix and address.
2015-01-27test-icmp6-rs: Add trivial test case for an MTU that is not presentPatrik Flykt
2015-01-27sd-icmp6-nd: Add helper function to get the IPv6 link MTUPatrik Flykt
Update MTU according to the latest value received.
2015-01-27sd-icmp6-nd: Add link and prefix structures for ICMPv6Patrik Flykt
Each ICMPv6 structure has an interface index and will therefore be associated with an IPv6 link containing a list of of prefixes.
2015-01-27sd-icmp6-nd: Update Router Advertisement handlingPatrik Flykt
As the IPv6 prefixes are needed, update the ICMPv6 Router Advertisement code to dynamically allocate a suitably sized buffer. Iterate through the ICMPv6 options one by one returning error if the option length is too big to fit the buffer.
2015-01-27sd-dhcp6-lease: Revise address iteration functionsPatrik Flykt
Revise the address iteration functions so that one helper function resets the iterator to the start of the address list while the second one fetches addresses one by one. The test case is also updated.
2015-01-26build-sys: unbundle unifontZbigniew Jędrzejewski-Szmek
We should prefer the unifont.hex file from the system, instead of our own. Upstream has made a few releases since our version was included, and we should follow upstream changes. But adding 2.6MB to our source repo every time upstream releases is not nice.
2015-01-27timesyncd: set RLIMIT_NPROC to 2Lennart Poettering
This way timesyncd cannot be used to fork(). Note that it generally is not safe to use RLIMIT_NPROC, since it breaks running the same daemon in multiple containers if they do not use user namespacing. However, timesyncd is excepted from running in a container anyway, hence it is safe in this case.
2015-01-27core: explain why failing to set up the crash handler is not a real problemLennart Poettering
http://lists.freedesktop.org/archives/systemd-devel/2015-January/027428.html
2015-01-27system-update-generator: accept a dangling symlinkZbigniew Jędrzejewski-Szmek
The offline update mechanism is explicitly designed to work with a separate /var. systemd-update-generator is supposed to run early, before filesystems are mounted, so it cannot check if the /system-update symlink actually points to anything. The update is run *after* filesystems are mounted, so it should be able to access the target of the symlink without trouble. https://bugzilla.redhat.com/show_bug.cgi?id=1178978
2015-01-27missing: define correct syscall numbers for memfd_create() and getrandom() ↵Michael Olbrich
on aarch64
2015-01-26sd-bus: change serialization of kdbus messages to qualify in their entirety ↵Lennart Poettering
as gvariant objects Previously, we only minimally altered the dbus1 framing for kdbus, and while the header and its fields where compliant Gvariant objects, and so was the body, the entire message together was not. As result of discussions with Ryan Lortie this is now changed, so that the messages in there entirely are fully compliant GVariants. This follows the framing description described here: https://wiki.gnome.org/Projects/GLib/GDBus/Version2 Note that this change changes the framing of *all* messages sent via kdbus, this means you have to reboot your kdbus system, after compiling and installing this new version.
2015-01-26bus-dump: fix two minor memory leaksLennart Poettering
2015-01-26sd-bus: reuse the KDBUS_CMD_FREE wrapper wherever appropriateLennart Poettering
2015-01-26treewide: fix multiple typosTorstein Husebø
2015-01-26tmpfiles: use casts instead of warning suppressionZbigniew Jędrzejewski-Szmek
This warning got its own name only in gcc5, so the suppression does not work in gcc4, and generates a warning of its own. Use a cast, which is ugly too, but less so.
2015-01-26libudev: private - drop some functions from the internal APITom Gundersen
2015-01-26libudev: monitor - move nulstr parsing to libudev-deviceTom Gundersen
Hide the details a bit.
2015-01-26udev: event - minor nitTom Gundersen
Stay uniform and use 'dev' rather than 'event->dev', as these are aliases (and event->dev looks like it may be a typo for event->dev_db).
2015-01-26udev: event - introduce and use internal udev_device_shallow_clone()Tom Gundersen
2015-01-26udev: event - move renaming of udev_device to libudevTom Gundersen
This is not exposed in the public API. We want to simplify the internal libudev-device API as much as possible so that it will be simpler to rip the whole thing out in the future.
2015-01-24tmpfiles: do not bump access times of directories we are cleaning upZbigniew Jędrzejewski-Szmek
Both plain opendir() and glob() will bump access time. Privileged option O_NOATIME can be used to prevent the access time from being updated. We already used it for subdirectories of the directories which we were cleaning up. But for the directories specified directly in the config files, we wouldn't do that. This means that, paradoxically, our own temporary directories for PrivateTmp would stay around forever, as long as one let systemd-tmpfiles-clean.service run regularly, because they had their own glob patterns specified. https://bugzilla.redhat.com/show_bug.cgi?id=1183684
2015-01-24tmpfiles: add debug statements for all actionsZbigniew Jędrzejewski-Szmek
systemd-tmpfiles can be used by users, but it can be quite hard to figure out the logic it follows, especially since the logic is in some places rather torturous. Hopefuly this will make it easier for users to understand what is happening.
2015-01-24machinectl: fix typoZbigniew Jędrzejewski-Szmek
2015-01-23mount-setup: Do not bother with /proc/bus/usbCristian Rodríguez
Current systemd requires kernel >= 3.7 per the README file but CONFIG_USB_DEVICEFS disappeared from the kernel in upstream commit fb28d58b72aa9215b26f1d5478462af394a4d253 (kernel 3.5-rc1)
2015-01-23resolved: when rereading /etc/resolv.conf, always start using first DNS ↵Lennart Poettering
server again Previously we tried to stick to a DNS server as long as it is available. When /etc/resolv.conf changed, and the old DNS server we used was still in there we'd continue to use it, even if it was at the end of the list. With this change we'll now always start with the first DNS server in the list again. Rationale: certain network managing implementations (notably NetworkManager) when connected to a VPN place both the VPN DNS server as well as the local DNS server in /etc/resolv.conf. If we used the local one before we would thus continue to use the local one, making VPN names unresolvable. NetworkManager really should be fixed to only place the VPN DNS servers in the file, but with this commit things are at least similarly bad as they used to be...
2015-01-23#pragma once here and thereZbigniew Jędrzejewski-Szmek
2015-01-23build-sys: fix build on compilers without static_assertZbigniew Jędrzejewski-Szmek
Build would fail when assert was used on the same line in different files #included together. https://bugs.freedesktop.org/show_bug.cgi?id=87339
2015-01-23systemctl: bugfix for systemctl reboot command with argumentSangjung Woo
According to systemctl man page, 'systemctl reboot [arg]' should work without any errors. However, it does not work because of 'Invalid number of arguments' error, except for 'reboot [arg]'. This patch fixes the bug so that both of commands work in exactly the same way.
2015-01-23core,shutdown: don't bother with unmounting any mounts below /sys, /proc, ↵Lennart Poettering
/dev when shutting down After all, mounts below these directories are pretty much guaranteed to be virtual, and it's hence unnecessary to unmount them during shutdown. Moreover, in less-priviliged containers we might lack the rights to unmount them, hence don't even try. http://lists.freedesktop.org/archives/systemd-devel/2015-January/027113.html
2015-01-23mount-setup: /selinux, /cgroup, /dev/cgroup are sooo old, don't bother with ↵Lennart Poettering
them anymore
2015-01-23tmpfiles: minor simplificationZbigniew Jędrzejewski-Szmek
2015-01-23sd-bus: fix typoLennart Poettering
2015-01-23core: add a property that shows the current memory usage of a unitLennart Poettering
This is exposed the memory.usage_in_bytes cgroup property on the bus, and makes "systemctl status" show it in its default output.
2015-01-22cgroup-show: remove duplicated checkZbigniew Jędrzejewski-Szmek
After 3637713a20 it is not necessary anymore.
2015-01-23nspawn: when mounting the cgroup hierarchies, use the exact same mount ↵Lennart Poettering
options for the superblock as the host Otherwise we'll generate kernel runtime warnings about non-matching mount options.
2015-01-23nspawn: mount /tmp in the container, don't leave this to the container's initLennart Poettering
We really want /tmp to be properly mounted, especially in containers that lack CAP_SYS_ADMIN or that are not fully booted up and only get a shell, hence let's do so in nspawn already.
2015-01-23nspawn: allow bind-mounting char and block filesAlban Crequy