Commit Graph
13589 Commits
Author SHA1 Message Date
Christian Hesse f6875b0a63 virt: add comment about order in virtualization detection 2015-11-23 19:15:25 +01:00
Lennart Poettering 681c8d81bd Merge pull request #1997 from fbuihuu/fix-swap-unit-ordering-dep
make sure all swap units are ordered before the swap target
2015-11-23 18:24:17 +01:00
Lennart Poettering 062fc6d775 Merge pull request #1998 from eworm-de/virt
virt: detect dmi before cpuid
2015-11-23 18:21:06 +01:00
Zbigniew Jędrzejewski-Szmek 8a421d50e0 Merge pull request #1986 from tjanez/fix-systemd_user_post
rpm: fix %systemd_user_post() macro.
2015-11-23 12:06:11 -05:00
Christian Hesse 050e65ada2 virt: detect dmi before cpuid
Virtualbox should be detected as 'oracle'. This used to work but broke
with commit:

    commit 75f86906c5
    Author: Lennart Poettering <lennart@poettering.net>
    Date:   Mon Sep 7 13:42:47 2015 +0200

    basic: rework virtualization detection API

We swap detection for dmi and cpuid, this fixes Virtualbox with KVM.
Hopefully it does not break anything else.
2015-11-23 14:02:18 +01:00
Franck Bui 8bf23dc757 make sure all swap units are ordered before the swap target
When shutting down the system, the swap devices can be disabled long
time before the swap target is stopped. They're actually the first
units systemd turns off on my system.

This is incorrect and due to swap devices having multiple associated
swap unit files. The main one is usually created by the fstab
generator and is used to start the swap device.

Once done, systemd creates some 'alias' units for the same swap
device, one for each swap dev link. But those units are missing an
ordering dependencies which was created by the fstab generator for the
main swap unit.

Therefore during shutdown those 'alias' units can be stopped at
anytime before unmount.target target.

This patch makes sure that all swap units are stopped after the
swap.target target.
2015-11-23 11:23:44 +01:00
Evgeny Vereshchagin 591df2b5c3 tests: add sd_event_now to test_basic 2015-11-23 05:58:54 +00:00
Thomas Hindoe Paaboel Andersen bf40958019 systemctl: do not return uninitialized r
Regresssed during port to extract_first_word in
5ab22f3321

CID #1338060
2015-11-22 23:11:20 +01:00
Tadej Janež e67ba78369 rpm: fix %systemd_user_post() macro.
Escape "--user" and "--global" arguments with "\\" since rpm treats
arguments starting with "-" as macro options which causes "Unknown
option" rpm error.
Use %{expand:...} to force expansion of the inner macro. Otherwise %{?*}
is recursively defined as "\--user \--global {%?*}" which causes
"Too many levels of recursion in macro expansion" rpm error.

Thanks to Michael Mráka for helping me fix the above issues.
2015-11-22 20:38:05 +01:00
Evgeny Vereshchagin 509a07ad6d tests: add missing sd_event_add_post to test_basic 2015-11-22 09:11:19 +00:00
Evgeny Vereshchagin 5657c75f91 tests: check exit handler invocation 2015-11-22 08:23:59 +00:00
Evgeny Vereshchagin c983e776c4 sd-event: use prioq_ensure_allocated where possible 2015-11-22 06:41:31 +00:00
Lennart Poettering 0be6c2f617 sd-event: define a new PREPARING state
We already have a state RUNNING and EXITING when we dispatch regular and
exit callbacks. Let's introduce a new state called PREPARING that is
active while we invoke preparation callbacks. This way we have a state
each for all three kinds of event handlers.

The states are currently not documented, hence let's add a new state to
the end, before we start documenting this.
2015-11-19 23:36:03 +01:00
Lennart Poettering 6680dd6b66 sd-event: make _ref() calls NOPs when NULL is passed to them
Let's make _ref() calls happy when NULL is passed to them, and simply
return NULL without any assertion logic. This makes them nicely
symmetric to the _unref() calls which also are happy to take NULL and
become NOPs then.
2015-11-19 23:36:03 +01:00
Lennart Poettering bb54817f3b Merge pull request #1947 from phomes/sort-includes2
tree-wide: sort includes in *.h
2015-11-19 23:32:30 +01:00
Daniel Mack 265fb8052d Merge pull request #1958 from teg/networkd-fixes
nd-ndisc: don't fail if src address is unset
2015-11-19 14:18:01 +01:00
Tom Gundersen d7fa4380c8 nd-ndisc: don't fail if src address is unset
This happens when running our test-suite over a socketpair,
so don't fall over in that case.

Fixes issue #1952.
2015-11-19 13:55:15 +01:00
Martin Pitt 81d313a6ff test: remove wrong endianess conversion in test-siphash24
Commit 933f9caee changed the returned result of siphash24_finalize() from
little-endian to native. Follow suit in test-siphash24 and drop the endianess
conversion there as well, so that this succeeds on big-endian machines again.

Fixes #1946.
2015-11-19 07:50:56 +01:00
Tom Gundersen dc9715d419 Merge pull request #1931 from bengal/dhcp-fqdn-v2
libsystemd-network: add support for "Client FQDN" DHCP option (v2)
2015-11-19 02:27:10 +01:00
Tom Gundersen 854c1123f5 Merge pull request #1944 from poettering/randoms-ec
add RandomSec= setting to timer units, and more
2015-11-19 02:22:12 +01:00
Tom Gundersen fe30727643 Revert "networkd: ndisc - revert to letting the kernel handle NDisc"
This reverts commit 23f186494c.

The bug has now been fixed, so we can go back to managing this ourselves.
2015-11-19 01:25:40 +01:00
Tom Gundersen 3ccd316353 sd-ndisc: drop RA packets from non-link-local addresses
See https://tools.ietf.org/html/rfc4861#section-4.2. Some routers (dnsmasq) will send packets
from global addresses, which would break the default route setup, so ignore those.

This is also what the kernel does.
2015-11-19 01:25:40 +01:00
Thomas Hindoe Paaboel Andersen 71d35b6b55 tree-wide: sort includes in *.h
This is a continuation of the previous include sort patch, which
only sorted for .c files.
2015-11-18 23:09:02 +01:00
Thomas Hindoe Paaboel Andersen 928bc597b7 network: fix indentation 2015-11-18 19:08:44 +01:00
Lennart Poettering d746bb3eb2 resolved: shortcut lookups names in the local zone
Previously, we'd always generate a packet on the wire, even for names
that are within our local zone. Shortcut this, and always check the
local zone first. This should minimize generated traffic and improve
security.
2015-11-18 17:07:11 +01:00
Lennart Poettering 5032b16dfe resolved: simplify dns zone logic: take a single key when looking up entries
Instead of taking a DnsQuestion object (i.e. an array of keys) only take
a single key. This simplifies things a bit, and as DNS/LLMNR require a
single question per query message was unnecessary anyway.

This mimics a similar change that was done a while ago for the dns cache
logic.
2015-11-18 17:07:11 +01:00
Lennart Poettering 744c769375 core: add new RandomSec= setting for time units
This allows configuration of a random time on top of the elapse events,
in order to spread time events in a network evenly across a range.
2015-11-18 17:07:11 +01:00
Lennart Poettering 45090bf2ff systemctl: open pager for 'status', since process tree can get very long 2015-11-18 17:04:05 +01:00
Lennart Poettering 055ef36bc8 systemctl: make sure 'status' shows whether units are transient 2015-11-18 17:04:05 +01:00
Lennart Poettering d72c2c356d bus-util: make sure --property=RemainAfterElapse=1 works 2015-11-18 17:04:05 +01:00
Lennart Poettering cdf578ef11 bus-util: add in forgotten error messages 2015-11-18 17:04:04 +01:00
Tom Gundersen 6a3e5f6a28 networkd: dhcp4 - dirty link when the lease changes
Without this commit, we risk not picking up DNS addresses
as soon as they are available.
2015-11-18 14:26:36 +01:00
Tom Gundersen 23f186494c networkd: ndisc - revert to letting the kernel handle NDisc
There is still a bug in the userspace version, so temporarily revert this.

This is a work-around for issue #1866.
2015-11-18 14:26:36 +01:00
Lennart Poettering aa2fb804a1 Merge pull request #1912 from mustrumr/calendarspec-sub-second-v3
Calendarspec sub second v3
2015-11-18 11:31:42 +01:00
Lennart Poettering edf1e71381 Merge pull request #1889 from ssahani/socket-proto
socket: Add support for socket protcol
2015-11-18 11:30:06 +01:00
Susant Sahani faf1cc9323 Socket: socket protocol add to dbus properties 2015-11-18 09:34:19 +05:30
Susant Sahani 74bb646ee5 socket: Add support for socket protcol
Now we don't support the socket protocol like
sctp and udplite .

This patch add a new config param
SocketProtocol: udplite/sctp

With this now we can configure the protocol as

udplite = IPPROTO_UDPLITE
sctp = IPPROTO_SCTP

Tested with nspawn:
2015-11-18 09:34:18 +05:30
Hristo Venev f22554a06d test: calendarspec sub-second tests 2015-11-17 23:52:09 +02:00
Hristo Venev 436dd70f53 calendarspec: sub-second support, v3 2015-11-17 23:52:09 +02:00
Lennart Poettering 6348d701bd run: automatically clean up transient timers created by systemd-run 2015-11-17 20:50:21 +01:00
Lennart Poettering 3e0c30ac56 core: add RemainAfterElapse= setting to timer units
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-17 20:48:23 +01:00
Lennart Poettering df446f9603 core: Minor cleaning up of unit/log status and log logic
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-17 20:41:52 +01:00
Lennart Poettering 9c8d1e1a71 run: when automatically generating names for transient units, use unique bus 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-17 20:41:52 +01:00
Lennart Poettering 7c65093ae3 core: make unit_make_transient() more thorough
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-17 20:41:52 +01:00
Lennart Poettering 97329d2010 core: dispatch load queue each time we set up a transient units
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-17 17:32:49 +01:00
Lennart Poettering 0f13f3bd79 core: move check whether a unit is suitable to become transient into unit.c
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-17 17:32:49 +01:00
Lennart Poettering 06cc6afa04 core: generate nice error messages for auxiliary transient units, too
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-17 17:32:49 +01:00
Martin Pitt 92939fc4c0 Merge pull request #1920 from teg/networkd-fixes
networkd fixes
2015-11-17 17:01:32 +01:00
Tom Gundersen 962b064729 networkd: ndisc - consider configured on timeout
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-17 15:39:27 +01:00
Beniamino Galvani 06d91ad77e hostname-util: fix code comment 2015-11-17 15:06:01 +01:00