]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
8 years agoman: systemd.exec: add missing variables 1950/head
Evgeny Vereshchagin [Thu, 19 Nov 2015 06:28:03 +0000 (06:28 +0000)] 
man: systemd.exec: add missing variables

8 years agoMerge pull request #1958 from teg/networkd-fixes
Daniel Mack [Thu, 19 Nov 2015 13:18:01 +0000 (14:18 +0100)] 
Merge pull request #1958 from teg/networkd-fixes

nd-ndisc: don't fail if src address is unset

8 years agond-ndisc: don't fail if src address is unset 1958/head
Tom Gundersen [Thu, 19 Nov 2015 11:18:04 +0000 (12:18 +0100)] 
nd-ndisc: don't fail if src address is unset

This happens when running our test-suite over a socketpair,
so don't fall over in that case.

Fixes issue #1952.

8 years agoMerge pull request #1951 from martinpitt/siphash-test-endianess
Filipe Brandenburger [Thu, 19 Nov 2015 08:15:01 +0000 (00:15 -0800)] 
Merge pull request #1951 from martinpitt/siphash-test-endianess

test: remove wrong endianess conversion in test-siphash24

8 years agotest: remove wrong endianess conversion in test-siphash24 1951/head
Martin Pitt [Thu, 19 Nov 2015 06:50:56 +0000 (07:50 +0100)] 
test: remove wrong endianess conversion in test-siphash24

Commit 933f9caee changed the returned result of siphash24_finalize() from
little-endian to native. Follow suit in test-siphash24 and drop the endianess
conversion there as well, so that this succeeds on big-endian machines again.

Fixes #1946.

8 years agoMerge pull request #1931 from bengal/dhcp-fqdn-v2
Tom Gundersen [Thu, 19 Nov 2015 01:27:10 +0000 (02:27 +0100)] 
Merge pull request #1931 from bengal/dhcp-fqdn-v2

libsystemd-network: add support for "Client FQDN" DHCP option (v2)

8 years agoMerge pull request #1944 from poettering/randoms-ec
Tom Gundersen [Thu, 19 Nov 2015 01:22:12 +0000 (02:22 +0100)] 
Merge pull request #1944 from poettering/randoms-ec

add RandomSec= setting to timer units, and more

8 years agoMerge pull request #1948 from teg/networkd-fixes
David Herrmann [Thu, 19 Nov 2015 00:45:19 +0000 (01:45 +0100)] 
Merge pull request #1948 from teg/networkd-fixes

sd-ndisc: drop packets from invalid source addresses

8 years agoRevert "networkd: ndisc - revert to letting the kernel handle NDisc" 1948/head
Tom Gundersen [Wed, 18 Nov 2015 20:32:43 +0000 (21:32 +0100)] 
Revert "networkd: ndisc - revert to letting the kernel handle NDisc"

This reverts commit 23f186494cf041107896fc4bd7fc5b8f921fd79f.

The bug has now been fixed, so we can go back to managing this ourselves.

8 years agosd-ndisc: drop RA packets from non-link-local addresses
Tom Gundersen [Thu, 19 Nov 2015 00:23:24 +0000 (01:23 +0100)] 
sd-ndisc: drop RA packets from non-link-local addresses

See https://tools.ietf.org/html/rfc4861#section-4.2. Some routers (dnsmasq) will send packets
from global addresses, which would break the default route setup, so ignore those.

This is also what the kernel does.

8 years agoMerge pull request #1945 from phomes/indentation-fix
Daniel Mack [Wed, 18 Nov 2015 18:31:08 +0000 (19:31 +0100)] 
Merge pull request #1945 from phomes/indentation-fix

network: fix indentation

8 years agonetwork: fix indentation 1945/head
Thomas Hindoe Paaboel Andersen [Wed, 18 Nov 2015 18:08:44 +0000 (19:08 +0100)] 
network: fix indentation

8 years agoupdate TODO 1944/head
Lennart Poettering [Wed, 18 Nov 2015 12:37:10 +0000 (13:37 +0100)] 
update TODO

8 years agoresolved: shortcut lookups names in the local zone
Lennart Poettering [Wed, 18 Nov 2015 14:33:37 +0000 (15:33 +0100)] 
resolved: shortcut lookups names in the local zone

Previously, we'd always generate a packet on the wire, even for names
that are within our local zone. Shortcut this, and always check the
local zone first. This should minimize generated traffic and improve
security.

8 years agoresolved: simplify dns zone logic: take a single key when looking up entries
Lennart Poettering [Wed, 18 Nov 2015 14:30:54 +0000 (15:30 +0100)] 
resolved: simplify dns zone logic: take a single key when looking up entries

Instead of taking a DnsQuestion object (i.e. an array of keys) only take
a single key. This simplifies things a bit, and as DNS/LLMNR require a
single question per query message was unnecessary anyway.

This mimics a similar change that was done a while ago for the dns cache
logic.

8 years agocore: add new RandomSec= setting for time units
Lennart Poettering [Wed, 18 Nov 2015 12:37:30 +0000 (13:37 +0100)] 
core: add new RandomSec= setting for time units

This allows configuration of a random time on top of the elapse events,
in order to spread time events in a network evenly across a range.

8 years agosystemctl: open pager for 'status', since process tree can get very long
Lennart Poettering [Wed, 18 Nov 2015 11:20:21 +0000 (12:20 +0100)] 
systemctl: open pager for 'status', since process tree can get very long

8 years agosystemctl: make sure 'status' shows whether units are transient
Lennart Poettering [Wed, 18 Nov 2015 11:20:04 +0000 (12:20 +0100)] 
systemctl: make sure 'status' shows whether units are transient

8 years agobus-util: make sure --property=RemainAfterElapse=1 works
Lennart Poettering [Wed, 18 Nov 2015 11:19:42 +0000 (12:19 +0100)] 
bus-util: make sure --property=RemainAfterElapse=1 works

8 years agobus-util: add in forgotten error messages
Lennart Poettering [Wed, 18 Nov 2015 11:19:15 +0000 (12:19 +0100)] 
bus-util: add in forgotten error messages

8 years agoman: improve and fix documentation for RemainAfterElapse=
Lennart Poettering [Wed, 18 Nov 2015 11:18:27 +0000 (12:18 +0100)] 
man: improve and fix documentation for RemainAfterElapse=

8 years agoNEWS: add in missing NEWS entry for 228 feature RemainAfterElapse=
Lennart Poettering [Wed, 18 Nov 2015 11:17:57 +0000 (12:17 +0100)] 
NEWS: add in missing NEWS entry for 228 feature RemainAfterElapse=

8 years agoMerge pull request #1943 from teg/networkd-fixes
Martin Pitt [Wed, 18 Nov 2015 14:20:35 +0000 (15:20 +0100)] 
Merge pull request #1943 from teg/networkd-fixes

networkd: fixes

8 years agonetworkd: dhcp4 - dirty link when the lease changes 1943/head
Tom Gundersen [Wed, 18 Nov 2015 13:21:06 +0000 (14:21 +0100)] 
networkd: dhcp4 - dirty link when the lease changes

Without this commit, we risk not picking up DNS addresses
as soon as they are available.

8 years agonetworkd: ndisc - revert to letting the kernel handle NDisc
Tom Gundersen [Wed, 18 Nov 2015 12:43:49 +0000 (13:43 +0100)] 
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.

8 years agoMerge pull request #1940 from evverx/man-journald-syslog-forwarding
Lennart Poettering [Wed, 18 Nov 2015 10:32:45 +0000 (11:32 +0100)] 
Merge pull request #1940 from evverx/man-journald-syslog-forwarding

man: remove section about syslog forwarding

8 years agoMerge pull request #1912 from mustrumr/calendarspec-sub-second-v3
Lennart Poettering [Wed, 18 Nov 2015 10:31:42 +0000 (11:31 +0100)] 
Merge pull request #1912 from mustrumr/calendarspec-sub-second-v3

Calendarspec sub second v3

8 years agoMerge pull request #1889 from ssahani/socket-proto
Lennart Poettering [Wed, 18 Nov 2015 10:30:06 +0000 (11:30 +0100)] 
Merge pull request #1889 from ssahani/socket-proto

socket: Add support for socket protcol

8 years agobuild: bump version numbers v228
David Herrmann [Wed, 18 Nov 2015 07:59:06 +0000 (08:59 +0100)] 
build: bump version numbers

Prepare for v228 release and bump version numbers.

8 years agoMerge pull request #1936 from poettering/transient-timers
David Herrmann [Wed, 18 Nov 2015 07:05:12 +0000 (08:05 +0100)] 
Merge pull request #1936 from poettering/transient-timers

Fix transient timers and other fixes

8 years agoSocket: socket protocol add to dbus properties 1889/head
Susant Sahani [Wed, 18 Nov 2015 04:03:51 +0000 (09:33 +0530)] 
Socket: socket protocol add to dbus properties

8 years agosocket: Add support for socket protcol
Susant Sahani [Mon, 16 Nov 2015 06:45:47 +0000 (12:15 +0530)] 
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:

8 years agoman: remove section about syslog forwarding 1940/head
Evgeny Vereshchagin [Wed, 18 Nov 2015 02:02:29 +0000 (02:02 +0000)] 
man: remove section about syslog forwarding

journald: turn ForwardToSyslog= off by default
After all, rsyslog and friends nowadays read their data directly from
the journal, hence the forwarding is unnecessary in most cases.

see 46b131574fdd7d77c15a0919ca9010c

8 years agoman: calendarspec sub-second support 1912/head
Hristo Venev [Mon, 16 Nov 2015 08:15:17 +0000 (10:15 +0200)] 
man: calendarspec sub-second support

8 years agotest: calendarspec sub-second tests
Hristo Venev [Mon, 16 Nov 2015 08:15:16 +0000 (10:15 +0200)] 
test: calendarspec sub-second tests

8 years agocalendarspec: sub-second support, v3
Hristo Venev [Mon, 16 Nov 2015 08:15:05 +0000 (10:15 +0200)] 
calendarspec: sub-second support, v3

8 years agorun: automatically clean up transient timers created by systemd-run 1936/head
Lennart Poettering [Tue, 17 Nov 2015 19:38:12 +0000 (20:38 +0100)] 
run: automatically clean up transient timers created by systemd-run

8 years agocore: add RemainAfterElapse= setting to timer units
Lennart Poettering [Tue, 17 Nov 2015 19:13:36 +0000 (20:13 +0100)] 
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.

8 years agocore: Minor cleaning up of unit/log status and log logic
Lennart Poettering [Tue, 17 Nov 2015 16:11:44 +0000 (17:11 +0100)] 
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

8 years agorun: when automatically generating names for transient units, use unique bus ID,...
Lennart Poettering [Tue, 17 Nov 2015 13:11:12 +0000 (14:11 +0100)] 
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.

8 years agocore: make unit_make_transient() more thorough
Lennart Poettering [Tue, 17 Nov 2015 13:09:16 +0000 (14:09 +0100)] 
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.

8 years agocore: dispatch load queue each time we set up a transient units
Lennart Poettering [Tue, 17 Nov 2015 13:07:38 +0000 (14:07 +0100)] 
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.

8 years agocore: move check whether a unit is suitable to become transient into unit.c
Lennart Poettering [Tue, 17 Nov 2015 13:04:40 +0000 (14:04 +0100)] 
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.

8 years agocore: generate nice error messages for auxiliary transient units, too
Lennart Poettering [Tue, 17 Nov 2015 13:03:13 +0000 (14:03 +0100)] 
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.

8 years agosysctl: use %P instead of %p in core pattern
Lennart Poettering [Tue, 17 Nov 2015 13:01:20 +0000 (14:01 +0100)] 
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.

8 years agoMerge pull request #1920 from teg/networkd-fixes
Martin Pitt [Tue, 17 Nov 2015 16:01:32 +0000 (17:01 +0100)] 
Merge pull request #1920 from teg/networkd-fixes

networkd fixes

8 years agoMerge pull request #1932 from teg/networkd-ndisc-timeout
Martin Pitt [Tue, 17 Nov 2015 14:59:46 +0000 (15:59 +0100)] 
Merge pull request #1932 from teg/networkd-ndisc-timeout

networkd: ndisc timeout

8 years agonetworkd: ndisc - consider configured on timeout 1932/head
Tom Gundersen [Tue, 17 Nov 2015 14:32:39 +0000 (15:32 +0100)] 
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.

8 years agohostname-util: fix code comment 1931/head
Beniamino Galvani [Tue, 17 Nov 2015 13:08:37 +0000 (14:08 +0100)] 
hostname-util: fix code comment

8 years agolibsystemd-network: add support for "Client FQDN" DHCP option
Beniamino Galvani [Mon, 16 Nov 2015 09:17:48 +0000 (10:17 +0100)] 
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.

8 years agodns-domain: add dns_name_to_wire_format()
Beniamino Galvani [Mon, 16 Nov 2015 16:35:50 +0000 (17:35 +0100)] 
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.

8 years agosd-dhcp6-client: bind to link-local address 1920/head
Tom Gundersen [Mon, 16 Nov 2015 16:43:08 +0000 (17:43 +0100)] 
sd-dhcp6-client: bind to link-local address

This ensures that several DHCPv6 clients can run on separate interfaces
simultaneously.

8 years agonetworkd: ndisc - fix token support
Tom Gundersen [Tue, 17 Nov 2015 12:14:36 +0000 (13:14 +0100)] 
networkd: ndisc - fix token support

Fixes CID#1338680. Thanks to Thomas Andersen.

8 years agosd-dhcp6-client: allow multiple clients on host
Tom Gundersen [Mon, 16 Nov 2015 18:05:27 +0000 (19:05 +0100)] 
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).

8 years agonetworkd: ndisc - always configure dhcp6 client
Tom Gundersen [Mon, 16 Nov 2015 15:47:18 +0000 (16:47 +0100)] 
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.

8 years agoMerge pull request #1909 from keszybz/filetriggers-v2
Lennart Poettering [Tue, 17 Nov 2015 11:30:44 +0000 (12:30 +0100)] 
Merge pull request #1909 from keszybz/filetriggers-v2

Move daemon-reload from package %post scripts to file triggers

8 years agoMerge pull request #1925 from evverx/fix-pam-systemd-user
Lennart Poettering [Tue, 17 Nov 2015 11:16:57 +0000 (12:16 +0100)] 
Merge pull request #1925 from evverx/fix-pam-systemd-user

tests: copy /etc/pam.d/systemd-user from the host on Debian, Ubuntu

8 years agoMerge pull request #1926 from phomes/include-order-libudev
Daniel Mack [Tue, 17 Nov 2015 08:36:25 +0000 (09:36 +0100)] 
Merge pull request #1926 from phomes/include-order-libudev

tree-wide: group include of libudev.h with sd-*

8 years agoMerge pull request #1927 from evverx/no-entries-in-quiet-mode
Daniel Mack [Tue, 17 Nov 2015 08:34:58 +0000 (09:34 +0100)] 
Merge pull request #1927 from evverx/no-entries-in-quiet-mode

journalctl: don't print -- No entries -- in quiet mode

8 years agoMerge pull request #1924 from poettering/some-fixes-2
Daniel Mack [Tue, 17 Nov 2015 08:33:59 +0000 (09:33 +0100)] 
Merge pull request #1924 from poettering/some-fixes-2

casting fixes, another siphash24 alignment fix, and more

8 years agojournalctl: don't print -- No entries -- in quiet mode 1927/head
Evgeny Vereshchagin [Tue, 17 Nov 2015 06:06:52 +0000 (06:06 +0000)] 
journalctl: don't print -- No entries -- in quiet mode

8 years agotree-wide: group include of libudev.h with sd-* 1926/head
Thomas Hindoe Paaboel Andersen [Tue, 17 Nov 2015 05:52:45 +0000 (06:52 +0100)] 
tree-wide: group include of libudev.h with sd-*

8 years agoSome additions to NEWS
Lennart Poettering [Tue, 17 Nov 2015 00:31:42 +0000 (01:31 +0100)] 
Some additions to NEWS

8 years agotests: copy /etc/pam.d/systemd-user from the host on Debian, Ubuntu 1925/head
Evgeny Vereshchagin [Mon, 16 Nov 2015 23:58:20 +0000 (23:58 +0000)] 
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

8 years agosiphash: minor coding style fixes and modernizations 1924/head
Lennart Poettering [Tue, 17 Nov 2015 00:08:44 +0000 (01:08 +0100)] 
siphash: minor coding style fixes and modernizations

Only cosmetics really, doesn't change any actual logic.

8 years agosiphash: fix another alignment issue
Lennart Poettering [Mon, 16 Nov 2015 23:56:05 +0000 (00:56 +0100)] 
siphash: fix another alignment issue

8 years agotree-wide: make macros for converting fds to pointers and back generic and use them...
Lennart Poettering [Mon, 16 Nov 2015 23:51:24 +0000 (00:51 +0100)] 
tree-wide: make macros for converting fds to pointers and back generic and use them everywhere

8 years agoremount-fs: modernize coding style a bit
Lennart Poettering [Mon, 16 Nov 2015 23:27:18 +0000 (00:27 +0100)] 
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.

8 years agosd-ipv4ll: fix error path if sd-ipv4acd allocation fails
Lennart Poettering [Mon, 16 Nov 2015 23:16:21 +0000 (00:16 +0100)] 
sd-ipv4ll: fix error path if sd-ipv4acd allocation fails

Let's make sure the destructor cannot hit the n_ref == 0 case.

8 years agojournald: trivial simplification
Lennart Poettering [Mon, 16 Nov 2015 23:02:43 +0000 (00:02 +0100)] 
journald: trivial simplification

8 years agocoredump: modernize error logging a bit
Lennart Poettering [Mon, 16 Nov 2015 23:02:27 +0000 (00:02 +0100)] 
coredump: modernize error logging a bit

8 years agocore: don't generate warnings when write access to the cgroup fs fails in --user...
Lennart Poettering [Mon, 16 Nov 2015 23:01:00 +0000 (00:01 +0100)] 
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.

8 years agotree-wide: use right cast macros for UIDs, GIDs and PIDs
Lennart Poettering [Mon, 16 Nov 2015 23:00:32 +0000 (00:00 +0100)] 
tree-wide: use right cast macros for UIDs, GIDs and PIDs

8 years agoMerge pull request #1923 from zonque/siphash
Lennart Poettering [Mon, 16 Nov 2015 23:32:06 +0000 (00:32 +0100)] 
Merge pull request #1923 from zonque/siphash

siphash24: let siphash24_finalize() and siphash24() return the result…

8 years agoMerge pull request #1922 from phomes/sort-includes
Daniel Mack [Mon, 16 Nov 2015 22:41:22 +0000 (23:41 +0100)] 
Merge pull request #1922 from phomes/sort-includes

Sort includes

8 years agosiphash24: let siphash24_finalize() and siphash24() return the result directly 1923/head
Daniel Mack [Mon, 16 Nov 2015 22:17:52 +0000 (23:17 +0100)] 
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.

8 years agotree-wide: sort includes 1922/head
Thomas Hindoe Paaboel Andersen [Mon, 16 Nov 2015 21:09:36 +0000 (22:09 +0100)] 
tree-wide: sort includes

Sort the includes accoding to the new coding style.

8 years agotree-wide: add missing includes
Thomas Hindoe Paaboel Andersen [Mon, 16 Nov 2015 19:13:09 +0000 (20:13 +0100)] 
tree-wide: add missing includes

Add a few includes that we rely on to be include already.

8 years agonetworkd: ndisc/dhcpv6 - handle starting running clients
Tom Gundersen [Mon, 16 Nov 2015 15:46:14 +0000 (16:46 +0100)] 
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.

8 years agoMerge pull request #1919 from martinpitt/master
David Herrmann [Mon, 16 Nov 2015 15:47:07 +0000 (16:47 +0100)] 
Merge pull request #1919 from martinpitt/master

siphash42: add tests with unaligned input pointers

8 years agoMerge pull request #1918 from dvdhrm/user3
David Herrmann [Mon, 16 Nov 2015 15:28:25 +0000 (16:28 +0100)] 
Merge pull request #1918 from dvdhrm/user3

login: allow re-using users (v3)

8 years agosiphash42: add tests with unaligned input pointers 1919/head
Martin Pitt [Mon, 16 Nov 2015 15:24:56 +0000 (16:24 +0100)] 
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!

8 years agologin: ignore JobRemoved of old jobs 1918/head
David Herrmann [Mon, 16 Nov 2015 14:45:02 +0000 (15:45 +0100)] 
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.

8 years agoMerge pull request #1916 from zonque/align
Tom Gundersen [Mon, 16 Nov 2015 14:50:13 +0000 (15:50 +0100)] 
Merge pull request #1916 from zonque/align

siphash: alignment

8 years agoMerge pull request #1915 from poettering/btrfs-root-subvol
David Herrmann [Mon, 16 Nov 2015 14:48:21 +0000 (15:48 +0100)] 
Merge pull request #1915 from poettering/btrfs-root-subvol

tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subv…

8 years agologin: make sure to replace existing units
David Herrmann [Mon, 16 Nov 2015 14:43:18 +0000 (15:43 +0100)] 
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.

8 years agologin: fix re-use of users
David Herrmann [Tue, 29 Sep 2015 09:36:18 +0000 (11:36 +0200)] 
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.

8 years agologin: group static fields in "struct User"
David Herrmann [Tue, 29 Sep 2015 09:20:52 +0000 (11:20 +0200)] 
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.

8 years agologin: make user->service static
David Herrmann [Tue, 29 Sep 2015 09:18:46 +0000 (11:18 +0200)] 
login: make user->service static

Just like user->slice, there is no reason to store the unit name in /run,
nor should we allocate it dynamically on job instantiation/removal. Just
keep it statically around at all times and rely on user->started ||
user->stopping to figure out whether the unit exists or not.

8 years agologin: make user_new() and user_free() follow coding-style
David Herrmann [Tue, 29 Sep 2015 09:10:01 +0000 (11:10 +0200)] 
login: make user_new() and user_free() follow coding-style

Few changes to user_new() and user_free():
 - Use _cleanup_(user_freep) in constructor
 - return 'int' from user_new()
 - make user_free() deal with partially initialized objects
 - keep reverse-order in user_free() compared to user_new()
 - make user_free() return NULL
 - make user_free() accept NULL as no-op

8 years agologin: keep user->slice constant
David Herrmann [Tue, 29 Sep 2015 09:03:04 +0000 (11:03 +0200)] 
login: keep user->slice constant

Currently, we allocate user->slice when starting a slice, but we never
release it. This is incompatible if we want to re-use a user object once
it was stopped. Hence, make sure user->slice is allocated statically on
the user object and use "u->started || u->stopping" as an indication
whether the slice is actually available on pid1 or not.

8 years agologin: simply XDG_RUNTIME_DIR management
David Herrmann [Mon, 28 Sep 2015 10:53:42 +0000 (12:53 +0200)] 
login: simply XDG_RUNTIME_DIR management

Lets not pretend we support changing XDG_RUNTIME_DIR via logind state
files. There is no reason to ever write the string into /run, as we
allocate it statically based on the UID, anyway. Lets stop that and just
allocate the runtime_path in "struct User" at all times.

We keep writing it into the /run state to make sure pam_systemd of
previous installs can still read it. However, pam_systemd is now fixed to
allocate it statically as well, so we can safely remove that some time in
the future.

Last but not least: If software depends on systemd, they're more than free
to assume /run/user/$uid is their runtime dir. Lets not require sane
applications to query the environment to get their runtime dir. As long as
applications know their login-UID, they should be safe to deduce the
runtime dir.

8 years agotmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subvolume 1915/head
Lennart Poettering [Mon, 16 Nov 2015 14:25:42 +0000 (15:25 +0100)] 
tmpfiles: create subvolumes for "v", "q", and "Q" only if / is a subvolume

It's not a good idea to create subvolumes for parts of the OS tree (such
as /home, or /var) if the root directory is not a subvolume too. We
shouldn't assume control of "heavier" objects such as subvolumes, if the
originating object (the root directory) is a "light-weight" object, i.e.
a plain directory.

Effectively this means that chroot() environments that are run on a
plain directory do not have to deal with problems around systemd
creating subvolumes that cannot be removed with a simple "rm" anymore.
However, if the chroot manager creates a proper subvolume for such an
environment it will also get further subvolumes placed in there, under
the assumption that the manager understands the concept of subvolumes in
that case.

8 years agosiphash24: change result argument to uint64_t 1916/head
Martin Pitt [Mon, 16 Nov 2015 08:21:20 +0000 (09:21 +0100)] 
siphash24: change result argument to uint64_t

Change the "out" parameter from uint8_t[8] to uint64_t. On architectures which
enforce pointer alignment this fixes crashes when we previously cast an
unaligned array to uint64_t*, and on others this should at least improve
performance as the compiler now aligns these properly.

This also simplifies the code in most cases by getting rid of typecasts. The
only place which we can't change is struct duid's en.id, as that is _packed_
and public API, so we can't enforce alignment of the "id" field and have to
use memcpy instead.

8 years agosiphash24: fix memory alignment
Daniel Mack [Mon, 16 Nov 2015 12:08:34 +0000 (13:08 +0100)] 
siphash24: fix memory alignment

Use unaligned_read_le64() to access input buffer when reading complete
64-bit words.

This should fix memory traps on platforms with strict aliasing.

8 years agobasic: add unaligned macros for little endian
Daniel Mack [Mon, 16 Nov 2015 12:07:12 +0000 (13:07 +0100)] 
basic: add unaligned macros for little endian

Also add test code for that.

8 years agoMerge pull request #1886 from poettering/tasks-max
David Herrmann [Mon, 16 Nov 2015 14:09:55 +0000 (15:09 +0100)] 
Merge pull request #1886 from poettering/tasks-max

Enable TasksMax by default for all units

8 years agoTODO: sort
David Herrmann [Mon, 16 Nov 2015 14:05:00 +0000 (15:05 +0100)] 
TODO: sort

8 years agoMerge pull request #1907 from evverx/fix-pam-install-on-debian
Lennart Poettering [Mon, 16 Nov 2015 11:33:09 +0000 (12:33 +0100)] 
Merge pull request #1907 from evverx/fix-pam-install-on-debian

tests: fix pam_modules installation on Debian (and Debian-like systems)

8 years agovirt: sort #includes alphabetically
Martin Pitt [Mon, 16 Nov 2015 11:00:38 +0000 (12:00 +0100)] 
virt: sort #includes alphabetically

nitpick from PR #1910