summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-11-17run: automatically clean up transient timers created by systemd-runLennart Poettering
2015-11-17core: add RemainAfterElapse= setting to timer unitsLennart Poettering
Previously, after a timer unit elapsed we'd leave it around for good, which has the nice benefit that starting a timer that shall trigger at a specific point in time multiple times will only result in one trigger instead of possibly many. With this change a new option RemainAfterElapse= is added. It defaults to "true", to mimic the old behaviour. If set to "false" timer units will be unloaded after they elapsed. This is specifically useful for transient timer units.
2015-11-17core: Minor cleaning up of unit/log status and log logicLennart Poettering
We only reorder a few things and modernize some constructs. No functional changes. - Move some if checks from the caller to the callee of a few functions. - Use IN_SE() where we can - Move status printing functions together
2015-11-17run: when automatically generating names for transient units, use unique bus ↵Lennart Poettering
ID, fallback to random Previously we used the process ID to generate transient unit names. However, that is problematic as PIDs get reused easily, and applying them to remote systems makes little sense. Fortunately, each bus peer gets a unique, non-reusable ID assigned when attaching to a bus, hence let's use that, if we can. In some cases we cannot however, because we connect directly to PID's private socket, and thus are not a proper bus peer with a unique ID. In that case generate a random UUID to name the unit after.
2015-11-17core: make unit_make_transient() more thoroughLennart Poettering
Let's reset more stuff that does not apply to transient units. Also, let's readd the unito to all queues, because it's identity now changed.
2015-11-17core: dispatch load queue each time we set up a transient unitsLennart Poettering
manager_load_unit() will dispatch the load queue anyway, but let's make sure we also dispatch it immediately, after truning a unit into a transient one and loading the properties from the message. That way the know about the validity of the unit before we begin processing the next auxiliary unit.
2015-11-17core: move check whether a unit is suitable to become transient into unit.cLennart Poettering
Lets introduce unit_is_pristine() that verifies whether a unit is suitable to become a transient unit, by checking that it is no referenced yet and has no data on disk assigned.
2015-11-17core: generate nice error messages for auxiliary transient units, tooLennart Poettering
Let's move the validation checks into the loop that sets up the main and auxiliary transient units, so that we can generate pretty error messages for all units a transient unit transaction generates, not just for the main unit.
2015-11-17sysctl: use %P instead of %p in core patternLennart Poettering
That way we'll get the PID on the host, rather than the one in a PID namespace. Which should make the coredump handler less confusing. Fixes #1930.
2015-11-17Merge pull request #1920 from teg/networkd-fixesMartin Pitt
networkd fixes
2015-11-17Merge pull request #1932 from teg/networkd-ndisc-timeoutMartin Pitt
networkd: ndisc timeout
2015-11-17networkd: ndisc - consider configured on timeoutTom Gundersen
Don't block indefinitely, when control has been passed on from NDisc to DHCPv6. In this case there is likely no IPv6 support on the local link, so otherwise this would block indefinitely.
2015-11-17sd-dhcp6-client: bind to link-local addressTom Gundersen
This ensures that several DHCPv6 clients can run on separate interfaces simultaneously.
2015-11-17networkd: ndisc - fix token supportTom Gundersen
Fixes CID#1338680. Thanks to Thomas Andersen.
2015-11-17sd-dhcp6-client: allow multiple clients on hostTom Gundersen
We need to enable SO_REUSEADDR in order for several sockets to be allowed to bind to the same port (even on different links).
2015-11-17networkd: ndisc - always configure dhcp6 clientTom Gundersen
The ndisc client may trigger the dhcpv6 client to be started (this is the common case), so we should allocate the dhcpv6 client whenever we allocate the ndisc one.
2015-11-17Merge pull request #1909 from keszybz/filetriggers-v2Lennart Poettering
Move daemon-reload from package %post scripts to file triggers
2015-11-17Merge pull request #1925 from evverx/fix-pam-systemd-userLennart Poettering
tests: copy /etc/pam.d/systemd-user from the host on Debian, Ubuntu
2015-11-17Merge pull request #1926 from phomes/include-order-libudevDaniel Mack
tree-wide: group include of libudev.h with sd-*
2015-11-17Merge pull request #1927 from evverx/no-entries-in-quiet-modeDaniel Mack
journalctl: don't print -- No entries -- in quiet mode
2015-11-17Merge pull request #1924 from poettering/some-fixes-2Daniel Mack
casting fixes, another siphash24 alignment fix, and more
2015-11-17journalctl: don't print -- No entries -- in quiet modeEvgeny Vereshchagin
2015-11-17tree-wide: group include of libudev.h with sd-*Thomas Hindoe Paaboel Andersen
2015-11-17Some additions to NEWSLennart Poettering
2015-11-17tests: copy /etc/pam.d/systemd-user from the host on Debian, UbuntuEvgeny Vereshchagin
Fixes: systemd-testsuite systemd[34]: PAM _pam_load_conf_file: unable to open /etc/pam.d/system-auth systemd-testsuite systemd[34]: PAM _pam_load_conf_file: unable to open /etc/pam.d/system-auth systemd-testsuite systemd[34]: user@0.service: Failed at step PAM spawning /lib/systemd/systemd: Operation not permitted ... on Debian, Ubuntu
2015-11-17siphash: minor coding style fixes and modernizationsLennart Poettering
Only cosmetics really, doesn't change any actual logic.
2015-11-17siphash: fix another alignment issueLennart Poettering
2015-11-17tree-wide: make macros for converting fds to pointers and back generic and ↵Lennart Poettering
use them everywhere
2015-11-17remount-fs: modernize coding style a bitLennart Poettering
a) Use _cleanup_ where it makes sense b) Uniformly use negative errno-style errors internally, convert to EXIT_FAILURE/EXIT_SUCCESS only when actually exiting. c) Use log_oom() where appropriate d) Fix minor memory leak in hashmap addition error path. e) Don't pretend we could continue sensibly on OOM or fork() failure f) Use PR_SET_PDEATHSIG to make sure clients we don't kill on error are cleaned up. g) Make use of STRV_MAKE() where it's pretty to do so. h) Simplify error paths.
2015-11-17sd-ipv4ll: fix error path if sd-ipv4acd allocation failsLennart Poettering
Let's make sure the destructor cannot hit the n_ref == 0 case.
2015-11-17journald: trivial simplificationLennart Poettering
2015-11-17coredump: modernize error logging a bitLennart Poettering
2015-11-17core: don't generate warnings when write access to the cgroup fs fails in ↵Lennart Poettering
--user due to EACCES After all, in the classic hierarchy that's pretty much the default case.
2015-11-17tree-wide: use right cast macros for UIDs, GIDs and PIDsLennart Poettering
2015-11-17Merge pull request #1923 from zonque/siphashLennart Poettering
siphash24: let siphash24_finalize() and siphash24() return the result…
2015-11-16Merge pull request #1922 from phomes/sort-includesDaniel Mack
Sort includes
2015-11-16siphash24: let siphash24_finalize() and siphash24() return the result directlyDaniel Mack
Rather than passing a pointer to return the result, return it directly from the function calls. Also, return the result in native endianess, and let the callers care about the conversion. For hash tables and bloom filters, we don't care, but in order to keep MAC addresses and DHCP client IDs stable, we explicitly convert to LE.
2015-11-16tree-wide: sort includesThomas Hindoe Paaboel Andersen
Sort the includes accoding to the new coding style.
2015-11-16tree-wide: add missing includesThomas Hindoe Paaboel Andersen
Add a few includes that we rely on to be include already.
2015-11-16networkd: ndisc/dhcpv6 - handle starting running clientsTom Gundersen
The clients may be triggered to be started repeatedly without being stopped first, simply swallow the error rather than failing the link.
2015-11-16Merge pull request #1919 from martinpitt/masterDavid Herrmann
siphash42: add tests with unaligned input pointers
2015-11-16Merge pull request #1918 from dvdhrm/user3David Herrmann
login: allow re-using users (v3)
2015-11-16siphash42: add tests with unaligned input pointersMartin Pitt
Add test case for calling siphash24 with unaligned input pointers, as we commonly get with calling it on the result on basename() or similar. This provides a test for PR #1916, rescued from the superseded PR #1911. Thanks to Steve Langasek for the test!
2015-11-16login: ignore JobRemoved of old jobsDavid Herrmann
If we requeue jobs, we are no longer interested in old jobs. Hence, we better ignore any JobRemoved signals for old jobs and concentrate on our replacements.
2015-11-16Merge pull request #1916 from zonque/alignTom Gundersen
siphash: alignment
2015-11-16Merge pull request #1915 from poettering/btrfs-root-subvolDavid Herrmann
tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subv…
2015-11-16login: make sure to replace existing unitsDavid Herrmann
When queuing unit jobs, we should rather replace existing units than fail. This is especially important when we queued a user-shutdown and a new login is encountered. In this case, we better raplce the shutdown jobs. systemd takes care of everything else.
2015-11-16login: fix re-use of usersDavid Herrmann
If the last reference to a user is released, we queue stop-jobs for the user-service and slice. Only once those are finished, we drop the user-object. However, if a new session is opened before the user object is fully dropped, we currently incorrectly re-use the object. This has the effect, that we get stale sessions without a valid "systemd --user" instance. Fix this by properly allowing user_start() to be called, even if user->stopping is true.
2015-11-16login: group static fields in "struct User"David Herrmann
Make sure to put static fields together in "struct User". This makes it easier to figure out the lifetime of each field.
2015-11-16login: make user->service staticDavid Herrmann
Just like user->slice, there is no reason to store the unit name in /run, nor should we allocate it dynamically on job instantiation/removal. Just keep it statically around at all times and rely on user->started || user->stopping to figure out whether the unit exists or not.