1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-15 07:24:00 +03:00
Commit Graph

17714 Commits

Author SHA1 Message Date
Lennart Poettering
592fd144ae condition: properly allow passing back errors from condition checks 2014-11-06 14:21:10 +01:00
Zbigniew Jędrzejewski-Szmek
58f2fab16d units: restore job timeouts for poweroff and reboot
It seems that there actually aren't any long running tasks which are
performed at shutdown. If it turns out that there actually are, this
should be revisited.

This reverts most of commit 038193efa6.
2014-11-06 08:17:45 -05:00
Ray Strode
f6ba8671d8 login: rerun vconsole-setup when switching from vgacon to fbcon
The initialization performed by systemd-vconsole-setup is reset
when changing console drivers (say from vgacon to fbcon), so we
need to run it in that case.

See
http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html
http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html
http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html

This commit adds a udev rule to make systemd-vconsole-setup get run when
the fbcon device becomes available.

(david: moved into new file 90-vconsole.rules instead of 71-seats.rules;
        build-failures are on me, not on Ray)
2014-11-06 10:56:52 +01:00
Zbigniew Jędrzejewski-Szmek
038193efa6 units: disable job timeouts
For boot, we might kill fsck in the middle, with likely catastrophic
consequences.

On shutdown there might be other jobs, like downloading of updates for
installation, and other custom jobs. It seems better to schedule an
individual timeout on each one separately, when it is known what
timeout is useful.

Disable the timeouts for now, until we have a clearer picture of how
we can deal with long-running jobs.
2014-11-05 20:45:10 -05:00
Colin Guthrie
8232e39e7c udev hwdb: Change error message regarding missing hwdb.bin back to debug.
When used in an initramfs, it's expected that the hwdb.bin file is
not present (it makes for a very large initramfs otherwise).

While it's nice to tell the user about this, as it's not strictly
speaking an error we really shouldn't be so forceful in our
reporting.
2014-11-05 21:06:49 +00:00
Lennart Poettering
4a6ca457eb util: minor modernisations 2014-11-05 19:46:07 +01:00
Lennart Poettering
07318c2908 condition: rewrite condition_test_kernel_command_line() based on unquote_first_word() 2014-11-05 19:46:07 +01:00
Tom Gundersen
d5ce1cfce4 sd-pppoe: spelling
Thanks to Daniele Medri
2014-11-05 19:34:20 +01:00
Lennart Poettering
6f5c810ad6 sd-bus: by default allow all creds to be passed along 2014-11-05 18:54:50 +01:00
Lennart Poettering
a931ad47a8 core: introduce new Delegate=yes/no property controlling creation of cgroup subhierarchies
For priviliged units this resource control property ensures that the
processes have all controllers systemd manages enabled.

For unpriviliged services (those with User= set) this ensures that
access rights to the service cgroup is granted to the user in question,
to create further subgroups. Note that this only applies to the
name=systemd hierarchy though, as access to other controllers is not
safe for unpriviliged processes.

Delegate=yes should be set for container scopes where a systemd instance
inside the container shall manage the hierarchies below its own cgroup
and have access to all controllers.

Delegate=yes should also be set for user@.service, so that systemd
--user can run, controlling its own cgroup tree.

This commit changes machined, systemd-nspawn@.service and user@.service
to set this boolean, in order to ensure that container management will
just work, and the user systemd instance can run fine.
2014-11-05 18:49:14 +01:00
Tom Gundersen
c962cb68d5 libsystemd-network: don't use unaligned helpers in _packed_ structs
The compiler will do this for us.
2014-11-05 16:54:22 +01:00
Tom Gundersen
617e794652 shared: unaligned - use void* instead of unaligned be16_t* 2014-11-05 16:54:22 +01:00
Tom Gundersen
9eec671331 sd-pppoe: whitespace 2014-11-05 16:54:22 +01:00
Tom Gundersen
61c8175021 test: hashmap-plain - make coverity happy
Check return value of hashmap_ensure_allocated().

CID#1250807.
2014-11-05 16:54:22 +01:00
Tom Gundersen
696c24fced test: fileio - make coverity happy
Explicitly check the length of the read.

Fixes CID#1250803.
2014-11-05 16:54:22 +01:00
Tom Gundersen
7c63b23f49 shared: ptyfwd - make coverity happy
Explicitly ignore return value of ioctl to set window size.

Fixes CID#1250804 and CID#1250800.
2014-11-05 16:54:22 +01:00
Colin Guthrie
0c3f25e0c1 manager: Ensure user's systemd runtime directory exists.
This mirrors code in dbus.c when creating the private socket and
avoids error messages like:

systemd[1353]: bind(/run/user/603/systemd/notify) failed: No such file or directory
systemd[1353]: Failed to fully start up daemon: No such file or directory
2014-11-05 14:49:06 +00:00
Daniel Mack
d704fda934 sd-bus: sync up with new kdbus metadata attachment logic (ABI break)
The metadata logic in kdbus has seen a rework, and the only mandatory
change we have to follow for now is that attach_flags in kdbus_cmd_hello
is now split into two parts, attach_flags_send and attach_flags_recv.
2014-11-05 14:48:20 +01:00
David Herrmann
cfe2061add udev: avoid magic constants in kernel-cmdline parsers
Lets recognize the fact that startswith() returns a pointer to the tail on
success. Use it instead of hard-coding string-lengths as magic constants.
2014-11-05 12:58:10 +01:00
Richard W.M. Jones
f671774f52 udev: Fix parsing of udev.event-timeout kernel parameter. 2014-11-05 12:58:10 +01:00
Cristian Rodríguez
01acf6c3b7 buildsys: test-util needs -lm for fabs() 2014-11-05 12:58:10 +01:00
Michal Schmidt
a87a38c201 units: make systemd-journald.service Type=notify
It already calls sd_notify(), so it looks like an oversight.

Without it, its ordering to systemd-journal-flush.service is
non-deterministic and the SIGUSR1 from flushing may kill journald before
it has its signal handlers set up.

https://bugs.freedesktop.org/show_bug.cgi?id=85871
https://bugzilla.redhat.com/show_bug.cgi?id=1159641
2014-11-04 20:32:42 +01:00
Jan Synacek
ff8d1aba53 man/tmpfiles.d: fix typo 2014-11-04 20:00:31 +01:00
Kay Sievers
a0617aa5d7 TODO: update 2014-11-04 19:07:30 +01:00
Lennart Poettering
db74cc0d47 util: when sealing memfds, also use F_SEAL_SEAL
Let's be strict here, since its better to be safe than sorry.
2014-11-04 18:52:34 +01:00
Lennart Poettering
936c200f6c update TODO 2014-11-04 18:51:37 +01:00
Lennart Poettering
57f2a94727 update TODO 2014-11-04 18:09:19 +01:00
Lennart Poettering
f7fce3454c sd-bus: rename sd_bus_get_server_id() to sd_bus_get_owner_id()
In kdbus a "server id" is mostly a misnomer, as there isn't any "server"
involved anymore. Let's rename this to "owner" id hence, since it is an
ID that is picked by the owner of a bus or direct connection. This
matches nicely the sd_bus_get_owner_creds() call we already have.
2014-11-04 18:09:19 +01:00
Lennart Poettering
f4b2933ee7 sd-bus,sd-event: unify error handling of object descriptions
a) When getting the description return ENXIO if none is set

b) Allow setting a description to NULL

c) return ECHILD on fork() like for other calls
2014-11-04 18:09:19 +01:00
Lennart Poettering
d1b91c99d9 sd-bus: make use of free_and_strdup() where it makes sense 2014-11-04 18:09:19 +01:00
Lennart Poettering
9cbfc66c62 sd-bus: also allow setting descriptions on bus slots 2014-11-04 18:09:19 +01:00
Lennart Poettering
f1f00dbb7f sd-event: implicitly set signal event source's descriptions to the signal name 2014-11-04 18:09:19 +01:00
Lennart Poettering
356779df90 sd-event: rename sd_event_source_set_name() to sd_event_source_get_name()
To mirror the recent name change of the concept for sd_bus objects,
follow the same logic for sd_event_source objects, too.
2014-11-04 18:09:19 +01:00
Michal Schmidt
e80afdb3e4 test: use assert_se in test_hashmap_move 2014-11-04 17:05:01 +01:00
Lennart Poettering
455971c149 sd-bus: rename "connection name" to "description" for the sd-bus API too
kdbus recently renamed this concept, and so should we in what we expose
in userspace.
2014-11-04 16:13:49 +01:00
Daniel Mack
635f9f0d95 sd-bus: sync kdbus.h (ABI break)
Catch up with some changes in kdbus.h:

  * KDBUS_{ITEM,ATTACH}_CONN_NAME were renamed to
    KDBUS_{ITEM,ATTACH}_CONN_DESCRIPTION, so the term 'name' is not
    overloaded as much.

  * The item types were re-ordered a little so they are lined up to the
    order of the corresponding KDBUS_ATTACH flags

  * A new item type KDBUS_ITEM_OWNED_NAME was introduced, designated to
    store a struct kdbus_name in item->name. KDBUS_ITEM_NAME soley
    stores data in item->str now

  * Some kerneldoc fixes
2014-11-04 12:44:53 +01:00
David Herrmann
dfb05a1cf5 barrier: explicitly ignore return values of barrier_place()
The barrier implementation tracks remote states internally. There is no
need to check the return value of any barrier_*() function if the caller
is not interested in the result. The barrier helpers only return the state
of the remote side, which is usually not interesting as later calls to
barrier_sync() will catch this, anyway.

Shut up coverity by explicitly ignoring return values of barrier_place()
if we're not interested in it.
2014-11-04 09:49:43 +01:00
David Herrmann
44dd2c6e86 util: introduce negative_errno()
Imagine a constructor like this:

        int object_new(void **out) {
                void *my_object;
                int r;

                ...
                r = ioctl(...);
                if (r < 0)
                        return -errno;
                ...

                *out = my_object;
                return 0;
        }

We have a lot of those in systemd. If you now call those, gcc might inline
the call and optimize it. However, gcc cannot know that "errno" is
negative if "r" is. Therefore, a caller like this will produce warnings:

        r = object_new(&obj);
        if (r < 0)
                return r;

        obj->xyz = "foobar";

In case the ioctl in the constructor fails, gcc might assume "errno" is 0
and thus the error-handling is not triggered. Therefore, "obj" is
uninitialized, but accessed. Gcc will warn about that.

The new negative_errno() helper can be used to mitigate those warnings.
The helper is guaranteed to return a negative integer. Furthermore, it
spills out runtime warnings if "errno" is non-negative.

Instead of returning "-errno", you can use:
        return negative_errno();

gcc will no longer assume that this can return >=0, thus, it will not warn
about it.

Use this new helper in libsystemd-terminal to fix some grdev-drm warnings.
2014-11-04 08:27:31 +01:00
Vicente Olivert Riera
e6c019026b Properly define the __NR_memfd_create macro for MIPS
This macro exists for MIPS since v3.17:
  https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=42944521af97a3b25516f15f3149aec3779656dc
2014-11-04 08:27:31 +01:00
Jan Synacek
31cf921abb localectl: fix localectl set-x11-keymap syntax description
This complements the fix in:

    commit cd4c6fb125
    Author: Jan Synacek <jsynacek@redhat.com>
    Date:   Mon Oct 20 12:43:39 2014 +0200

        man: fix localectl set-x11-keymap syntax description
2014-11-04 08:27:30 +01:00
Lennart Poettering
25b3245fb4 journald: include audit message type number in MESSAGE= string 2014-11-04 01:00:50 +01:00
Lennart Poettering
9833a66c7e journal: also consider audit fields with '-' valid 2014-11-04 00:51:19 +01:00
Lennart Poettering
0aa281df2c audit: improve the audit messages we generate
always pass along comm, as documented by audit. Always set the correct
comm value.
2014-11-04 00:48:09 +01:00
Lennart Poettering
0b97208d8c journald: don't pass around SO_TIMESTAMP timestamp for audit, which we don't have anyway 2014-11-04 00:32:02 +01:00
Lennart Poettering
1248e84008 journal: when dumping log data with missing COMM fields, show "unknown" instead
A small readability improvement...
2014-11-04 00:28:33 +01:00
Lennart Poettering
5034c7bcdf journald: suppress low-level audit text prefix in MESSAGE= field
Let's make the log output more readable, and the header can be
reconstructed in full from the other fields
2014-11-04 00:28:00 +01:00
Lennart Poettering
78fe420ff0 journald: properly decode audit's proctitle= field 2014-11-04 00:27:26 +01:00
Lennart Poettering
4d9ced9956 journald: enable audit in the kernel when initializing
Similar to auditd actually turn on auditing as we are starting. This way
we can operate entirely without auditd around.
2014-11-04 00:01:32 +01:00
Lennart Poettering
2b0073e1d2 journald: there's no point in turning on SO_TIMESTAMP for audit sockets, audit doesn't support timestamps anyway 2014-11-03 23:28:12 +01:00
Lennart Poettering
29a6c2d020 update TODO 2014-11-03 23:10:47 +01:00