]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
8 years agoutil: make hostname_is_valid() easier to read
Lennart Poettering [Sun, 23 Aug 2015 12:29:59 +0000 (14:29 +0200)] 
util: make hostname_is_valid() easier to read

Add more comments, and rename some parameters and variables to be more
expressive.

8 years agomachined: always look for leader PID first
Lennart Poettering [Sun, 23 Aug 2015 12:04:31 +0000 (14:04 +0200)] 
machined: always look for leader PID first

When looking for the machine belonging to a PID, always look for the
leader first, only then fall back to a cgroup check. We keep direct
track of the leader PID, but only indirectly of the cgroup, hence prefer
the PID.

8 years agomachinectl: add new "machinectl shell" command
Lennart Poettering [Sun, 23 Aug 2015 11:24:10 +0000 (13:24 +0200)] 
machinectl: add new "machinectl shell" command

This makes use of machined's new OpenShell() command and allows opening
a new interactive shell in any container.

8 years agomachined: add new OpenShell() bus call
Lennart Poettering [Sun, 23 Aug 2015 11:20:58 +0000 (13:20 +0200)] 
machined: add new OpenShell() bus call

This new bus call opens an interactive shell in a container. It works
like the existing OpenLogin() call, but does not involve getty, and
instead opens an arbitrary command line.

This is similar to "systemd-run -t -M" but is controlled by a specific
PolicyKit privilege.

8 years agocore: open up more executable properties via the bus
Lennart Poettering [Sun, 23 Aug 2015 11:19:21 +0000 (13:19 +0200)] 
core: open up more executable properties via the bus

This is preparation for a later commit that makes use of these
properties for spawning an interactive shell in a container.

8 years agocore: optionally create LOGIN_PROCESS or USER_PROCESS utmp entries
Lennart Poettering [Sun, 23 Aug 2015 11:14:04 +0000 (13:14 +0200)] 
core: optionally create LOGIN_PROCESS or USER_PROCESS utmp entries

When generating utmp/wtmp entries, optionally add both LOGIN_PROCESS and
INIT_PROCESS entries or even all three of LOGIN_PROCESS, INIT_PROCESS
and USER_PROCESS entries, instead of just a single INIT_PROCESS entry.

With this change systemd may be used to not only invoke a getty directly
in a SysV-compliant way but alternatively also a login(1) implementation
or even forego getty and login entirely, and invoke arbitrary shells in
a way that they appear in who(1) or w(1).

This is preparation for a later commit that adds a "machinectl shell"
operation to invoke a shell in a container, in a way that is compatible
with who(1) and w(1).

8 years agoMerge pull request #1012 from gentoo-root/master
Tom Gundersen [Mon, 24 Aug 2015 16:37:02 +0000 (18:37 +0200)] 
Merge pull request #1012 from gentoo-root/master

sd-device: fix enumeration of devices without subsystem

8 years agosd-bus: don't list activators as proper peers
David Herrmann [Mon, 24 Aug 2015 11:41:03 +0000 (13:41 +0200)] 
sd-bus: don't list activators as proper peers

If a connection passed KDBUS_HELLO_ACTIVATOR, it cannot do I/O on the
bus. Hence, we should not treat it as proper peer. To actually query it,
you have to explicitly ask for activators.

This makes kdbus in-line with what dbus-daemon does.

8 years agoRevert "sd-bus: include queried path in GetManagedObjects"
David Herrmann [Mon, 24 Aug 2015 10:56:37 +0000 (12:56 +0200)] 
Revert "sd-bus: include queried path in GetManagedObjects"

This reverts commit 92d16a53e385781a55d9231d9f8f89c1747ab0e4. As it turns
out, this is not how ObjectManager is supposed to work. It is just a
special behavior of BlueZ, but no-one else implements it this way.

Revert the patch as discussed on github, and as such revert to the
previous behavior (as described in the spec).

8 years agoMerge pull request #1014 from whot/hwdb-updates
Daniel Mack [Mon, 24 Aug 2015 08:46:59 +0000 (10:46 +0200)] 
Merge pull request #1014 from whot/hwdb-updates

hwdb: add more DPI entries

8 years agohwdb: add more DPI entries 1014/head
Peter Hutterer [Mon, 24 Aug 2015 00:47:30 +0000 (10:47 +1000)] 
hwdb: add more DPI entries

Provided by Francois Marier

8 years agosd-device: fix enumeration of devices without subsystem 1012/head
Maxim Mikityanskiy [Sat, 22 Aug 2015 08:33:32 +0000 (11:33 +0300)] 
sd-device: fix enumeration of devices without subsystem

Prior to commit c32eb440bab953a0169cd207dfef5cad16dfb340, libudev's
function udev_enumerate_scan_devices() had behaved differently. If
parent match was added with udev_enumerate_add_match_parent(),
udev_enumerate_scan_devices() did not return error if some child devices
had no subsystem symlink in sysfs. An example of such devices is USB
endpoints /sys/bus/usb/devices/*/ep_*. If there was a parent match
against USB device, old implementation of udev_enumerate_scan_devices()
did not treat ep_* device directories without subsystem symlink as error
and just ignored them, but new implementation returns -ENOENT (also
ignoring these devices) though correctly enumerates all other matching
devices.

To compare, you could look at 96df036fe3d25525a44f5efdb2fc8560e82e6cfd,
in src/libudev/libudev-enumerate.c, function parent_add_child():

    if (!match_subsystem(enumerate, udev_device_get_subsystem(dev)))
            goto nomatch;

udev_device_get_subsystem() was returning NULL, match_subsystem() was
returning false, and USB endpoint device was ignored.

New parent_add_child() from src/libsystemd/sd-device/device-enumerator.c
checks return value of sd_device_get_subsystem() and fails if subsystem
was not found. Absence of subsystem symlink should not be really treated
as error because all enumerations of children of USB devices will fail
with -ENOENT. This new behavior also breaks system-config-printer.

So restore old behavior and treat absence of subsystem symlink as no
match.

8 years agoMerge pull request #1010 from poettering/resolved-question-key
Tom Gundersen [Fri, 21 Aug 2015 23:57:58 +0000 (01:57 +0200)] 
Merge pull request #1010 from poettering/resolved-question-key

only maintain one question RR key per transaction and other fixes

8 years agoMerge pull request #1009 from phomes/master
Lennart Poettering [Fri, 21 Aug 2015 21:07:49 +0000 (23:07 +0200)] 
Merge pull request #1009 from phomes/master

remove unused variables

8 years agoresolved: always split up questions into per-RR transactions 1010/head
Lennart Poettering [Fri, 21 Aug 2015 20:59:38 +0000 (22:59 +0200)] 
resolved: always split up questions into per-RR transactions

We do so for Unicast DNS and LLMNR anyway, let's also do this for mDNS,
and simplify things.

8 years agoresolved: only maintain one question RR key per transaction
Lennart Poettering [Fri, 21 Aug 2015 20:55:01 +0000 (22:55 +0200)] 
resolved: only maintain one question RR key per transaction

Let's simplify things and only maintain a single RR key per transaction
object, instead of a full DnsQuestion. Unicast DNS and LLMNR don't
support multiple questions per packet anway, and Multicast DNS suggests
coalescing questions beyond a single dns query, across the whole system.

8 years agoresolved: add extra check for family when doing LLMNR TCP connections
Lennart Poettering [Fri, 21 Aug 2015 20:51:05 +0000 (22:51 +0200)] 
resolved: add extra check for family when doing LLMNR TCP connections

It shouldn't happen that we try to resolve IPv4 addresses via LLMNR on
IPv6 and vice versa, but let's explicitly verify that we don't turn an
IPv4 LLMNR lookup into an IPv6 TCP connection.

8 years agoresolved: add reference to negative caching RFC
Lennart Poettering [Fri, 21 Aug 2015 20:47:06 +0000 (22:47 +0200)] 
resolved: add reference to negative caching RFC

8 years agoremove unused variables 1009/head
Thomas Hindoe Paaboel Andersen [Fri, 21 Aug 2015 20:17:48 +0000 (22:17 +0200)] 
remove unused variables

8 years agoMerge pull request #1005 from poettering/resolved-refuse-compression
Tom Gundersen [Fri, 21 Aug 2015 14:23:02 +0000 (16:23 +0200)] 
Merge pull request #1005 from poettering/resolved-refuse-compression

Don't do name compression when passing RRs across the bus

8 years agoMerge pull request #1004 from poettering/systemd-run-man
Tom Gundersen [Fri, 21 Aug 2015 14:21:21 +0000 (16:21 +0200)] 
Merge pull request #1004 from poettering/systemd-run-man

man: rework systemd-run man page a bit

8 years agoresolve-host: Minor wording improvement 1005/head
Lennart Poettering [Fri, 21 Aug 2015 14:06:25 +0000 (16:06 +0200)] 
resolve-host: Minor wording improvement

8 years agoresolved: when passing RRs across the bus, make sure not to use name compression
Lennart Poettering [Fri, 21 Aug 2015 14:04:59 +0000 (16:04 +0200)] 
resolved: when passing RRs across the bus, make sure not to use name compression

We explicitly need to turn off name compression when marshalling or
demarshalling RRs for bus transfer, since they otherwise refer to packet
offsets that reference packets that are not transmitted themselves.

8 years agoman: rework systemd-run man page a bit 1004/head
Lennart Poettering [Fri, 21 Aug 2015 14:04:16 +0000 (16:04 +0200)] 
man: rework systemd-run man page a bit

8 years agoMerge pull request #1003 from poettering/kmod-log-debug
Daniel Mack [Fri, 21 Aug 2015 13:37:44 +0000 (15:37 +0200)] 
Merge pull request #1003 from poettering/kmod-log-debug

core: downgrade "Module inserted" message for kmod to DEBUG

8 years agocore: downgrade "Module inserted" message for kmod to DEBUG 1003/head
Lennart Poettering [Fri, 21 Aug 2015 13:28:01 +0000 (15:28 +0200)] 
core: downgrade "Module inserted" message for kmod to DEBUG

Closes #919.

8 years agoMerge pull request #1002 from poettering/resolved-various
Tom Gundersen [Fri, 21 Aug 2015 13:26:45 +0000 (15:26 +0200)] 
Merge pull request #1002 from poettering/resolved-various

resolved: synthesize more RRs locally and other fixes

8 years agoresolved: rework synthesizing logic 1002/head
Lennart Poettering [Mon, 17 Aug 2015 21:54:08 +0000 (23:54 +0200)] 
resolved: rework synthesizing logic

With this change we'll now also generate synthesized RRs for the local
LLMNR hostname (first label of system hostname), the local mDNS hostname
(first label of system hostname suffixed with .local), the "gateway"
hostname and all the reverse PTRs. This hence takes over part of what
nss-myhostname already implemented.

Local hostnames resolve to the set of local IP addresses. Since the
addresses are possibly on different interfaces it is necessary to change
the internal DnsAnswer object to track per-RR interface indexes, and to
change the bus API to always return the interface per-address rather than
per-reply. This change also patches  the existing clients for resolved
accordingly (nss-resolve + systemd-resolve-host).

This also changes the routing logic for queries slightly: we now ensure
that the local hostname is never resolved via LLMNR, thus making it
trustable on the local system.

8 years agoresolved: make DnsQuestion logic handle NULL arrays as empty arrays
Lennart Poettering [Fri, 21 Aug 2015 10:28:59 +0000 (12:28 +0200)] 
resolved: make DnsQuestion logic handle NULL arrays as empty arrays

Following our usual logic of treating NULL arrays as empty arrays (for
example, see strv.c) do the same for questions too.

8 years agoresolved: minor typo comment fix
Lennart Poettering [Fri, 21 Aug 2015 10:26:34 +0000 (12:26 +0200)] 
resolved: minor typo comment fix

8 years agodns-domain: add call for concatenating two domain names
Lennart Poettering [Mon, 17 Aug 2015 22:05:41 +0000 (00:05 +0200)] 
dns-domain: add call for concatenating two domain names

This is specifically useful for appending the mDNS ".local" suffix to a
single-label hostname in the most correct way. (used in later commit)

8 years agoMerge pull request #924 from pfl/systemd-dhcp6
Tom Gundersen [Fri, 21 Aug 2015 10:22:38 +0000 (12:22 +0200)] 
Merge pull request #924 from pfl/systemd-dhcp6

sd-dhcpv6: support DNS and NTP information

8 years agoMerge pull request #1001 from major/add-bonding-docs
Tom Gundersen [Fri, 21 Aug 2015 10:17:27 +0000 (12:17 +0200)] 
Merge pull request #1001 from major/add-bonding-docs

man: networkd - adding bonding examples for systemd-networkd

8 years agohostname-util: introduce new is_gateway_hostname() call
Lennart Poettering [Mon, 17 Aug 2015 21:35:09 +0000 (23:35 +0200)] 
hostname-util: introduce new is_gateway_hostname() call

This moves is_gateway() from nss-myhostname into the basic APIs, and
makes it more like is_localhost(). Also, we rename it to
is_gateway_hostname() to make it more expressive.

Sharing this function in src/basic/ allows us to reuse the function for
routing name requests in resolved (in a later commit).

8 years agonetwork: Save DNS and NTP data for a DHCPv6 link 924/head
Patrik Flykt [Mon, 6 Jul 2015 12:00:12 +0000 (15:00 +0300)] 
network: Save DNS and NTP data for a DHCPv6 link

Append DNS and NTP data obtained via DHCPv6 when the Link is saved.

8 years agonetwork: Add function to serialize an IPv6 address
Patrik Flykt [Mon, 6 Jul 2015 09:50:47 +0000 (12:50 +0300)] 
network: Add function to serialize an IPv6 address

8 years agotest-dhcp6-client: Add tests for DNS and NTP options
Patrik Flykt [Fri, 10 Jul 2015 08:42:11 +0000 (11:42 +0300)] 
test-dhcp6-client: Add tests for DNS and NTP options

Test option setting and getting in test_advertise_option(). Verify
that the information provided in DHCPv6 Reply messages is also
available in the Information and Solicit callbacks.

8 years agosd-dhcp6: Support deprecated SNTP Configuration Option
Patrik Flykt [Fri, 10 Apr 2015 13:17:22 +0000 (16:17 +0300)] 
sd-dhcp6: Support deprecated SNTP Configuration Option

Although the SNTP option specified in RFC 4075 has been deprecated, some
servers are still sending NTP information with this option. Use the SNTP
information provided only if the NTP option is not present.

Update the test case as SNTP information is also requested.

8 years agosd-dhcp6: Add support for DHCPv6 NTP Server Option
Patrik Flykt [Fri, 10 Apr 2015 12:59:00 +0000 (15:59 +0300)] 
sd-dhcp6: Add support for DHCPv6 NTP Server Option

Support NTP server and multicast addresses and NTP server domain names
as specified in RFC 5908.

8 years agosd-dhcp6: Add support for DHCPv6 DNS Domain Search List option
Patrik Flykt [Thu, 2 Apr 2015 12:34:12 +0000 (15:34 +0300)] 
sd-dhcp6: Add support for DHCPv6 DNS Domain Search List option

Support DHCPv6 DNS search list option as specified in RFC 3646. This
option contains a list of DNS search domains encoded without compression
as specified in Section 8. of RFC 3315.

8 years agosd-dhcp6: Add support for DHCPv6 DNS Recursive Name Server option
Patrik Flykt [Thu, 2 Apr 2015 07:50:16 +0000 (10:50 +0300)] 
sd-dhcp6: Add support for DHCPv6 DNS Recursive Name Server option

Support DHCPv6 DNS server option as specified in RFC 3646. This option
contains a list of IPv6 DNS server addresses.

8 years agodhcp6-option: Add helper function for uncompressed domain names
Patrik Flykt [Mon, 4 May 2015 10:23:46 +0000 (13:23 +0300)] 
dhcp6-option: Add helper function for uncompressed domain names

Add a helper function containing a modified version of dns_packet_read_name()
that does not use DnsPacket to extract a string array of domain names from
the provided option data. The domain names are stored uncompressed as defined
in Section 8. of RFC 3315.

8 years agodhcp6-option: Add helper function for fetching IPv6 addresses
Patrik Flykt [Thu, 2 Apr 2015 07:35:30 +0000 (10:35 +0300)] 
dhcp6-option: Add helper function for fetching IPv6 addresses

Add a helper function that extracts a block of IPv6 addresses from
the provided option data.

8 years agosd-dhcp6-client: Save a DHCPv6 lease also with Information Reply
Patrik Flykt [Fri, 10 Jul 2015 08:31:50 +0000 (11:31 +0300)] 
sd-dhcp6-client: Save a DHCPv6 lease also with Information Reply

As the lease structure contains interesting information, save it also
for the Information Reply.

8 years agosd-dhcp6-client: Fix unreferencing DHCPv6 lease on client reset
Patrik Flykt [Fri, 10 Jul 2015 08:25:21 +0000 (11:25 +0300)] 
sd-dhcp6-client: Fix unreferencing DHCPv6 lease on client reset

When the DHCPv6 client is started by the library user or stopped for
any reason, unref the DHCPv6 lease when resetting the DHCPv6 client
data structure. This makes the DHCPv6 client always start from a clean
state and not keep unnecessary an lease structure around when stopped.

If this is not done, a previously existing lease information can be
interpreted to be from another server when restarting DHCPv6.

8 years agoMerge pull request #996 from kostrowski/man-systemd-special
Daniel Mack [Fri, 21 Aug 2015 04:21:04 +0000 (06:21 +0200)] 
Merge pull request #996 from kostrowski/man-systemd-special

man: fix typo in description of system.slice

8 years agoMerge pull request #995 from poettering/timedate-utc
Daniel Mack [Fri, 21 Aug 2015 04:20:45 +0000 (06:20 +0200)] 
Merge pull request #995 from poettering/timedate-utc

timedatectl: when no timezone is set consider UTC the default

8 years agoAdding bonding examples for systemd-networkd 1001/head
Major Hayden [Fri, 21 Aug 2015 03:14:49 +0000 (22:14 -0500)] 
Adding bonding examples for systemd-networkd

This commit provides some basic bonding configuration examples for .netdev and .network files.

8 years agoman: fix typo in description of system.slice 996/head
Eric Kostrowski [Thu, 20 Aug 2015 13:06:20 +0000 (09:06 -0400)] 
man: fix typo in description of system.slice

8 years agoupdate TODO
Lennart Poettering [Thu, 20 Aug 2015 10:20:14 +0000 (12:20 +0200)] 
update TODO

8 years agotimedatectl: when no timezone is set consider UTC the default 995/head
Lennart Poettering [Thu, 20 Aug 2015 10:16:13 +0000 (12:16 +0200)] 
timedatectl: when no timezone is set consider UTC the default

This fixes #993, and ensures that the libc does not consider any
old timezone information into account, that was set earlier.

8 years agoMerge pull request #990 from owtaylor/issue-989
David Herrmann [Wed, 19 Aug 2015 14:40:54 +0000 (16:40 +0200)] 
Merge pull request #990 from owtaylor/issue-989

Issue 989 - logind: VT is not properly reset on session close

8 years agoMerge pull request #993 from xnox/timedate
Daniel Mack [Wed, 19 Aug 2015 11:56:27 +0000 (13:56 +0200)] 
Merge pull request #993 from xnox/timedate

timedatectl: assert timezone is not null in setenv() call.

8 years agotimedatectl: assert timezone is not null in setenv() call. 993/head
Dimitri John Ledkov [Wed, 19 Aug 2015 10:03:58 +0000 (10:03 +0000)] 
timedatectl: assert timezone is not null in setenv() call.

setenv is declared as:

extern int setenv (const char *__name, const char *__value, int __replace)
     __THROW __nonnull ((2));

And i->timezone can be NULL, if for example /etc/localtime is
missing. Previously that worked, but now result in a libc dumping
core, as seen with gcc 2.22, due to:

https://sourceware.org/ml/glibc-cvs/2015-q2/msg00075.html

8 years agoMerge pull request #988 from spartacus06/update-completion-machinectl-v2
Lennart Poettering [Wed, 19 Aug 2015 09:15:11 +0000 (11:15 +0200)] 
Merge pull request #988 from spartacus06/update-completion-machinectl-v2

Update completion machinectl (part 2)

8 years agoMerge pull request #992 from zonque/journal-json
Lennart Poettering [Wed, 19 Aug 2015 09:12:14 +0000 (11:12 +0200)] 
Merge pull request #992 from zonque/journal-json

journal: fix json output of unicode characters

8 years agologind: get a fresh file descriptor to clean up a VT 990/head
Owen W. Taylor [Tue, 18 Aug 2015 19:19:05 +0000 (15:19 -0400)] 
logind: get a fresh file descriptor to clean up a VT

When the controlling process exits, any existing file descriptors
for that FD will be marked as hung-up and ioctls on them will
file with EIO. To work around this, open a new file descriptor
for the VT we want to clean up.

Thanks to Ray Strode for help in sorting out the problem and
coming up with a fix!

https://github.com/systemd/systemd/issues/989

8 years agologind: use open_terminal() instead of open()
Owen W. Taylor [Tue, 18 Aug 2015 18:41:24 +0000 (14:41 -0400)] 
logind: use open_terminal() instead of open()

The open_terminal() function adds retries in case a terminal
is in the process of being closed when we open it, and should
generally be used to open a terminal. We especially need it
for code that a subsequent commit adds that reopens the terminal
at session shut-down time; such races would be more likely in
that case.

Found by Ray Strode.

8 years agoshell-completion: bash: make list-transfers and cancel-transfer STANDALONE 988/head
Seth Jennings [Tue, 18 Aug 2015 18:22:42 +0000 (13:22 -0500)] 
shell-completion: bash: make list-transfers and cancel-transfer STANDALONE

list-transfers and cancel-transfers don't take machine arguments.

8 years agoshell-completion: bash: add image transfer subcommands
Seth Jennings [Tue, 18 Aug 2015 18:20:12 +0000 (13:20 -0500)] 
shell-completion: bash: add image transfer subcommands

8 years agojournal: fix json output of unicode characters 992/head
Daniel Mack [Tue, 18 Aug 2015 14:26:11 +0000 (16:26 +0200)] 
journal: fix json output of unicode characters

8 years agoMerge pull request #984 from whot/hwdb-updates
Lennart Poettering [Tue, 18 Aug 2015 08:17:17 +0000 (10:17 +0200)] 
Merge pull request #984 from whot/hwdb-updates

hwdb: fix capitalization of product version for the Macbooks

8 years agoMerge pull request #983 from phomes/journal_dead_check
Lennart Poettering [Tue, 18 Aug 2015 08:16:10 +0000 (10:16 +0200)] 
Merge pull request #983 from phomes/journal_dead_check

journal: remove error check that never happens

8 years agohwdb: fix capitalization of product version for the Macbooks 984/head
Peter Hutterer [Thu, 30 Jul 2015 23:56:25 +0000 (09:56 +1000)] 
hwdb: fix capitalization of product version for the Macbooks

We need uppercase hex here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
8 years agojournal: remove error check that never happens 983/head
Thomas Hindoe Paaboel Andersen [Fri, 14 Aug 2015 21:40:27 +0000 (23:40 +0200)] 
journal: remove error check that never happens

remove_directory will always return 0 so this can never happen.
Besides that, d->path and d are freed so we would end up with
a null pointer dereference anyway.

8 years agoMerge pull request #982 from evverx/add-systemd-cgls
Daniel Mack [Mon, 17 Aug 2015 20:38:30 +0000 (22:38 +0200)] 
Merge pull request #982 from evverx/add-systemd-cgls

man: add systemd-cgls as tool that shows the cgroup hierarchy

8 years agoman: add systemd-cgls as tool that shows the cgroup hierarchy 982/head
Evgeny Vereshchagin [Mon, 17 Aug 2015 19:16:04 +0000 (19:16 +0000)] 
man: add systemd-cgls as tool that shows the cgroup hierarchy

8 years agoMerge pull request #977 from richardmaw-codethink/machinectl-userns-login-v2
Lennart Poettering [Mon, 17 Aug 2015 13:12:15 +0000 (15:12 +0200)] 
Merge pull request #977 from richardmaw-codethink/machinectl-userns-login-v2

Fix machinectl login with containers in user namespaces (v2)

8 years agoMerge pull request #976 from elfring/Remove_unnecessary_checks2
Lennart Poettering [Mon, 17 Aug 2015 09:30:31 +0000 (11:30 +0200)] 
Merge pull request #976 from elfring/Remove_unnecessary_checks2

Delete unnecessary checks before some function calls

8 years agoMerge pull request #958 from stefwalter/fix-journalctl-f-regression
Lennart Poettering [Mon, 17 Aug 2015 09:19:14 +0000 (11:19 +0200)] 
Merge pull request #958 from stefwalter/fix-journalctl-f-regression

Regression: 'journalctl -f -t unmatched' doesn't block properly

8 years agonamespace helpers: Allow entering a UID namespace 977/head
Richard Maw [Mon, 17 Aug 2015 08:52:13 +0000 (08:52 +0000)] 
namespace helpers: Allow entering a UID namespace

To be able to use `systemd-run` or `machinectl login` on a container
that is in a private user namespace, the sub-process must have entered
the user namespace before connecting to the container's D-Bus, otherwise
the UID and GID in the peer credentials are garbage.

So we extend namespace_open and namespace_enter to support UID namespaces,
and we enter the UID namespace in bus_container_connect_{socket,kernel}.

namespace_open will degrade to a no-op if user namespaces are not enabled
in the kernel.

Special handling is required for the setns call in namespace_enter with
a user namespace, since transitioning to your own namespace is forbidden,
as it would result in re-entering your user namespace as root.

Arguably it may be valid to check this at the call site, rather than
inside namespace_enter, but it is less code to do it inside, and if the
intention of calling namespace_enter is to *be* in the target namespace,
rather than to transition to the target namespace, it is a reasonable
approach.

The check for whether the user namespace is the same must happen before
entering namespaces, as we may not be able to access /proc during the
intermediate transition stage.

We can't instead attempt to enter the user namespace and then ignore
the failure from it being the same namespace, since the error code is
not distinct, and we can't compare namespaces while mid-transition.

8 years agoBug #944: Deletion of unnecessary checks before a few calls of systemd functions 976/head
Markus Elfring [Mon, 17 Aug 2015 08:45:30 +0000 (10:45 +0200)] 
Bug #944: Deletion of unnecessary checks before a few calls of systemd functions

The following functions return immediately if a null pointer was passed.
* calendar_spec_free
* link_address_free
* manager_free
* sd_bus_unref
* sd_journal_close
* udev_monitor_unref
* udev_unref

It is therefore not needed that a function caller repeats a corresponding check.

This issue was fixed by using the software Coccinelle 1.0.1.

8 years agoMerge pull request #953 from poettering/ebadf
Daniel Mack [Mon, 17 Aug 2015 08:10:04 +0000 (10:10 +0200)] 
Merge pull request #953 from poettering/ebadf

tree-wide: generate EBADF when we get invalid fds

8 years agoMerge pull request #970 from poettering/timedatectl-set-netp
Daniel Mack [Mon, 17 Aug 2015 08:09:16 +0000 (10:09 +0200)] 
Merge pull request #970 from poettering/timedatectl-set-netp

man: extend documentation for timedatectl's set-ntp command

8 years agoMerge pull request #973 from poettering/sd-bus-error-ret
Daniel Mack [Mon, 17 Aug 2015 08:07:27 +0000 (10:07 +0200)] 
Merge pull request #973 from poettering/sd-bus-error-ret

sd-bus: always fill in sd_bus_error paramters, on error

8 years agoMerge pull request #974 from teg/resolved-fixes-2
Daniel Mack [Mon, 17 Aug 2015 08:04:31 +0000 (10:04 +0200)] 
Merge pull request #974 from teg/resolved-fixes-2

resolved: debugging improvements

8 years agojournalctl: make sure 'journalctl -f -t unmatched' blocks 958/head
Stef Walter [Fri, 14 Aug 2015 14:38:41 +0000 (16:38 +0200)] 
journalctl: make sure 'journalctl -f -t unmatched' blocks

Previously the following command:

$ journalctl -f -t unmatchedtag12345

... would block when called with criteria that did not match any
journal lines. Once log lines appeared that matched the criteria
they were displayed.

Commit 02ab86c732576a71179ce12e97d44c289833236d broke this
behavior and the journal was not followed, but the command
exits with '-- No entries --' displayed.

This commit fixes the issue.

More information downstream:

https://bugzilla.redhat.com/show_bug.cgi?id=1253649

8 years agoBug #944: Deletion of unnecessary checks before calls of the function "free"
Markus Elfring [Mon, 17 Aug 2015 07:30:49 +0000 (09:30 +0200)] 
Bug #944: Deletion of unnecessary checks before calls of the function "free"

The function "free" is documented in the way that no action shall occur for
a passed null pointer. It is therefore not needed that a function caller
repeats a corresponding check.
http://stackoverflow.com/questions/18775608/free-a-null-pointer-anyway-or-check-first

This issue was fixed by using the software Coccinelle 1.0.1.

8 years agoBug #944: Replacement of a free() call by mfree()
Markus Elfring [Mon, 17 Aug 2015 07:10:56 +0000 (09:10 +0200)] 
Bug #944: Replacement of a free() call by mfree()

The function "mfree" should be called instead of "free" at a specific
source code place.

8 years agoresolved: cache - add more detailed cache debug logging 974/head
Tom Gundersen [Wed, 12 Aug 2015 16:18:31 +0000 (18:18 +0200)] 
resolved: cache - add more detailed cache debug logging

8 years agosd-bus: always fill in sd_bus_error paramters, on error 973/head
Lennart Poettering [Sun, 16 Aug 2015 20:13:34 +0000 (22:13 +0200)] 
sd-bus: always fill in sd_bus_error paramters, on error

Whenever one of our calls is invoked with a non-NULL, writable
sd_bus_error parameter, let's fill in some valid error on failure. We
previously only filled in remote errors, but never local errors, which is
hard to handle by users. Hence, let's clean this up to always fill in
the error.

This introduces a new bus_assert_return() macro that works like
assert_return() but optionally also initializes a bus_error struct.

Fixes #224.

Based on a patch by Umut Tezduyar.

8 years agoupdate TODO
Lennart Poettering [Sun, 16 Aug 2015 19:59:58 +0000 (21:59 +0200)] 
update TODO

8 years agoMerge pull request #908 from richardmaw-codethink/nspawn-path-escapes-v3
Lennart Poettering [Sun, 16 Aug 2015 19:32:03 +0000 (21:32 +0200)] 
Merge pull request #908 from richardmaw-codethink/nspawn-path-escapes-v3

Allow arbitrary file paths to be passed to nspawn (v3)

8 years agoREADME: drop reference to Endocode
Lennart Poettering [Sun, 16 Aug 2015 19:05:33 +0000 (21:05 +0200)] 
README: drop reference to Endocode

Chris Kühl does not work at Endocode anymore, the contact data is no
longer valid.

8 years agoTODO
Tom Gundersen [Wed, 12 Aug 2015 15:29:53 +0000 (17:29 +0200)] 
TODO

8 years agoresolve-host: print RTT
Tom Gundersen [Tue, 11 Aug 2015 20:37:23 +0000 (22:37 +0200)] 
resolve-host: print RTT

8 years agoresolved: packet - fix typo in read_rr()
Tom Gundersen [Tue, 11 Aug 2015 18:05:53 +0000 (20:05 +0200)] 
resolved: packet - fix typo in read_rr()

8 years agoMerge pull request #955 from poettering/resolved-localhost-xyz
Tom Gundersen [Sun, 16 Aug 2015 18:46:11 +0000 (20:46 +0200)] 
Merge pull request #955 from poettering/resolved-localhost-xyz

resolved: enable synthesizing of A, AAAA and PTR records for "localhost"

8 years agoMerge pull request #954 from poettering/nss-myhostname-loopback
Tom Gundersen [Sun, 16 Aug 2015 18:38:32 +0000 (20:38 +0200)] 
Merge pull request #954 from poettering/nss-myhostname-loopback

nss-myhostname: use LOOPBACK_IFINDEX instead of if_nametoindex("lo")

8 years agoMerge pull request #972 from poettering/resolve-host-auto-start
Tom Gundersen [Sun, 16 Aug 2015 18:37:52 +0000 (20:37 +0200)] 
Merge pull request #972 from poettering/resolve-host-auto-start

resolve-host: enable auto start of resolved

8 years agoresolve-host: enable auto start of resolved 972/head
Lennart Poettering [Sun, 16 Aug 2015 18:29:21 +0000 (20:29 +0200)] 
resolve-host: enable auto start of resolved

There's no reason to explicitly turn off bus activation for resolved
here. The reason this was done before was that the code was copied from
nss-resolve, which has a fallback to glibc's nss-dns if resolved is not
reachable. However, such a logic makes no sense for resolve-host since
such a fallback doesn't make sense here, which means we can actually
turn on activation. Let's do it hence.

8 years agoMerge pull request #971 from evverx/news-fix
Lennart Poettering [Sun, 16 Aug 2015 18:24:25 +0000 (20:24 +0200)] 
Merge pull request #971 from evverx/news-fix

NEWS: fix the "indirect" state description

8 years agoNEWS: fix the "indirect" state description 971/head
Evgeny Vereshchagin [Sun, 16 Aug 2015 18:10:23 +0000 (18:10 +0000)] 
NEWS: fix the "indirect" state description

8 years agoMerge pull request #931 from spartacus06/update-completion-machinectl
Lennart Poettering [Sun, 16 Aug 2015 17:58:49 +0000 (19:58 +0200)] 
Merge pull request #931 from spartacus06/update-completion-machinectl

Update shell completion for machinectl

8 years agoman: extend documentation for timedatectl's set-ntp command 970/head
Lennart Poettering [Sun, 16 Aug 2015 16:26:03 +0000 (18:26 +0200)] 
man: extend documentation for timedatectl's set-ntp command

This extends on the relationship between timedatectl's set-ntp command
and its effect on the systemd-timesyncd.service unit. This also links
that unit back to the timedatectl man page.

Closes #798.

8 years agoupdate TODO
Lennart Poettering [Sun, 16 Aug 2015 16:25:24 +0000 (18:25 +0200)] 
update TODO

8 years agoshell-completion: use list-images rather than list 931/head
Seth Jennings [Tue, 11 Aug 2015 16:40:17 +0000 (11:40 -0500)] 
shell-completion: use list-images rather than list

"machinectl list" only lists running machines while many of the MACHINES
commands use names of images; both running and non-running.

List machines from both "list" and "list-images" and use sort -u to
avoid duplicates.

8 years agoshell-completion: update machinectl bash completion
Seth Jennings [Tue, 11 Aug 2015 16:43:56 +0000 (11:43 -0500)] 
shell-completion: update machinectl bash completion

Many new subcommands have been added since the bash completion was last
updated.  Bring it up to speed.

8 years agoMerge pull request #930 from richardmaw-codethink/man-when-exec-start-post
Lennart Poettering [Sun, 16 Aug 2015 16:11:18 +0000 (18:11 +0200)] 
Merge pull request #930 from richardmaw-codethink/man-when-exec-start-post

man: Describe when ExecStartFoo= commands are run in more detail

8 years agoMerge pull request #918 from thomasmey/uml-fix
Lennart Poettering [Sun, 16 Aug 2015 15:07:28 +0000 (17:07 +0200)] 
Merge pull request #918 from thomasmey/uml-fix

UML: Fix block device setup