Commit graph

20881 commits

Author SHA1 Message Date
Harald Hoyer 46be6129d3 util:bind_remount_recursive() fix "use after free"
set_consume(done, x) consumes x with free(x)
but
mount(…, x, …) uses it afterwards.

coverity CID 1299006
2015-06-08 15:14:26 +02:00
Lennart Poettering 1472e65799 Merge pull request #92 from zonque/README
README.md: add Coverity scan status badge
2015-06-08 14:06:32 +02:00
Daniel Mack 609e4fe3af README.md: add Coverity scan status badge 2015-06-08 13:26:54 +02:00
Daniel Hahler a0ab162a09 zsh-completion: optimize _filter_units_by_property
Optimize _filter_units_by_property by calling `systemctl` only once with
a list of units, and not once per unit.

I could not reproduce the "Unknown unit" error mentioned in a FIXME,
which might have made this necessary previously.
2015-06-06 12:54:41 +02:00
Kay Sievers 7437e0f53a Merge pull request #79 from zonque/fdo-87475
kmod-setup: don't warn when ipv6 can't be loaded (FDO bug #87475)
2015-06-05 21:02:47 +02:00
Daniel Mack b34fb276c0 Merge pull request #82 from gmacario/bootchart-fix-typo
systemd-bootchart: Trivial typo fix in warning
2015-06-05 21:00:41 +02:00
Gianpaolo Macario 6aec8359b0 systemd-bootchart: Trivial typo fix in warning
Signed-off-by: Gianpaolo Macario <gmacario@gmail.com>
2015-06-05 18:42:36 +02:00
Harald Hoyer 4754345e0f Merge pull request #80 from zonque/README.md
Add README.md
2015-06-05 16:09:45 +02:00
Daniel Mack 7188bb07e3 Add README.md
A README.md allows us to include a badge for the current build status of
Semaphore CI. Keep other information in this file minimal, and avoid
information duplication but point readers to the official README.
2015-06-05 16:01:03 +02:00
David Herrmann ed47f6397d bus: don't force send-masks on kdbus buses
Right now we always pass KDBUS_ITEM_ATTACH_FLAGS_RECV to
KDBUS_CMD_BUS_MAKE, effectively forcing every bus connection to do the
same during KDBUS_CMD_HELLO. This used to be a workaround to make sure all
metadata is always present. However, we refrained from that approach and
intend to make all metadata collection solely rely on /proc access
restrictions. Therefore, there is no need to force the send-flags mask on
newly created buses.
2015-06-05 15:23:03 +02:00
Daniel Mack b4aa82f168 kmod-setup: don't warn when ipv6 can't be loaded
Not having IPv6 is a valid setup. Let's not print a warning in that
case.

Addresses:

  https://bugs.freedesktop.org/show_bug.cgi?id=87475
2015-06-05 14:59:36 +02:00
Philip Withnall 7ffeb45cc6 logind: Fix user_elect_display() to be more stable
The previous implementation of user_elect_display() could easily end up
overwriting the user’s valid graphical session with a new TTY session.
For example, consider the situation where there is one session:
   c1, type = SESSION_X11, !stopping, class = SESSION_USER
it is initially elected as the user’s display (i.e. u->display = c1).

If another session is started, on a different VT, the sessions_by_user
list becomes:
   c1, type = SESSION_X11, !stopping, class = SESSION_USER
   c2, type = SESSION_TTY, !stopping, class = SESSION_USER

In the previous code, graphical = c1 and text = c2, as expected.
However, neither graphical nor text fulfil the conditions for setting
u->display = graphical (because neither is better than u->display), so
the code falls through to check the text variable. The conditions for
this match, as u->display->type != SESSION_TTY (it’s actually
SESSION_X11). Hence u->display is set to c2, which is incorrect, because
session c1 is still valid.

Refactor user_elect_display() to use a more explicit filter and
pre-order comparison over the sessions. This can be demonstrated to be
stable and only ever ‘upgrade’ the session to a more graphical one.

https://bugs.freedesktop.org/show_bug.cgi?id=90769
2015-06-05 12:48:16 +02:00
Daniel Mack 3a3701f033 Merge pull request #63 from arvidjaar/issue/50
fstab-generator: cescape device name in root-fsck service
2015-06-05 09:41:27 +02:00
Daniel Mack a4d9a304f9 Merge pull request #76 from crrodriguez/master
core: Remove "old kernel" warning if PR_SET_CHILD_SUBREAPER fails
2015-06-05 09:25:43 +02:00
Cristian Rodríguez 61b9b203fe core: Remove "old kernel" warning if PR_SET_CHILD_SUBREAPER fails
This made sense when systemd ran on older kernels, nowdays not so much.
2015-06-05 04:06:39 -03:00
Daniel Mack 5e29ba7a5c Merge pull request #74 from systemd-mailing-devs/1432753344-31461-1-git-send-email-jonathan.boulle@coreos.com
fix extraneous space in equality check
2015-06-05 01:48:25 +02:00
David Herrmann a34333a1d1 bus: update kdbus.h
Sync with upstream.
2015-06-04 20:26:21 +02:00
David Herrmann 72db4d960c Merge pull request #72 from teg/event-fork-unref
sd-event: don't touch fd's accross forks
2015-06-04 19:21:17 +02:00
David Herrmann 5c9e74f738 Merge pull request #73 from zonque/mountinfo
core/mount: skip incomplete mountinfo entries
2015-06-04 19:15:20 +02:00
Tom Gundersen f68067348f sd-event: don't touch fd's accross forks
We protect most of the API from use accross forks, but we still allow both
sd_event and sd_event_source objects to be unref'ed. This would cause
problems as it would unregister sources from the underlying eventfd, hence
also affecting the original instance in the parent process.

This fixes the issue by not touching the fds on unref when done accross a fork,
but still free the memory.

This fixes a regression introduced by
        "udevd: move main-loop to sd-event": 693d371d30

where the worker processes were disabling the inotify event source in the
main daemon.
2015-06-04 19:04:26 +02:00
Daniel Mack c0a7f8d3cb core/mount: skip incomplete mountinfo entries
Skip /proc/mountinfo entries for which libmount returns a NULL pointer
for 'source' or 'target'. This happened on Semaphore CI's build servers
when the test suite is run.
2015-06-04 19:00:46 +02:00
Martin Pitt c9876eff9b Merge pull request #71 from kloun/patch-1
small fix ru translation
2015-06-04 18:50:03 +02:00
David Herrmann df9ae92ba2 Merge pull request #58 from pwithnall/wip/pwithnall/user-active-on-vt-switch
logind: Save the user’s state when a session enters SESSION_ACTIVE
2015-06-04 16:57:28 +02:00
kloun fcf3f5958e small fix ru translation 2015-06-04 17:56:59 +03:00
David Herrmann 8604f39cca Merge pull request #57 from pwithnall/wip/pwithnall/udev-virtualbox-rules
logind: Add a udev rule to tag all DRM cards with master-of-seat
2015-06-04 16:17:24 +02:00
Zbigniew Jędrzejewski-Szmek 116b6c8687 Partially revert "ma-setup: simplify"
copy_bytes() tries to do the write in chunks, but ima kernel code
needs every rule to be written in one write. Writing the whole file
at once avoids the issue.

http://lists.freedesktop.org/archives/systemd-devel/2015-June/032623.html
http://sourceforge.net/p/linux-ima/mailman/message/34145236/
https://bugzilla.redhat.com/show_bug.cgi?id=1226948
2015-06-04 09:20:46 -04:00
Martin Pitt 1cf548925d Merge pull request #68 from whot/hwdb-updates
hwdb: add Apple MagicMouse entry
2015-06-04 08:45:11 +02:00
Peter Hutterer 68a6ac91a1 hwdb: add Apple MagicMouse entry 2015-06-04 16:05:08 +10:00
Kay Sievers e2fa715943 Merge pull request #59 from eswierk/master
Add /dev/xvd* to 60-persistent-storage whitelist
2015-06-03 23:13:40 +02:00
Kay Sievers f9748d8148 Merge pull request #65 from teg/enumerate-accept-null
libudev: enumerate - accept NULL parameters in add_match()
2015-06-03 22:48:01 +02:00
Tom Gundersen 21ee915614 Merge pull request #52 from mbiebl/systemctl-edit-default-editor
systemctl: Use /usr/bin/editor if available
2015-06-03 22:34:11 +02:00
Kay Sievers 6517217d49 kdbus: remove attach_flags_mask module parameter setting 2015-06-03 22:24:16 +02:00
Tom Gundersen 54f0b4d9a3 libudev: enumerate - accept NULL parameters in add_match()
This was a regression introduced when moving to sd-device.
2015-06-03 22:08:46 +02:00
Andrei Borzenkov fa05e97257 fstab-generator: cescape device name in root-fsck service
We unescape ExecStart line when parsing it, so escape device name
before adding it to unit file.

fixes #50
2015-06-03 21:03:41 +03:00
Thomas Hindoe Paaboel Andersen 602ee553e4 test-util: fix a memleak 2015-06-03 19:50:02 +02:00
Daniel Mack eb71a33158 Merge pull request #60 from Keruspe/master
build-sys: drop references to gobject-introspection
2015-06-03 18:02:18 +02:00
Daniel Mack 75db28c8f2 Merge pull request #55 from filbranden/rootprefix_empty1
Fix --with-rootprefix= (empty) with a workaround for now.
2015-06-03 18:01:21 +02:00
Kay Sievers 2b4919a68c build-sys: disable gc-sections if optimization is disabled
This way, development builds will not rely on gc-sections to
paper over cyclic link dependencies. Newly introduced broken
link requirements will immediatley fail.
2015-06-03 17:38:26 +02:00
Marc-Antoine Perennou c7b13c64b3 build-sys: drop references to gobject-introspection
It has been removed alongside gudev
2015-06-03 17:26:59 +02:00
Ed Swierk ff2aa01e61 Add /dev/xvd* to 60-persistent-storage whitelist
Without this, systemd-udevd does not create persistent storage symlinks
for xen block devices.
2015-06-03 08:08:37 -07:00
Harald Hoyer ce54255fa5 test-unit-file.c: fixup the test for commit 3b51f8ddd5 2015-06-03 16:36:20 +02:00
Filipe Brandenburger e013d21b62 build-sys: Work around --with-rootprefix= (empty) not producing /
Since we introduced AX_NORMALIZE_PATH, using --with-rootprefix=/ does
produce an empty string, but using --with-rootprefix= (empty) now
produces "." instead which is wrong.

Work around it until we can find a better solution for AX_NORMALIZE_PATH
upstream at autoconf-archive.

Bug: https://github.com/systemd/systemd/issues/54
2015-06-03 07:34:42 -07:00
Filipe Brandenburger 759b98c568 build-sys: Recommend --with-rootprefix=/ for split-usr
Since we started using AX_NORMALIZE_PATH, that is a valid supported
setup and is more explicit than --with-rootprefix= (empty) which is
actually currently broken.

Let's advocate for it in the ./configure suggestion from autogen.sh.
2015-06-03 07:34:42 -07:00
Harald Hoyer ea344aec10 Merge pull request #51 from zonque/unquote
util: fix another cunescape() regression



compiled and test-util exited with 0
2015-06-03 15:55:28 +02:00
Kay Sievers 1a435084b7 configure.ac: add missing komma 2015-06-03 14:50:58 +02:00
Kay Sievers 29d01b7064 point to github issues instead of freedesktop bugzilla 2015-06-03 14:48:55 +02:00
Kay Sievers 4142554fcd build-sys: split off libsystemd-machine convenience lib
Break the link order cycle by splitting off the machine parts which
use sd-bus but live in shared/.
2015-06-03 14:46:11 +02:00
Kay Sievers 42fcc4d258 build-sys: merge libsystemd-label convenience lib
Stop to pretend that we can split selinux related code from other.
We have too many cross-references and it breaks all the time and
I am no longer willing to maintain that mess for no real benefit.

We currently have cyclic dependencies which are only resolved on
machines with gc-sections toolchains. We need a simpler and at the
same time more strict model to manage our convenienc libraries and
linking.

The first thing to give up is the "optimization" of not linking
libselinux for a very few tools. If that is an issue, please fix
the mess that libselinux creates in selinux itself, and do not ask
consumers to work around it.
2015-06-03 14:23:03 +02:00
Michael Biebl 9391a1c3d6 systemctl: Use /usr/bin/editor if available
If the EDITOR environment variable is not set, the Debian policy
recommends to use the /usr/bin/editor program as default editor.
This file is managed via the dpkg alternatives mechanism and typically
used in Debian/Ubuntu and derivatives to configure the default editor.

See section 11.4 of the Debian policy [1].

Therefor prefer /usr/bin/editor over specific editors if available.

[1] https://www.debian.org/doc/debian-policy/ch-customized-programs.html
2015-06-03 14:14:42 +02:00
Daniel Mack 3b51f8ddd5 util: fix another cunescape() regression
Fix a regression caused by 4034a06d ("util: rework word parsing and c
unescaping code") which broke octal escape sequences.

The reason for this breakage is that cunescape_one() expects 4 characters
in an octal encoding, which is a stray left-over from the old code which
operated on different variables to make the length check.

While at it, add a test case to prevent the same thing from happening
again.
2015-06-03 13:54:21 +02:00