summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-30fsck: include device name in the message about missing fsckZbigniew Jędrzejewski-Szmek
2014-05-28virt: rework container detection logicLennart Poettering
Instead of accessing /proc/1/environ directly, trying to read the $container variable from it, let's make PID 1 save the contents of that variable to /run/systemd/container. This allows us to detect containers without the need for CAP_SYS_PTRACE, which allows us to drop it from a number of daemons and from the file capabilities of systemd-detect-virt. Also, don't consider chroot a container technology anymore. After all, we don't consider file system namespaces container technology anymore, and hence chroot() should be considered a container even less.
2014-05-28build-sys: use glibc's xattr support instead of requiring libattrKay Sievers
2014-05-28NEWS: mention that we need a new user systemd-timesyncsystemd/v213Lennart Poettering
2014-05-28NEWS: update NEWS file according to most recent changes in gitLennart Poettering
2014-05-28hostnamed: Fix the way that static and transient host names interactStef Walter
It is almost always incorrect to allow DHCP or other sources of transient host names to override an explicitly configured static host name. This commit changes things so that if a static host name is set, this will override the transient host name (eg: provided via DHCP). Transient host names can still be used to provide host names for machines that have not been explicitly configured with a static host name. The exception to this rule is if the static host name is set to "localhost". In those cases we act as if no static host name has been explicitly set. As discussed elsewhere, systemd may want to have an fd based ownership of the transient name. That part is not included in this commit.
2014-05-27build-sys: bump package and library versionLennart Poettering
2014-05-26test-dhcp-option: fix memleakTom Gundersen
2014-05-26analyze/run: use bus_open_transport_systemd instead of bus_open_transportThomas Bächler
Both systemd-analyze and systemd-run only access org.freedesktop.systemd1 on the bus. This patch allows using systemd-run --user and systemd-analyze --user even if the user session's bus is not properly integrated with the systemd user unit. https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports...
2014-05-26Do not unescape unit names in [Install] sectionMichal Sekletar
https://bugs.freedesktop.org/show_bug.cgi?id=49316
2014-05-26udev: keyboard - also hook into "change" eventsKay Sievers
Re-apply the keymaps when "udevadm trigger" is called. Hooking into "add" only would just remove all keymap content from the udev database instead of applying the new config.
2014-05-25keymap: Asus EeePC touchpad toggle keyMartin Pitt
Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events, so use the F21 convention. https://bugs.freedesktop.org/show_bug.cgi?id=72807
2014-05-25keymap: Add Lenovo Enhanced USB KeyboardMartin Pitt
https://bugs.freedesktop.org/show_bug.cgi?id=77234
2014-05-25timesysnc: reword network watching messages, and move resolver errors to debugKay Sievers
2014-05-25nspawn: make nspawn robust to container failureDjalal Harouni
nspawn and the container child use eventfd to wait and notify each other that they are ready so the container setup can be completed. However in its current form the wait/notify event ignore errors that may especially affect the child (container). On errors the child will jump to the "child_fail" label and terminate with _exit(EXIT_FAILURE) without notifying the parent. Since the eventfd is created without the "EFD_NONBLOCK" flag, this leaves the parent blocking on the eventfd_read() call. The container can also be killed at any moment before execv() and the parent will not receive notifications. We can fix this by using cheap mechanisms, the new high level eventfd API and handle SIGCHLD signals: * Keep the cheap eventfd and EFD_NONBLOCK flag. * Introduce eventfd states for parent and child to sync. Child notifies parent with EVENTFD_CHILD_SUCCEEDED on success or EVENTFD_CHILD_FAILED on failure and before _exit(). This prevents the parent from waiting on an event that will never come. * If the child is killed before execv() or before notifying the parent, we install a NOP handler for SIGCHLD which will interrupt blocking calls with EINTR. This gives a chance to the parent to call wait() and terminate in main(). * If there are no errors, parent will block SIGCHLD, restore default handler and notify child which will do execv(), then parent will pass control to process_pty() to do its magic. This was exposed in part by: https://bugs.freedesktop.org/show_bug.cgi?id=76193 Reported-by: Tobias Hunger tobias.hunger@gmail.com
2014-05-25nspawn: move container wait logic into wait_for_container()Djalal Harouni
Move the container wait logic into its own wait_for_container() function and add two status codes: CONTAINER_TERMINATED or CONTAINER_REBOOTED. The status will be stored in its argument, this way we handle: a) Return negative on failures. b) Return zero on success and set the status to either CONTAINER_REBOOTED or CONTAINER_TERMINATED. These status codes are used to terminate nspawn or loop again in case of CONTAINER_REBOOTED.
2014-05-25test-path-util: add tests for path_make_relative()Tanu Kaskinen
2014-05-25path-util: fix missing terminating zeroTanu Kaskinen
There was this code: if (to_path_len > 0) memcpy(p, to_path, to_path_len); That didn't add the terminating zero, so the resulting string was corrupt if this code path was taken. Using strcpy() instead of memcpy() solves this issue, and also simplifies the code. Previously there was special handling for shortening "../../" to "../..", but that has now been replaced by a path_kill_slashes() call, which also makes the result prettier in case the input contains redundant slashes that would otherwise be copied to the result.
2014-05-25Use %m instead of strerror(errno) where appropiateCristian Rodríguez
2014-05-25test-unit-file: skip if unit_file_get_list returns permission deniedCristian Rodríguez
2014-05-24Fix several small typosJonathan Boulle
2014-05-24man: describe sd_uid_get_displayZbigniew Jędrzejewski-Szmek
2014-05-24NEWS: mention that systemd-analyze uses new kernel release infoZbigniew Jędrzejewski-Szmek
Also some small grammar updates.
2014-05-24build-sys: fix typo in variable nameZbigniew Jędrzejewski-Szmek
2014-05-24man: reword StartupCPUShares= descriptionZbigniew Jędrzejewski-Szmek
Now that we have two options described in the same paragraph, we cannot use singular anymore.
2014-05-24NEWSTom Gundersen
2014-05-24NEWS: updateKay Sievers
2014-05-24detect-virt: Remove string for Microsoft virtualization detection in DMI ↵Reyad Attiyat
vendor string array. The string "Microsoft Corporation" is used in the Surface Tablet's DMI vendor ID. https://bugs.freedesktop.org/show_bug.cgi?id=78312
2014-05-24NEWS: prepare NEWS update for 213Lennart Poettering
2014-05-24core: timer - switch to touch_file()Kay Sievers
2014-05-24timedated: refuse manual system time updates when automatic timesync is enabledKay Sievers
2014-05-24clock-util: clock_[sg]et_time() -> clock_[sg]et_hwclock()Kay Sievers
2014-05-24timesyncd: only update stamp file when we are synchronizedKay Sievers
Create initial stamp file with compiled-in time to prevent bootups with clocks in the future from storing invalid timestamps. At shutdown, only update the timestamp if we got an authoritative time to store.
2014-05-24shared: add touch_file() and let touch() always update timestampKay Sievers
2014-05-24shared: rename hwclock.[ch] to clock-util.[ch]Kay Sievers
2014-05-24sd-network: avoid false positive compiler warning caused by LTOTom Gundersen
Djalal Harouni <tixxdz@opendz.org>: There is also this one genrated by LTO, IMO it's a false positive since we do *check* for "lease" but the code is not consistent since in that code path, "lease" is initialized to NULL in other places, except for this one: src/resolve/resolved-manager.c: In function 'manager_update_resolv_conf': src/libsystemd-network/sd-dhcp-lease.c:67:18: warning: 'lease' may be used uninitialized in this function [-Wmaybe-uninitialized] if (lease->dns_size) { ^ src/network/sd-network.c:146:24: note: 'lease' was declared here sd_dhcp_lease *lease; ^
2014-05-22socket: properly handle if our service vanished during runtimeLennart Poettering
2014-05-22core: remove unused varsLennart Poettering
2014-05-22core: never consider failure when reading drop-ins fatalLennart Poettering
drop-ins don't carry the main configuration of a unit, hence read them if we can't, complain if we cannot, but don't fail.
2014-05-22conf-parser: never consider it an error if we cannot load a drop-in file ↵Lennart Poettering
because it is missing After all, we want to be able to boot with /etc empty one day...
2014-05-22man: update URL refernce in daemon(7)Lennart Poettering
http://lists.freedesktop.org/archives/systemd-devel/2014-May/019410.html
2014-05-22man: drop reference to file locking for PID file creation from daemon(7)Lennart Poettering
File locking is usually a bad idea, don't suggest using it.
2014-05-22update TODOLennart Poettering
2014-05-22nspawn: restore journal directory is empty checkLennart Poettering
This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9. Instead of removing the error message about non-empty journal bind mount directories, simply downgrade the message to a warning and proceed.
2014-05-22update TODOLennart Poettering
2014-05-22cgroups: simplify CPUQuota= logicLennart Poettering
Only accept cpu quota values in percentages, get rid of period definition. It's not clear whether the CFS period controllable per-cgroup even has a future in the kernel, hence let's simplify all this, hardcode the period to 100ms and only accept percentage based quota values.
2014-05-22time-util: make sure USEC_PER_SEC and friends are actually of type usec_tLennart Poettering
2014-05-22logind: also escape external data when saving to /runLennart Poettering
Better be safe than sorry...
2014-05-22update TODOLennart Poettering
2014-05-22machine: escape fields we store in /run, so that they can be properly ↵Lennart Poettering
unescaped by parse_env_file()