Commit graph

13556 commits

Author SHA1 Message Date
Thomas Hindoe Paaboel Andersen 928bc597b7 network: fix indentation 2015-11-18 19:08:44 +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
Tom Gundersen c601ebf79f sd-dhcp6-client: bind to link-local address
This ensures that several DHCPv6 clients can run on separate interfaces
simultaneously.
2015-11-17 14:17:41 +01:00
Tom Gundersen fb84d8966e networkd: ndisc - fix token support
Fixes CID#1338680. Thanks to Thomas Andersen.
2015-11-17 13:26:51 +01:00
Tom Gundersen 6506063f8f sd-dhcp6-client: allow multiple clients on host
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-17 13:26:51 +01:00
Tom Gundersen 62379e884e networkd: ndisc - always configure dhcp6 client
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-17 13:26:46 +01:00
Lennart Poettering 233f353a22 Merge pull request #1909 from keszybz/filetriggers-v2
Move daemon-reload from package %post scripts to file triggers
2015-11-17 12:30:44 +01:00
Daniel Mack a57246551a Merge pull request #1926 from phomes/include-order-libudev
tree-wide: group include of libudev.h with sd-*
2015-11-17 09:36:25 +01:00
Daniel Mack f21bb7537a Merge pull request #1927 from evverx/no-entries-in-quiet-mode
journalctl: don't print -- No entries -- in quiet mode
2015-11-17 09:34:58 +01:00
Evgeny Vereshchagin bfcb7c5f53 journalctl: don't print -- No entries -- in quiet mode 2015-11-17 06:07:18 +00:00
Thomas Hindoe Paaboel Andersen b4bbcaa9c4 tree-wide: group include of libudev.h with sd-* 2015-11-17 07:06:08 +01:00
Lennart Poettering 6059dab889 siphash: minor coding style fixes and modernizations
Only cosmetics really, doesn't change any actual logic.
2015-11-17 01:08:44 +01:00
Lennart Poettering 4de91d7eaf siphash: fix another alignment issue 2015-11-17 00:56:05 +01:00
Lennart Poettering 23e096cc60 tree-wide: make macros for converting fds to pointers and back generic and use them everywhere 2015-11-17 00:52:10 +01:00
Lennart Poettering b16fee15ff remount-fs: modernize coding style a bit
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-17 00:52:10 +01:00
Lennart Poettering 0c28d28834 sd-ipv4ll: fix error path if sd-ipv4acd allocation fails
Let's make sure the destructor cannot hit the n_ref == 0 case.
2015-11-17 00:52:10 +01:00
Lennart Poettering 65c1d46b09 journald: trivial simplification 2015-11-17 00:52:10 +01:00
Lennart Poettering c292d9e953 coredump: modernize error logging a bit 2015-11-17 00:52:10 +01:00
Lennart Poettering 077ba06eaa core: don't generate warnings when write access to the cgroup fs fails in --user due to EACCES
After all, in the classic hierarchy that's pretty much the default case.
2015-11-17 00:52:10 +01:00
Lennart Poettering 4a0b58c4a3 tree-wide: use right cast macros for UIDs, GIDs and PIDs 2015-11-17 00:52:10 +01:00
Lennart Poettering 357bc17975 Merge pull request #1923 from zonque/siphash
siphash24: let siphash24_finalize() and siphash24() return the result…
2015-11-17 00:32:06 +01:00
Daniel Mack 933f9caeeb siphash24: let siphash24_finalize() and siphash24() return the result directly
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-16 23:17:52 +01:00
Thomas Hindoe Paaboel Andersen cf0fbc49e6 tree-wide: sort includes
Sort the includes accoding to the new coding style.
2015-11-16 22:09:36 +01:00
Thomas Hindoe Paaboel Andersen ab5dfda78f tree-wide: add missing includes
Add a few includes that we rely on to be include already.
2015-11-16 22:08:33 +01:00
Tom Gundersen 63348d13fa networkd: ndisc/dhcpv6 - handle starting running clients
The clients may be triggered to be started repeatedly without being stopped first,
simply swallow the error rather than failing the link.
2015-11-16 19:14:22 +01:00
David Herrmann 5cd6491b71 Merge pull request #1919 from martinpitt/master
siphash42: add tests with unaligned input pointers
2015-11-16 16:47:07 +01:00
David Herrmann f7eb988333 Merge pull request #1918 from dvdhrm/user3
login: allow re-using users (v3)
2015-11-16 16:28:25 +01:00
Martin Pitt 69b98e71b4 siphash42: add tests with unaligned input pointers
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-16 16:24:56 +01:00
David Herrmann 2f157acdae login: ignore JobRemoved of old jobs
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-16 16:15:42 +01:00
Tom Gundersen f5ed8d4a51 Merge pull request #1916 from zonque/align
siphash: alignment
2015-11-16 15:50:13 +01:00
David Herrmann 920a726221 Merge pull request #1915 from poettering/btrfs-root-subvol
tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subv…
2015-11-16 15:48:21 +01:00
David Herrmann 79ee4ad108 login: make sure to replace existing units
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-16 15:43:18 +01:00
David Herrmann a832ab6f99 login: fix re-use of users
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-16 15:34:41 +01:00