summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-06machined: rework state tracking logic for machinesLennart Poettering
This splits up the stopping logic for machines into two steps: first on machine_stop() we begin with the shutdown of a machine by queuing the stop method call for it. Then, in machine_finalize() we actually remove the rest of its runtime context. This mimics closely how sessions are handled in logind. This also reworks the GC logic to strictly check the current state of the machine unit, rather than shortcutting a few cases, like for example assuming that UnitRemoved really means a machine is gone (which it isn't since Reloading might trigger it, see #376). Fixes #376.
2015-08-06machine: drop state variable from Machine objectLennart Poettering
We never made use of it, let's get rid of it.
2015-08-06logind,machined: various smaller cleanupsLennart Poettering
Use mfree() where we can. Drop unnecessary {}. Drop unnecessary variable declarations. Cast syscall invocations where explicitly don't care for the return value to (void). Reword a comment.
2015-08-06machined,logind: don't generate errors on signal match functionsLennart Poettering
If we get a weird signal, then we should log about it, but not return an error, since sd-bus will not call us again then anymore, but for these signals we match here we actually do want to be called on the next invocation.
2015-08-06Merge pull request #896 from poettering/runtimedir-execTom Gundersen
execute: don't fail if we create the runtime directory from two proce…
2015-08-06execute: don't fail if we create the runtime directory from two processes ↵Lennart Poettering
simultaneously If a service has both ExecStart= and ExecStartPost= set with Type=simple, then it might happen that we have two children create the runtime directory of a service (as configured with RuntimeDirectory=) at the same time. Previously we did this with mkdir_safe() which will create the dir only if it is missing, but if it already exists will at least verify the access mode and ownership to match the right values. This is problematic in this case, since it creates and then adjusts the settings, thus it might happen that one child creates the directory with root owner, another one then verifies it, and only afterwards the directory ownership is fixed by the original child, while the second child already failed. With this change we'll now always adjust the access mode, so that we know that it is right. In the worst case this means we adjust the mode/ownership even though its unnecessary, but this should have no negative effect. https://bugzilla.redhat.com/show_bug.cgi?id=1226509
2015-08-06bus-proxy: add comment to remove -EPERM checkKay Sievers
2015-08-06Merge pull request #895 from zonque/unit-fixKay Sievers
core: unit: remove bus slot after calling unit_done()
2015-08-06core: unit: remove bus slot after calling unit_done()Daniel Mack
The ->done callback in the unit's vtable might call into unit_unwatch_bus_name() and corrupt memory by that. Move the call down, and clean up the bus slot in case it hasn't been done yet.
2015-08-06update TODOLennart Poettering
2015-08-06bus-proxy: fix error code for invalid reply-slotsDavid Herrmann
The kernel may return EBADSLT if a reply slot cannot be found. Make sure to ignore it just like we ignore EPERM (the comment still applies).
2015-08-06Merge pull request #894 from zonque/name-owner-changed-v2Lennart Poettering
core: dbus: track bus names per unit (v2)
2015-08-06core: dbus: track bus names per unitDaniel Mack
Currently, PID1 installs an unfiltered NameOwnerChanged signal match, and dispatches the signals itself. This does not scale, as right now, PID1 wakes up every time a bus client connects. To fix this, install individual matches once they are requested by unit_watch_bus_name(), and remove the watches again through their slot in unit_unwatch_bus_name(). If the bus is not available during unit_watch_bus_name(), just store name in the 'watch_bus' hashmap, and let bus_setup_api() do the installing later.
2015-08-06Merge pull request #888 from keszybz/completions-optionalLennart Poettering
build-sys: allow skipping installation of completions
2015-08-06Merge pull request #890 from fsateler/special-docs-v2Lennart Poettering
man: Clarify the difference between sysinit.target and basic.target
2015-08-06Merge pull request #893 from zonque/networkdLennart Poettering
libsystemd-network: plug memory leak
2015-08-06libsystemd-network: plug memory leakDaniel Mack
Coverity #1315324
2015-08-05Merge pull request #889 from keszybz/man-systemctl-quietZbigniew Jędrzejewski-Szmek
man: update description of --quiet
2015-08-05Merge branch 'hostnamectl-dot-v2'Zbigniew Jędrzejewski-Szmek
Manual merge of https://github.com/systemd/systemd/pull/751.
2015-08-05hostname-util: ignore case when checking if hostname is localhostZbigniew Jędrzejewski-Szmek
2015-08-05hostname-util: get rid of unused parameter of hostname_cleanup()Zbigniew Jędrzejewski-Szmek
All users are now setting lowercase=false.
2015-08-05hostnamectl: allow trailing dot on fqdnZbigniew Jędrzejewski-Szmek
When the user requests to set hostname, and we are setting both pretty and static hostnames, and the name is a valid FQDN, we use it as the static hostname, and unset the pretty hostname. The change is that a FQDN with a trailing dot is accepted and ignored. https://bugzilla.redhat.com/show_bug.cgi?id=1238246 Lowercasing of the static name is not done anymore. $ hostnamectl set-hostname Foobar. => static is "Foobar", pretty is "Foobar." $ hostnamectl set-hostname Foobar.org. => static is "Foobar.org", pretty is unset $ hostnamectl set-hostname Foobar.org.. => static is "Foobar.org", pretty is "Foobar.org.."
2015-08-05networkd: allow trailing dot on fqdn in config fileZbigniew Jędrzejewski-Szmek
2015-08-05firstboot: allow a trailing dot on fqdnZbigniew Jędrzejewski-Szmek
2015-08-05hostname-util: add relax parameter to hostname_is_validZbigniew Jędrzejewski-Szmek
Tests are modified to check behaviour with relax and without relax. New tests are added for hostname_cleanup(). Tests are moved a new file (test-hostname-util) because there's now a bunch of them. New parameter is not used anywhere, except in tests, so there should be no observable change.
2015-08-05man: Clarify difference between basic.target and sysinit.targetFelipe Sateler
2015-08-05man: Clarify that basic.target does not pull in remote filesystemsFelipe Sateler
Also note /var, /tmp or /var/tmp as special cases, should either of those be a remote filesystem.
2015-08-05man: update description of --quietZbigniew Jędrzejewski-Szmek
This description should provide the general rule, without listing all the subcommands, which is bound to get out of date too often. https://github.com/systemd/systemd/issues/216
2015-08-05build-sys: allow skipping installation of completionsZbigniew Jędrzejewski-Szmek
./configure --with-bashcompletiondir=no or --without-bashcompletiondir now works as expected. Similarly for zsh. https://github.com/systemd/systemd/issues/533
2015-08-06Merge pull request #885 from keszybz/logitech-g500Daniel Mack
hwdb: add Logitech G500 (another version)
2015-08-05hwdb: add Logitech G500 (another version)Zbigniew Jędrzejewski-Szmek
https://github.com/systemd/systemd/issues/562
2015-08-06Merge pull request #881 from jrobeson/remove-fedup-todosDaniel Mack
TODO: remove obsolete fedup related todos
2015-08-06Merge pull request #883 from phomes/bool_vs_error_codesDaniel Mack
tree-wide: do not return error codes as bool
2015-08-06Merge pull request #882 from phomes/indentationDaniel Mack
tree-wide: fix indentation
2015-08-06tree-wide: do not return error codes as boolThomas Hindoe Paaboel Andersen
2015-08-06tree-wide: fix indentationThomas Hindoe Paaboel Andersen
2015-08-05TODO: remove obsolete fedup related todosJohnny Robeson
Fedup is being replaced by a dnf plugin that relies on systemd offline updates as per https://fedoraproject.org/wiki/Changes/DNF_System_Upgrades
2015-08-05Merge pull request #878 from poettering/network-dhcp-array-fixTom Gundersen
network: make enough space for string
2015-08-05network: make enough space for stringLennart Poettering
Follow-up for PR #877.
2015-08-05Merge pull request #877 from crawford/dhcp-private-options-v4Lennart Poettering
networkd: save private-zone DHCP options
2015-08-05udev: uaccess - do not log error when device node disappearsKay Sievers
https://github.com/systemd/systemd/issues/875
2015-08-05networkd: clean up duplicate codeAlex Crawford
2015-08-05networkd: serialize the private optionsAlex Crawford
Save the private options along side the rest of the options in the lease files.
2015-08-05networkd: add private options to lease structAlex Crawford
This stores private-zone DHCP options inside of their respective DHCP lease. These options aren't used by networkd (what would it do with them?), but saving them will allow other programs to query the values. To improve performance, the options are stored in ascending order by tag.
2015-08-05Merge pull request #876 from zonque/logindLennart Poettering
logind: switch to sd_bus_track helper
2015-08-05logind: switch to sd_bus_track helperDaniel Mack
Let logind use the sd_bus_track helper object to track the controllers of sessions. This does not only remove quite some code but also kills the unconditional matches for all NameOwnerChanged signals. The latter is something we should never ever do, as it wakes up the daemon every time a client connects, which doesn't scale.
2015-08-05Merge pull request #874 from ↵Lennart Poettering
richardmaw-codethink/doc-nspawn-machine-search-path-v2 man: Reference the canonical location of the search path in systemd-nspawn's documentation of the --machine option. (v2)
2015-08-05man: point nspawn --machine to machinectl search-pathRichard Maw
The --machine option used to describe searching for machines in /var/lib/machines, which is not the whole story, so let's link to where it's described in more detail.
2015-08-05Merge pull request #871 from poettering/journald-meta-fieldsDaniel Mack
journald: fix count of object meta fields
2015-08-05Merge pull request #864 from phomes/masterLennart Poettering
hwdb: add Logitech LX8 DPI and wheel click settings