Djalal Harouni [Tue, 17 Dec 2013 18:42:03 +0000 (19:42 +0100)]
loginctl: improve print_{session|user|seat}_status_info() functions
1) Instead of checking if we need to print a new line on each iteration,
pass the "new_line" as a pointer to those functions, so they can use
it to check if a new line is needed. This makes the code more consistent
as it is done in other places: machinectl, systemctl...
2) Move the error messages from show_{session|user|seat}() to their
appropriate print_{session|user|seat}_status_info() functions, this will
prevent from logging an error message twice in case show_properties()
fails and it will improve code readability.
3) Also do not ignore error codes on these functions.
Djalal Harouni [Tue, 17 Dec 2013 18:42:01 +0000 (19:42 +0100)]
loginctl: use show_properties() to get login1 properties
Commit
f8f14b3654bcd introduced a regression that makes loginctl ignore
the "--property" option.
This patch fixes the bug, it uses a new show_properties() function to
query and filter properties.
Djalal Harouni [Tue, 17 Dec 2013 18:42:00 +0000 (19:42 +0100)]
loginctl: replace strv_append() by strv_extend()
Jason St. John [Wed, 18 Dec 2013 02:36:27 +0000 (21:36 -0500)]
journalctl,zsh-completion: fix several issues in --help message text
-- fix grammar and reword some descriptions for clarity
-- add a useful description of what --follow does
-- fix the description for --after-cursor
-- properly introduce the FSS acronym for "Forward Secure Sealing" in
both sections
-- clarify the --disk-usage command
[zj: perform similar changes to zsh completions]
squash! journalctl: fix several issues in --help message text
Jason St. John [Wed, 18 Dec 2013 00:40:02 +0000 (19:40 -0500)]
man: add DOI for refereed article on Forward Secure Sealing to journald.conf(5)
In journalctl(1), be more explicit about the reference to "Seal=" in
journald.conf(5) and what information can be found there.
Jason St. John [Tue, 17 Dec 2013 23:48:43 +0000 (18:48 -0500)]
man: be more explicit about option arguments that take 128-bit IDs in journalctl(1)
It may not be immediately obvious to the reader what "ID128" is, so replace the
example option argument "ID128" with "128-bit-ID".
Jason St. John [Tue, 17 Dec 2013 23:48:42 +0000 (18:48 -0500)]
man: fix grammar issues in journalctl(1)
And add a missing <option> tag around "--setup-keys" under "--force".
Djalal Harouni [Tue, 17 Dec 2013 22:40:15 +0000 (23:40 +0100)]
machinectl: show_properties() already logs the error
Zbigniew Jędrzejewski-Szmek [Wed, 18 Dec 2013 02:49:07 +0000 (21:49 -0500)]
udevadm: modernization
Zbigniew Jędrzejewski-Szmek [Wed, 18 Dec 2013 02:48:14 +0000 (21:48 -0500)]
udevadm,scsi_id: add short options to help strings and to the man page
Also clean things up a bit here and there.
Zbigniew Jędrzejewski-Szmek [Sun, 15 Dec 2013 22:15:54 +0000 (17:15 -0500)]
scsi_id: cleanup
Remove -i option which would case exit(1) to happen.
Remove some unused code.
Convert to bool where appropriate.
Simplify things a bit.
Always free everything.
https://bugzilla.redhat.com/show_bug.cgi?id=1043304
Lennart Poettering [Thu, 19 Dec 2013 02:02:45 +0000 (03:02 +0100)]
driverd: implement AddMatch/RemoveMatch logic
Kay Sievers [Thu, 19 Dec 2013 00:32:55 +0000 (01:32 +0100)]
do not run kmod-setup in a container
Kay Sievers [Wed, 18 Dec 2013 22:56:35 +0000 (23:56 +0100)]
temporarily support "kdbus" keyword on the kernel commandline to load the module
Kay Sievers [Wed, 18 Dec 2013 21:30:26 +0000 (22:30 +0100)]
libudev: monitor - only disallow "udev" type events
Kay Sievers [Wed, 18 Dec 2013 21:01:31 +0000 (22:01 +0100)]
libudev: disable monitor inside a container
Uevents are events of the host, which should not leak into a container.
Containers do not support hotplug at the moment, and devices and uevents
are not namespace aware.
Kay Sievers [Wed, 18 Dec 2013 20:16:35 +0000 (21:16 +0100)]
bus: catch up with kdbus changes
Lukasz Skalski [Wed, 18 Dec 2013 12:32:13 +0000 (13:32 +0100)]
bus-driverd: fix flags translation in driver_request_name
Flags for a name entry (KDBUS_NAME_*) should be set for
cmd_name->flags (not conn_flags)
Lennart Poettering [Wed, 18 Dec 2013 18:24:00 +0000 (19:24 +0100)]
Revert "ptyfwd: make master terminal attributes raw, too"
This reverts commit
e7d43b3cc30764138c90eaaf95d3d8f49e448890.
This broke the console terminal when booting up a container, so let's
not do this.
Lennart Poettering [Wed, 18 Dec 2013 17:46:23 +0000 (18:46 +0100)]
bus: reduce calls to KDBUS_CMD_MEMFD_SIZE_SET ioctl
Instead of calling it for each buffer append, increase allocation
exponentially and set the real value only at the end, when sealing off
the memfd.
This should drastically reduce the number of times we invoke the
ioctl().
Lennart Poettering [Wed, 18 Dec 2013 17:14:10 +0000 (18:14 +0100)]
ptyfwd: make master terminal attributes raw, too
Lennart Poettering [Wed, 18 Dec 2013 16:48:31 +0000 (17:48 +0100)]
units: when spawning a getty configure TERM explicitly
This way we can make use of our logic to automatically determine an
appropriate TERM for a specific tty.
Lennart Poettering [Wed, 18 Dec 2013 16:41:16 +0000 (17:41 +0100)]
execute: set TERM even if we don't open the tty on our own
This way, when a tty path is configured TERM is set, which is nice to
set a useful term for gettys.
Lennart Poettering [Wed, 18 Dec 2013 16:16:33 +0000 (17:16 +0100)]
loginctl: when showing device tree of seats with no devices show something useful
Lennart Poettering [Wed, 18 Dec 2013 16:13:42 +0000 (17:13 +0100)]
core,logind: libudev usage modernizations
Always use cleanup logic and don't eat up errors returned by libudev
Lennart Poettering [Wed, 18 Dec 2013 16:12:15 +0000 (17:12 +0100)]
core,logind,networkd: check for udev device initialization via enumeration matches
Instead of checking each device after we got it, check wuth an
enumeration filter instead, to make it more efficient.
Lennart Poettering [Wed, 18 Dec 2013 02:46:53 +0000 (03:46 +0100)]
core: priorize notification fd processing over notification fd process via sd-event's logic
Lennart Poettering [Wed, 18 Dec 2013 15:49:15 +0000 (16:49 +0100)]
log: when we log to /dev/console and got disconnected (maybe due to vhangup) reconnect
Lennart Poettering [Wed, 18 Dec 2013 15:45:20 +0000 (16:45 +0100)]
units: run systemd-networkd.service only if CAP_NET_ADMIN capability is around
This has the effect that systemd-networkd won't run in containers
without network namespacing wher CAP_NET_ADMIN is (usually) not
available. It will still run in containers with network namespacing on
(where CAP_NET_ADMIN is usually avilable).
We might remove this condition check again if networkd provides services
to apps that also are useful in containers lacking network namespacing,
however, as long as it doesn't it should be handled like udevd and be
excluded in such containers.
Lennart Poettering [Wed, 18 Dec 2013 04:09:53 +0000 (05:09 +0100)]
core: in a container log to /dev/console if "debug" is specified
Lennart Poettering [Wed, 18 Dec 2013 04:07:34 +0000 (05:07 +0100)]
log: don't reopen /dev/console each time we call log_open()
Instead, force reopen it only if we really really have to.
Lennart Poettering [Wed, 18 Dec 2013 03:19:20 +0000 (04:19 +0100)]
service: watch main pid even in final states
In some circumstances, for example when start-up times out we
immediately jump into the final state, at which point we still should
try to watch the main pid so that the SIGCHLD allows us to quickly
move into dead state.
Kay Sievers [Wed, 18 Dec 2013 15:49:19 +0000 (16:49 +0100)]
libudev: devices received from udev are always initialized
Thomas Bächler [Sun, 15 Dec 2013 11:06:37 +0000 (12:06 +0100)]
login: Don't stop a running user manager from garbage-collecting the user.
With the current logic, a user will never be garbage-collected, since its
manager will always be around. Change the logic such that a user is
garbage-collected when it has no sessions and linger is disabled.
Kay Sievers [Wed, 18 Dec 2013 04:06:32 +0000 (05:06 +0100)]
comment out udev's is_initialized call until the problem is sorted out
Lennart Poettering [Wed, 18 Dec 2013 02:37:26 +0000 (03:37 +0100)]
core,logind,networkd: don't pick up devices from udev before they finished udev initialization
Managers shouldn't pick up the devices the manage before udev finished
initialization, hence check explicitly for that.
Lennart Poettering [Wed, 18 Dec 2013 01:49:03 +0000 (02:49 +0100)]
busctl: output a single sorted list of names, including activatable and activated
Lennart Poettering [Wed, 18 Dec 2013 01:25:19 +0000 (02:25 +0100)]
bus: beef up driverd
Add validity checks for all parameters passed in.
Implement ReleaseName and StartServiceByName().
Fix access control in vtable.
Lennart Poettering [Wed, 18 Dec 2013 01:23:07 +0000 (02:23 +0100)]
bus: when releasing, taking, listing bus names check if they are valid
Given that the kernel does not validate bus names we have to when using
them.
Lennart Poettering [Wed, 18 Dec 2013 01:22:16 +0000 (02:22 +0100)]
tests: fix build
Daniel Mack [Tue, 17 Dec 2013 23:20:55 +0000 (00:20 +0100)]
bus: sync with kdbus
Two new things here:
a) struct kdbus_notify_name_change now carries two struct
kdbus_notify_id_change
b) a new KDBUS_CMD_BYEBYE ioctl that has no user yet in systemd
Tom Gundersen [Tue, 17 Dec 2013 18:56:09 +0000 (19:56 +0100)]
networkd: bridge - fix state machine
We were entering BRIDGE_STATE_CREATED rather than BRIDGE_STATE_READY.
Tom Gundersen [Sat, 14 Dec 2013 18:09:04 +0000 (23:39 +0530)]
networkd: link - remove useless states
Rework the state-machine a bit.
Tom Gundersen [Tue, 17 Dec 2013 17:36:09 +0000 (18:36 +0100)]
networkd: rename link_update_flags to link_update
We are likely to track more than the flags in the future.
Thomas Hindoe Paaboel Andersen [Fri, 13 Dec 2013 20:34:04 +0000 (21:34 +0100)]
Shawn Landden [Mon, 16 Dec 2013 16:53:53 +0000 (08:53 -0800)]
_noreturn_ --> noreturn for C11 compat
also define noreturn w/o <stdnoreturn.h>
Shawn Landden [Mon, 16 Dec 2013 00:56:21 +0000 (16:56 -0800)]
util: no need for in_initrd() cache to be thread-local
the process only has one working directory, and a race is
harmless
Shawn Landden [Mon, 16 Dec 2013 00:24:14 +0000 (16:24 -0800)]
__thread --> thread_local for C11 compat
Also make thread_local available w/o including <threads.h>.
(as the latter hasn't been implemented, but this part is trivial)
Lennart Poettering [Tue, 17 Dec 2013 20:36:54 +0000 (21:36 +0100)]
update TODO
Lukasz Skalski [Tue, 17 Dec 2013 09:55:28 +0000 (10:55 +0100)]
libsystemd-bus: true/false instead of yes/no in msg dump
Due to this patch, message dump (for message which includes boolean
type) is more consistent with dbus-send (which display true/false
instead of yes/no for boolean). It's only simple 'cosmetics change'.
** For dbus-send **
dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply / org.freedesktop.DBus.NameHasOwner string:org.freedesktop.login1
method return sender=org.freedesktop.DBus -> dest=:1.97 reply_serial=2
boolean true
** For libsystemd-bus (without this patch) **
‣ Type=method_call Endian=l Flags=0 Version=2 Serial=8
Destination=org.freedesktop.DBus Path=/org/freedesktop/DBus Interface=org.freedesktop.DBus Member=NameHasOwner
MESSAGE "s" {
STRING "org.freedesktop.login1";
};
‣ Type=method_return Endian=l Flags=1 Version=2 Serial=51 ReplySerial=8
Sender=:1.59 Destination=:1.67
UniqueName=:1.59 WellKnownNames={org.freedesktop.DBus}
MESSAGE "b" {
BOOLEAN yes;
};
For me true/false seems to be better readable than yes/no for BOOLEAN.
Thomas Hindoe Paaboel Andersen [Tue, 17 Dec 2013 19:15:45 +0000 (20:15 +0100)]
journal-file.c: remove redundant assignment of variable
we also do 'last_index = (uint64_t) -1;' at the end of the while
loop so there is no reason to also do it here.
Lennart Poettering [Tue, 17 Dec 2013 19:39:15 +0000 (20:39 +0100)]
bus: properly return an error code when release_name fails abnormally
Lukasz Skalski [Tue, 17 Dec 2013 16:31:46 +0000 (17:31 +0100)]
bus-driverd: Fix return code in driver_request_name
RequestName return codes should be consistent with Dbus Specification.
VALUE - DESCRIPTION
1-The caller is now the primary owner of the name, replacing any previous owner,
2-The name already had an owner (QUEUE flag was not specified),
3-The name already has an owner (QUEUE flag was specified),
4-Application trying to request ownership of a name is already the owner of it.
Lennart Poettering [Tue, 17 Dec 2013 19:02:21 +0000 (20:02 +0100)]
journald: before closing /dev/kmsg let's unregister the event source
Lennart Poettering [Tue, 17 Dec 2013 18:57:13 +0000 (19:57 +0100)]
journald: close /dev/kmsg again if we cannot make use of it
Lennart Poettering [Tue, 17 Dec 2013 18:56:06 +0000 (19:56 +0100)]
journald: downgrade warning message when /dev/kmsg does not exist
Patrik Flykt [Tue, 17 Dec 2013 15:24:16 +0000 (16:24 +0100)]
dhcp: Properly handle unsuccessful cases for DHCP Ack
Ignore DHCP Ack packets if they are found to be erroneous or have
an unexpected xid by setting the result to zero instead of propagating
an error. Also remember to report a DHCP Nak and stop the DHCP client.
Thomas Hindoe Paaboel Andersen [Tue, 17 Dec 2013 15:09:52 +0000 (16:09 +0100)]
udev link-config: add asserts to silence scan-build
Thomas Hindoe Paaboel Andersen [Tue, 17 Dec 2013 15:07:00 +0000 (16:07 +0100)]
bus: removed unused variable in driverd
acked by Daniel Mack
Lennart Poettering [Tue, 17 Dec 2013 14:44:05 +0000 (15:44 +0100)]
bus: make driverd code more similar to other daemons, and make it exit on idle among other things
Lennart Poettering [Tue, 17 Dec 2013 02:55:59 +0000 (03:55 +0100)]
busctl: on kdbus the bus driver is a service like any other, hence don't skip it
Lennart Poettering [Tue, 17 Dec 2013 01:43:45 +0000 (02:43 +0100)]
bus: remarshal messages when necessary before sending
Lennart Poettering [Tue, 17 Dec 2013 02:14:20 +0000 (03:14 +0100)]
activate: fix error checking on epoll_ctl()
Lennart Poettering [Tue, 17 Dec 2013 01:43:38 +0000 (02:43 +0100)]
bus: install unit files for new driver service
Daniel Mack [Tue, 17 Dec 2013 12:45:02 +0000 (13:45 +0100)]
bus: sync with kdbus
kdbus_cmd_{ep,ns,bus}_make are now consolidated, and bloom_size has
become an item of the dynamically sized list.
Daniel Mack [Tue, 17 Dec 2013 11:25:20 +0000 (12:25 +0100)]
bus: sync up with kdbus
Lukasz Skalski [Tue, 17 Dec 2013 08:50:16 +0000 (09:50 +0100)]
bus-driverd: Fix unique name return in driver_get_name_owner
Tom Gundersen [Sat, 7 Dec 2013 22:23:18 +0000 (23:23 +0100)]
man: networkd - clarify Address/Gateway keys in [Network] section
Tom Gundersen [Sat, 7 Dec 2013 22:03:19 +0000 (23:03 +0100)]
networkd: add support for Route sections
Tom Gundersen [Wed, 4 Dec 2013 15:21:36 +0000 (16:21 +0100)]
networkd: correct logging message
Marc-Antoine Perennou [Tue, 17 Dec 2013 05:13:57 +0000 (14:13 +0900)]
rtnl: fix for 32bits
Commit
0a0dc69b655cfb10cab39133f5d521e7b35ce3d5 broke tests for 32 bits
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 04:58:51 +0000 (23:58 -0500)]
build-sys: fix distcheck
Shawn Landden [Mon, 16 Dec 2013 23:41:00 +0000 (15:41 -0800)]
journal: fix against (theoretical) undefined behavior
While all the libc implementations I know return NULL when memchr's size
parameter is 0, without accessing any memory, passing NULL to memchr is
still invalid:
C11 7.24.1p2: Where an argument declared as "size_t n" specifies the length
of the array for a function, n can have the value zero on a call to that
function. Unless explicitly stated otherwise in the description of a
particular function in this subclause, pointer arguments on such a call
shall still have valid values, as described in 7.1.4. On such a call, a
function that locates a character finds no occurrence, a function that
compares two character sequences returns zero, and a function that copies
characters copies zero characters.
see http://llvm.org/bugs/show_bug.cgi?id=18247
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 04:40:00 +0000 (23:40 -0500)]
man: describe journalctl --show-cursor
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:40:09 +0000 (22:40 -0500)]
bus-driverd: actually add --version
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:34:07 +0000 (22:34 -0500)]
systemctl: highlight filenames in cat
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:33:45 +0000 (22:33 -0500)]
systemctl: fix return value from cat
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:10:21 +0000 (22:10 -0500)]
man: reword awkward phrase
Zbigniew Jędrzejewski-Szmek [Mon, 16 Dec 2013 01:35:22 +0000 (20:35 -0500)]
bus: use gperf to map error string to errno
Kay Sievers [Tue, 17 Dec 2013 01:50:19 +0000 (02:50 +0100)]
bus: update kdbus.h
Lennart Poettering [Tue, 17 Dec 2013 00:57:27 +0000 (01:57 +0100)]
bus: when connecting to a container's system bus, double fork after joining the container's namespace
setns(CLONE_NEWPID) only applies to child processes, hence let's fork
once after joining the container's namespace.
Lennart Poettering [Tue, 17 Dec 2013 00:36:59 +0000 (01:36 +0100)]
build-sys: build bus-driverd if kdbus support is enabled
Lennart Poettering [Tue, 17 Dec 2013 00:03:09 +0000 (01:03 +0100)]
bus: when entering an existing namespace to connect to a container's system bus also switch over PID namespace
This is necessary to ensure that kdbus can collect creds of the
destination namespace when connecting.
Lennart Poettering [Tue, 17 Dec 2013 00:02:13 +0000 (01:02 +0100)]
core: always create /dev/kdbus/ns (and make it private 0700) after setting up the kdbus system bus
Thomas Hindoe Paaboel Andersen [Mon, 16 Dec 2013 22:35:30 +0000 (23:35 +0100)]
journal-file: protect against alloca(0)
Kay Sievers [Mon, 16 Dec 2013 22:25:32 +0000 (23:25 +0100)]
bus: fix typo in systemd-bus-proxyd
Daniel Mack [Fri, 29 Nov 2013 23:45:53 +0000 (00:45 +0100)]
Add bus-driverd
systemd-bus-driverd is a small daemon that connects to kdbus and
implements the org.freedesktop.DBus interface. IOW, it provides the bus
functions traditionally taken care for by dbus-daemon.
Calls are proxied to kdbus, either via libsystemd-bus (were applicable)
or with the open-coded use of ioctl().
Note that the implementation is not yet finished as the functions to
add and remove matches and to start services by name are still missing.
Lennart Poettering [Mon, 16 Dec 2013 20:26:21 +0000 (21:26 +0100)]
bus: when a busname unit refuses to activate a service it should flush the queue
Lennart Poettering [Mon, 16 Dec 2013 20:06:34 +0000 (21:06 +0100)]
bus: also mask dbus.service in generator if kdbus is found
Lennart Poettering [Mon, 16 Dec 2013 20:02:55 +0000 (21:02 +0100)]
units: properly make bus proxy socket of type Accept=yes
Lennart Poettering [Mon, 16 Dec 2013 19:53:55 +0000 (20:53 +0100)]
systemctl: properly initialize and free sd_bus_error in "systemctl cat"
We need to properly initialize all error structs before use and free
them after use.
Also, there's no point in flushing stdout if we output a \n anyway...
Lennart Poettering [Mon, 16 Dec 2013 19:39:44 +0000 (20:39 +0100)]
bus: fix symlink to bus proxy socket
Lennart Poettering [Mon, 16 Dec 2013 19:32:37 +0000 (20:32 +0100)]
bus: use GREEDY_REALLOC() when allocating message queues
Lennart Poettering [Mon, 16 Dec 2013 19:00:25 +0000 (20:00 +0100)]
bus: let's use GREEDY_REALLOC() when allocating space for containers
Lennart Poettering [Mon, 16 Dec 2013 19:00:09 +0000 (20:00 +0100)]
execute: also set SO_SNDBUF when spawning a service with stdout/stderr connected to journald
Tom Gundersen [Mon, 16 Dec 2013 18:31:50 +0000 (19:31 +0100)]
loopback-setup: remove stray hunk
Thomas Hindoe Paaboel Andersen [Mon, 16 Dec 2013 17:55:59 +0000 (18:55 +0100)]
network: more asserts to shut up scan-build
Kay Sievers [Mon, 16 Dec 2013 16:47:28 +0000 (17:47 +0100)]
kdbus.h: add alignment requirements
Tom Gundersen [Mon, 16 Dec 2013 13:37:51 +0000 (14:37 +0100)]
network: use SETLINK to bring up interfaces
Tom Gundersen [Sun, 15 Dec 2013 13:00:20 +0000 (14:00 +0100)]
rtnl: replace message_append by typesafe versions