Commit Graph

9190 Commits

Author SHA1 Message Date
Lennart Poettering
74055aa762 journalctl: add new --flush command and make use of it in systemd-journal-flush.service
This new command will ask the journal daemon to flush all log data
stored in /run to /var, and wait for it to complete. This is useful, so
that in case of Storage=persistent we can order systemd-tmpfiles-setup
afterwards, to ensure any possibly newly created directory in /var/log
gets proper access mode and owners.
2014-10-23 00:39:42 +02:00
Lennart Poettering
0e2f14014c cryptsetup: fix an OOM check 2014-10-23 00:39:42 +02:00
Lennart Poettering
affcf18915 machine: validate machine names using machine_name_is_valid() instead of string_is_safe()
After all, we know have this as generic validator, so let's be correct
and use it wherver applicable.
2014-10-22 23:22:47 +02:00
Daniel Mack
505e77caa5 sd-bus: fix transition left-overs in sd_bus_get_owner_creds()
sd_bus_get_owner_creds() was only halfly ported over to
_cleanup_bus_creds_unref_.
2014-10-22 22:06:53 +02:00
WaLyong Cho
3bfd4e0c63 journal: do server_vacuum for sigusr1
runtime journal is migrated to system journal when only
"/run/systemd/journal/flushed" exist. It's ok but according to this
the system journal directory size(max use) can be over the config. If
journal is not rotated during some time the journal directory can be
remained as over the config(or default) size. To avoid, do
server_vacuum just after the system journal migration from runtime.
2014-10-22 20:43:40 +02:00
Lennart Poettering
07a60cc13c firstboot: don't prohibit re-generating the machine id on the current root fs
If it really is missing it should be safe to create it.

Also see:

http://lists.freedesktop.org/archives/systemd-devel/2014-August/022726.html
2014-10-22 20:30:15 +02:00
Lennart Poettering
97e1cc8b59 journalctl: don't introduce numeric constants with special names, give them names 2014-10-22 20:30:06 +02:00
Daniel Mack
8f44e3ea3e sd-bus: implement sd_bus_get_owner_creds() for kdbus
kdbus learned a new ioctl to tell userspace about a bus creator's
credentials, which is what we need to implement sd_bus_get_owner_creds() for
kdbus.

Move the function from sd-bus.c to bus-control.c to be able to reuse
the bus_populate_creds_from_items() helper.
2014-10-22 19:45:07 +02:00
Daniel Mack
056f95d0a7 sd-bus: rename sd_bus_get_owner_uid(), sd_bus_get_owner_machine_id() and sd_bus_get_peer_creds()
Clean up the function namespace by renaming the following:

  sd_bus_get_owner_uid()        → sd_bus_get_name_creds_uid()
  sd_bus_get_owner_machine_id() → sd_bus_get_name_machine_id()
  sd_bus_get_peer_creds()       → sd_bus_get_owner_creds()
2014-10-22 19:45:07 +02:00
Daniel Mack
370d7a9c0f sd-bus: factor out creds item iterator
We will re-use the code to walk items in order to populate a creds object,
so let's factor it out first.
2014-10-22 19:45:07 +02:00
Daniel Mack
a1783d61a8 sd-bus: sync kdbus.h
kdbus learned a new command to query a bus creator's credentials. Sync
kdbus.h first, which also renames some struct to more generic terms.
That is, however, not an ABI break this time.
2014-10-22 19:45:07 +02:00
Lennart Poettering
a5f0359600 resolved: simplify detection of packets from the loopback device
We can simplify our code quite a bit if we explicitly check for the
ifindex being 1 on Linux as a loopback check. Apparently, this is
hardcoded on Linux on the kernel, and effectively exported to userspace
via rtnl and such, hence we should be able to rely on it.
2014-10-22 16:52:38 +02:00
Torstein Husebø
91c40d8612 networkd: Fix a couple of typos 2014-10-22 16:38:35 +02:00
Daniel Mack
b680a194bf sd-bus: assert clock_gettime()'s return value
Don't handle clock_gettime() errors gracefully but use assert_se().
2014-10-22 13:39:51 +02:00
Karel Zak
48d3e8d07f fsck: re-enable fsck -l
The -l (lock) has been temporary disabled due to conflict with
udev (https://bugs.freedesktop.org/show_bug.cgi?id=79576)

The problem is fixed since util-linux v2.25 (Jul 2014).
2014-10-22 11:45:36 +02:00
Daniel Mack
03785ad0e5 sd-bus: sync kdbus.h (API change: switch to absolute timeouts)
kdbus_msg.timeout_ns now takes an absolute value, based on CLOCK_MONOTONIC,
in order to eventually support automatically restarted syscalls.

Signed-off-by: Daniel Mack <daniel@zonque.org>
2014-10-21 22:14:03 +02:00
Daniel Mack
bc75205c77 sd-bus: sync kdbus.h (ABI break)
In kdbus.h, the following details changed:

 * All commands gained a 'kernel_flags' field to report the flags supported
   by the driver. Before, this was done in the 'flags' field in a
   bidirectional way, which turned out to be a problem for the code in
   sd-bus, as many parts of it reuse the same ioctl struct more than once
   and consider them to be owned by userspace.

 * Name listings are now returned by a new struct instead of reusing struct
   kdbus_cmd_name for that matter. This way, we don't add more unneeded
   fields to it and make the API cleaner.

 * 'conn_flags' was renamed to 'flags' in struct kdbus_cmd_hello to make
   the API a bit more unified.
2014-10-21 19:19:44 +02:00
Michal Schmidt
14f27b4e3b strv: use realloc_multiply() to check for multiplication overflow
This could overflow on 32bit, where size_t is the same as unsigned.
2014-10-21 14:36:03 +02:00
Lennart Poettering
97569e154b strv: add an additional overflow check when enlarging strv()s
https://bugs.freedesktop.org/show_bug.cgi?id=76745
2014-10-21 14:01:28 +02:00
Ronny Chevalier
e2e07fec7b shared: remove unused functions
- mkdir_p_prefix: It has never been used
- mkdir_parents_prefix_label: Unused since 1434ae6fd4
2014-10-21 00:40:44 +02:00
Ronny Chevalier
e4746b5738 util: avoid duplication of TIME_T_MAX 2014-10-21 00:38:30 +02:00
Christian Hesse
1cdf717550 sd-journal: consistently use ternary operator for all direction checks 2014-10-20 22:02:49 +02:00
Lennart Poettering
2dd1ca3fd6 bus-proxy: let's make use of the translated errors get_creds_by_name() provides us with 2014-10-20 21:50:37 +02:00
Lennart Poettering
24078eebf3 Revert "bus-proxyd: improve compatibility with dbus-1"
This reverts commit b0f84d4d78.

get_creds_by_name() already translate the error nicely, we just need to
make use of it.
2014-10-20 21:46:09 +02:00
Lukasz Skalski
659b937e67 kdbus: free returned buffer when the memory is no longer needed 2014-10-20 20:09:05 +02:00
Daniel Mack
a2243d5488 sd-bus: sync kdbus.h (ABI break)
kdbus.h now has KDBUS_ATTACH_COMM split into KDBUS_ATTACH_TID_COMM and
KDBUS_ATTACH_PID_COMM. The items were split already, so the change in
systemd is easy.
2014-10-20 15:26:00 +02:00
Daniel Mack
4a3e79e1b6 sd-bus: sync kdbus.h (ABI break)
In kdbus.h, the 'features' field has been dropped again. Instead of
negotiating features that way, we decided to make the kernel return the
set of supported flags in each ioctl struct's .flags field, in both the
success and error cases.
2014-10-18 20:57:53 +02:00
Zbigniew Jędrzejewski-Szmek
e7bc519620 systemd: try harder to bind to notify socket
Without the socket open we are going to crash and burn. If for
whatever reason we fail during deserialization we will fail when
trying to open the socket. In this case it is better to unlink the old
socket and maybe lose some messages, than to continue without the
notification socket.

Of course this situation should not happen, but we should handle
it as gracefully as possible anyway.

https://bugzilla.redhat.com/show_bug.cgi?id=1099299
2014-10-17 10:09:27 -04:00
Zbigniew Jędrzejewski-Szmek
46849c3fb1 systemd: log deserialization errors as warnings
If we failed to parse something that we wrote ourselves,
things are seriously off. This is also likely to lead to
problems futher on.
2014-10-17 10:09:27 -04:00
Zbigniew Jędrzejewski-Szmek
d677d4df80 systemd: continue switch-root even if umount fails
Leaving the old root around seems better than aborting the
switch.
2014-10-17 10:09:27 -04:00
Daniel Mack
317cde8b80 nspawn: fix DeviceAllow list
Commit 864e17068 ("nspawn: actually allow access to /dev/net/tun in the
container") added "/dev/net/tun" to the list of allowed devices but forgot
to tweak the array length, which caused "/dev/kdbus/*" to be missed.
2014-10-17 16:07:12 +02:00
Lukas Nykryn
7491ccf2cb environment: append unit_id to error messages regarding EnvironmentFile 2014-10-17 16:05:57 +02:00
Zbigniew Jędrzejewski-Szmek
c7e4a7bece missing: remove fanotify
It was only used in readahead.
2014-10-17 08:55:42 -04:00
Lennart Poettering
8fa6cbe1a9 execute: downgrade namespace error to "warning"
Also, extend the printed warning a bit, explaining the situation more
verbosely.
2014-10-17 13:54:27 +02:00
Lennart Poettering
a004cb4cb2 namespace: add missing 'const' to parameters 2014-10-17 13:49:08 +02:00
Lennart Poettering
342641fb47 systemctl: by default interactively ask for polkit authorization, if possible
Also, allow using --no-ask-password to turn off ineractive polkit
authorization.
2014-10-17 13:49:08 +02:00
Michal Sekletar
0015ebf3fa execute: don't fail child when we don't have privileges to setup namespaces
If we don't have privileges to setup the namespaces then we are most likely
running inside some sort of unprivileged container, hence not being able to
create namespace is not a problem because spawned service can't access host
system anyway.
2014-10-17 11:51:46 +02:00
Kay Sievers
c32195e057 Revert "sd-bus: sync kdbus.h (ABI break)"
This reverts commit 1a2409e262.

Support from the kdbus interface was removed. We require
memfds to be supported by all clients.
2014-10-17 10:12:44 +02:00
Lukasz Skalski
f60e98b336 resolve: add missing header
Change-Id: I64f7c6b446f6d92057c35cc3d4e29bd2bad8f75b
2014-10-17 00:19:16 +02:00
Tom Gundersen
9536cf93b9 terminal: log unsupported ANSI or DEC mode changes 2014-10-16 14:43:57 +02:00
Tom Gundersen
7ee738ec33 terminal: split ANSI from DEC mode changes 2014-10-16 14:43:57 +02:00
Michal Sekletar
5e78424f4a selinux: fix potential double free crash in child process
Before returning from function we should reset ret to NULL, thus cleanup
function is nop.

Also context_str() returns pointer to a string containing context but not a
copy, hence we must make copy it explicitly.
2014-10-15 10:58:27 +02:00
Lukasz Skalski
14759eeb71 bus-proxyd: add missing flag translation for RequestName 2014-10-15 09:09:01 +02:00
Zbigniew Jędrzejewski-Szmek
1f8af042d9 journal-remote: fix mem leak on error 2014-10-14 21:18:41 -04:00
Daniel Mack
1a2409e262 sd-bus: sync kdbus.h (ABI break)
kdbus learned KDBUS_HELLO_ACCEPT_MEMFD as new connection negotiation
flag. Set it by default in systemd for now.
2014-10-14 20:03:06 +02:00
Lukasz Skalski
b0f84d4d78 bus-proxyd: improve compatibility with dbus-1
'GetConnectionUnixProcessID', 'GetConnectionUnixUser' and
'GetConnectionSELinuxSecurityContext' methods should return
'NameHasNoOwner' error (if chosen name is not available on bus)
with more detailed description - like dbus-1:

Could not get PID of name 'org.freedesktop.test': no such name.
Could not get UID of name 'org.freedesktop.test': no such name.
Could not get security context of name 'org.freedesktop.test': no such name.

Otherwise we have only laconic message without proper dbus error:

Error System.Error.ENXIO: No such device or address
2014-10-14 19:39:55 +02:00
Dave Reisner
9ff5ff320e python-systemd: avoid hitting assert in __exit__
Reader_close() asserts that 'args' is always NULL, but the __exit__
function forwards a non-NULL args.
2014-10-14 08:35:16 -04:00
Zbigniew Jędrzejewski-Szmek
a5a807e63a resolved: apply label to /run/systemd/resolve/resolv.conf
Under an SELinux system, we want the file that is created to
have a proper context, different from the default for files in /run.
This is so that the policy can give access to almost everyone to
this file.
2014-10-13 22:37:13 -04:00
Zbigniew Jędrzejewski-Szmek
4713135eae resolved: split out writing of resolv.conf
manager_write_resolv_conf() is quite long anyway.
2014-10-13 22:37:12 -04:00
Lennart Poettering
b911eb1560 bus: check allow-interactive-auhtorization flag when doing polkit 2014-10-13 17:19:31 +02:00