1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-08 11:27:32 +03:00
Commit Graph

12205 Commits

Author SHA1 Message Date
Lennart Poettering
2a1037af15 resolved: locally synthesize replies for "localhost"
Let's make sure that clients querying resolved via the bus for A, AAAA
or PTR records for "localhost" get a synthesized, local reply, so that
we do not hit the network.

This makes part of nss-myhostname redundant, if used in conjunction.
However, given that nss-resolve shall be optional we need to keep this
code in both places for now.
2015-08-14 13:17:05 +02:00
Lennart Poettering
3326332eb9 Merge pull request #907 from keszybz/sd-daemon-badf
sd-daemon: return EBADF for invalid fd numbers
2015-08-13 21:54:56 +03:00
Kay Sievers
bae0c4aa19 Merge pull request #938 from tblume/fix-kexec-force-reboot
support reboot -f for kexec kernel
2015-08-12 16:08:18 +02:00
Tom Gundersen
02d0f8a8a5 Merge pull request #939 from karelzak/smatch
treewide: trivial issues detected by smatch
2015-08-12 15:19:23 +02:00
Thomas Blume
98d52feb96 support reboot -f for kexec kernel
Fix error message:

-->--
Code should not be reached 'Unknown action.' at
src/systemctl/systemctl.c:6382, function halt_now(). Aborting.
Aborted
--<--

when executing 'reboot -f' from a system running a kexec kernel.
2015-08-12 08:11:15 +02:00
Tom Gundersen
458a2f85e8 gpt-auto-generator: warn on ambiguous blkid probe 2015-08-11 23:38:19 +02:00
Tom Gundersen
7a1494aa4e gpt-auto-generator: don't warn on !ENABLE_EFI
add_automount() was only used on EFI systems, compile it conditionally
to avoid the warning.
2015-08-11 23:38:19 +02:00
Kay Sievers
0238d4c660 gpt-auto-generator: apply partition-type flags only to specific partition-types
The partition-type flags are defined independently for every partition-type. Apply
them only to the types where they are defined, and not to the ESP, which does not
appear to share the same set of flags.

  https://github.com/systemd/systemd/issues/920
2015-08-11 13:07:25 +02:00
reverendhomer
626be147a6 libsystemd-network: fix memory leak 2015-08-08 14:24:11 +03:00
Daniel Mack
b28098571b Merge pull request #914 from reverendhomer/patch-2
Coverity #1299013
2015-08-08 11:07:05 +02:00
reverendhomer
60e641a285 Coverity #1299013
event cannot be NULL due to assert
2015-08-08 09:54:10 +03:00
reverendhomer
37286ade90 Coverity #1299015
bus can never be NULL due to assert
2015-08-08 09:49:39 +03:00
Zbigniew Jędrzejewski-Szmek
e680380168 sd-daemon: return EBADF for invalid fd numbers
This matches what open(2) and other system functions do.
2015-08-07 11:30:18 -04:00
Jan Pokorný
6b9af96321
core: s/reexection/reexecution/ typo fix
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
2015-08-07 17:13:15 +02:00
Zbigniew Jędrzejewski-Szmek
67a3328fbd load-fragment: fix segv on parse error
https://bugzilla.redhat.com/show_bug.cgi?id=1251334
2015-08-07 00:07:39 -04:00
Daniel Mack
3996b5251d Merge pull request #898 from poettering/machined-fix-reload
Fix for #376, plus some other fixes
2015-08-06 16:13:22 +02:00
Lennart Poettering
49f3fffd94 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.
2015-08-06 16:54:00 +03:00
Lennart Poettering
e5a840c93a machine: drop state variable from Machine object
We never made use of it, let's get rid of it.
2015-08-06 16:54:00 +03:00
Lennart Poettering
491ac9f2c4 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.
2015-08-06 16:54:00 +03:00
Lennart Poettering
65d73cf042 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.
2015-08-06 16:54:00 +03:00
Lennart Poettering
3f624df6cf 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.
2015-08-06 15:48:33 +03:00
Tom Gundersen
089157763a Merge pull request #896 from poettering/runtimedir-exec
execute: don't fail if we create the runtime directory from two proce…
2015-08-06 14:34:12 +02:00
Karel Zak
a592ab6ae8 bootctl: fix path in log message 2015-08-06 13:59:38 +02:00
Lennart Poettering
6bfe5c28ca 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
2015-08-06 14:56:20 +03:00
Karel Zak
93b1da8525 udev: variable dereferenced before check 'cmsg' 2015-08-06 13:46:49 +02:00
Kay Sievers
855fc9744f bus-proxy: add comment to remove -EPERM check 2015-08-06 13:45:46 +02:00
Karel Zak
0610939d6b libsystemd: fix RTNL_CONTAINER_DEPTH assert
The m->n_containers is index and has to be smaller than the array
size.
2015-08-06 13:33:53 +02:00
Daniel Mack
cf9fd50884 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.
2015-08-06 12:56:15 +02:00
David Herrmann
2c960818c8 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).
2015-08-06 11:44:06 +02:00
Daniel Mack
bbc2908635 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.
2015-08-06 10:14:41 +02:00
Daniel Mack
92d0218ed1 libsystemd-network: plug memory leak
Coverity #1315324
2015-08-06 08:54:29 +02:00
Zbigniew Jędrzejewski-Szmek
73974f6768 Merge branch 'hostnamectl-dot-v2'
Manual merge of https://github.com/systemd/systemd/pull/751.
2015-08-05 21:02:41 -04:00
Zbigniew Jędrzejewski-Szmek
90365b043a hostname-util: ignore case when checking if hostname is localhost 2015-08-05 20:49:21 -04:00
Zbigniew Jędrzejewski-Szmek
ae691c1d93 hostname-util: get rid of unused parameter of hostname_cleanup()
All users are now setting lowercase=false.
2015-08-05 20:49:21 -04:00
Zbigniew Jędrzejewski-Szmek
17eb9a9ddb 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.."
2015-08-05 20:49:21 -04:00
Zbigniew Jędrzejewski-Szmek
79f17ea6f8 networkd: allow trailing dot on fqdn in config file 2015-08-05 20:49:20 -04:00
Zbigniew Jędrzejewski-Szmek
34ad609010 firstboot: allow a trailing dot on fqdn 2015-08-05 20:49:20 -04:00
Zbigniew Jędrzejewski-Szmek
8fb4944358 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.
2015-08-05 20:49:20 -04:00
Daniel Mack
7c43bfecfa Merge pull request #883 from phomes/bool_vs_error_codes
tree-wide: do not return error codes as bool
2015-08-06 01:12:45 +02:00
Thomas Hindoe Paaboel Andersen
756775814c tree-wide: do not return error codes as bool 2015-08-06 00:49:45 +02:00
Thomas Hindoe Paaboel Andersen
7d6884b65e tree-wide: fix indentation 2015-08-06 00:44:19 +02:00
Lennart Poettering
30afef872e network: make enough space for string
Follow-up for PR #877.
2015-08-05 22:25:14 +03:00
Lennart Poettering
b5a306ef73 Merge pull request #877 from crawford/dhcp-private-options-v4
networkd: save private-zone DHCP options
2015-08-05 22:20:36 +03:00
Kay Sievers
8dbf626535 udev: uaccess - do not log error when device node disappears
https://github.com/systemd/systemd/issues/875
2015-08-05 20:33:48 +02:00
Alex Crawford
9b57d9aee4 networkd: clean up duplicate code 2015-08-05 09:00:57 -07:00
Alex Crawford
a073309fb7 networkd: serialize the private options
Save the private options along side the rest of the options in the lease
files.
2015-08-05 09:00:57 -07:00
Alex Crawford
7e753d9d28 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.
2015-08-05 09:00:57 -07:00
Daniel Mack
3cde9e8fa0 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.
2015-08-05 17:06:45 +02:00
Daniel Mack
94029f6c3e Merge pull request #871 from poettering/journald-meta-fields
journald: fix count of object meta fields
2015-08-05 11:09:48 +02:00
Lennart Poettering
2f6dbdb408 Merge pull request #864 from phomes/master
hwdb: add Logitech LX8 DPI and wheel click settings
2015-08-05 11:40:34 +03:00