Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 21:41:53 +0000 (17:41 -0400)]
core: remove left-over debug message
Michael Biebl [Sat, 14 Mar 2015 15:48:54 +0000 (16:48 +0100)]
service: don't add After= dependencies on .busname units if kdbus support is disabled
Shawn Landden [Wed, 11 Mar 2015 04:01:47 +0000 (21:01 -0700)]
udev-ctrl: fix strict aliasing issues
it is ironic that
"The only purpose of this structure is to cast the structure pointer
passed in addr in order to avoid compiler warnings. See EXAMPLE below."
from bind(2)
Shawn Landden [Wed, 11 Mar 2015 03:45:15 +0000 (20:45 -0700)]
sd-dhcp-client: fix strict aliasing issue
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 01:35:32 +0000 (21:35 -0400)]
man: add sd_event_{run,wait,prepare,dispatch,loop}
Tom Gundersen [Sat, 14 Mar 2015 11:09:20 +0000 (12:09 +0100)]
sd-event: sd_event_run - only return 0 on timeout
sd_event_dispatch() returns 0 on FINISH, so let's eat that up.
Tom Gundersen [Sat, 14 Mar 2015 10:47:35 +0000 (11:47 +0100)]
sd-event: rename PASSIVE/PREPARED to INITIAL/ARMED
Will Woods [Fri, 13 Mar 2015 21:24:46 +0000 (17:24 -0400)]
selinux: fix SEGV during switch-root if SELinux policy loaded
If you've got SELinux policy loaded, label_hnd is your labeling handle.
When systemd is shutting down, we free that handle via mac_selinux_finish().
But: switch_root() calls mkdir_p_label(), which tries to look up a label
using that freed handle, and so we get a bunch of garbage and eventually
SEGV in libselinux.
(This doesn't happen in the switch-root from initramfs to real root because
there's no SELinux policy loaded in initramfs, so label_hnd is NULL and we
never attempt any lookups.)
So: make sure that mac_selinux_finish() actually sets label_hnd to NULL, so
nobody tries to use it after it becomes invalid.
https://bugzilla.redhat.com/show_bug.cgi?id=1185604
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:26:47 +0000 (21:26 -0500)]
man: fix indentation of copyright headers
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:26:34 +0000 (21:26 -0500)]
man: no paren in link
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:26:20 +0000 (21:26 -0500)]
man: fix name of systemd.journal-fields(7)
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:26:06 +0000 (21:26 -0500)]
man: fix link to strerror(3)
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:25:52 +0000 (21:25 -0500)]
man: s/sd_bus_message_get_seqno/sd_bus_message_get_seqnum/
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:25:37 +0000 (21:25 -0500)]
man: fix name of systemd.resource-control(5)
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:24:30 +0000 (21:24 -0500)]
man: link to fd.o for dbus stuff
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:23:24 +0000 (21:23 -0500)]
man: link to freebsd.org for inetd(8)
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:22:39 +0000 (21:22 -0500)]
man: fix a bunch of links
All hail linkchecker!
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:22:05 +0000 (21:22 -0500)]
sd-daemon: simplify sd_pid_notify_with_fds
Coverity was complaining that CMSG_NXTHDR is used without
checking the return value. In this case it cannot fail, but
it is a good excuse to simplify the function a bit.
CID #1261726.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:22:02 +0000 (21:22 -0500)]
udev: properly calculate size of remaining data
The data comes from the kernel, so chances of it being
garbled are low, but for correctness' sake, add the check.
CID #996458.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:22:00 +0000 (21:22 -0500)]
test-dhcp-option: conform to usual coding style
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:21:58 +0000 (21:21 -0500)]
test-dhcp-option: add assert to check index is nonnegative
CID #1237623.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:21:52 +0000 (21:21 -0500)]
core: check asprintf return value
CID #1261729.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:21:46 +0000 (21:21 -0500)]
core: print warning on invalid swap pri= field
CID #1264371.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:21:41 +0000 (21:21 -0500)]
core: one more (void)
CID #996308.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:21:38 +0000 (21:21 -0500)]
logind: explicitly ignore errors we can do nothing about
CID #1237545.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:21:05 +0000 (21:21 -0500)]
bus: explicitly ignore failure during error handling
CID #1237548.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:20:59 +0000 (21:20 -0500)]
core: explicitly ignore failure during cleanup
CID #1237550.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:20:53 +0000 (21:20 -0500)]
core: don't wait for reply if writing to pipe fails
This shouldn't really happen, but it's seems cleaner to
continue on error.
CID #1237552.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:20:47 +0000 (21:20 -0500)]
core: either ignore or handle mount failures
/dev/pts/ptmx is as important as /dev/pts, so error out if that
fails. Others seem less important, since the namespace is usable
without them, so ignore failures.
CID #123755, #123754.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:20:01 +0000 (21:20 -0500)]
Use space after a silencing (void)
We were using a space more often than not, and this way is
codified in CODING_STYLE.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:11:09 +0000 (21:11 -0500)]
core: ignore any issues with setting time on jobs_in_progress_event_source
CID #1237559.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:11:05 +0000 (21:11 -0500)]
sd-resolve: use different element of union to make code more readable
They both point to the same location, but the reader
is not forced to look back to the beginning of the function
to see that.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:11:03 +0000 (21:11 -0500)]
journal-remote: explain why source->buf cannot be null
In reference to CID #1238956.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:19 +0000 (21:10 -0500)]
Check that EWOULDBLOCK is the same as EAGAIN
It certainly is everywhere on Linux, but as a courtesy
to people doing some strange cross-compilation, check
that the assumption holds.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:17 +0000 (21:10 -0500)]
journal-remote: make process_data static
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:15 +0000 (21:10 -0500)]
nspawn: tell coverity that we ignore return value
CID #1271353.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:13 +0000 (21:10 -0500)]
gpt-auto-generator: allow type check to fail
add_mount() is OK with unknow file type, but we have to initalize
the variable to NULL not to pass garbage on error.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:12 +0000 (21:10 -0500)]
efi: widen operand to avoid overflow
CID #1287141.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:10:06 +0000 (21:10 -0500)]
core: issue error on oom we can do nothing about
CID #1287142.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Mar 2015 02:07:45 +0000 (21:07 -0500)]
µhttp-util: setup gnutls logs in one function
Tom Gundersen [Fri, 13 Mar 2015 17:43:00 +0000 (18:43 +0100)]
udev: make set_usec_initialized() internal to libudev
Instead introduce ensure_usec_initialized(), which copies the timestamp if possible otherwise
sets it to now(CLOCK_MONOTONIC).
Tom Gundersen [Fri, 13 Mar 2015 15:15:03 +0000 (16:15 +0100)]
sd-rtnl: read_message - don't set group if not needed
Tom Gundersen [Fri, 13 Mar 2015 15:13:24 +0000 (16:13 +0100)]
sd-rtnl: process - only apply matches to broadcast messages
Tom Gundersen [Fri, 13 Mar 2015 15:12:57 +0000 (16:12 +0100)]
sd-rtnl: improve detection of broadcast messages
Do not rely on nl_pid == 0, but check the groups instead. We currently avoid using
nl_pid == 0 for unicast anyway, so this should be redundant, but let's try to be
correct.
Tom Gundersen [Fri, 13 Mar 2015 14:49:07 +0000 (15:49 +0100)]
sd-rtnl: never set serial to 0
In the unlikely event that we wrap the counter, skip 0 as this is used
for broadcasts.
Suggested by Richard Maw.
David Herrmann [Fri, 13 Mar 2015 13:08:00 +0000 (14:08 +0100)]
tree-wide: there is no ENOTSUP on linux
Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses.
David Herrmann [Fri, 13 Mar 2015 12:55:54 +0000 (13:55 +0100)]
bus: stop using EDEADLOCK
The error code is called EDEADLK, stop using legacy names like EDEADLOCK.
Note that _some_ weird architectures define them differently (namely, mips
and sparc), but on all sane architectures they're exactly the same. So
stay with the widely used code, which is EDEADLK.
David Herrmann [Fri, 13 Mar 2015 12:51:55 +0000 (13:51 +0100)]
journal-remote: stop using EWOULDBLOCK
There is no reason to ever use EWOULDBLOCK. It's equivalent to EAGAIN on
all architectures on linux.
David Herrmann [Fri, 13 Mar 2015 12:41:55 +0000 (13:41 +0100)]
udev: dont use EWOULDBLOCK
EWOULDBLOCK is the same as EAGAIN, stop using it.
Mathieu Chevrier [Fri, 13 Mar 2015 04:33:44 +0000 (00:33 -0400)]
gpt-auto-generator: fix detection of /srv
https://bugs.freedesktop.org/show_bug.cgi?id=89226
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 04:25:31 +0000 (00:25 -0400)]
man: update example 2 in systemd.network(5)
none/both/v4/v6 are deprecated in favour of no/yes/ipv4/ipv6.
https://bugs.freedesktop.org/show_bug.cgi?id=89221
Alex Puchades [Fri, 13 Mar 2015 04:17:04 +0000 (00:17 -0400)]
po: add Spanish translation
https://bugs.freedesktop.org/show_bug.cgi?id=89559
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 04:03:41 +0000 (00:03 -0400)]
sd-event: fix typo
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 04:02:28 +0000 (00:02 -0400)]
journal-remote: process events without delay
journal-remote buffers input, and then parses it handling one journal entry at a time.
It was possible for useful data to be left in the buffer after some entries were
processesed. But all data would be already read from the fd, so there would be
no reason for the event loop to call the handler again. After some new data came in,
the handler would be called again, and would then process the "old" data in the buffer.
Fix this by enabling a handler wherever we process input data and do not exhaust data
from the input buffer (i.e. when EAGAIN was not encountered). The handler runs until
we encounter EAGAIN.
Looping over the input data is done in this roundabout way to allow the event loop
to dispatch other events in the meanwhile. If the loop was inside the handler, a
source which produced data fast enough could completely monopolize the process.
https://bugs.freedesktop.org/show_bug.cgi?id=89516
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 01:54:14 +0000 (21:54 -0400)]
journal-remote: check also for EWOULDBLOCK
This matches similar code elsewhere.
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 01:29:28 +0000 (21:29 -0400)]
journal-remote: downgrade routine messages to debug
https://bugs.freedesktop.org/show_bug.cgi?id=89486
Zbigniew Jędrzejewski-Szmek [Fri, 13 Mar 2015 00:50:08 +0000 (20:50 -0400)]
sd-pppoe: workaround for incomplete include in old kernels
Richard Maw [Thu, 12 Mar 2015 18:14:58 +0000 (18:14 +0000)]
networkd: Begin with serial number 1 for netlink requests
"Notifications are of informal nature and no reply is expected, therefore the
sequence number is typically set to 0."[1]
If networkd is started soon after recent netlink activity, then there
will be messages with sequence number 0 in the buffer.
The first thing networkd does is to request a dump of all the links. If
it uses sequence number 0 for this, then it may confuse the dump request's
response with that of a notification.
This will result in it failing to properly enumerate all the links,
but more importantly, when it comes to enumerate all the addresses, it
will still have the link dump in progress, so the address enumeration
will fail with -EBUSY.
[1]: http://www.infradead.org/~tgr/libnl/doc/core.html#core_msg_types
[tomegun: sequence -> serial]
Kay Sievers [Thu, 12 Mar 2015 17:34:23 +0000 (18:34 +0100)]
hwdb: update
Kay Sievers [Thu, 12 Mar 2015 16:44:58 +0000 (17:44 +0100)]
build-sys: fix name of new rules file
Kay Sievers [Thu, 12 Mar 2015 16:15:15 +0000 (17:15 +0100)]
rules: merge tty and serial rules file
Kay Sievers [Thu, 12 Mar 2015 15:34:18 +0000 (16:34 +0100)]
rules: merge udev-late.rules files
Kay Sievers [Thu, 12 Mar 2015 15:30:05 +0000 (16:30 +0100)]
rules: default - remove legacy agpgart
Kay Sievers [Thu, 12 Mar 2015 15:28:38 +0000 (16:28 +0100)]
rules: systemd - remove legacy "ram" from block device blacklist
Kay Sievers [Thu, 12 Mar 2015 15:09:46 +0000 (16:09 +0100)]
rules: move block device rules to its own rules file
Kay Sievers [Thu, 12 Mar 2015 14:03:30 +0000 (15:03 +0100)]
rules: storage - relace blacklist with explicit whitelist
Newly added kernel drivers repeatedly pass our blacklist and
cause trouble for the devices, because they do not expect to
be examined by udev's default rules which include blkid.
This turns the blacklist into a whitelist. Device type which
need support for additional symlinks need to be added to the
whitelist now.
Note, that the by-id, by-path symlinks are only intended for
hotpluggable devices. There is no reason for exotic, or for
statically configured devices to provide them.
Tom Gundersen [Thu, 12 Mar 2015 12:03:44 +0000 (13:03 +0100)]
TODO
David Herrmann [Thu, 12 Mar 2015 11:46:46 +0000 (12:46 +0100)]
man: split paragraph
Explicitly put the "multiple EnvironmentFile=" description into its own
paragraph to make it much easier to find.
Tom Gundersen [Thu, 12 Mar 2015 11:23:59 +0000 (12:23 +0100)]
core: add missing words to my fix of explanation of associativity
Tom Gundersen [Wed, 11 Mar 2015 14:41:32 +0000 (15:41 +0100)]
udevd: improve handling of failed worker
The information in the db is stale, so it does not make sense to
expose it any longer. Also, don't drop the kernel event, but simply
pass it on to userspace without ammending it.
Tom Gundersen [Wed, 11 Mar 2015 21:27:46 +0000 (22:27 +0100)]
udevd: don't free event when killing the worker, wait until it has been reaped
This will allow us to clean up the device when we are notified about the worker being killed.
Tom Gundersen [Fri, 6 Mar 2015 14:22:30 +0000 (15:22 +0100)]
libudev: introduce clone_with_db()
This allows us to move the db reading from udevd to libudev.
Tom Gundersen [Wed, 11 Mar 2015 21:23:38 +0000 (22:23 +0100)]
libudev: monitor - fix error path in send_device
Return -errno rather than -1 in case sendmsg() fails.
Tom Gundersen [Fri, 6 Mar 2015 17:22:35 +0000 (18:22 +0100)]
udevd: event - make db loading lazy in REMOVE event handling
We were explicitly eagerly loading the db, then deletenig the backing file and then processing the
rules/symlinks. Instead we delete the backnig db file as the last step and let the db loading be
lazy as everywhere else.
This may save us a bit of work in casese where the db is not needed, but more importantly it hides
some implementation details of libudev-device form udevd.
Tom Gundersen [Fri, 6 Mar 2015 17:30:09 +0000 (18:30 +0100)]
libudev: introduce udev_device_properties_copy()
To copy properties from one device to another. Drop the equivalent functionality from udevd.
Kay Sievers [Wed, 11 Mar 2015 22:26:48 +0000 (23:26 +0100)]
boot: efi - add config option to disable the command line editor
Umut Tezduyar Lindskog [Wed, 11 Mar 2015 10:24:18 +0000 (11:24 +0100)]
cgtop: fix assert when not on tty
systemd-cgtop --dept=1 -b -n 10 -d 0.1 | cat
Assertion 'new_length >= 3' failed at src/shared/util.c:3 \
595, function ellipsize_mem(). Aborting.
Aborted (core dumped)
(David: add comment)
David Herrmann [Wed, 11 Mar 2015 15:35:21 +0000 (16:35 +0100)]
core: fix cgroups-agent match for kdbus
On kdbus, we get cgroups-agent messages via the system bus, not the
private systemd socket. Therefore, we must install the match properly or
we will never receive cgroup notifications.
David Herrmann [Wed, 11 Mar 2015 15:32:47 +0000 (16:32 +0100)]
core: rewind message before forwarding it
Forwarding messages that are not rewinded will drop data. Fix this for
cgroups-agent messages that we might remarshal before forwarding to the
system bus.
David Herrmann [Wed, 11 Mar 2015 15:30:59 +0000 (16:30 +0100)]
bus: remarshal kdbus messages received from the kernel
If we receive an sd_bus_message from the kernel, m->kdbus will contain
additional items that cannot be used when sending a message. Therefore,
always remarshal the message if it is used again.
David Herrmann [Wed, 11 Mar 2015 15:29:18 +0000 (16:29 +0100)]
bus: drop redundant assignment
This assignment is already done in the parent context, no need to do it
again.
Zbigniew Jędrzejewski-Szmek [Wed, 11 Mar 2015 14:04:49 +0000 (10:04 -0400)]
man: fix links to compressors
Zbigniew Jędrzejewski-Szmek [Tue, 10 Mar 2015 16:30:12 +0000 (12:30 -0400)]
socket-util: refactor error handling in sockaddr_pretty
Tom Gundersen [Wed, 11 Mar 2015 13:53:16 +0000 (14:53 +0100)]
core: fix explanation of associativity
David Herrmann [Wed, 11 Mar 2015 12:53:21 +0000 (13:53 +0100)]
bus-proxy: complain only once about queue overflows
If the local peer does not dispatch its incoming queue, the bus-proxy will
slowly fill its outgoing queue. Once its full, it will continously
complain that it cannot forward its messages.
As it turns out, pulseaudio does have an idle background dbus connection
that is not integrated into any mainloop (and given that gdbus and
libdbus1 both support background shared connections, PA is probably not
the only example), therefore, the bus-proxy will loudly complain if it
cannot forward NameOwnerChanged events once the queue is full.
This commit makes the proxy track queue-state and complain only once the
queue runs full, not if it is already full.
A PA bug-report (and patch) has been filed, and other applications should
be fixed similarly. Hence, lets keep the error message, instead of
dropping it. It's unused resources we really want to get rid of, so
silencing the message does not really help (which is actually what
dbus-daemon does).
David Herrmann [Tue, 16 Dec 2014 16:30:46 +0000 (17:30 +0100)]
terminal/sysview: introduce SETTLE events
This introduces a new SYSVIEW_EVENT_SETTLE notification that is sent after
initial scanning via sysview is done. This is very handy to let the
application raise warnings in case requested resources are not found
during startup.
The SETTLE event is sent after systemd-logind and udev enumerations are
done. This event does in no way guarantee that a given resource is
available. All it does is notify the application that scanning is done!
You must not react to SETTLE if you don't have external synchronization
with the resource you're waiting for.
The main use-case for SETTLE is to run applications _inside_ of logind
sessions and startup sysview. You really want to make sure that the own
session you're running in was found during enumeration. If not, something
is seriously wrong.
David Herrmann [Tue, 16 Dec 2014 15:14:48 +0000 (16:14 +0100)]
console: fix error-code inversion
The error-code propagated via sysview is always negative. Avoid
multiplying by -1 before returning it. Otherwise, we will return >0
instead of <0, which will not be detected as error by sysview-core.
Kay Sievers [Wed, 11 Mar 2015 10:15:53 +0000 (11:15 +0100)]
udev: add SYSCTL{} support
Kay Sievers [Wed, 11 Mar 2015 09:37:45 +0000 (10:37 +0100)]
sysctl: move property handling to shared/
Lennart Poettering [Tue, 10 Mar 2015 17:58:10 +0000 (18:58 +0100)]
machine-id-setup: simplifications
Lennart Poettering [Tue, 10 Mar 2015 17:56:56 +0000 (18:56 +0100)]
machine-id-commit: simplifications
Alban Crequy [Tue, 10 Mar 2015 17:15:52 +0000 (18:15 +0100)]
util: add rename_noreplace
renameat2() exists since Linux 3.15 but btrfs support for the flag
RENAME_NOREPLACE was added later.
This patch implements a fallback when renameat2() returns EINVAL.
EINVAL is the error returned when the filesystem does not support one of
the flags.
Harald Hoyer [Fri, 20 Feb 2015 12:25:42 +0000 (13:25 +0100)]
path-util: fix path_is_mount_point() for symlinks
path_is_mount_point() compares the mount_id of a directory and the
mount_id of the parent directory. When following symlinks, the function
to get the parent directory does not take the symlink into account.
/bin -> /usr/bin with /usr being a mountpoint:
mount_id of /bin with AT_SYMLINK_FOLLOW != mount_id of /
Lennart Poettering [Tue, 10 Mar 2015 16:39:42 +0000 (17:39 +0100)]
CODING_STYLE: mention casting of function invocations to (void)
Lukasz Skalski [Tue, 10 Mar 2015 15:09:02 +0000 (16:09 +0100)]
bus-proxy: add support for "GetConnectionCredentials" method
GetConnectionCredentials method was added to dbus-1 specification
more than one year ago. This method should return "[...] as many
credentials as possible for the process connected to the server",
but at this moment only "UnixUserID", "LinuxSecurityLabel" and
"ProcessID" are defined by the specification. We should add support
for next credentials after extending dbus-1 spec.
daurnimator [Mon, 9 Mar 2015 19:11:44 +0000 (15:11 -0400)]
tmpfiles: port to unquote_many_words()
Lennart Poettering [Tue, 10 Mar 2015 14:55:58 +0000 (15:55 +0100)]
shared: the btrfs quota field is called "referenced" not "referred"
Lennart Poettering [Tue, 10 Mar 2015 14:48:04 +0000 (15:48 +0100)]
update TODO
Lennart Poettering [Tue, 10 Mar 2015 14:47:45 +0000 (15:47 +0100)]
man: document "machinectl export-tar" and "export-raw"
Shawn Landden [Tue, 10 Mar 2015 11:41:59 +0000 (04:41 -0700)]
add REMOTE_ADDR and REMOTE_PORT for Accept=yes