platform/upstream/systemd.git
9 years agohashmap: allow NULL key in ordered_hashmap_next()
Michal Schmidt [Tue, 16 Jun 2015 13:46:40 +0000 (15:46 +0200)]
hashmap: allow NULL key in ordered_hashmap_next()

There is no reason to require key to be non-NULL.
Change test_ordered_hashmap_next() to use trivial_hash_ops in order to
test NULL key too.

9 years agohashmap: remove _IDX_ITERATOR_NIL definition
Michal Schmidt [Tue, 16 Jun 2015 13:43:06 +0000 (15:43 +0200)]
hashmap: remove _IDX_ITERATOR_NIL definition

It is unused and rightly so. Users of the hashmap API should
not care about the idx values or any other Iterator internals.
_IDX_ITERATOR_FIRST in hashmap.h is an exception. It is needed
for ITERATOR_FIRST.

9 years agoMerge pull request #256 from kaysievers/wip
Kay Sievers [Wed, 17 Jun 2015 15:18:10 +0000 (17:18 +0200)]
Merge pull request #256 from kaysievers/wip

libsystemd: remove list of symbols to export only in the future

9 years agoMerge pull request #260 from mbiebl/systemshutdowndir-substitution
Lennart Poettering [Wed, 17 Jun 2015 15:11:42 +0000 (17:11 +0200)]
Merge pull request #260 from mbiebl/systemshutdowndir-substitution

build-sys: restore systemshutdowndir substitution

9 years agobuild-sys: restore systemshutdowndir substitution
Michael Biebl [Wed, 17 Jun 2015 14:36:46 +0000 (16:36 +0200)]
build-sys: restore systemshutdowndir substitution

This was accidentally removed in d6b07ef.

9 years agolibsystemd: remove list of symbols to export only in the future
Kay Sievers [Wed, 17 Jun 2015 13:53:56 +0000 (15:53 +0200)]
libsystemd: remove list of symbols to export only in the future

9 years agoMerge pull request #254 from poettering/external-displays2
David Herrmann [Wed, 17 Jun 2015 13:56:04 +0000 (15:56 +0200)]
Merge pull request #254 from poettering/external-displays2

logind: rework display counting when detecting whether the system is …

9 years agoMerge pull request #221 from utezduyar/man-cgtop-explain-max-cpu
Lennart Poettering [Wed, 17 Jun 2015 13:48:31 +0000 (15:48 +0200)]
Merge pull request #221 from utezduyar/man-cgtop-explain-max-cpu

man: explain max CPU load on cgtop

9 years agotmpfiles: only root-owned aquota.* files are special
Zbigniew Jędrzejewski-Szmek [Sat, 13 Jun 2015 17:14:37 +0000 (13:14 -0400)]
tmpfiles: only root-owned aquota.* files are special

Fixes #188.

9 years agoMerge pull request #253 from dvdhrm/libudev-man
Kay Sievers [Wed, 17 Jun 2015 13:44:02 +0000 (15:44 +0200)]
Merge pull request #253 from dvdhrm/libudev-man

man: add libudev man-pages (skeletons)

9 years agologind: rework display counting when detecting whether the system is docked
Lennart Poettering [Tue, 16 Jun 2015 22:24:05 +0000 (00:24 +0200)]
logind: rework display counting when detecting whether the system is docked

Previously, we'd just count connected displays, and if there was 2 or
more we assumed a "docked" state.

With this change we now:

- Only count external displays, ignore internal ones (which we detect by
  checking the connector name against a whitelist of known external plug
  types)

- We ignore connectors which are explicitly disabled

- We then compare the count with >= 1 rather than >= 2 as before

This new logic has the benefit that systems that disconnect the internal
display when the lid is closed are better supported. Also, explicitly
disabled ports do not confuse the algorithm anymore.

This new algorithm has been suggested here:

http://lists.freedesktop.org/archives/intel-gfx/2015-June/068821.html

This also makes two functions static, that are not used outside of their
.c files.

9 years agoupdate TODO
Lennart Poettering [Wed, 17 Jun 2015 13:40:37 +0000 (15:40 +0200)]
update TODO

9 years agoman: add libudev man-pages (skeletons)
David Herrmann [Wed, 17 Jun 2015 13:11:11 +0000 (15:11 +0200)]
man: add libudev man-pages (skeletons)

This adds man-pages for most of the libudev symbols we export. Similar
symbols are grouped together in a single man-page, with respective links
added. All man-pages contain the full skeleton including NAME, SYNOPSIS,
RETURN VALUE and SEE ALSO. However, most of them still lack the
DESCRIPTION part. This should be copied from the gtkdoc descriptions in
src/libudev/libudev*.[ch]. Any help is welcome! (the whole skeleton is
already done, so it's really just about the prose-part of the man-pages to
be written).

Missing from the man-pages are the following parts:
  - udev_set_log_fn()
  - udev_[gs]et_log_priority()
  - udev_[gs]et_userdata()
  - udev_list_entry_foreach()
  - udev_device_get_seqnum()
  - udev_device_get_usec_since_initialized()
  - udev_util_encode_string()
These are considered legacy, afaik. If not, please feel free to add them
now!

Furthermore, udev-hwdb and udev-queue are not documented at all (for the
same reasons).

9 years agoMerge pull request #176 from filbranden/test_cgroup_mask1
Lennart Poettering [Wed, 17 Jun 2015 13:19:12 +0000 (15:19 +0200)]
Merge pull request #176 from filbranden/test_cgroup_mask1

test-cgroup-mask: unit_get_sibling_mask ignores cgroup_supported

9 years agoMerge pull request #251 from zonque/signal
Kay Sievers [Wed, 17 Jun 2015 13:09:32 +0000 (15:09 +0200)]
Merge pull request #251 from zonque/signal

core: execute: fix regression in pam_setup()

9 years agocore: execute: fix regression in pam_setup()
Daniel Mack [Wed, 17 Jun 2015 12:31:49 +0000 (14:31 +0200)]
core: execute: fix regression in pam_setup()

Commit 72c0a2c25 ("everywhere: port everything to sigprocmask_many()
and friends") reworked code tree-wide to use the new sigprocmask_many()
helper. In this, it caused a regression in pam_setup, because it
dropped a line to initialize the 'ss' signal mask which is later used
in sigwait().

While at it, move the variable declaration to an inner scope.

9 years agoman: explain max CPU load on cgtop
Umut Tezduyar Lindskog [Tue, 16 Jun 2015 06:46:25 +0000 (08:46 +0200)]
man: explain max CPU load on cgtop

9 years agoMerge pull request #246 from smcv/xpg-not-xdg
Lennart Poettering [Wed, 17 Jun 2015 11:08:15 +0000 (13:08 +0200)]
Merge pull request #246 from smcv/xpg-not-xdg

Stop talking about the "XDG" version of basename()

9 years agoMerge pull request #245 from poettering/always-sdbus-man-pages
Daniel Mack [Wed, 17 Jun 2015 10:55:18 +0000 (12:55 +0200)]
Merge pull request #245 from poettering/always-sdbus-man-pages

man: always build sd-bus man pages, even if kdbus is disabled

9 years agoman: always build sd-bus man pages, even if kdbus is disabled
Lennart Poettering [Wed, 17 Jun 2015 10:32:33 +0000 (12:32 +0200)]
man: always build sd-bus man pages, even if kdbus is disabled

After all, we now moved sd-bus out of the kdbus conditional, hence the
man pages should be too.

9 years agoStop talking about the "XDG" version of basename()
Simon McVittie [Wed, 17 Jun 2015 10:23:46 +0000 (11:23 +0100)]
Stop talking about the "XDG" version of basename()

XDG refers to X Desktop Group, a former name for freedesktop.org.
This group is responsible for specifications like basedirs,
.desktop files and icon naming, but as far as I know, it has never
tried to redefine basename().

I think these references were meant to say XPG (X/Open Portability
Guide), a precursor of POSIX. POSIX is better-known and less easily
confused with XDG, and is how the basename(3) man page describes
the libgen.h version of basename().

The other version of basename() is glibc-specific and is described
in basename(3) as "the GNU version"; specifically mention that
version, to disambiguate.

9 years agoMerge pull request #244 from poettering/sdbus-suppress-local
David Herrmann [Wed, 17 Jun 2015 10:20:03 +0000 (12:20 +0200)]
Merge pull request #244 from poettering/sdbus-suppress-local

sd-bus: suppress installing local bus matches server side

9 years agosd-bus: suppress installing local bus matches server side
Lennart Poettering [Wed, 17 Jun 2015 09:42:39 +0000 (11:42 +0200)]
sd-bus: suppress installing local bus matches server side

Matches that can only match against messages from the
org.freedesktop.DBus.Local service (or the local interfaces or path)
should never be installed server side, suppress them hence.

Similar, on kdbus matches that can only match driver messages shouldn't
be passed to the kernel.

9 years agoMerge pull request #241 from jsynacek/doc-fix
Daniel Mack [Wed, 17 Jun 2015 08:56:21 +0000 (10:56 +0200)]
Merge pull request #241 from jsynacek/doc-fix

doc: improve readability in journald.conf.5

9 years agoMerge pull request #239 from dvdhrm/event-assert
Lennart Poettering [Wed, 17 Jun 2015 08:37:43 +0000 (10:37 +0200)]
Merge pull request #239 from dvdhrm/event-assert

sd-event: make errors on EPOLL_CTL_DEL pseudo-fatal

9 years agodoc: improve readability in journald.conf.5
Jan Synacek [Wed, 17 Jun 2015 08:12:09 +0000 (10:12 +0200)]
doc: improve readability in journald.conf.5

9 years agosd-event: make errors on EPOLL_CTL_DEL pseudo-fatal
David Herrmann [Tue, 16 Jun 2015 23:15:09 +0000 (01:15 +0200)]
sd-event: make errors on EPOLL_CTL_DEL pseudo-fatal

If we call EPOLL_CTL_DEL, we *REALLY* expect the file-descriptor to be
present in that given epoll-set. We actually track such state via our
s->io.registered flag, so it better be true.

Make sure if that's not true, we treat it similar to assert_return() (ie.,
print a loud warning).

9 years agoMerge pull request #240 from kaysievers/wip
Kay Sievers [Wed, 17 Jun 2015 05:55:26 +0000 (07:55 +0200)]
Merge pull request #240 from kaysievers/wip

build-sys: hide magic section variables from exported symbols

9 years agoMerge pull request #238 from dvdhrm/udev-epoll
Kay Sievers [Wed, 17 Jun 2015 05:32:25 +0000 (07:32 +0200)]
Merge pull request #238 from dvdhrm/udev-epoll

udev: don't close FDs before dropping them from epoll

9 years agobuild-sys: hide magic section variables from exported symbols
Kay Sievers [Wed, 17 Jun 2015 05:23:31 +0000 (07:23 +0200)]
build-sys: hide magic section variables from exported symbols

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

9 years agoudev: don't close FDs before dropping them from epoll
David Herrmann [Tue, 16 Jun 2015 21:36:36 +0000 (23:36 +0200)]
udev: don't close FDs before dropping them from epoll

Make sure we never close fds before we drop their related event-source.
This will cause horrible disruptions if the fd-num is re-used by someone
else. Under normal conditions, this should not cause any problems as the
close() will drop the fd from the epoll-set automatically. However, this
changes if you have any child processes with a copy of that fd.

This fixes issue #163.

Background:
        If you create an epoll-set via epoll_create() (lets call it 'EFD')
        you can add file-descriptors to it to watch for events. Whenever
        you call EPOLL_CTL_ADD on a file-descriptor you want to watch, the
        kernel looks up the attached "struct file" pointer, that this FD
        refers to. This combination of the FD-number and the "struct file"
        pointer is used as key to link it into the epoll-set (EFD).

        This means, if you duplicate your file-descriptor, you can watch
        this file-descriptor, too (because the duplicate will have a
        different FD-number, hence, the combination of FD-number and
        "struct file" is different as before).

        If you want to stop watching an FD, you use EPOLL_CTL_DEL and pass
        the FD to the kernel. The kernel again looks up your
        file-descriptor in your FD-table to find the linked "struct file".
        This FD-number and "struct file" combination is then dropped from
        the epoll-set (EFD).

        Last, but not least: If you close a file-descriptor that is linked
        to an epoll-set, the kernel does *NOTHING* regarding the
        epoll-set. This is a vital observation! Because this means, your
        epoll_wait() calls will still return the metadata you used to
        watch/subscribe your file-descriptor to events.
        There is one exception to this rule: If the file-descriptor that
        you just close()ed was the last FD that referred to the underlying
        "struct file", then _all_ epoll-set watches/subscriptions are
        destroyed. Hence, if you never dup()ed your FD, then a simple
        close() will also unsubscribe it from any epoll-set.

        With this in mind, lets look at fork():
                Assume you have an epoll-set (EFD) and a bunch of FDs
                subscribed to events on that EFD. If you now call fork(),
                the new process gets a copy of your file-descriptor table.
                This means, the whole table is copied and the "struct
                file" reference of each FD is increased by 1. It is
                important to notice that the FD-numbers in the child are
                exactly the same as in the parent (eg., FD #5 in the child
                refers to the same "struct file" as FD #5 in the parent).

                This means, if the child calls EPOLL_CTL_DEL on an FD, the
                kernel will look up the linked "struct file" and drop the
                FD-number and "struct file" combination from the epoll-set
                (EFD). However, this will effectively drop the
                subscription that was installed by the parent.

                To sum up: even though the child gets a duplicate of the
                EFD and all FDs, the subscriptions in the EFD are *NOT*
                duplicated!

Now, with this in mind, lets look at what udevd does:
        Udevd has a bunch of file-descriptors that it watches in its
        sd-event main-loop. Whenever a uevent is received, the event is
        dispatched on its workers. If no suitable worker is present, a new
        worker is fork()ed to handle the event. Inside of this worker, we
        try to free all resources we inherited. However, the fork() call
        is done from a call-stack that is never rewinded. Therefore, this
        call stack might own references that it drops once it is left.
        Those references we cannot deduce from the fork()'ed process;
        effectively causing us to leak objects in the worker (eg., the
        call to sd_event_dispatch() that dispatched our uevent owns a
        reference to the sd_event object it used; and drops it again once
        the function is left).

        (Another example is udev_monitor_ref() for each 'worker' that is
         also inherited by all children; thus keeping the udev-monitor and
         the uevent-fd alive in all children (which is the real cause for
         bug #163))

        (The extreme variant is sd_event_source_unref(), which explicitly
         keeps event-sources alive, if they're currently dispatched,
         knowing that the dispatcher will free the event once done. But
         if the dispatcher is in the parent, the child will never ever
         free that object, thus leaking it)

        This is usually not an issue. However, if such an object has a
        file-descriptor embedded, this FD is left open and never closed in
        the child.

In manager_exit(), if we now destroy an object (i.e., close its embedded
file-descriptor) before we destroy its related sd_event_source, then
sd-event will not be able to drop the FD from the epoll-set (EFD). This
is, because the FD is no longer valid at the time we call EPOLL_CTL_DEL.
Hence, the kernel cannot figure out the linked "struct file" and thus
cannot remove the FD-number plus "struct file" combination; effectively
leaving the subscription in the epoll-set.
Since we leak the uevent-fd in the children, they retain a copy of the FD
pointing to the same "struct file". Thus, the EFD-subscription are not
automatically removed by close() (as described above). Therefore, the main
daemon will still get its metadata back on epoll_watch() whenever an event
occurs (even though it already freed the metadata). This then causes the
free-after-use bug described in #163.

This patch fixes the order in which we destruct objects and related
sd-event-sources. Some open questions remain:

 * Why does source_io_unregister() not warn on EPOLL_CTL_DEL failures?
   This really needs to be turned into an assert_return().

 * udevd really should not leak file-descriptors into its children. Fixing
   this would *not* have prevented this bug, though (since the child-setup
   is still async).
   It's non-trivial to fix this, though. The stack-context of the caller
   cannot be rewinded, so we cannot figure out temporary refs. Maybe it's
   time to exec() the udev-workers?

 * Why does the kernel not copy FD-subscriptions across fork()?
   Or at least drop subscriptions if you close() your FD (it uses the
   FD-number as key, so it better subscribe to it)?
   Or it better used
         FD+"struct file_table*"+"struct file*"
   as key to not allow the childen to share the subscription table..
   *sigh*
   Seems like we have to live with that API forever.

9 years agoMerge pull request #231 from tixxdz/nspawn-userns-fixes-2
Lennart Poettering [Tue, 16 Jun 2015 17:50:59 +0000 (19:50 +0200)]
Merge pull request #231 from tixxdz/nspawn-userns-fixes-2

nspawn: check if kernel supports userns as early as possible

9 years agonspawn: check if kernel supports userns as early as possible
Djalal Harouni [Tue, 16 Jun 2015 16:30:45 +0000 (17:30 +0100)]
nspawn: check if kernel supports userns as early as possible

If the kernel do not support user namespace then one of the children
created by nspawn parent will fail at clone(CLONE_NEWUSER) with the
generic error EINVAL and without logging the error. At the same time
the parent may also try to setup the user namespace and will fail with
another error.

To improve this, check if the kernel supports user namespace as early
as possible.

9 years agoMerge pull request #228 from teg/tmpfiles-btrfs-notdir
Lennart Poettering [Tue, 16 Jun 2015 16:00:28 +0000 (18:00 +0200)]
Merge pull request #228 from teg/tmpfiles-btrfs-notdir

tmpfiles: silently ignore failed removal of btrfs submount from non-dir

9 years agotmpfiles: silently ignore failed removal of btrfs submount from non-dir
Tom Gundersen [Tue, 16 Jun 2015 14:22:16 +0000 (16:22 +0200)]
tmpfiles: silently ignore failed removal of btrfs submount from non-dir

This fixes:
Jun 16 16:00:20 tomegun-x2402 systemd-tmpfiles[233]: rm_rf(/var/lib/machines/.#fedora.lck): Not a directory
Jun 16 16:00:20 tomegun-x2402 systemd-tmpfiles[233]: rm_rf(/var/lib/machines/.#Fedora-Cloud-Base-20141203-21.x86_64.raw.lck): Not a directory

9 years agoMerge pull request #197 from dvdhrm/hashmap
Michal Schmidt [Tue, 16 Jun 2015 12:44:43 +0000 (14:44 +0200)]
Merge pull request #197 from dvdhrm/hashmap

hashmap: fix iterators to not skip entries

9 years agoMerge pull request #223 from ronnychevalier/rc/warning_va_start
David Herrmann [Tue, 16 Jun 2015 11:04:41 +0000 (13:04 +0200)]
Merge pull request #223 from ronnychevalier/rc/warning_va_start

signal-util: fix incorrect argument of va_start

9 years agoMerge pull request #222 from utezduyar/mem-leak-on-bus-error
Daniel Mack [Tue, 16 Jun 2015 10:02:56 +0000 (12:02 +0200)]
Merge pull request #222 from utezduyar/mem-leak-on-bus-error

sd-bus: use proper cleanup macro

9 years agosignal-util: fix incorrect argument of va_start
Ronny Chevalier [Tue, 16 Jun 2015 09:38:06 +0000 (11:38 +0200)]
signal-util: fix incorrect argument of va_start

The last argument of the function before the vargs is "old" not "how".

warning: second parameter of ‘va_start’ not last named argument

9 years agosd-bus: use proper cleanup macro
Umut Tezduyar Lindskog [Tue, 16 Jun 2015 09:20:10 +0000 (11:20 +0200)]
sd-bus: use proper cleanup macro

9 years agoMerge pull request #218 from poettering/dual-timestamp-null
Daniel Mack [Tue, 16 Jun 2015 09:03:27 +0000 (11:03 +0200)]
Merge pull request #218 from poettering/dual-timestamp-null

everywhere: actually make use of DUAL_TIMESTAMP_NULL macro

9 years agoMerge pull request #219 from poettering/logind-docked
Daniel Mack [Tue, 16 Jun 2015 09:02:40 +0000 (11:02 +0200)]
Merge pull request #219 from poettering/logind-docked

logind: expose "Docked" bool as property on the bus

9 years agologind: cast close() call to (void)
Lennart Poettering [Mon, 15 Jun 2015 23:55:20 +0000 (01:55 +0200)]
logind: cast close() call to (void)

9 years agologind: expose "Docked" bool as property on the bus
Lennart Poettering [Mon, 15 Jun 2015 23:02:02 +0000 (01:02 +0200)]
logind: expose "Docked" bool as property on the bus

We know the state anyway, let's expose it in the bus. It's useful for
debugging at least, but it might be useful for DEs too.

9 years agoeverywhere: actually make use of DUAL_TIMESTAMP_NULL macro
Lennart Poettering [Mon, 15 Jun 2015 23:08:12 +0000 (01:08 +0200)]
everywhere: actually make use of DUAL_TIMESTAMP_NULL macro

Let's use it as initializer where appropriate.

9 years agoupdate TODO
Lennart Poettering [Mon, 15 Jun 2015 23:02:52 +0000 (01:02 +0200)]
update TODO

9 years agoMerge pull request #214 from poettering/signal-rework-2
Lennart Poettering [Mon, 15 Jun 2015 18:35:18 +0000 (20:35 +0200)]
Merge pull request #214 from poettering/signal-rework-2

everywhere: port everything to sigprocmask_many() and friends

9 years agoMerge pull request #212 from poettering/gc-machine-snapshots
Lennart Poettering [Mon, 15 Jun 2015 18:33:35 +0000 (20:33 +0200)]
Merge pull request #212 from poettering/gc-machine-snapshots

automatically remove old machine shapshots at boot

9 years agoeverywhere: port everything to sigprocmask_many() and friends
Lennart Poettering [Mon, 15 Jun 2015 18:13:23 +0000 (20:13 +0200)]
everywhere: port everything to sigprocmask_many() and friends

This ports a lot of manual code over to sigprocmask_many() and friends.

Also, we now consistly check for sigprocmask() failures with
assert_se(), since the call cannot realistically fail unless there's a
programming error.

Also encloses a few sd_event_add_signal() calls with (void) when we
ignore the return values for it knowingly.

9 years agoMerge pull request #209 from crrodriguez/master
Kay Sievers [Mon, 15 Jun 2015 17:56:23 +0000 (19:56 +0200)]
Merge pull request #209 from crrodriguez/master

buildsys: missing SECCOMP_CFLAGS in various places

9 years agotmpfiles: automatically remove old machine snapshots at boot
Lennart Poettering [Mon, 15 Jun 2015 17:24:43 +0000 (19:24 +0200)]
tmpfiles: automatically remove old machine snapshots at boot

Remove old temporary snapshots, but only at boot. Ideally we'd have
"self-destroying" btrfs snapshots that go away if the last last
reference to it does. To mimic a scheme like this at least remove the
old snapshots on fresh boots, where we know they cannot be referenced
anymore. Note that we actually remove all temporary files in
/var/lib/machines/ at boot, which should be safe since the directory has
defined semantics. In the root directory (where systemd-nspawn
--ephemeral places snapshots) we are more strict, to avoid removing
unrelated temporary files.

This also splits out nspawn/container related tmpfiles bits into a new
tmpfiles snippet to systemd-nspawn.conf

9 years agotmpfiles: make sure "R" lines also remove subvolumes
Lennart Poettering [Mon, 15 Jun 2015 17:11:15 +0000 (19:11 +0200)]
tmpfiles: make sure "R" lines also remove subvolumes

9 years agoutil: when creating temporary file names, allow including extra id string in it
Lennart Poettering [Mon, 15 Jun 2015 17:09:02 +0000 (19:09 +0200)]
util: when creating temporary file names, allow including extra id string in it

This adds a "char *extra" parameter to tempfn_xxxxxx(), tempfn_random(),
tempfn_ranomd_child(). If non-NULL this string is included in the middle
of the newly created file name. This is useful for being able to
distuingish the kind of temporary file when we see one.

This also adds tests for the three call.

For now, we don't make use of this at all, but port all users over.

9 years agobuildsys: missing SECCOMP_CFLAGS in various places
Cristian Rodríguez [Mon, 15 Jun 2015 16:36:51 +0000 (13:36 -0300)]
buildsys: missing SECCOMP_CFLAGS in various places

libcore, systemd and nspawn fail to build when seccomp headers
are not in the include path.

9 years agoMerge pull request #208 from poettering/btrfs-rec-snapshot
Lennart Poettering [Mon, 15 Jun 2015 16:11:48 +0000 (18:11 +0200)]
Merge pull request #208 from poettering/btrfs-rec-snapshot

btrfs-util: when snapshotting make sure we don't descent into subvolu…

9 years agobtrfs-util: when snapshotting make sure we don't descent into subvolumes we just...
Lennart Poettering [Mon, 15 Jun 2015 15:53:50 +0000 (17:53 +0200)]
btrfs-util: when snapshotting make sure we don't descent into subvolumes we just created

We already had a safety check in place that we don't end up descending
to the original subvolume again, but we also should avoid descending in
the newly created one.

This is particularly important if we make a snapshot below its source,
like we do in "systemd-nspawn --ephemeral -D /".

Closes https://bugs.freedesktop.org/show_bug.cgi?id=90803

9 years agoMerge pull request #154 from dmedri/master
Daniel Mack [Mon, 15 Jun 2015 12:43:15 +0000 (14:43 +0200)]
Merge pull request #154 from dmedri/master

Italian .po updates

9 years agoMerge pull request #202 from victorenator/l10n-be
Daniel Mack [Mon, 15 Jun 2015 12:17:38 +0000 (14:17 +0200)]
Merge pull request #202 from victorenator/l10n-be

l10n: Add Belarusian translation

9 years agoMerge pull request #206 from zonque/firewall-rename
Daniel Mack [Mon, 15 Jun 2015 12:15:57 +0000 (14:15 +0200)]
Merge pull request #206 from zonque/firewall-rename

firewall: rename fw-util.[ch] → firewall-util.[ch]

9 years agofirewall: rename fw-util.[ch] → firewall-util.[ch]
Daniel Mack [Mon, 15 Jun 2015 11:50:43 +0000 (13:50 +0200)]
firewall: rename fw-util.[ch] → firewall-util.[ch]

The names fw-util.[ch] are too ambiguous, better rename the files to
firewall-util.[ch]. Also rename the test accordingly.

9 years agoMerge pull request #180 from ronnychevalier/rc/coverity_cid_1304686
Lennart Poettering [Mon, 15 Jun 2015 10:22:19 +0000 (12:22 +0200)]
Merge pull request #180 from ronnychevalier/rc/coverity_cid_1304686

login: fix potential null pointer dereference

9 years agoman: document that ExecStop= needs a synchronous tool
Lennart Poettering [Mon, 15 Jun 2015 10:05:26 +0000 (12:05 +0200)]
man: document that ExecStop= needs a synchronous tool

As requested in #199.

9 years agoman: document that SIGCONT always follows SIGTERM
Lennart Poettering [Mon, 15 Jun 2015 10:05:11 +0000 (12:05 +0200)]
man: document that SIGCONT always follows SIGTERM

As requested in #199.

9 years agoman: clarify overriding semantics of systemd-gpt-auto-generator
Lennart Poettering [Mon, 15 Jun 2015 09:48:24 +0000 (11:48 +0200)]
man: clarify overriding semantics of systemd-gpt-auto-generator

Specifically: /etc/fstab overrides the units itself, but not the deps.

See #168.

9 years agoMerge pull request #205 from endocode/iaguis/seccomp-v2
Lennart Poettering [Mon, 15 Jun 2015 09:45:48 +0000 (11:45 +0200)]
Merge pull request #205 from endocode/iaguis/seccomp-v2

nspawn: make seccomp loading errors non-fatal

9 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Mon, 15 Jun 2015 09:28:15 +0000 (11:28 +0200)]
hwdb: Update database of Bluetooth company identifiers

9 years agonspawn: make seccomp loading errors non-fatal
Iago López Galeiras [Fri, 12 Jun 2015 14:22:40 +0000 (16:22 +0200)]
nspawn: make seccomp loading errors non-fatal

seccomp_load returns -EINVAL when seccomp support is not enabled in the
kernel [1]. This should be a debug log, not an error that interrupts nspawn.
If the seccomp filter can't be set and audit is enabled, the user will
get an error message anyway.

[1]: http://man7.org/linux/man-pages/man2/prctl.2.html

9 years agologin: fix potential null pointer dereference
Ronny Chevalier [Fri, 12 Jun 2015 09:37:11 +0000 (11:37 +0200)]
login: fix potential null pointer dereference

Fix CID 1304686: Dereference after null check (FORWARD_NULL)

However, this commit does not fix any bug in logind. It helps to keep
the elect_display_compare() function generic.

9 years agosysv-generator test: always log to console
Martin Pitt [Mon, 15 Jun 2015 06:59:44 +0000 (08:59 +0200)]
sysv-generator test: always log to console

Set $SYSTEMD_LOG_TARGET so that the output always goes to stdout/stderr. This
fixes running the test as root, as that logged to the journal previously.

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

9 years agoupdate TODO
Lennart Poettering [Sun, 14 Jun 2015 22:41:10 +0000 (00:41 +0200)]
update TODO

9 years agoupdate TODO
Lennart Poettering [Sun, 14 Jun 2015 22:15:12 +0000 (00:15 +0200)]
update TODO

9 years agol10n: Add Belarusian translation
Viktar Vauchkevich [Sun, 14 Jun 2015 21:13:43 +0000 (00:13 +0300)]
l10n: Add Belarusian translation

9 years agoMerge pull request #201 from mbiebl/drop-include_prefix
Kay Sievers [Sun, 14 Jun 2015 18:58:04 +0000 (20:58 +0200)]
Merge pull request #201 from mbiebl/drop-include_prefix

build-sys: Drop include_prefix

9 years agobuild-sys: Drop include_prefix
Michael Biebl [Sun, 14 Jun 2015 18:48:54 +0000 (20:48 +0200)]
build-sys: Drop include_prefix

Appears to be unused and a leftover from the udev merge.

9 years agoMerge pull request #144 from teg/udev-spawn-log-less-2
Kay Sievers [Sun, 14 Jun 2015 18:19:54 +0000 (20:19 +0200)]
Merge pull request #144 from teg/udev-spawn-log-less-2

udevd: event - don't log about failures of spawn processes when this …

9 years agoMerge pull request #200 from kaysievers/wip
Kay Sievers [Sun, 14 Jun 2015 18:17:19 +0000 (20:17 +0200)]
Merge pull request #200 from kaysievers/wip

build-sys: include libsystemd-journal and libudev in libshared

9 years agobuild-sys: include libsystemd-journal and libudev in libshared
Kay Sievers [Sun, 14 Jun 2015 18:02:40 +0000 (20:02 +0200)]
build-sys: include libsystemd-journal and libudev in libshared

9 years agoMerge pull request #196 from dvdhrm/bus-map-props
Tom Gundersen [Sun, 14 Jun 2015 17:35:30 +0000 (19:35 +0200)]
Merge pull request #196 from dvdhrm/bus-map-props

tree-wide: fix memory leaks in users of bus_map_all_properties()

9 years agoMerge pull request #198 from ivuk/fix_typo_timesyncd_conf
Tom Gundersen [Sun, 14 Jun 2015 16:47:41 +0000 (18:47 +0200)]
Merge pull request #198 from ivuk/fix_typo_timesyncd_conf

Fix typos in man/timesyncd.conf.xml

9 years agoMerge pull request #192 from phomes/master
Tom Gundersen [Sun, 14 Jun 2015 16:46:54 +0000 (18:46 +0200)]
Merge pull request #192 from phomes/master

test-netlink-manual: typo fix

9 years agoFix typos in man/timesyncd.conf.xml
Igor Vuk [Sun, 14 Jun 2015 16:28:55 +0000 (18:28 +0200)]
Fix typos in man/timesyncd.conf.xml

9 years agohashmap: fix iterators to not skip entries
David Herrmann [Sun, 14 Jun 2015 14:51:35 +0000 (16:51 +0200)]
hashmap: fix iterators to not skip entries

Currently, the HASHMAP iterators stop at the first NULL entry in a
hashmap. This is non-obvious and breaks users like sd-device, which
legitimately store NULL values in a hashmap.

Fix all the iterators by taking a pointer to the value storage, instead of
returning it. The iterators now return a boolean that tells whether the
end of the list was reached.

Current users of HASHMAP_FOREACH() are *NOT* changed to explicitly check
for NULL. If it turns out, there were users that inserted NULL into
hashmaps, but didn't properly check for it during iteration, then we
really want to find those and fix them.

9 years agotree-wide: fix memory leaks in users of bus_map_all_properties()
David Herrmann [Sun, 14 Jun 2015 13:08:52 +0000 (15:08 +0200)]
tree-wide: fix memory leaks in users of bus_map_all_properties()

If you use bus_map_all_properties(), you must be aware that it might
touch output variables even though it may fail. This is, because we parse
many different bus-properties and cannot tell how to clean them up, in
case we fail deep down in the parser.

Fix all callers of bus_map_all_properties() to correctly cleanup any
context structures at all times.

9 years agohwdb: add support for Alienware graphics amplifier
Mario Limonciello [Thu, 11 Jun 2015 03:01:51 +0000 (22:01 -0500)]
hwdb: add support for Alienware graphics amplifier

Unplugging and plugging in the cable will create various scancodes
on the keyboard controller.

Userspace within X should be able to interact with these to show
interesting messages. Assign them to generic prog1/prog2.

(David: add comment to hwdb explaining that these keycodes are reserved)

9 years agoman: don't mention '/run' in hwdb.man
David Herrmann [Sun, 14 Jun 2015 12:24:37 +0000 (14:24 +0200)]
man: don't mention '/run' in hwdb.man

We do not support '/run' for hwdb files. Drop it from the man-pages so
people don't accidentally use it.

This was reported by: Peter Hutterer <peter.hutterer@who-t.net>

9 years agotest-netlink-manual: typo fix
Thomas Hindoe Paaboel Andersen [Sun, 14 Jun 2015 11:55:05 +0000 (13:55 +0200)]
test-netlink-manual: typo fix

No functional change, but looked weird.

9 years agoMerge pull request #178 from utezduyar/man-sd_bus_message_get_creds
David Herrmann [Sun, 14 Jun 2015 11:22:44 +0000 (13:22 +0200)]
Merge pull request #178 from utezduyar/man-sd_bus_message_get_creds

Improve the documentation of bus credentials by mentioning send-time metadata. This needs more love, we should really clarify metadata details here. However, this is still better than nothing, so it's fine.

9 years agoMerge pull request #183 from ssahani/net
David Herrmann [Sun, 14 Jun 2015 11:16:47 +0000 (13:16 +0200)]
Merge pull request #183 from ssahani/net

Improve tun/tap logging by using the new log_*errno*() functions that set 'errno' explicitly. Also fix a bunch of incorrect errno/r confusions.

9 years agoMerge pull request #191 from kaysievers/resolv
David Herrmann [Sun, 14 Jun 2015 11:09:06 +0000 (13:09 +0200)]
Merge pull request #191 from kaysievers/resolv

build-sys: merge convenience library libresolve

9 years agoMerge pull request #189 from teg/rtnl-rename
David Herrmann [Sun, 14 Jun 2015 11:07:20 +0000 (13:07 +0200)]
Merge pull request #189 from teg/rtnl-rename

Rename sd_rtnl to sd_netlink to prepare for further netlink-protocol support. Anything rtnl specific still uses the sd_rtnl prefix, but the generic parts (including the bus and message objects) are now called sd_netlink.

9 years agobuild-sys: merge convenience library libresolve
Kay Sievers [Sun, 14 Jun 2015 10:46:07 +0000 (12:46 +0200)]
build-sys: merge convenience library libresolve

9 years agoMerge pull request #187 from kaysievers/libcleanup
Kay Sievers [Sun, 14 Jun 2015 10:34:13 +0000 (12:34 +0200)]
Merge pull request #187 from kaysievers/libcleanup

build-sys: simplify lib dependencies

9 years agobuild-sys: simplify lib dependencies
Kay Sievers [Sat, 13 Jun 2015 18:35:37 +0000 (20:35 +0200)]
build-sys: simplify lib dependencies

9 years agonetworkd: tuntap improve logging
Susant Sahani [Fri, 12 Jun 2015 08:31:51 +0000 (14:01 +0530)]
networkd: tuntap improve logging

Replaces  strerror() usage with log_netdev_error_errno()

9 years agosd-netlink: socket - move some functions from main source file
Tom Gundersen [Sat, 13 Jun 2015 19:25:05 +0000 (21:25 +0200)]
sd-netlink: socket - move some functions from main source file

9 years agosd-netlink: message - split up source file
Tom Gundersen [Sat, 13 Jun 2015 19:10:39 +0000 (21:10 +0200)]
sd-netlink: message - split up source file

Split netlink-socket.c and rtnl-message.c from netlink-message.c.

9 years agosd-netlink: drop the write-queue
Tom Gundersen [Sat, 13 Jun 2015 18:51:56 +0000 (20:51 +0200)]
sd-netlink: drop the write-queue

AF_NETLINK is not write-buffered, so this was actually never used.

9 years agosd-netlink: rename from sd-rtnl
Tom Gundersen [Fri, 12 Jun 2015 14:31:33 +0000 (16:31 +0200)]
sd-netlink: rename from sd-rtnl

9 years agoMerge pull request #184 from l10n-tw/master
Daniel Mack [Sat, 13 Jun 2015 08:38:22 +0000 (10:38 +0200)]
Merge pull request #184 from l10n-tw/master

po: fix zh_TW mailing list again.

9 years agoMerge pull request #167 from keszybz/line-oriented-ima-setup
keszybz [Sat, 13 Jun 2015 03:52:13 +0000 (23:52 -0400)]
Merge pull request #167 from keszybz/line-oriented-ima-setup

ima-setup: write policy one line at a time