Lennart Poettering [Fri, 7 Nov 2014 15:34:37 +0000 (16:34 +0100)]
sysusers: be nice and print a warning if futimens() fails
CID# 1251163
Lennart Poettering [Fri, 7 Nov 2014 15:34:00 +0000 (16:34 +0100)]
utf8: when looking at the next unichar, honour the size parameter, in utf8_is_printable_newline()
Lennart Poettering [Fri, 7 Nov 2014 15:33:03 +0000 (16:33 +0100)]
log: explicitly ignore return value of parse_proc_cmdline()
CID# 1251162
Lennart Poettering [Fri, 7 Nov 2014 15:32:06 +0000 (16:32 +0100)]
core: unify how we create the notify and private dbus socket
Use the same robust logic of mkdir + unlink of any existing AF_UNIX
socket, ignoring the return value, right before bind().
Lennart Poettering [Fri, 7 Nov 2014 15:31:42 +0000 (16:31 +0100)]
update TODO
Zbigniew Jędrzejewski-Szmek [Fri, 7 Nov 2014 02:37:44 +0000 (21:37 -0500)]
man: update bootup(7) for asynchronous timers.target
Lennart Poettering [Fri, 7 Nov 2014 01:05:50 +0000 (02:05 +0100)]
manager: cast mkdir() result to (void) to make sure coverity is quiet
Also simplify the code a bit by moving mkdir to the common path.
Lennart Poettering [Fri, 7 Nov 2014 01:01:47 +0000 (02:01 +0100)]
update TODO
Lennart Poettering [Fri, 7 Nov 2014 00:19:48 +0000 (01:19 +0100)]
util: simplify normalize_env_assignment() a bit
Lennart Poettering [Fri, 7 Nov 2014 00:19:14 +0000 (01:19 +0100)]
util: file_is_priv_sticky() is used internally in util.c only nowadays, make it static
Lennart Poettering [Fri, 7 Nov 2014 00:10:57 +0000 (01:10 +0100)]
update TODO
Michael Chapman [Thu, 6 Nov 2014 08:47:02 +0000 (19:47 +1100)]
timer: reenable TIMER_ACTIVE timers when restarted
A timer configured with OnActiveSec will start its associated unit again
if the timer is stopped, then started. However, if the timer unit is
restarted -- with "systemctl restart", say -- this does not occur.
This commit ensures that TIMER_ACTIVE timers are re-enabled whenever the
timer is started, even if that's within a restart job.
Lennart Poettering [Thu, 6 Nov 2014 23:10:24 +0000 (00:10 +0100)]
util: rework /proc/cmdline parser to use unquote_first_word()
Lennart Poettering [Thu, 6 Nov 2014 20:53:34 +0000 (21:53 +0100)]
util: simplify proc_cmdline() to reuse get_process_cmdline()
Also, make all parsing of the kernel cmdline non-fatal.
Lennart Poettering [Thu, 6 Nov 2014 20:21:39 +0000 (21:21 +0100)]
fileio: simplify write_string_file_atomic() by reusing write_string_stream()
Lennart Poettering [Thu, 6 Nov 2014 20:20:32 +0000 (21:20 +0100)]
copy: change error code when hitting copy limit to EFBIG
After all, this is about files, not arguments, hence EFBIG is more
appropriate than E2BIG
Lennart Poettering [Thu, 6 Nov 2014 20:19:20 +0000 (21:19 +0100)]
copy: teach copy_bytes() sendfile() support, and then replace sendfile_full() by it
Lennart Poettering [Thu, 6 Nov 2014 20:11:10 +0000 (21:11 +0100)]
util: make use of isempty() where appropriate
Michal Schmidt [Thu, 6 Nov 2014 21:24:13 +0000 (22:24 +0100)]
shutdown: fix arguments to /run/initramfs/shutdown
Our initrd interface specifies that the verb is in argv[1].
This is where systemd passes it to systemd-shutdown, but getopt
permutes argv[]. This confuses dracut's shutdown script:
Shutdown called with argument '--log-level'. Rebooting!
getopt can be convinced to not permute argv[] by having '-' as the first
character of optstring. Let's use it. This requires changing the way
non-option arguments (in our case, the verb) are processed.
This fixes a bug where the system would reboot instead of powering off.
Lennart Poettering [Thu, 6 Nov 2014 19:09:27 +0000 (20:09 +0100)]
update TODO
Lennart Poettering [Thu, 6 Nov 2014 19:06:30 +0000 (20:06 +0100)]
s/command-line/command line/g
A follow-up to:
commit
3f85ef0f05ffc51e19f86fb83a1c51e8e3cd6817
Author: Harald Hoyer <harald@redhat.com>
Date: Thu Nov 6 15:33:48 2014 +0100
s/commandline/command line/g
Lennart Poettering [Thu, 6 Nov 2014 19:00:14 +0000 (20:00 +0100)]
machined: reorder method calls in vtable
Lennart Poettering [Thu, 6 Nov 2014 19:00:01 +0000 (20:00 +0100)]
switch-root: explain why we don't care about base_filesystem_create() failing
Michal Schmidt [Thu, 6 Nov 2014 15:48:11 +0000 (16:48 +0100)]
shared: create files even if the SELinux policy has no context for them
The SELinux policy defines no context for some files. E.g.:
$ matchpathcon /run/lock/subsys /dev/mqueue
/run/lock/subsys <<none>>
/dev/mqueue <<none>>
We still need to be able to create them.
In this case selabel_lookup_raw() returns ENOENT. We should then skip
setfscreatecon(), but still return success.
It was broken since
c34255bdb2 ("label: unify code to make directories,
symlinks").
Harald Hoyer [Thu, 6 Nov 2014 14:33:48 +0000 (15:33 +0100)]
s/commandline/command line/g
Harald Hoyer [Wed, 3 Sep 2014 11:31:25 +0000 (13:31 +0200)]
switch_root: do not fail, if base_filesystem_create() failed
Not all switch roots are like base_filesystem_create() wants them
to look like. They might even boot, if they are RO and don't have the FS
layout. Just ignore the error and switch_root nevertheless.
base_filesystem_create() should have logged, what went wrong.
Lennart Poettering [Thu, 6 Nov 2014 14:27:13 +0000 (15:27 +0100)]
README: mention that engineering services for systemd are available from endocode
Lennart Poettering [Thu, 6 Nov 2014 14:20:29 +0000 (15:20 +0100)]
systemctl: when invokes as "reboot -f", sync()
We do this in the clean shutdown path in shutdown.c, hence we should do
is for "reboot -f", too.
Lennart Poettering [Thu, 6 Nov 2014 13:37:12 +0000 (14:37 +0100)]
hostnamed: introduce new "embedded" chassis type
We really don't want to get lost in adding fridge, car, plane, drone, or
whatever else, hence add a generic term "embedded" cover all the cases
where the computer is just part of something bigger, and not at the
focus of things.
Lennart Poettering [Thu, 6 Nov 2014 13:31:04 +0000 (14:31 +0100)]
update TODO
Lennart Poettering [Thu, 6 Nov 2014 13:19:05 +0000 (14:19 +0100)]
shared: rename condition-util.[ch] to condition.[ch]
Now that we only have one file with condition implementations around, we
can drop the -util suffix and simplify things a bit.
Lennart Poettering [Thu, 6 Nov 2014 13:09:51 +0000 (14:09 +0100)]
core: get rid of condition.c and move the remaining call into util.c
That way only one file with condition code remaining, in src/shared/,
rather than src/core/.
Next step: dropping the "-util" suffix from condition-util.[ch].
Lennart Poettering [Thu, 6 Nov 2014 13:00:05 +0000 (14:00 +0100)]
man: document that we don't document .include on purpose
<!-- xml comments are useful! -->
Lennart Poettering [Thu, 6 Nov 2014 12:59:41 +0000 (13:59 +0100)]
man: don't document ConditionNull=/AssertNull= as the are not particularly useful and simply confusing
Lennart Poettering [Thu, 6 Nov 2014 12:56:22 +0000 (13:56 +0100)]
condition: order condition types the same way in man page, enum, tables
Yes, sometimes I develop OCD.
Lennart Poettering [Thu, 6 Nov 2014 12:43:45 +0000 (13:43 +0100)]
core: introduce the concept of AssertXYZ= similar to ConditionXYZ=, but fatal for a start job if not met
Lennart Poettering [Thu, 6 Nov 2014 01:27:10 +0000 (02:27 +0100)]
condition: record test state internally and beef it up to be a full enum
Lennart Poettering [Thu, 6 Nov 2014 01:11:08 +0000 (02:11 +0100)]
condition: add more test cases
Lennart Poettering [Thu, 6 Nov 2014 01:10:56 +0000 (02:10 +0100)]
journal: adjust audit log messages a bit
Lennart Poettering [Thu, 6 Nov 2014 01:02:13 +0000 (02:02 +0100)]
condition: internalize condition test functions
Also, implement the negation check inside of condition_test() instead of
individually in each test function.
Lennart Poettering [Thu, 6 Nov 2014 00:40:37 +0000 (01:40 +0100)]
condition: unify condition logic in one file
Lennart Poettering [Wed, 5 Nov 2014 23:49:44 +0000 (00:49 +0100)]
condition: properly allow passing back errors from condition checks
Zbigniew Jędrzejewski-Szmek [Thu, 6 Nov 2014 13:15:48 +0000 (08:15 -0500)]
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.
Ray Strode [Wed, 5 Nov 2014 13:30:52 +0000 (08:30 -0500)]
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)
Zbigniew Jędrzejewski-Szmek [Wed, 5 Nov 2014 14:16:58 +0000 (09:16 -0500)]
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.
Colin Guthrie [Wed, 5 Nov 2014 15:29:41 +0000 (15:29 +0000)]
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.
Lennart Poettering [Wed, 5 Nov 2014 18:44:01 +0000 (19:44 +0100)]
util: minor modernisations
Lennart Poettering [Wed, 5 Nov 2014 18:43:55 +0000 (19:43 +0100)]
condition: rewrite condition_test_kernel_command_line() based on unquote_first_word()
Tom Gundersen [Wed, 5 Nov 2014 18:32:46 +0000 (19:32 +0100)]
sd-pppoe: spelling
Thanks to Daniele Medri
Lennart Poettering [Wed, 5 Nov 2014 17:54:50 +0000 (18:54 +0100)]
sd-bus: by default allow all creds to be passed along
Lennart Poettering [Wed, 5 Nov 2014 16:57:23 +0000 (17:57 +0100)]
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.
Tom Gundersen [Tue, 4 Nov 2014 19:19:07 +0000 (20:19 +0100)]
libsystemd-network: don't use unaligned helpers in _packed_ structs
The compiler will do this for us.
Tom Gundersen [Tue, 4 Nov 2014 18:52:04 +0000 (19:52 +0100)]
shared: unaligned - use void* instead of unaligned be16_t*
Tom Gundersen [Tue, 4 Nov 2014 15:21:41 +0000 (16:21 +0100)]
sd-pppoe: whitespace
Tom Gundersen [Tue, 4 Nov 2014 15:20:22 +0000 (16:20 +0100)]
test: hashmap-plain - make coverity happy
Check return value of hashmap_ensure_allocated().
CID#1250807.
Tom Gundersen [Tue, 4 Nov 2014 15:19:26 +0000 (16:19 +0100)]
test: fileio - make coverity happy
Explicitly check the length of the read.
Fixes CID#1250803.
Tom Gundersen [Tue, 4 Nov 2014 15:13:43 +0000 (16:13 +0100)]
shared: ptyfwd - make coverity happy
Explicitly ignore return value of ioctl to set window size.
Fixes CID#1250804 and CID#1250800.
Colin Guthrie [Sun, 2 Nov 2014 13:33:16 +0000 (13:33 +0000)]
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
Daniel Mack [Wed, 5 Nov 2014 13:32:48 +0000 (14:32 +0100)]
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.
David Herrmann [Wed, 5 Nov 2014 11:56:49 +0000 (12:56 +0100)]
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.
Richard W.M. Jones [Tue, 4 Nov 2014 23:45:15 +0000 (23:45 +0000)]
udev: Fix parsing of udev.event-timeout kernel parameter.
Cristian Rodríguez [Tue, 4 Nov 2014 23:48:08 +0000 (20:48 -0300)]
buildsys: test-util needs -lm for fabs()
Michal Schmidt [Tue, 4 Nov 2014 19:28:08 +0000 (20:28 +0100)]
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
Jan Synacek [Tue, 4 Nov 2014 12:38:59 +0000 (13:38 +0100)]
man/tmpfiles.d: fix typo
Kay Sievers [Tue, 4 Nov 2014 18:07:30 +0000 (19:07 +0100)]
TODO: update
Lennart Poettering [Tue, 4 Nov 2014 17:52:31 +0000 (18:52 +0100)]
util: when sealing memfds, also use F_SEAL_SEAL
Let's be strict here, since its better to be safe than sorry.
Lennart Poettering [Tue, 4 Nov 2014 17:51:37 +0000 (18:51 +0100)]
update TODO
Lennart Poettering [Tue, 4 Nov 2014 16:54:40 +0000 (17:54 +0100)]
update TODO
Lennart Poettering [Tue, 4 Nov 2014 16:24:30 +0000 (17:24 +0100)]
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.
Lennart Poettering [Tue, 4 Nov 2014 15:58:42 +0000 (16:58 +0100)]
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
Lennart Poettering [Tue, 4 Nov 2014 15:58:15 +0000 (16:58 +0100)]
sd-bus: make use of free_and_strdup() where it makes sense
Lennart Poettering [Tue, 4 Nov 2014 15:57:38 +0000 (16:57 +0100)]
sd-bus: also allow setting descriptions on bus slots
Lennart Poettering [Tue, 4 Nov 2014 15:34:20 +0000 (16:34 +0100)]
sd-event: implicitly set signal event source's descriptions to the signal name
Lennart Poettering [Tue, 4 Nov 2014 15:27:05 +0000 (16:27 +0100)]
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.
Michal Schmidt [Tue, 4 Nov 2014 16:04:16 +0000 (17:04 +0100)]
test: use assert_se in test_hashmap_move
Lennart Poettering [Tue, 4 Nov 2014 15:13:49 +0000 (16:13 +0100)]
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.
Daniel Mack [Tue, 4 Nov 2014 11:08:36 +0000 (12:08 +0100)]
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
David Herrmann [Tue, 4 Nov 2014 08:49:43 +0000 (09:49 +0100)]
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.
David Herrmann [Mon, 3 Nov 2014 17:23:28 +0000 (18:23 +0100)]
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.
Vicente Olivert Riera [Mon, 3 Nov 2014 14:48:35 +0000 (14:48 +0000)]
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
Jan Synacek [Mon, 3 Nov 2014 13:01:04 +0000 (14:01 +0100)]
localectl: fix localectl set-x11-keymap syntax description
This complements the fix in:
commit
cd4c6fb12598435fe24431f1dd616f9582f0e3bd
Author: Jan Synacek <jsynacek@redhat.com>
Date: Mon Oct 20 12:43:39 2014 +0200
man: fix localectl set-x11-keymap syntax description
Lennart Poettering [Tue, 4 Nov 2014 00:00:50 +0000 (01:00 +0100)]
journald: include audit message type number in MESSAGE= string
Lennart Poettering [Mon, 3 Nov 2014 23:48:32 +0000 (00:48 +0100)]
journal: also consider audit fields with '-' valid
Lennart Poettering [Mon, 3 Nov 2014 23:47:44 +0000 (00:47 +0100)]
audit: improve the audit messages we generate
always pass along comm, as documented by audit. Always set the correct
comm value.
Lennart Poettering [Mon, 3 Nov 2014 23:32:02 +0000 (00:32 +0100)]
journald: don't pass around SO_TIMESTAMP timestamp for audit, which we don't have anyway
Lennart Poettering [Mon, 3 Nov 2014 23:28:33 +0000 (00:28 +0100)]
journal: when dumping log data with missing COMM fields, show "unknown" instead
A small readability improvement...
Lennart Poettering [Mon, 3 Nov 2014 23:27:55 +0000 (00:27 +0100)]
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
Lennart Poettering [Mon, 3 Nov 2014 23:27:26 +0000 (00:27 +0100)]
journald: properly decode audit's proctitle= field
Lennart Poettering [Mon, 3 Nov 2014 23:01:32 +0000 (00:01 +0100)]
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.
Lennart Poettering [Mon, 3 Nov 2014 22:28:12 +0000 (23:28 +0100)]
journald: there's no point in turning on SO_TIMESTAMP for audit sockets, audit doesn't support timestamps anyway
Lennart Poettering [Mon, 3 Nov 2014 22:10:47 +0000 (23:10 +0100)]
update TODO
Lennart Poettering [Mon, 3 Nov 2014 22:10:34 +0000 (23:10 +0100)]
journald: fix memory leak on error path
Lennart Poettering [Mon, 3 Nov 2014 22:10:21 +0000 (23:10 +0100)]
journald: also check journal file size to deduce if it is empty
Lennart Poettering [Mon, 3 Nov 2014 22:08:33 +0000 (23:08 +0100)]
journalctl: add new --vacuum-size= and --vacuum-time= commands to clean up journal files based on a size/time limit
This is equivalent to the effect of SystemMaxUse= and RetentionSec=,
however can be invoked directly instead of implicitly.
Lennart Poettering [Mon, 3 Nov 2014 21:02:23 +0000 (22:02 +0100)]
man: document audit input for journald
Lennart Poettering [Mon, 3 Nov 2014 20:11:49 +0000 (21:11 +0100)]
units: make ReceiveBuffer= line more readable by using M suffix
Lennart Poettering [Mon, 3 Nov 2014 20:11:16 +0000 (21:11 +0100)]
journald: fix minor memory leak
Lennart Poettering [Mon, 3 Nov 2014 20:09:38 +0000 (21:09 +0100)]
core: introduce ConditionSecurity=audit
And conditionalize journald audit support with it
Lennart Poettering [Mon, 3 Nov 2014 19:58:24 +0000 (20:58 +0100)]
journald: if available pull audit messages from the kernel into journal logs
Lennart Poettering [Mon, 3 Nov 2014 19:24:43 +0000 (20:24 +0100)]
journald: remove a number of malloc()s from the syslog message handling