1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 15:21:37 +03:00
Commit Graph

23916 Commits

Author SHA1 Message Date
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
Lennart Poettering
d1fcdcd87a sysctl: use %P instead of %p in core pattern
That way we'll get the PID on the host, rather than the one in a PID
namespace. Which should make the coredump handler less confusing.

Fixes #1930.
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
Martin Pitt
0b3209b531 Merge pull request #1932 from teg/networkd-ndisc-timeout
networkd: ndisc timeout
2015-11-17 15:59:46 +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
Beniamino Galvani
23873e25aa libsystemd-network: add support for "Client FQDN" DHCP option
This adds support for the Client Fully Qualified Domain Name (FQDN)
option [RFC 4702] to libsystemd-network. The option can be used to
exchange information about a DHCPv4 client's fully qualified domain
name and about responsibility for updating the DNS RR related to the
client's address assignment.

Other popular DHCP clients (dhclient, dhcpcd) support this option and
it would be useful to have it in networkd too.
2015-11-17 15:06:01 +01:00
Beniamino Galvani
54adabf727 dns-domain: add dns_name_to_wire_format()
The function converts a domain name string to the wire format
described in RFC 1035 Section 3.1.
2015-11-17 15:06:01 +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
Lennart Poettering
e492fa402c Merge pull request #1925 from evverx/fix-pam-systemd-user
tests: copy /etc/pam.d/systemd-user from the host on Debian, Ubuntu
2015-11-17 12:16:57 +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
Daniel Mack
bf7e619b3b Merge pull request #1924 from poettering/some-fixes-2
casting fixes, another siphash24 alignment fix, and more
2015-11-17 09:33:59 +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
f1f8a5a5e1 Some additions to NEWS 2015-11-17 01:31:42 +01:00
Evgeny Vereshchagin
417491f122 tests: copy /etc/pam.d/systemd-user from the host on Debian, Ubuntu
Fixes:
systemd-testsuite systemd[34]: PAM _pam_load_conf_file: unable to open /etc/pam.d/system-auth
systemd-testsuite systemd[34]: PAM _pam_load_conf_file: unable to open /etc/pam.d/system-auth
systemd-testsuite systemd[34]: user@0.service: Failed at step PAM spawning /lib/systemd/systemd: Operation not permitted
...
on Debian, Ubuntu
2015-11-17 00:09:28 +00: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
8702319e11 Merge pull request #1922 from phomes/sort-includes
Sort includes
2015-11-16 23:41:22 +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
David Herrmann
090d92bd6f login: group static fields in "struct User"
Make sure to put static fields together in "struct User". This makes it
easier to figure out the lifetime of each field.
2015-11-16 15:34:41 +01:00