Zbigniew Jędrzejewski-Szmek [Fri, 7 Aug 2015 00:16:23 +0000 (20:16 -0400)]
build-sys: line-wrap message about google servers
This way it is more readable in a wall of configure output.
Daniel Mack [Thu, 6 Aug 2015 14:13:22 +0000 (16:13 +0200)]
Merge pull request #898 from poettering/machined-fix-reload
Fix for #376, plus some other fixes
Lennart Poettering [Thu, 6 Aug 2015 13:50:54 +0000 (16:50 +0300)]
machined: rework state tracking logic for machines
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.
Lennart Poettering [Thu, 6 Aug 2015 13:50:02 +0000 (16:50 +0300)]
machine: drop state variable from Machine object
We never made use of it, let's get rid of it.
Lennart Poettering [Thu, 6 Aug 2015 13:48:17 +0000 (16:48 +0300)]
logind,machined: various smaller cleanups
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.
Lennart Poettering [Thu, 6 Aug 2015 13:46:16 +0000 (16:46 +0300)]
machined,logind: don't generate errors on signal match functions
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.
Tom Gundersen [Thu, 6 Aug 2015 12:56:47 +0000 (14:56 +0200)]
Merge pull request #897 from poettering/sd-bus-ignore-bloom-filter
sd-bus: ignore BLOOM_FILTER kdbus items
Lennart Poettering [Thu, 6 Aug 2015 12:48:33 +0000 (15:48 +0300)]
sd-bus: ignore BLOOM_FILTER kdbus items
The kernel nowadays sends these along, and that's OK, hence don't even
debug log about it, but completely ignore it.
Tom Gundersen [Thu, 6 Aug 2015 12:34:12 +0000 (14:34 +0200)]
Merge pull request #896 from poettering/runtimedir-exec
execute: don't fail if we create the runtime directory from two proce…
Lennart Poettering [Thu, 6 Aug 2015 11:53:15 +0000 (14:53 +0300)]
execute: don't fail if we create the runtime directory from two processes 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
Kay Sievers [Thu, 6 Aug 2015 11:45:46 +0000 (13:45 +0200)]
bus-proxy: add comment to remove -EPERM check
Kay Sievers [Thu, 6 Aug 2015 11:01:13 +0000 (13:01 +0200)]
Merge pull request #895 from zonque/unit-fix
core: unit: remove bus slot after calling unit_done()
Daniel Mack [Thu, 6 Aug 2015 10:53:06 +0000 (12:53 +0200)]
core: unit: remove bus slot after calling unit_done()
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.
Lennart Poettering [Thu, 6 Aug 2015 10:44:02 +0000 (13:44 +0300)]
update TODO
David Herrmann [Thu, 6 Aug 2015 09:42:40 +0000 (11:42 +0200)]
bus-proxy: fix error code for invalid reply-slots
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).
Lennart Poettering [Thu, 6 Aug 2015 08:25:31 +0000 (11:25 +0300)]
Merge pull request #894 from zonque/name-owner-changed-v2
core: dbus: track bus names per unit (v2)
Daniel Mack [Wed, 5 Aug 2015 15:47:45 +0000 (17:47 +0200)]
core: dbus: track bus names per unit
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.
Lennart Poettering [Thu, 6 Aug 2015 07:18:57 +0000 (10:18 +0300)]
Merge pull request #888 from keszybz/completions-optional
build-sys: allow skipping installation of completions
Lennart Poettering [Thu, 6 Aug 2015 07:08:40 +0000 (10:08 +0300)]
Merge pull request #890 from fsateler/special-docs-v2
man: Clarify the difference between sysinit.target and basic.target
Lennart Poettering [Thu, 6 Aug 2015 07:06:15 +0000 (10:06 +0300)]
Merge pull request #893 from zonque/networkd
libsystemd-network: plug memory leak
Daniel Mack [Thu, 6 Aug 2015 06:53:24 +0000 (08:53 +0200)]
libsystemd-network: plug memory leak
Coverity #1315324
Zbigniew Jędrzejewski-Szmek [Thu, 6 Aug 2015 01:15:17 +0000 (21:15 -0400)]
Merge pull request #889 from keszybz/man-systemctl-quiet
man: update description of --quiet
Zbigniew Jędrzejewski-Szmek [Thu, 6 Aug 2015 01:01:06 +0000 (21:01 -0400)]
Merge branch 'hostnamectl-dot-v2'
Manual merge of https://github.com/systemd/systemd/pull/751.
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:37:52 +0000 (22:37 -0400)]
hostname-util: ignore case when checking if hostname is localhost
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:36:36 +0000 (22:36 -0400)]
hostname-util: get rid of unused parameter of hostname_cleanup()
All users are now setting lowercase=false.
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:30:06 +0000 (22:30 -0400)]
hostnamectl: allow trailing dot on fqdn
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.."
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:21:07 +0000 (22:21 -0400)]
networkd: allow trailing dot on fqdn in config file
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:20:46 +0000 (22:20 -0400)]
firstboot: allow a trailing dot on fqdn
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:15:26 +0000 (22:15 -0400)]
hostname-util: add relax parameter to hostname_is_valid
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.
Felipe Sateler [Tue, 28 Jul 2015 00:23:41 +0000 (21:23 -0300)]
man: Clarify difference between basic.target and sysinit.target
Felipe Sateler [Mon, 27 Jul 2015 22:34:19 +0000 (19:34 -0300)]
man: Clarify that basic.target does not pull in remote filesystems
Also note /var, /tmp or /var/tmp as special cases, should either of
those be a remote filesystem.
Zbigniew Jędrzejewski-Szmek [Thu, 6 Aug 2015 00:19:57 +0000 (20:19 -0400)]
man: update description of --quiet
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
Zbigniew Jędrzejewski-Szmek [Thu, 6 Aug 2015 00:10:02 +0000 (20:10 -0400)]
build-sys: allow skipping installation of completions
./configure --with-bashcompletiondir=no or --without-bashcompletiondir
now works as expected. Similarly for zsh.
https://github.com/systemd/systemd/issues/533
Daniel Mack [Thu, 6 Aug 2015 00:13:37 +0000 (02:13 +0200)]
Merge pull request #885 from keszybz/logitech-g500
hwdb: add Logitech G500 (another version)
Zbigniew Jędrzejewski-Szmek [Wed, 5 Aug 2015 23:15:05 +0000 (19:15 -0400)]
hwdb: add Logitech G500 (another version)
https://github.com/systemd/systemd/issues/562
Daniel Mack [Wed, 5 Aug 2015 23:13:21 +0000 (01:13 +0200)]
Merge pull request #881 from jrobeson/remove-fedup-todos
TODO: remove obsolete fedup related todos
Daniel Mack [Wed, 5 Aug 2015 23:12:45 +0000 (01:12 +0200)]
Merge pull request #883 from phomes/bool_vs_error_codes
tree-wide: do not return error codes as bool
Daniel Mack [Wed, 5 Aug 2015 23:12:05 +0000 (01:12 +0200)]
Merge pull request #882 from phomes/indentation
tree-wide: fix indentation
Thomas Hindoe Paaboel Andersen [Wed, 5 Aug 2015 22:32:25 +0000 (00:32 +0200)]
tree-wide: do not return error codes as bool
Thomas Hindoe Paaboel Andersen [Wed, 5 Aug 2015 22:31:09 +0000 (00:31 +0200)]
tree-wide: fix indentation
Johnny Robeson [Wed, 5 Aug 2015 21:28:29 +0000 (17:28 -0400)]
TODO: remove obsolete fedup related todos
Fedup is being replaced by a dnf plugin that relies on systemd offline
updates as per
https://fedoraproject.org/wiki/Changes/DNF_System_Upgrades
Tom Gundersen [Wed, 5 Aug 2015 20:58:55 +0000 (22:58 +0200)]
Merge pull request #878 from poettering/network-dhcp-array-fix
network: make enough space for string
Lennart Poettering [Wed, 5 Aug 2015 19:25:12 +0000 (22:25 +0300)]
network: make enough space for string
Follow-up for PR #877.
Lennart Poettering [Wed, 5 Aug 2015 19:20:36 +0000 (22:20 +0300)]
Merge pull request #877 from crawford/dhcp-private-options-v4
networkd: save private-zone DHCP options
Kay Sievers [Wed, 5 Aug 2015 18:33:48 +0000 (20:33 +0200)]
udev: uaccess - do not log error when device node disappears
https://github.com/systemd/systemd/issues/875
Alex Crawford [Sat, 1 Aug 2015 04:48:47 +0000 (21:48 -0700)]
networkd: clean up duplicate code
Alex Crawford [Sat, 1 Aug 2015 03:18:51 +0000 (20:18 -0700)]
networkd: serialize the private options
Save the private options along side the rest of the options in the lease
files.
Alex Crawford [Sat, 1 Aug 2015 03:02:22 +0000 (20:02 -0700)]
networkd: add private options to lease struct
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.
Lennart Poettering [Wed, 5 Aug 2015 15:48:45 +0000 (18:48 +0300)]
Merge pull request #876 from zonque/logind
logind: switch to sd_bus_track helper
Daniel Mack [Wed, 5 Aug 2015 13:58:39 +0000 (15:58 +0200)]
logind: switch to sd_bus_track helper
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.
Lennart Poettering [Wed, 5 Aug 2015 12:11:27 +0000 (15:11 +0300)]
Merge pull request #874 from 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)
Richard Maw [Wed, 5 Aug 2015 08:40:36 +0000 (08:40 +0000)]
man: point nspawn --machine to machinectl search-path
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.
Daniel Mack [Wed, 5 Aug 2015 09:09:48 +0000 (11:09 +0200)]
Merge pull request #871 from poettering/journald-meta-fields
journald: fix count of object meta fields
Lennart Poettering [Wed, 5 Aug 2015 08:40:34 +0000 (11:40 +0300)]
Merge pull request #864 from phomes/master
hwdb: add Logitech LX8 DPI and wheel click settings
Lennart Poettering [Wed, 5 Aug 2015 08:31:52 +0000 (11:31 +0300)]
journald: fix count of object meta fields
There are 12 object meta fields created in dispatch_message_real(), but
we only allocated space for 11. Fix this.
Fixes #866.
Daniel Mack [Wed, 5 Aug 2015 08:12:29 +0000 (10:12 +0200)]
Merge pull request #869 from poettering/tmpfiles-enoent
sysctl: reword warning message a bit
Lennart Poettering [Wed, 5 Aug 2015 08:02:24 +0000 (11:02 +0300)]
sysctl: reword warning message a bit
Let's make this less dramatic, in order to not confuse people too much
making them think that this was something to actually fix.
Lennart Poettering [Wed, 5 Aug 2015 07:58:54 +0000 (10:58 +0300)]
Merge pull request #868 from jsynacek/jsynacek/sysctl
sysctl: bump loglevel when attempting to write invalid values [v2]
Jan Synacek [Tue, 4 Aug 2015 13:46:34 +0000 (15:46 +0200)]
sysctl: bump loglevel when attempting to write invalid values
Daniel Mack [Wed, 5 Aug 2015 05:38:08 +0000 (07:38 +0200)]
Merge pull request #865 from mattst88/alpha-getxpid
Use getxpid syscall on alpha for raw_getpid()
Matt Turner [Tue, 4 Aug 2015 21:47:01 +0000 (14:47 -0700)]
Use getxpid syscall on alpha for raw_getpid()
Alpha does not have a getpid syscall, but rather has getxpid to match
OSF/1.
Lennart Poettering [Tue, 4 Aug 2015 21:13:27 +0000 (00:13 +0300)]
Merge pull request #855 from richardmaw-codethink/machinectl-copy-to-from-relative-paths-v2
Allow relative paths in `machinectl copy-{from,to}` (v2)
Thomas Hindoe Paaboel Andersen [Tue, 4 Aug 2015 20:36:21 +0000 (22:36 +0200)]
gpt-auto-generator: remove unused variable
Thomas Hindoe Paaboel Andersen [Tue, 4 Aug 2015 20:12:35 +0000 (22:12 +0200)]
hwdb: add Logitech LX8 DPI and wheel click settings
Kay Sievers [Tue, 4 Aug 2015 15:26:20 +0000 (17:26 +0200)]
Merge pull request #857 from dvdhrm/proxy-reload
bus-proxy: add ExecReload=
Daniel Mack [Tue, 4 Aug 2015 12:27:09 +0000 (14:27 +0200)]
Merge pull request #860 from walyong/smack_v11
Smack v11: set only the default smack process label if the command path has no execute label
Daniel Mack [Tue, 4 Aug 2015 12:23:17 +0000 (14:23 +0200)]
Merge pull request #858 from dvdhrm/proxy-env
bus-proxy: discard invalid environment updates
WaLyong Cho [Mon, 27 Jul 2015 17:55:35 +0000 (02:55 +0900)]
core: set default process label only exec label is none
When command path has access label and no SmackProcessLabel= is not
set, default process label will be set. But if the default process
label has no rule for the access label of the command path then smack
access error will be occurred.
So, if the command path has execute label then the child have to set
its label to the same of execute label of command path instead of
default process label.
WaLyong Cho [Mon, 27 Jul 2015 17:43:55 +0000 (02:43 +0900)]
smack-util: revise smack-util apis and add read smack attr apis
- Add smack xattr lookup table
- Unify all of mac_smack_apply_xxx{_fd}() to mac_smack_apply() and
mac_smack_apply_fd().
- Add smack xattr read apis similar with apply apis as
mac_smack_read{_fd}().
WaLyong Cho [Mon, 27 Jul 2015 17:40:50 +0000 (02:40 +0900)]
util: add getxattr helper apis
To get xattr of given path or fd on newly allocated buffer, add new
helper api getxattr_malloc() and fgetxattr_malloc().
David Herrmann [Tue, 4 Aug 2015 11:36:03 +0000 (13:36 +0200)]
bus-proxy: discard invalid environment updates
If the caller provides invalid assignments via
UpdateActivationEnvironment=, we now drop it and warn loudly about it. We
need this to be compatible to dbus1, but we also clearly want to tell the
caller that they better ought to follow POSIX recommendations and use
valid labels only.
Fixes #826.
David Herrmann [Tue, 4 Aug 2015 11:19:50 +0000 (13:19 +0200)]
bus-proxy: add ExecReload=
Make sure we support ExecReload= for bus-proxyd to reload configuration
during runtime. This is *really* handy when hacking on kdbus.
Package-managers are still recommended to run
`busctl --address=unix:path=` directly.
Daniel Mack [Tue, 4 Aug 2015 10:24:33 +0000 (12:24 +0200)]
Merge pull request #856 from richardmaw-codethink/doc-invalid-environmentfile-lines
man: Document invalid lines in EnvironmentFile
Alex Crawford [Wed, 4 Mar 2015 03:07:31 +0000 (19:07 -0800)]
networkd: add DHCP options for private zone
Alex Crawford [Tue, 4 Aug 2015 06:11:53 +0000 (23:11 -0700)]
basic: add LIST_INSERT_BEFORE
Similar in function to LIST_INSERT_AFTER, this will insert a new element
into the list before the specified position. If the specified position
is NULL, the element is added as the tail of the list.
Richard Maw [Tue, 4 Aug 2015 09:58:50 +0000 (09:58 +0000)]
man: Document invalid lines in EnvironmentFile
If a line doesn't contain an = separator, it is skipped, rather than
raising an error.
This is potentially useful, so let's document this behaviour.
Richard Maw [Fri, 31 Jul 2015 15:24:09 +0000 (15:24 +0000)]
machinectl: support relative host paths in copy-{from,to}
Richard Maw [Tue, 4 Aug 2015 08:55:04 +0000 (08:55 +0000)]
machined: Relax path checks for Copy{From,To}
Absolute paths should be sufficient to prevent funny business,
and while path_is_safe() checks this, it also checks whether the path
contains . or .. components, which while odd, aren't a security risk.
Daniel Mack [Tue, 4 Aug 2015 06:42:25 +0000 (08:42 +0200)]
Merge pull request #850 from ssahani/dhcp
networkd: DHCP fix CID 1315105
Susant Sahani [Tue, 4 Aug 2015 06:01:03 +0000 (11:31 +0530)]
networkd: DHCP fix CID 1315105
CID 1315105: Resource leaks (RESOURCE_LEAK)
/src/libsystemd-network/sd-dhcp-server.c: 800 in
dhcp_server_handle_message()
*** CID 1315105: Resource leaks (RESOURCE_LEAK)
/src/libsystemd-network/sd-dhcp-server.c: 800 in
Zbigniew Jędrzejewski-Szmek [Tue, 4 Aug 2015 04:03:55 +0000 (00:03 -0400)]
Update bugtracker address
Daniel Mack [Mon, 3 Aug 2015 18:57:19 +0000 (20:57 +0200)]
Merge pull request #845 from poettering/terminal-o-nonblock
add O_NONBLOCK to terminal handling
Daniel Mack [Mon, 3 Aug 2015 17:26:07 +0000 (19:26 +0200)]
tree-wide: convert some more mfree() candidates
Lennart Poettering [Mon, 3 Aug 2015 17:06:01 +0000 (19:06 +0200)]
terminal-util: no real reason to assert on O_CREAT
That's just handle this as a normal error.
Lennart Poettering [Mon, 3 Aug 2015 17:05:43 +0000 (19:05 +0200)]
terminal-util: cast a couple of ioctl()s to void
Lennart Poettering [Mon, 3 Aug 2015 17:04:08 +0000 (19:04 +0200)]
terminal-util: when resetting terminals, don't wait for carrier
In case of non-CLOCAL lines (i.e. those with carrier detect configured)
we shouldnt wait for a carrier if all we try to do is reset the TTY.
Hence, whenever we open such a TTY pass O_NONBLOCK.
Note that we continue to open ttys we intend to write to without
O_ONBLOCK, we only add it in cases we invoke ioctl()s or other terminal
operations without reading or writing to the device.
Fixes #835.
Tom Gundersen [Mon, 3 Aug 2015 15:58:54 +0000 (17:58 +0200)]
Merge pull request #844 from poettering/clock-boottime2
tree-wide: convert bootchart and lldp code to use clock_boottime_or_m…
Tom Gundersen [Mon, 3 Aug 2015 15:57:26 +0000 (17:57 +0200)]
Merge pull request #843 from poettering/clock-boottime
sd-event: make sure sd_event_now() cannot fail
Lennart Poettering [Mon, 3 Aug 2015 14:43:29 +0000 (16:43 +0200)]
tree-wide: convert bootchart and lldp code to use clock_boottime_or_monotonic()
We should avoid using CLOCK_BOOTTIME directly unless we actually can
sensible distuingish it from CLOCK_MONOTONIC. CLOCK_BOOTTIME is only
fully feature on very recent Linux kernels, hence we should stick to a
fallback logic, which is already available in the
clock_boottime_or_monotonic() call.
Lennart Poettering [Mon, 3 Aug 2015 15:34:54 +0000 (17:34 +0200)]
Merge pull request #840 from systemd-mailing-devs/
1438566907-9544-1-git-send-email-wangkefeng.wang@huawei.com
logind: add standard gpio power button support
Lennart Poettering [Mon, 3 Aug 2015 15:29:09 +0000 (17:29 +0200)]
sd-event: make sure sd_event_now() cannot fail
Previously, if the event loop never ran before sd_event_now() would
fail. With this change it will instead fall back to invoking now(). This
way, the function cannot fail anymore, except for programming error when
invoking it with wrong parameters.
This takes into account the fact that many callers did not handle the
error condition correctly, and if the callers did, then they kept simply
invoking now() as fall back on their own. Hence let's shorten the code
using this call, and make things more robust, and let's just fall back
to now() internally.
Whether now() is used or the cache timestamp may still be detected via
the return value of sd_event_now(). If > 0 is returned, then the fall
back to now() was used, if == 0 is returned, then the cached value was
returned.
This patch also simplifies many of the invocations of sd_event_now():
the manual fall back to now() can be removed. Also, in cases where the
call is invoked withing void functions we can now protect the invocation
via assert_se(), acknowledging the fact that the call cannot fail
anymore except for programming errors with the parameters.
This change is inspired by #841.
Daniel Mack [Mon, 3 Aug 2015 14:32:40 +0000 (16:32 +0200)]
Merge pull request #841 from teg/resolved-exponential-resend
resolved: exponential backoff of packet resend
Tom Gundersen [Mon, 3 Aug 2015 12:25:49 +0000 (14:25 +0200)]
resolved: transaction - increase number of retry attempts
With the exponential backoff, we can perform more requests in the same amount of time,
so bump this a bit.
In case of large RTT this may be necessary in order not to regress, and in case
of large packet-loss it will make us more robust. The latter is particularly
relevant once we start probing for features (and hence may see packet-loss
until we settle on the right feature level).
Tom Gundersen [Tue, 28 Jul 2015 00:32:24 +0000 (02:32 +0200)]
resolved: transaction - exponentially increase retry timeouts
Rather than fixing this to 5s for unicast DNS and 1s for LLMNR, start
at a tenth of those values and increase exponentially until the old
values are reached. For LLMNR the recommended timeout for IEEE802
networks (which basically means all of the ones we care about) is 100ms,
so that should be uncontroversial. For unicast DNS I have found no
recommended value. However, it seems vastly more likely that hitting a
500ms timeout is casued by a packet loss, rather than the RTT genuinely
being greater than 500ms, so taking this as a startnig value seems
reasonable to me.
In the common case this greatly reduces the latency due to normal packet
loss. Moreover, once we get support for probing for features, this means
that we can send more packets before degrading the feature level whilst
still allowing us to settle on the correct feature level in a reasonable
timeframe.
The timeouts are tracked per server (or per scope for the multicast
protocols), and once a server (or scope) receives a successfull package
the timeout is reset. We also track the largest RTT for the given
server/scope, and always start our timouts at twice the largest
observed RTT.
Tom Gundersen [Tue, 28 Jul 2015 00:45:04 +0000 (02:45 +0200)]
resolved: cache - use clock_boottime_or_monotonic()
We cannot rely on CLOCK_BOOTTIME being supported by the kernel, so fallack
to CLOCK_MONOTONIC if the former is not supported.
Daniel Mack [Mon, 3 Aug 2015 07:55:41 +0000 (09:55 +0200)]
Merge pull request #837 from ssahani/dhcp
networkd: fix neworkd crash
Kefeng Wang [Mon, 3 Aug 2015 01:55:07 +0000 (09:55 +0800)]
logind: add standard gpio power button support
Many boards like hisilicon D02 board use standard gpio key to power down system.
A description of gpio-key in dts shown below,
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pwrbutton {
label = "Power Button";
gpios = <&porta 8 1>;
linux,code = <116>; // KEY_POWER, used by SC System Power Down
};
};
-bash-4.3# udevadm info -a /dev/input/event3
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/platform/gpio_keys/input/input3/event3':
KERNEL=="event3"
SUBSYSTEM=="input"
DRIVER==""
looking at parent device '/devices/platform/gpio_keys/input/input3':
KERNELS=="input3"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="gpio_keys"
ATTRS{phys}=="gpio-keys/input0"
ATTRS{uniq}==""
ATTRS{properties}=="0"
looking at parent device '/devices/platform/gpio_keys':
KERNELS=="gpio_keys"
SUBSYSTEMS=="platform"
DRIVERS=="gpio-keys"
ATTRS{keys}=="116"
ATTRS{switches}==""
ATTRS{driver_override}=="(null)"
ATTRS{disabled_keys}==""
ATTRS{disabled_switches}==""
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
Daniel Mack [Sun, 2 Aug 2015 20:54:13 +0000 (22:54 +0200)]
Merge pull request #836 from mbiebl/man-fix-typo-systemd-fsck
man: fix typo in systemd-fsck@
Michael Biebl [Sun, 2 Aug 2015 20:22:15 +0000 (22:22 +0200)]
man: fix typo in systemd-fsck@
David Herrmann [Sun, 2 Aug 2015 17:32:21 +0000 (19:32 +0200)]
Merge pull request #834 from namhyung/sdbus-cleanup-v2
sd-bus: Small cleanups (v2)