Lennart Poettering [Tue, 25 Aug 2015 18:42:50 +0000 (20:42 +0200)]
core: report root cgroup as "/" over the bus
Internally, the root cgroup is stored as the empty string in
Unit.cgroup_path, and "no cgroup" as NULL. Unfortunately, D-Bus does not
know a NULL concept, hence when reporting the cgroup to clients we
should turn the root cgroup into "/", and leave the empty string for the
"no cgroup" case.
This should make sure that "systemctl status -- -.slice" works correctly
and shows the entire cgroup tree.
Lennart Poettering [Tue, 25 Aug 2015 18:37:54 +0000 (20:37 +0200)]
Revert "systemctl: properly handle empty control group paths in "status""
This reverts commit
b04c25f9ef6359ed0ae403bdbfe4df840aba0f58.
Tom Gundersen [Tue, 25 Aug 2015 16:50:44 +0000 (18:50 +0200)]
Merge pull request #1033 from poettering/machine-fixes
misc machine fixes
Lennart Poettering [Tue, 25 Aug 2015 16:39:50 +0000 (18:39 +0200)]
bus-util: make more properties settable in --property=
Add a couple of new properties to the supported set we can pass in
systemd-run's and systemd-nspawn's --property= switch.
Lennart Poettering [Tue, 25 Aug 2015 16:37:53 +0000 (18:37 +0200)]
man: add hyphen to improve man text
Lennart Poettering [Tue, 25 Aug 2015 16:37:31 +0000 (18:37 +0200)]
core: drop spurious new line
Lennart Poettering [Tue, 25 Aug 2015 16:37:16 +0000 (18:37 +0200)]
machine: policykit string fixes
Tom Gundersen [Tue, 25 Aug 2015 14:46:27 +0000 (16:46 +0200)]
Merge pull request #1022 from poettering/machinectl-shell
Add new "machinectl shell" command for su(1)-like behaviour
Lennart Poettering [Tue, 25 Aug 2015 13:54:23 +0000 (15:54 +0200)]
Merge pull request #1029 from jsynacek/unprivileged-wall-message-v2
logind/systemctl: introduce SetWallMessage and --message
Daniel Mack [Tue, 25 Aug 2015 13:01:51 +0000 (15:01 +0200)]
NEWS: preparations for v225 release
Tom Gundersen [Tue, 25 Aug 2015 12:33:41 +0000 (14:33 +0200)]
Merge pull request #1030 from zonque/resolve
resolve: minor cleanups
Daniel Mack [Tue, 4 Aug 2015 11:53:02 +0000 (13:53 +0200)]
resolved: allow dns_cache_put() without a question
Currently, dns_cache_put() does a number of things:
1) It unconditionally removes all keys contained in the passed
question before adding keys from the newly arrived answers.
2) It puts positive entries into the cache for all RRs contained
in the answer.
3) It creates negative entries in the cache for all keys in the
question that are not answered.
Allow passing q = NULL in the parameters and skip 1) and 3), so
we can use that function for mDNS responses. In this case, the
question is irrelevant, we are interested in all answers we got.
Daniel Mack [Tue, 28 Jul 2015 13:00:59 +0000 (15:00 +0200)]
sd-network: make LLMNR specific config parser generic
Rename the enum, the lookup functions and the parser for LLMNRSupport so
the type can be reused for mDNS.
Daniel Mack [Tue, 4 Aug 2015 08:37:59 +0000 (10:37 +0200)]
resolved: move assertion
Make a scope with invalid protocol state fail as soon as possible.
Daniel Mack [Sat, 11 Jul 2015 20:21:26 +0000 (16:21 -0400)]
resolved: use switch-case statements for protocol details
With more protocols to come, switch repetitive if-else blocks with a
switch-case statements.
Jan Synacek [Mon, 24 Aug 2015 12:54:22 +0000 (14:54 +0200)]
logind/systemctl: introduce SetWallMessage and --message
Enable unprivileged users to set wall message on a shutdown
operation. When the message is set via the --message option,
it is logged together with the default shutdown message.
$ systemctl reboot --message "Applied kernel updates."
$ journalctl -b -1
...
systemd-logind[27]: System is rebooting. (Applied kernel updates.)
...
Daniel Mack [Tue, 28 Jul 2015 16:09:08 +0000 (18:09 +0200)]
resolved: remove runtime check for previously asserted condition
Tom Gundersen [Tue, 25 Aug 2015 08:18:16 +0000 (10:18 +0200)]
Merge pull request #1023 from poettering/resolved-fixes
A variety of resolved fixes
Lennart Poettering [Mon, 24 Aug 2015 21:47:28 +0000 (23:47 +0200)]
resolved: change error code when trying to resolve direct LLMNR PTR RRs
If we try to resoolve an LLMNR PTR RR we shall connect via TCP directly
to the specified IP address. We already refuse to do this if the address
to resolve is of a different address family as the transaction's scope.
The error returned was EAFNOSUPPORT. Let's change this to ESRCH which is
how we indicate "not server available" when connecting for LLMNR or DNS,
since that's what this really is: we have no server we could connect to
in this address family.
This allows us to ensure that no server errors are always handled the same
way.
Lennart Poettering [Mon, 24 Aug 2015 21:46:24 +0000 (23:46 +0200)]
resolve-host: support parsing numeric interface names
If the user specifies an interface by its ifindex we should handle this
nicely. Hence let's try to parse the ifindex as a number before we try
to resolve it as an interface name.
Lennart Poettering [Mon, 24 Aug 2015 21:44:33 +0000 (23:44 +0200)]
resolved: remove duplicate handling of "no servers" query result
So far we handled immediate "no server" query results differently from
"no server" results we ran into during operation: the former would cause
the dns_query_go() call to fail with ESRCH, the later would result in
the query completion callback to be called.
Remove the duplicate codepaths, by always going through the completion
callback. This allows us to remove quite a number of lines for handling
the ESRCH.
This commit should not alter behaviour at all.
Lennart Poettering [Mon, 24 Aug 2015 21:15:51 +0000 (23:15 +0200)]
resolved: replace transaction list by hashmap
Right now we keep track of ongoing transactions in a linked listed for
each scope. Replace this by a hashmap that is indexed by the RR key.
Given that all ongoing transactions will be placed in pretty much the
same scopes usually this should optimize behaviour.
We used to require a list here, since we wanted to do "superset" query
checks, but this became obsolete since transactions are now single-key
instead of multi-key.
Lennart Poettering [Mon, 24 Aug 2015 20:44:54 +0000 (22:44 +0200)]
machinectl: extend the "shell" syntax to take user@container names
In order to make "machinectl shell" more similar to ssh, allow the
following syntax to connect to a container under a specific username:
machinectl shell lennart@fedora
Also beefs up related man page documentation.
Lennart Poettering [Mon, 24 Aug 2015 20:17:52 +0000 (22:17 +0200)]
machinectl: make machine name parameters for "shell" and "login" optional
If no machine name is specified, imply that we connect to ".host", i.e.
the local host.
Lennart Poettering [Mon, 24 Aug 2015 19:27:37 +0000 (21:27 +0200)]
machined: beef up PolicyKit actions
Introduce separate actions for creating login or shell sessions for
the local host or a local container. By default allow local unprivileged
clients to create new login sessions (which is safe, since getty will
ask for username and authentication).
Also, imply login privs from shell privs, as well as shell and login
privs from manage privs.
Lennart Poettering [Mon, 24 Aug 2015 19:09:49 +0000 (21:09 +0200)]
systemctl: properly handle empty control group paths in "status"
When showing the status of the "-.slice" slice root unit (whose reported
cgroup path is ""), we suppressed the cgroup tree so far, because
skipped it for all unit with an empty cgroup path. Let's fix that, and
properly handle the empty cgroup path.
Lennart Poettering [Mon, 24 Aug 2015 19:09:16 +0000 (21:09 +0200)]
machined: userns is only supported for container-class machines
We do not support userns for VM machines or for the host itself.
Lennart Poettering [Mon, 24 Aug 2015 19:08:04 +0000 (21:08 +0200)]
machinectl: don't show ".host" pseudo-machine in list by default
Let's hide all machines whose name begins with "." by default, thus
hiding the ".host" pseudo-machine, unless --all is specified. This
takes inspiration from the ".host" image handling in "machinectl
list-images" which also hides all images whose name starts with ".".
Lennart Poettering [Mon, 24 Aug 2015 19:05:09 +0000 (21:05 +0200)]
machined: introduce pseudo-machine ".host" refererring to the host system
Some of the operations machined/machinectl implement are also very
useful when applied to the host system (such as machinectl login,
machinectl shell or machinectl status), hence introduce a pseudo-machine
by the name of ".host" in machined that refers to the host system, and
may be used top execute operations on the host system with.
This copies the pseudo-image ".host" machined already implements for
image related commands.
(This commit also adds a PK privilege for opening a PTY in a container,
which was previously not accessible for non-root.)
Lennart Poettering [Sun, 23 Aug 2015 12:33:50 +0000 (14:33 +0200)]
machined: validate machine names at more places
When enumerating machines from /run, and when accepting machine names
for operations, be more strict and always validate.
Note that these checks are strictly speaking unnecessary, since
enumeration happens only on the trusted /run...
Lennart Poettering [Sun, 23 Aug 2015 12:30:52 +0000 (14:30 +0200)]
util: make machine_name_is_valid() a macro and move it to hostname-util.h
As it turns out machine_name_is_valid() does the exact same thing as
hostname_is_valid() these days, as it just invoked that and checked the
name length was < 64. However, hostname_is_valid() checks the length
against HOST_NAME_MAX anyway (which is 64 on Linux), hence any
additional check is redundant.
We hence replace machine_name_is_valid() by a macro that simply maps it
to hostname_is_valid() but sets the allow_trailing_dot parameter to
false. We also move this this call to hostname-util.h, to the same place
as the hostname_is_valid() declaration.
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.
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.
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.
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.
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.
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).
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
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.
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).
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
Peter Hutterer [Mon, 24 Aug 2015 00:47:30 +0000 (10:47 +1000)]
hwdb: add more DPI entries
Provided by Francois Marier
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.
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
Lennart Poettering [Fri, 21 Aug 2015 21:07:49 +0000 (23:07 +0200)]
Merge pull request #1009 from phomes/master
remove unused variables
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.
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.
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.
Lennart Poettering [Fri, 21 Aug 2015 20:47:06 +0000 (22:47 +0200)]
resolved: add reference to negative caching RFC
Thomas Hindoe Paaboel Andersen [Fri, 21 Aug 2015 20:17:48 +0000 (22:17 +0200)]
remove unused variables
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
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
Lennart Poettering [Fri, 21 Aug 2015 14:06:25 +0000 (16:06 +0200)]
resolve-host: Minor wording improvement
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.
Lennart Poettering [Fri, 21 Aug 2015 14:04:16 +0000 (16:04 +0200)]
man: rework systemd-run man page a bit
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
Lennart Poettering [Fri, 21 Aug 2015 13:28:01 +0000 (15:28 +0200)]
core: downgrade "Module inserted" message for kmod to DEBUG
Closes #919.
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
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.
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.
Lennart Poettering [Fri, 21 Aug 2015 10:26:34 +0000 (12:26 +0200)]
resolved: minor typo comment fix
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)
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
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
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).
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.
Patrik Flykt [Mon, 6 Jul 2015 09:50:47 +0000 (12:50 +0300)]
network: Add function to serialize an IPv6 address
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
Eric Kostrowski [Thu, 20 Aug 2015 13:06:20 +0000 (09:06 -0400)]
man: fix typo in description of system.slice
Lennart Poettering [Thu, 20 Aug 2015 10:20:14 +0000 (12:20 +0200)]
update TODO
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.
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
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.
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
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)
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
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
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.
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.
Seth Jennings [Tue, 18 Aug 2015 18:20:12 +0000 (13:20 -0500)]
shell-completion: bash: add image transfer subcommands
Daniel Mack [Tue, 18 Aug 2015 14:26:11 +0000 (16:26 +0200)]
journal: fix json output of unicode characters
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
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
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>
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.
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
Evgeny Vereshchagin [Mon, 17 Aug 2015 19:16:04 +0000 (19:16 +0000)]
man: add systemd-cgls as tool that shows the cgroup hierarchy
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)
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