Tom Gundersen [Mon, 6 Jul 2015 06:15:25 +0000 (08:15 +0200)]
resolved: fallback to TCP if UDP fails
This is inspired by the logic in BIND [0], follow-up patches
will implement the reset of that scheme.
If we get a server error back, or if after several attempts we don't
get a reply at all, we switch from UDP to TCP for the given
server for the current and all subsequent requests. However, if
we ever successfully received a reply over UDP, we never fall
back to TCP, and once a grace-period has passed, we try to upgrade
again to using UDP. The grace-period starts off at five minutes
after the current feature level was verified and then grows
exponentially to six hours. This is to mitigate problems due
to temporary lack of network connectivity, but at the same time
avoid flooding the network with retries when the feature attempted
feature level genuinely does not work.
Note that UDP is likely much more commonly supported than TCP,
but depending on the path between the client and the server, we
may have more luck with TCP in case something is wrong. We really
do prefer UDP though, as that is much more lightweight, that is
why TCP is only the last resort.
[0]: <https://kb.isc.org/article/AA-01219/0/Refinements-to-EDNS-fallback-behavior-can-cause-different-outcomes-in-Recursive-Servers.html>
Tom Gundersen [Fri, 27 Nov 2015 00:18:38 +0000 (01:18 +0100)]
Merge pull request #2042 from poettering/resolved-various-3
resolved: Flush caches more agressively, fixes #2038
Lennart Poettering [Thu, 26 Nov 2015 23:46:21 +0000 (00:46 +0100)]
update TODO
Lennart Poettering [Thu, 26 Nov 2015 23:41:32 +0000 (00:41 +0100)]
resolved: never cache RRs originating from localhost
After all, this is likely a local DNS forwarder that caches anyway,
hence there's no point in caching twice.
Fixes #2038.
Lennart Poettering [Thu, 26 Nov 2015 23:23:32 +0000 (00:23 +0100)]
resolved: flush the global DNS cache if /etc/resolv.conf is touched
After all /etc/resolv.conf is usually done when the network
configuration changes, which is a good reason to flush the global cache.
See: #2038
Lennart Poettering [Thu, 26 Nov 2015 23:15:28 +0000 (00:15 +0100)]
resolved: don't clear the server list too eagerly
If /etc/resolv.conf is missing, this should not result in the server
list to be cleared, after all the native data from resolved.conf
shouldn't be flushed out then. Hence flush out the data only if
/etc/resolv.conf exists, but we cannot read it for some reason.
Tom Gundersen [Thu, 26 Nov 2015 23:42:56 +0000 (00:42 +0100)]
Merge pull request #2041 from poettering/resolved-various-2
various smaller fixes, plus one that makes the build succeed again
Lennart Poettering [Thu, 26 Nov 2015 23:10:29 +0000 (00:10 +0100)]
resolved: fix build
Lennart Poettering [Thu, 26 Nov 2015 23:06:19 +0000 (00:06 +0100)]
resolved: don't follow the global search list on local scopes
It probably doesn't make sense to mix local and global configuration.
Applying global search lists to local DNS servers appears unnecessary
and creates problems because we'll traverse the search domains
non-simultaneously on multiple scopes.
Also see:
https://github.com/systemd/systemd/pull/2031
Lennart Poettering [Thu, 26 Nov 2015 22:51:59 +0000 (23:51 +0100)]
resolved: handle properly if there are multiple transactions for the same key per scope
When the zone probing code looks for a transaction to reuse it will
refuse to look at transactions that have been answered from cache or the
zone itself, but insist on the network. This has the effect that there
might be multiple transactions around for the same key on the same
scope. Previously we'd track all transactions in a hashmap, indexed by
the key, which implied that there would be only one transaction per key,
per scope. With this change the hashmap will only store the most recent
transaction per key, and a linked list will be used to track all
transactions per scope, allowing multiple per-key per-scope.
Note that the linked list fields for this actually already existed in
the DnsTransaction structure, but were previously unused.
Lennart Poettering [Thu, 26 Nov 2015 22:33:55 +0000 (23:33 +0100)]
resolved: for a transaction, keep track where the answer data came from
Let's track where the data came from: from the network, the cache or the
local zone. This is not only useful for debugging purposes, but is also
useful when the zone probing wants to ensure it's not reusing
transactions that were answered from the cache or the zone itself.
Lennart Poettering [Thu, 26 Nov 2015 21:51:35 +0000 (22:51 +0100)]
resolved: store just the DnsAnswer instead of a DnsPacket as answer in DnsTransaction objects
Previously we'd only store the DnsPacket in the DnsTransaction, and the
DnsQuery would then take the DnsPacket's DnsAnswer and return it. With
this change we already pull the DnsAnswer out inside the transaction.
We still store the DnsPacket in the transaction, if we have it, since we
still need to determine from which peer a response originates, to
implement caching properly. However, the DnsQuery logic doesn't care
anymore for the packet, it now only looks at answers and rcodes from the
successfuly candidate.
This also has the benefit of unifying how we propagate incoming packets,
data from the local zone or the local cache.
Lennart Poettering [Thu, 26 Nov 2015 21:45:42 +0000 (22:45 +0100)]
resolved: change query flag definitions
Let's use a more useful way to write the flags. Also, leave some space
in the middle for the mDNS flags. After all, these flags are exposed on
the bus, and we should really make sure to expose flags that are going
to be stable, hence allow some room here...
(Not that the room really mattered, except to be nice to one's OCD)
Tom Gundersen [Thu, 26 Nov 2015 22:58:45 +0000 (23:58 +0100)]
Merge pull request #2031 from poettering/resolved-search-domains
resolved. Fully implement search domains for single-label names
Lennart Poettering [Thu, 26 Nov 2015 12:17:25 +0000 (13:17 +0100)]
Merge pull request #1994 from karelzak/rlimits
core: support <soft:hard> ranges for RLIMIT options
Lennart Poettering [Thu, 26 Nov 2015 12:09:56 +0000 (13:09 +0100)]
Merge pull request #2022 from alkino/master
man: Add a not that mount unit cannot be templated
Daniel Mack [Thu, 26 Nov 2015 09:56:42 +0000 (10:56 +0100)]
Merge pull request #2034 from teg/resolved-fix
minor resolved fixes
Daniel Mack [Thu, 26 Nov 2015 09:55:29 +0000 (10:55 +0100)]
Merge pull request #2035 from evverx/man-fix-io-revents
man: fix function name
Evgeny Vereshchagin [Thu, 26 Nov 2015 07:54:08 +0000 (07:54 +0000)]
man: fix function name
Tom Gundersen [Thu, 26 Nov 2015 02:58:08 +0000 (03:58 +0100)]
resolved: bus - follow CNAME chains when resolving addresses
It may be unexpected to find a CNAME record when doing a reverse lookup, as we
expect to find a PTR record directly. However, it is explicitly supported
according to <https://tools.ietf.org/html/rfc2181#section-10.2>, and there
seems to be no benefit to not supporting it.
Tom Gundersen [Wed, 25 Nov 2015 21:22:38 +0000 (22:22 +0100)]
resolved: do not reject NSEC records with empty bitmaps
The assumption that no NSEC bitmap could be empty due to the presence of the bit representing
the record itself turns out to be flawed. See (the admittedly experimental) RFC4956 for a
counter example.
Lennart Poettering [Wed, 25 Nov 2015 20:56:48 +0000 (21:56 +0100)]
dns-domain: rework dns_label_escape() to not imply memory allocation
The new dns_label_escape() call now operates on a buffer passed in,
similar to dns_label_unescape(). This should make decoding a bit faster,
and nicer.
Lennart Poettering [Wed, 25 Nov 2015 20:15:07 +0000 (21:15 +0100)]
dns-domain: change dns_srv_type_is_valid() return value to bool
For similar reasons as dns_name_is_root() got changed in the previous
commit.
Lennart Poettering [Wed, 25 Nov 2015 20:07:17 +0000 (21:07 +0100)]
dns-domain: simplify dns_name_is_root() and dns_name_is_single_label()
Let's change the return value to bool. If we encounter an error while
parsing, return "false" instead of the actual parsing error, after all
the specified hostname does not qualify for what the function is
supposed to test.
Dealing with the additional error codes was always cumbersome, and
easily misused, like for example in the DHCP code.
Let's also rename the functions from dns_name_root() to
dns_name_is_root(), to indicate that this function checks something and
returns a bool. Similar for dns_name_is_signal_label().
Lennart Poettering [Wed, 25 Nov 2015 19:47:27 +0000 (20:47 +0100)]
resolved: fully support DNS search domains
This adds support for searching single-label hostnames in a set of
configured search domains.
A new object DnsQueryCandidate is added that links queries to scopes.
It keeps track of the search domain last used for a query on a specific
link. Whenever a host name was unsuccessfuly resolved on a scope all its
transactions are flushed out and replaced by a new set, with the next
search domain appended.
This also adds a new flag SD_RESOLVED_NO_SEARCH to disable search domain
behaviour. The "systemd-resolve-host" tool is updated to make this
configurable via --search=.
Fixes #1697
Lennart Poettering [Tue, 24 Nov 2015 21:49:15 +0000 (22:49 +0100)]
resolved: expose some properties on the bus
For now, let's just expose the LLMNR hostname currently in use; a
combined list of all dns servers with their interface indexes; a
combined list of all search domains with their interface indexes.
Lennart Poettering [Tue, 24 Nov 2015 20:55:00 +0000 (21:55 +0100)]
resolved: split out calls to compile full list of dns servers and search domains
Let's split this out from the resolv.conf parser, so that this becomes
generically useful.
Lennart Poettering [Tue, 24 Nov 2015 20:54:22 +0000 (21:54 +0100)]
util-lib: add ordered_set_ensure_allocated()
ordered_set_ensure_allocated() does for an OrderedSet, what
set_ensure_allicated() does for a Set.
Lennart Poettering [Tue, 24 Nov 2015 20:39:14 +0000 (21:39 +0100)]
resolved: enforce a maximum limit on both dns servers and search domains
Lennart Poettering [Tue, 24 Nov 2015 20:27:29 +0000 (21:27 +0100)]
resolved: unify DnsServer handling code between Link and Manager
This copies concepts we introduced for the DnsSearchDomain stuff, and
reworks the operations on lists of dns servers to be reusable and
generic for use both with the Link and the Manager object.
Lennart Poettering [Tue, 24 Nov 2015 20:12:51 +0000 (21:12 +0100)]
resolved: add a generic DnsSearchDomain concept
With this change, we add a new object to resolved, "DnsSearchDomain="
which wraps a search domain. This is then used to introduce a global
search domain list, in addition to the existing per-link search domain
list which is reword to make use of this new object too.
This is preparation for implement proper unicast DNS search domain
support.
Lennart Poettering [Tue, 24 Nov 2015 19:50:37 +0000 (20:50 +0100)]
resolved: make sure order of dns servers is stable
Previously, we'd keep adding new dns servers we discover to the end of
our linked list of servers. When we encountered a pre-existing server,
we'd just leave it where it was. In essence that meant that old servers
ended up at the front, and new servers at the end, but not in an order
that would reflect the configuration.
With this change we ensure that every pre-existing server we want to add
again we move to the back of the linked list, so that the order is
stable and in sync with the requested configuration.
Lennart Poettering [Tue, 24 Nov 2015 17:12:13 +0000 (18:12 +0100)]
resolved: drop unused enum type
Lennart Poettering [Tue, 24 Nov 2015 17:08:35 +0000 (18:08 +0100)]
resolved: make sure FallbackDNS= overrides built-in servers, doesn't extend them
Closes #342.
Lennart Poettering [Tue, 24 Nov 2015 16:59:40 +0000 (17:59 +0100)]
resolved: rework dns server lifecycle logic
Previously, there was a chance of memory corruption, because when
switching to the next DNS server we didn't care whether they linked list
of DNS servers was still valid.
Clean up lifecycle of the dns server logic:
- When a DnsServer object is still in the linked list of DnsServers for
a link or the manager, indicate so with a "linked" boolean field, and
never follow the linked list if that boolean is not set.
- When picking a DnsServer to use for a link ot manager, always
explicitly take a reference.
This also rearranges some logic, to make the tracking of dns servers by
link and globally more alike.
Lennart Poettering [Tue, 24 Nov 2015 16:03:12 +0000 (17:03 +0100)]
resolved: move dns server picking code from resolved-manager.c to resolved-dns-server.c
Lennart Poettering [Tue, 24 Nov 2015 16:01:09 +0000 (17:01 +0100)]
resolved: indent less, by exiting earlier
Lennart Poettering [Tue, 24 Nov 2015 15:55:30 +0000 (16:55 +0100)]
resolved: split out all code dealing with /etc/resolv.conf into its own .c file
No functional changes.
Lennart Poettering [Tue, 24 Nov 2015 15:48:13 +0000 (16:48 +0100)]
resolved: unify code for parsing dns server information
Let's use the same parser when parsing dns server information from
/etc/resolv.conf and our native configuration file.
Also, move all code that manages lists of dns servers to a single place.
resolved-dns-server.c
Lennart Poettering [Tue, 24 Nov 2015 15:47:20 +0000 (16:47 +0100)]
resolved: /etc/resolved.conf missing is not an error
Don't propagate any error in this case, it's really not an error.
Lennart Poettering [Tue, 24 Nov 2015 15:45:12 +0000 (16:45 +0100)]
dns-domain: remove prototype for function that doesn't exist
Lennart Poettering [Tue, 24 Nov 2015 15:44:02 +0000 (16:44 +0100)]
man: fix documentation how /etc/resolv.conf is read
/etc/resolv.conf is only read when the DNS= setting does not appear at
all in resolved.conf, regardless if set to the empty list or anything
else. Correct that in the man page.
Lennart Poettering [Tue, 24 Nov 2015 00:25:24 +0000 (01:25 +0100)]
resolved: don't claim DnsQuestion have to have the same names
Wen DnsQuestion objects are used for DnsQuery objects all contained keys
have to share the same name, but otherwise they generally don't have to,
and this can actually happen in real-life because DnsPacket objects for
mDNS use DnsQuestion for the question section.
Hence, rename:
dns_question_is_valid() to dns_question_is_valid_for_query(), since the
name uniqueness check it does is only relevant when used for a query.
Similar, rename dns_question_name() to dns_question_first_name(),
to be more accurate, as this difference matters if we keys don#t have to
share the same name.
Tom Gundersen [Wed, 25 Nov 2015 19:56:46 +0000 (20:56 +0100)]
Merge pull request #2024 from eworm-de/net
networkd: link - do not drop config for loopback device
Christian Hesse [Wed, 25 Nov 2015 07:46:43 +0000 (08:46 +0100)]
networkd: link - do not drop config for loopback device
Commit
5e5b137a (networkd: link - drop foreign config when configuring
link) introduced a regression where addresses (including 127.0.0.1) are
removed from loopback device.
Do not handle loopback device when removing foreign configs.
Signed-off-by: Christian Hesse <mail@eworm.de>
Daniel Mack [Wed, 25 Nov 2015 13:44:48 +0000 (14:44 +0100)]
Merge pull request #2027 from evverx/remove-unnecessary-cgroup-systemd-checking
tests: remove unnecessary /sys/fs/cgroup/systemd checking
Evgeny Vereshchagin [Wed, 25 Nov 2015 11:25:21 +0000 (11:25 +0000)]
tests: remove unnecessary /sys/fs/cgroup/systemd checking
A unified hierarchy obsoletes this checking
Karel Zak [Fri, 20 Nov 2015 11:54:10 +0000 (12:54 +0100)]
core: support <soft:hard> ranges for RLIMIT options
The new parser supports:
<value> - specify both limits to the same value
<soft:hard> - specify both limits
the size or time specific suffixes are supported, for example
LimitRTTIME=1sec
LimitAS=4G:16G
The patch introduces parse_rlimit_range() and rlim type (size, sec,
usec, etc.) specific parsers. No code is duplicated now.
The patch also sync docs for DefaultLimitXXX= and LimitXXX=.
References: https://github.com/systemd/systemd/issues/1769
Lennart Poettering [Tue, 24 Nov 2015 22:07:10 +0000 (23:07 +0100)]
Merge pull request #2020 from evverx/signals-completion
bash-completion: list valid signal names
Tom Gundersen [Tue, 24 Nov 2015 17:43:59 +0000 (18:43 +0100)]
Merge pull request #2021 from phomes/minor-fixes2
resolved: remove unused variable
Nicolas Cornu [Tue, 24 Nov 2015 17:24:57 +0000 (18:24 +0100)]
man: Add a not that mount unit cannot be templated
Thomas Hindoe Paaboel Andersen [Tue, 24 Nov 2015 16:09:41 +0000 (17:09 +0100)]
resolved: remove unused variable
Evgeny Vereshchagin [Tue, 24 Nov 2015 16:05:42 +0000 (16:05 +0000)]
bash-completion: list valid signal names
this is a follow-up for commit
18540892d18addc4dcb81
Lennart Poettering [Tue, 24 Nov 2015 15:24:24 +0000 (16:24 +0100)]
Merge pull request #1991 from evverx/use-systems-nspawn
tests: don't rely on system's machined
Lennart Poettering [Tue, 24 Nov 2015 15:21:47 +0000 (16:21 +0100)]
Merge pull request #2018 from keszybz/kill-signal
bash-completion: list only valid signal names
Zbigniew Jędrzejewski-Szmek [Tue, 24 Nov 2015 14:39:27 +0000 (09:39 -0500)]
bash-completion: list only valid signal names
Fixup for #1999.
Evgeny Vereshchagin [Mon, 23 Nov 2015 04:36:39 +0000 (04:36 +0000)]
tests: don't rely on system's machined
Fixes backward/forward incompatibility errors on spawning.
For example:
$ sudo make run
...
Failed to register machine: Cannot set property TasksMax, or unknown
property.
$ ../../systemd-nspawn --version
systemd 228
$ systemd-nspawn --version
systemd 225
Lennart Poettering [Tue, 24 Nov 2015 14:02:20 +0000 (15:02 +0100)]
Merge pull request #1957 from zonque/qemu-test
test: make QEMU tests work on Semaphore
Lennart Poettering [Tue, 24 Nov 2015 13:16:50 +0000 (14:16 +0100)]
Merge pull request #1976 from ssahani/word3
core: mount flags remove FOREACH_WORD_SEPARATOR
Lennart Poettering [Tue, 24 Nov 2015 12:53:14 +0000 (13:53 +0100)]
Merge pull request #2013 from martinpitt/statfs-type
basic: fix build on architectures with small long
Helmut Grohne [Sun, 22 Nov 2015 07:43:08 +0000 (08:43 +0100)]
basic: fix build on architectures with small long
The x32 architecture has a small "long" type which is not enough to hold
struct statfs.f_type.
Susant Sahani [Tue, 24 Nov 2015 01:38:45 +0000 (07:08 +0530)]
core: mount flags remove FOREACH_WORD_SEPARATOR
FOREACH_WORD_SEPARATOR is no need here since we only
apply only one mount flag. The rvalue is sufficient for
this.
Tom Gundersen [Mon, 23 Nov 2015 23:46:15 +0000 (00:46 +0100)]
Merge pull request #2011 from poettering/resolve-dname
Implement client-side DNAME RR resolving
Lennart Poettering [Mon, 23 Nov 2015 22:12:27 +0000 (23:12 +0100)]
update TODO
Lennart Poettering [Mon, 23 Nov 2015 23:18:49 +0000 (00:18 +0100)]
resolved: implement client-side DNAME resolution
Most servers apparently always implicitly convert DNAME to CNAME, but
some servers don't, hence implement this properly, as this is required
by edns0.
Lennart Poettering [Mon, 23 Nov 2015 22:12:48 +0000 (23:12 +0100)]
question: drop dns_question_is_superset() which we don't use anymore
Tom Gundersen [Mon, 23 Nov 2015 21:54:08 +0000 (22:54 +0100)]
Merge pull request #1984 from phomes/networkd-routes-parse
networkd: link - fix reading routes
Tom Gundersen [Mon, 23 Nov 2015 21:53:30 +0000 (22:53 +0100)]
Merge pull request #2007 from poettering/resolve-srv
resolved: add support for resolving plain SRV and DNS-SD services
Lennart Poettering [Mon, 23 Nov 2015 20:25:40 +0000 (21:25 +0100)]
resolved: add ResolveService() bus call for resolving SRV and DNS-SD services
This also adds client-side support for this to systemd-resolve-host.
Note that the ResolveService() API can deal both with DNS-SD service
(consisting of service name, type and domain), as well as classic SRV
services (consisting just of a type and a domain), all exposed in the
same call.
This patch also reworks CNAME handling in order to reuse it between
hostname, RR and service lookups.
In contrast to Avahi and Bonjour, this new API will actually reolve the
A/AAAA RRs the SRV RRs point to in one go (unless this is explicitly
disabled). This normally comes for free, as these RRs are sent along
the SRV responses anyway, hence let's make use of that. This makes the
API considerably easier to use, as a single ResolveService() invocation
will return all necessary data to pick a server and connect() to it.
Note that this only implements the DNS-SD resolving step, it does not
implement DNS-SD browsing, as that makes sense primarily on mDNS, due to
its continuous nature.
Lennart Poettering [Mon, 23 Nov 2015 20:24:10 +0000 (21:24 +0100)]
resolved: fix minor memory leak when shuttin down
We need to free the rtnl watch too.
Lennart Poettering [Mon, 23 Nov 2015 20:21:13 +0000 (21:21 +0100)]
dns-domain: add calls to join/split SRV/DNS-SD service domains
This adds dns_service_join() and dns_service_split() which may be used
to concatenate a DNS-SD service name, am SRV service type string, and a
domain name into a full resolvable DNS domain name string. If the
service name is specified as NULL, only the type and domain are
appended, to implement classic, non-DNS-SD SRV lookups.
The reverse is dns_service_split() which takes the full name, and split
it into the three components again.
Lennart Poettering [Mon, 23 Nov 2015 20:13:59 +0000 (21:13 +0100)]
escape: add cescape_length() call as generalization of cescape()
Lennart Poettering [Fri, 20 Nov 2015 18:01:43 +0000 (19:01 +0100)]
resolved: accept TXT records with non-UTF8 strings
RFC 6763 is very clear that TXT RRs should allow arbitrary binary
content, hence let's actually accept that. This also means accepting NUL
bytes in the middle of strings.
Lennart Poettering [Fri, 20 Nov 2015 16:52:36 +0000 (17:52 +0100)]
dns-domain: add code for verifying validity of DNS-SD service names and types
Lennart Poettering [Mon, 23 Nov 2015 20:01:01 +0000 (21:01 +0100)]
Merge pull request #2003 from eworm-de/virt
virt: add comment about order in virtualization detection
Lennart Poettering [Mon, 23 Nov 2015 19:51:57 +0000 (20:51 +0100)]
Merge pull request #2006 from keszybz/mymachines-overflow
nss-mymachines: do not allow overlong machine names
Daniel Mack [Mon, 23 Nov 2015 19:25:22 +0000 (20:25 +0100)]
Merge pull request #2005 from eworm-de/vimrc
vimrc: add warning about dangerous exrc mode
Zbigniew Jędrzejewski-Szmek [Mon, 23 Nov 2015 18:59:43 +0000 (13:59 -0500)]
nss-mymachines: do not allow overlong machine names
https://github.com/systemd/systemd/issues/2002
Christian Hesse [Mon, 23 Nov 2015 18:31:00 +0000 (19:31 +0100)]
vimrc: add warning about dangerous exrc mode
Christian Hesse [Mon, 23 Nov 2015 18:15:25 +0000 (19:15 +0100)]
virt: add comment about order in virtualization detection
Lennart Poettering [Mon, 23 Nov 2015 17:24:17 +0000 (18:24 +0100)]
Merge pull request #1997 from fbuihuu/fix-swap-unit-ordering-dep
make sure all swap units are ordered before the swap target
Lennart Poettering [Mon, 23 Nov 2015 17:21:06 +0000 (18:21 +0100)]
Merge pull request #1998 from eworm-de/virt
virt: detect dmi before cpuid
Daniel Mack [Mon, 23 Nov 2015 17:17:57 +0000 (18:17 +0100)]
Merge pull request #1996 from eworm-de/editorconfig
add editorconfig configuration
Zbigniew Jędrzejewski-Szmek [Mon, 23 Nov 2015 17:17:06 +0000 (12:17 -0500)]
Merge pull request #1999 from evverx/nspawn-kill-signal-completion
bash-completion: nspawn: add completion for --kill-signal
Zbigniew Jędrzejewski-Szmek [Mon, 23 Nov 2015 17:06:11 +0000 (12:06 -0500)]
Merge pull request #1986 from tjanez/fix-systemd_user_post
rpm: fix %systemd_user_post() macro.
Evgeny Vereshchagin [Mon, 23 Nov 2015 14:58:22 +0000 (14:58 +0000)]
bash-completion: nspawn: add completion for --kill-signal
Christian Hesse [Mon, 23 Nov 2015 12:55:04 +0000 (13:55 +0100)]
virt: detect dmi before cpuid
Virtualbox should be detected as 'oracle'. This used to work but broke
with commit:
commit
75f86906c52735c98dc0aa7e24b773edb42ee814
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.
Christian Hesse [Mon, 23 Nov 2015 10:26:43 +0000 (11:26 +0100)]
add editorconfig configuration
We want indention with spaces, so specify in editorconfig.
http://editorconfig.org/
Daniel Mack [Mon, 23 Nov 2015 10:26:25 +0000 (11:26 +0100)]
Merge pull request #1992 from evverx/tests-add-event-now
tests: add sd_event_now to test_basic
Daniel Mack [Mon, 23 Nov 2015 10:26:00 +0000 (11:26 +0100)]
Merge pull request #1990 from keszybz/html-links
man: include the target name when linking to man pages in html output
Franck Bui [Mon, 23 Nov 2015 10:14:10 +0000 (11:14 +0100)]
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.
Evgeny Vereshchagin [Mon, 23 Nov 2015 05:49:41 +0000 (05:49 +0000)]
tests: add sd_event_now to test_basic
Zbigniew Jędrzejewski-Szmek [Mon, 23 Nov 2015 05:41:23 +0000 (00:41 -0500)]
Merge pull request #1987 from heftig/usertasks
Set user@.service TasksMax=infinity
Zbigniew Jędrzejewski-Szmek [Mon, 23 Nov 2015 05:10:37 +0000 (00:10 -0500)]
Merge pull request #1988 from phomes/systemctl-uninitialized2
systemctl: do not return uninitialized r
Zbigniew Jędrzejewski-Szmek [Mon, 23 Nov 2015 04:43:36 +0000 (23:43 -0500)]
man: include the target name when linking to man pages in html output
Links like http://www.freedesktop.org/software/systemd/man/systemd.socket.html
are changed to http://www.freedesktop.org/software/systemd/man/systemd.socket.html#Accept=.
This implementation is quick & dirty, and misses various corner
cases. A fairly important one is that when a few directives share the
same anchor (which happens when multiple directives are described in
the same paragraph), generated links for everything except the first
one link to an invalid anchor. Another shortcoming is that the
formatting does not use the proper generateID machinery, so the anchor
name could be wrong in some cases. But it seems to work for a large
percentage of links, so seems to be an improvement in usability. When
the anchor is missing, we land at the top of the page, which is the
same as before. If the anchor were to point to different spot, this
would be more confusing... Not sure if that ever happens. Anyway, the
user should be able to recover from landing on the wrong place in the
page.
(Mostly) fixes https://github.com/systemd/systemd/issues/1956.
Thomas Hindoe Paaboel Andersen [Sun, 22 Nov 2015 22:10:26 +0000 (23:10 +0100)]
systemctl: do not return uninitialized r
Regresssed during port to extract_first_word in
5ab22f3321d238957c03dcc6a6db76491e3989b8
CID #1338060
Jan Alexander Steffens (heftig) [Sun, 22 Nov 2015 22:00:43 +0000 (23:00 +0100)]
Set user@.service TasksMax=infinity
The user manager is still limited by its parent slice user-UID.slice,
which defaults to 4096 tasks. However, it no longer has an additional
limit of 512 tasks.
Fixes #1955.
Lennart Poettering [Sun, 22 Nov 2015 21:34:37 +0000 (22:34 +0100)]
Merge pull request #1983 from dmedri/master
Minor updates on po/ files + it.po update
Lennart Poettering [Sun, 22 Nov 2015 21:33:50 +0000 (22:33 +0100)]
Merge pull request #1978 from evverx/man-service-watchdog
man: update WatchdogSec section
Lennart Poettering [Sun, 22 Nov 2015 21:32:54 +0000 (22:32 +0100)]
Merge pull request #1980 from evverx/sd-event-use-prioq-ensure-allocated
sd-event: update tests; small refactoring