Lennart Poettering [Sun, 4 Jan 2015 23:13:26 +0000 (00:13 +0100)]
journald: constify all things
Lennart Poettering [Sun, 4 Jan 2015 21:20:22 +0000 (22:20 +0100)]
machined,bus-proxy: fix connecting to containers
Lennart Poettering [Sun, 4 Jan 2015 21:09:07 +0000 (22:09 +0100)]
journald: prefix exported calls with "server_", unexport unnecessary calls
Lennart Poettering [Tue, 30 Dec 2014 19:57:53 +0000 (20:57 +0100)]
journald: process SIGBUS for the memory maps we set up
Even though we use fallocate() it appears that file systems like btrfs
will trigger SIGBUS on certain low-disk-space situation. We should
handle that, hence catch the signal, add it to a list of invalidated
pages, and replace the page with an empty memory area. After each write
check if SIGBUS was triggered, and consider the write invalid if it was.
This should make journald a lot more robust with file systems where
fallocate() is not reliable, for example all CoW file systems
(btrfs...), where changing written data can fail with disk full errors.
https://bugzilla.redhat.com/show_bug.cgi?id=1045810
Lennart Poettering [Tue, 30 Dec 2014 01:19:04 +0000 (02:19 +0100)]
update TODO
Lennart Poettering [Tue, 30 Dec 2014 00:57:23 +0000 (01:57 +0100)]
nspawn: mount most of the cgroup tree read-only in nspawn containers except for the container's own subtree in the name=systemd hierarchy
More specifically mount all other hierarchies in their entirety and the
name=systemd above the container's subtree read-only.
Lennart Poettering [Tue, 30 Dec 2014 00:56:42 +0000 (01:56 +0100)]
cgroup: downgrade log messages when we cannot write to cgroup trees that are mounted read-only
Peter Hutterer [Sun, 4 Jan 2015 21:41:03 +0000 (07:41 +1000)]
hwdb: fix a typo
Peter Hutterer [Sun, 4 Jan 2015 21:26:18 +0000 (07:26 +1000)]
hwdb: revert Logitech Optical USB Mouse
Reporter says he incorrectly measured the data but the device is not available
anymore to correct it. We'll have to wait for someone else to submit the data.
https://bugs.freedesktop.org/show_bug.cgi?id=87343
Thomas Hindoe Paaboel Andersen [Fri, 2 Jan 2015 19:29:04 +0000 (20:29 +0100)]
machinectl: Check type instead of path before printing the type
Looks like a typo when introduced in
fefdc04b38725457a91651218feb7000f6ccc1f4
Sergey Ptashnick [Thu, 1 Jan 2015 18:42:47 +0000 (21:42 +0300)]
po: update Russian translation
By analogy with commit
4038d7502f.
Sylvain Plantefève [Thu, 1 Jan 2015 17:02:54 +0000 (18:02 +0100)]
po: update French translation
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 19:25:18 +0000 (14:25 -0500)]
mount: do not use -n when running in --user mode
-n is only allowed for root. /etc/mtab is nowadays almost always a link to /proc/,
so in practice this does not really matter too much, but should allow .mount units
to work in --user mode.
https://bugs.freedesktop.org/show_bug.cgi?id=87602
Topi Miettinen [Thu, 1 Jan 2015 17:40:07 +0000 (19:40 +0200)]
Type of mount(2) flags is unsigned long
Robert Milasan [Thu, 1 Jan 2015 17:11:22 +0000 (18:11 +0100)]
udev: improve help/usage for some more programs
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 17:00:59 +0000 (12:00 -0500)]
networkctl: avoid potential use of unitialized variables
Those values are based on a file we read from disk, so we should
verify everything we receive, and make sure everything we print
is sensible.
Also, print fractional seconds for TTL.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 16:53:25 +0000 (11:53 -0500)]
networkctl: remove unused variable
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 16:15:50 +0000 (11:15 -0500)]
network: fix scanf/printf format
usec_t is defined as 64 bit wide, but long is 32 bit on many archs.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 15:55:19 +0000 (10:55 -0500)]
missing: add __NR_renameat2
Martin Pitt [Sun, 28 Dec 2014 11:14:25 +0000 (12:14 +0100)]
build-sys: Fix install location of systemd.pc
systemd.pc contains "libdir" which can be architecture specific. Thus it needs
to be installed into libdir/pkgconfig/ instead of datadir/pkgconfig.
As nothing else is using pkgconfigdata any more, remove it entirely.
Note that udev.pc does not contain architecture specific values and thus can be
kept in /usr/share/pkgconfig/.
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jan 2015 14:44:43 +0000 (09:44 -0500)]
Remove "to allow" from policy messages
It carries no additional information and forces a passive sentence
structure which is longer and harder to parse.
Piotr Drąg [Fri, 26 Dec 2014 00:05:29 +0000 (01:05 +0100)]
po: update Polish translation
https://bugs.freedesktop.org/show_bug.cgi?id=87724
Piotr Drąg [Thu, 25 Dec 2014 23:55:26 +0000 (00:55 +0100)]
machined: fix grammar in org.freedesktop.machine1.policy.in
[zj: change "in into" to "into".]
https://bugs.freedesktop.org/show_bug.cgi?id=87722
Philippe De Swert [Wed, 31 Dec 2014 16:02:12 +0000 (18:02 +0200)]
build-sys: fix build issue with machines.target
When doing "make clean" the unit/machines.target file gets deleted.
This causes a build error later on when trying to rebuild systemd.
V2: The file probably belongs to dist_systemunit_DATA
Chris Atkinson [Thu, 1 Jan 2015 02:59:16 +0000 (21:59 -0500)]
man: Clarify effect when both calendar day and date are listed in timer
See bug 87859 (https://bugs.freedesktop.org/show_bug.cgi?id=87859). Bug
reporter found the language describing the effect of specifying both a
day and date unclear; hopefully the attached patch will clarify and
allow the bug to be closed.
David Herrmann [Wed, 31 Dec 2014 15:28:48 +0000 (16:28 +0100)]
lldp: fix sd_lldp_save()
Fix a bunch of needless memzero() calls, a bunch of use-after-free
regarding _cleanup_free_ and drop unused variables.
Hint: Do NOT use _cleanup_free_ for temporary strappend() helpers that are
freed multiple times. All you safe is the last free() call, which is
really not worth the trouble resetting it to NULL all the time.
David Herrmann [Wed, 31 Dec 2014 15:07:17 +0000 (16:07 +0100)]
lldp: fix uninitialized cleanup var #2
Another uninitialized variable marked as _cleanup_. Set it to NULL to
avoid accessing uninitialized memory.
David Herrmann [Wed, 31 Dec 2014 15:04:55 +0000 (16:04 +0100)]
lldp: fix uninitialized cleanup var
Make sure to set _cleanup_ variables to NULL. Otherwise, we free
uninitialized objects.
David Herrmann [Wed, 31 Dec 2014 15:01:37 +0000 (16:01 +0100)]
import: fix mem-leak in CurlGlue
Make sure to actually free the underlying object in CurlGlue unref.
David Herrmann [Wed, 31 Dec 2014 14:58:27 +0000 (15:58 +0100)]
lldp: fix double free
'k' is marked as _cleanup_free_ so reset it to NULL if we free it
explicitly.
David Herrmann [Wed, 31 Dec 2014 14:56:11 +0000 (15:56 +0100)]
networkctl: fix strappend() error checking
Make sure to test the right variable for NULL.
David Herrmann [Wed, 31 Dec 2014 14:54:20 +0000 (15:54 +0100)]
network: add malloc-assertion in test
Make sure malloc() really returns non-NULL in lldp test.
David Herrmann [Wed, 31 Dec 2014 14:52:23 +0000 (15:52 +0100)]
machinectl: remove dead code
'r' is not touched after the previous error-checking 100 lines above. Drop
that code.
Christoph Brill [Wed, 31 Dec 2014 13:28:52 +0000 (08:28 -0500)]
hwdb: mouse DPI data, Logitech USB Laser Mouse M-U0011-O
https://bugs.freedesktop.org/show_bug.cgi?id=87880
David Herrmann [Wed, 31 Dec 2014 12:34:21 +0000 (13:34 +0100)]
Revert commit
f131770b "tree-wide: spelling fixes"
This partially reverts:
commit
f131770b1465fbf423881f16ba85523a05f846fe
Author: Veres Lajos <vlajos@gmail.com>
Date: Mon Dec 29 09:45:58 2014 +0000
tree-wide: spelling fixes
The commit in question changed a binary file. I didn't look at the diff in
particular, so I have no idea what exactly was changed. However, the file
is generated and it looked highly suspiciuous. Therefore, I reverted that
part.
Note that this is generated by "make update-unifont" so really no reason
to touch at all.
Veres Lajos [Mon, 29 Dec 2014 09:45:58 +0000 (09:45 +0000)]
tree-wide: spelling fixes
https://github.com/vlajos/misspell_fixer
https://github.com/torstehu/systemd/commit/
b6fdeb618cf2f3ce1645b3315f15f482710c7ffa
Thanks to Torstein Husebo <torstein@huseboe.net>.
Robert Milasan [Tue, 30 Dec 2014 17:58:29 +0000 (18:58 +0100)]
accelerometer: display short options too
Christoph Brill [Wed, 31 Dec 2014 00:07:28 +0000 (19:07 -0500)]
hwdb: mouse DPI data, Logitech M-UAS144
https://bugs.freedesktop.org/show_bug.cgi?id=87881
Christoph Brill [Wed, 31 Dec 2014 00:03:39 +0000 (19:03 -0500)]
hwdb: mouse DPI data, Fujitsu Siemens OEM
https://bugs.freedesktop.org/show_bug.cgi?id=87879
Christoph Brill [Tue, 30 Dec 2014 23:56:16 +0000 (18:56 -0500)]
hwdb: mouse DPI data, Logitech MK260 aka M-R0011
https://bugs.freedesktop.org/show_bug.cgi?id=87882
Christoph Brill [Tue, 30 Dec 2014 23:54:24 +0000 (18:54 -0500)]
hwdb: mouse DPI data, Chicony 2.4G Multimedia Wireless Kit
https://bugs.freedesktop.org/show_bug.cgi?id=87883
Zbigniew Jędrzejewski-Szmek [Tue, 30 Dec 2014 23:38:21 +0000 (18:38 -0500)]
systemctl: do not repeat hibernate/sleep attempts
If some sleep operation was not possible (e.g. because swap is missing),
we would try twice: once through logind, which would result in a clean error:
Failed to execute operation: Sleep verb not supported
and then second time by starting the appropriate unit directly, which is
more messy. If logind tells us that something is not possible (or already
in progress), report that to the user and quit. If logind is present and working
we should not try to work around it.
Loosely based on https://bugs.freedesktop.org/show_bug.cgi?id=87832.
Zbigniew Jędrzejewski-Szmek [Tue, 30 Dec 2014 23:22:53 +0000 (18:22 -0500)]
bus: replace ENOSYS return codes with EBADR/ENOTSUP
ENOSYS is used to signify compiled-out functionality. Using it for
different kinds of error is misleading.
For BUS_ERROR_SLEEP_VERB_NOT_SUPPORTED, logind-action.c uses ENOTSUP
already, so changing it to ENOTSUP makes the dbus and action paths
behave the same.
Zbigniew Jędrzejewski-Szmek [Tue, 30 Dec 2014 14:57:01 +0000 (09:57 -0500)]
README: CONFIG_DEVPTS_MULTIPLE_INSTANCES is necessary
https://bugs.debian.org/773932
Robert Milasan [Tue, 30 Dec 2014 17:58:05 +0000 (18:58 +0100)]
accelerometer: drop unused -x option
Susant Sahani [Tue, 30 Dec 2014 16:41:38 +0000 (22:11 +0530)]
man: Fix spelling
David Herrmann [Tue, 30 Dec 2014 10:37:35 +0000 (11:37 +0100)]
bus: add sd_bus_emit_object_{added/removed}()
This implements two new helpers, discussed on systemd-devel about 1 year
ago:
sd_bus_emit_object_added()
sd_bus_emit_object_removed()
Both calls are equivalent to their respective counterpart
sd_bus_emit_interfaces_{added/removed}(), but can figure out the list of
interfaces themselves, instead of requiring the caller to provide them.
Furthermore, both calls properly deal with builtin interfaces provided via
org.freedesktop.DBus.* and alike.
Both calls simply traverse a node and all its parent nodes to figure out a
list of all interfaces registered as vtable or fallback. It then appends
each of them, similar to the interfaces_{added/removed}() helpers.
Note that interfaces_{added/removed}() runs a parent traversal for *each*
passed interface. Therefore, it can simply bail out, once it found a
parent node that implements a given interface.
With object_{added/removed}() we cannot know the registered interfaces in
advance, thus, we cannot run one traversal per node. Instead, we run a
single traversal and remember all interfaces that we added. Therefore, a
child-interface overrides all conflicting parent-interfaces. We keep a
"Set *s" context to track those while climbing up the tree.
David Herrmann [Tue, 30 Dec 2014 08:09:41 +0000 (09:09 +0100)]
bus: fix capabilities on big-endian
The kernel provides capabilities as a u32 array, sd-bus uses an u8 array.
This works fine on little-endian as both are encoded the same way.
However, this fails on big-endian if we do not perform sufficient
byte-swapping on each u32 entry.
This patch makes sd-bus use u32, too. We avoid changing any kernel
provided data so we can keep pointing into kdbus pool buffers which
contain u32 arrays.
David Herrmann [Tue, 30 Dec 2014 07:42:53 +0000 (08:42 +0100)]
bus: drop creds->capability_size
The number of available caps can be read from
/proc/sys/kernel/cap_last_cap during runtime. Our helper cap_last_cap()
does that, so there's no reason to remember the size of any capability
cache. We can just pre-allocate arrays with a suitable size for all
available caps and reject any higher caps.
The kernel capability API uses u32 as base so make sure we do the same.
Note that this is specified by POSIX, so it's unlikely to change.
David Herrmann [Mon, 29 Dec 2014 16:51:36 +0000 (17:51 +0100)]
macro: add DIV_ROUND_UP()
This macro calculates A / B but rounds up instead of down. We explicitly
do *NOT* use:
(A + B - 1) / A
as it suffers from an integer overflow, even though the passed values are
properly tested against overflow. Our test-cases show this behavior.
Instead, we use:
A / B + !!(A % B)
Note that on "Real CPUs" this does *NOT* result in two divisions. Instead,
instructions like idivl@x86 provide both, the quotient and the remainder.
Therefore, both algorithms should perform equally well (I didn't verify
this, though).
Marcel Holtmann [Mon, 29 Dec 2014 19:47:04 +0000 (20:47 +0100)]
hwdb: Update database of Bluetooth company identifiers
Lennart Poettering [Mon, 29 Dec 2014 19:18:04 +0000 (20:18 +0100)]
update TODO
Lennart Poettering [Mon, 29 Dec 2014 19:00:01 +0000 (20:00 +0100)]
Revert "machined: don't force terminate registered machines"
This reverts commit
206e7a5f7b55ac61188efd895e65ab26e478cbb2.
We actually want to allow shutting down containers that use
RegisterMachine() rather than CreateMachine() to register their own
unit. It should be safe to do so, since the primary usecase for
RegisterMachine() are container managers that run only a single
container within their own unit, such as systemd-nspawn.
Lennart Poettering [Mon, 29 Dec 2014 18:08:50 +0000 (19:08 +0100)]
machined: ignore spurious error
Lennart Poettering [Mon, 29 Dec 2014 16:54:04 +0000 (17:54 +0100)]
nspawn: report back to systemd only very late whether we are OK
That way, systemd can actually figure out if everything is OK with
nspawn.
Lennart Poettering [Mon, 29 Dec 2014 16:36:57 +0000 (17:36 +0100)]
preset: enable machines.target by default
Lennart Poettering [Mon, 29 Dec 2014 13:06:25 +0000 (14:06 +0100)]
Update TODO
Lennart Poettering [Mon, 29 Dec 2014 13:05:17 +0000 (14:05 +0100)]
machinectl: add "enable" and "disable" verbs for enabling/disabling systemd-nspawn for containers
This is basically just a shortcut for "systemctl enable
systemd-nspawn@<foobar>.service", but does escaping.
Lennart Poettering [Mon, 29 Dec 2014 11:41:26 +0000 (12:41 +0100)]
machinectl: add new "start" verb to start a container as a service in nspawn
Lennart Poettering [Mon, 29 Dec 2014 11:38:26 +0000 (12:38 +0100)]
units: rework systemd-nspawn@.service unit
- Unescape instance name so that we can take almost anything as instance
name.
- Introduce "machines.target" which consists of all enabled nspawns and
can be used to start/stop them altogether
- Look for container directory using -M instead of harcoding the path in
/var/lib/container
Lennart Poettering [Mon, 29 Dec 2014 11:34:50 +0000 (12:34 +0100)]
units: make graphical.target dependencies more complete and similar to those of multi-user.target
David Herrmann [Mon, 29 Dec 2014 14:43:57 +0000 (15:43 +0100)]
bus-proxy: fix sd_bus_reply_*() usage
We *must* not use sd_bus_reply_*() as it does not set the sender field
correctly. Use the synthetic_reply_*() helpers instead!
David Herrmann [Mon, 29 Dec 2014 12:24:35 +0000 (13:24 +0100)]
capability: use /proc/sys/kernel/cap_last_cap
This file was introduced with linux-3.2, use it instead of probing for it
via prctl(PR_CAPBSET_READ).
For now, keep the old code for backwards compat. We can drop it once 3.2
is our lowest requirement.
The test-cap-list code is extended to verify cap_last_cap() is the same as
we'd get via prctl probing and /proc.
Tom Gundersen [Mon, 29 Dec 2014 12:05:45 +0000 (13:05 +0100)]
core: loopback - correctly fail the loopback_check if somehow the rtnl calls fail
David Herrmann [Tue, 23 Dec 2014 16:10:54 +0000 (17:10 +0100)]
bus: fix typo
Drop spurious 'we'.
Tom Gundersen [Mon, 29 Dec 2014 01:18:21 +0000 (02:18 +0100)]
rtnl: recv_message - don't enforce sender uid
All we care about is that the kernel (pid==0) sent the message. Verifying the sender uid
seems to break when using userns.
Reported by Stéphane Graber.
Tom Gundersen [Mon, 29 Dec 2014 00:58:25 +0000 (01:58 +0100)]
test: loopback - parse logging env var
Tom Gundersen [Mon, 29 Dec 2014 00:54:04 +0000 (01:54 +0100)]
sd-rtnl: rtnl_call - don't dispatch wqueue after timeout has passed
Only a minor change as the timeout would be hit soon thereafetr at the next loop.
Tom Gundersen [Mon, 29 Dec 2014 00:50:07 +0000 (01:50 +0100)]
sd-rtnl: rtnl_poll - fix typo
This caused rtnl_poll to always return true immediately in sd_rtnl_call().
Tom Gundersen [Sun, 28 Dec 2014 23:24:00 +0000 (00:24 +0100)]
sd-rtnl: recv_message - drop message when peeking fails
Read the message form the socket or we will loop trying to read the
same message repeatedly.
Tom Gundersen [Mon, 29 Dec 2014 00:49:06 +0000 (01:49 +0100)]
sd-rtnl: recv_message - don't fail on interrupt
We should just try again instead.
Tom Gundersen [Sun, 28 Dec 2014 23:19:36 +0000 (00:19 +0100)]
sd-rtnl: recv_message - log when dropping message
We drop messages received from the wrong uid/pid, log this at debug level.
Tom Gundersen [Sun, 28 Dec 2014 12:38:23 +0000 (13:38 +0100)]
core: loopback - simplify check_loopback()
We no longer configure the addresses on the loopback interface, but simply bring it up
and let the kernel do the rest. Also change the check to only check if the interface
is up, rather than checking for the IPv4 loopback address.
Sylvain Plantefève [Sun, 28 Dec 2014 11:52:15 +0000 (12:52 +0100)]
machined: Fix MarkReadOnly method's name on bus
Sylvain Plantefève [Sun, 28 Dec 2014 11:52:14 +0000 (12:52 +0100)]
libsystemd: Fix minor typo in comment
Lennart Poettering [Sun, 28 Dec 2014 01:44:37 +0000 (02:44 +0100)]
machined: don't look for images on each property get, but cache the image object inbetween
Lennart Poettering [Sat, 27 Dec 2014 16:45:30 +0000 (17:45 +0100)]
update TODO
Lennart Poettering [Sun, 28 Dec 2014 01:07:32 +0000 (02:07 +0100)]
util: treat -1 as special size in format_bytes()
Lennart Poettering [Sun, 28 Dec 2014 01:05:28 +0000 (02:05 +0100)]
machined: add support for reporting image size via btrfs quota
Lennart Poettering [Sat, 27 Dec 2014 17:47:17 +0000 (18:47 +0100)]
tmpfiles.d: upgrade a couple of directories we create at boot to subvolumes
In particular we upgrade /var/lib/container, /var/tmp and /tmp to
subvolumes.
Lennart Poettering [Sat, 27 Dec 2014 17:46:36 +0000 (18:46 +0100)]
tmpfiles: add new line type 'v' for creating btrfs subvolumes
Lennart Poettering [Sat, 27 Dec 2014 16:44:04 +0000 (17:44 +0100)]
machinectl/machined: implement "rename", "clone", "read-only" verbs for machine images
Lennart Poettering [Sat, 27 Dec 2014 01:35:47 +0000 (02:35 +0100)]
machined: add "machinectl remove" for removing images
Lennart Poettering [Sat, 27 Dec 2014 01:07:29 +0000 (02:07 +0100)]
nspawn: use the same image discovery logic in nspawn as in machined
Lennart Poettering [Sat, 27 Dec 2014 00:57:03 +0000 (01:57 +0100)]
machined: Move image discovery logic into src/shared, so that we can make use of it from nspawn
Stéphane Graber [Sat, 27 Dec 2014 18:17:39 +0000 (19:17 +0100)]
Fix check_loopback()
Add missing htonl() so that check_loopback() actually tests for 127.0.0.1
instead of 1.0.0.127 on little-endian machines.
Lennart Poettering [Fri, 26 Dec 2014 19:10:01 +0000 (20:10 +0100)]
loginctl: reindent --help text
Lennart Poettering [Fri, 26 Dec 2014 19:09:21 +0000 (20:09 +0100)]
loginctl: add more --help sections
Lennart Poettering [Fri, 26 Dec 2014 19:09:04 +0000 (20:09 +0100)]
machinectl: add status commands
Lennart Poettering [Fri, 26 Dec 2014 19:05:11 +0000 (20:05 +0100)]
machined: fix search patch magic for '.host' image
Lennart Poettering [Fri, 26 Dec 2014 18:36:25 +0000 (19:36 +0100)]
machined: make image read-only check indepenednt on own privs
Lennart Poettering [Fri, 26 Dec 2014 18:32:55 +0000 (19:32 +0100)]
machinectl: mark read-only images when listing in red
Lennart Poettering [Fri, 26 Dec 2014 16:11:03 +0000 (17:11 +0100)]
update TODO
Lennart Poettering [Fri, 26 Dec 2014 18:21:09 +0000 (19:21 +0100)]
import: make image root directory configurable, instead of hardcoding /var/lib/container
Lennart Poettering [Fri, 26 Dec 2014 17:59:26 +0000 (18:59 +0100)]
machined: when discovering images, implicitly add ".host" as pseudo image referring to the host's own directory tree
Lennart Poettering [Fri, 26 Dec 2014 17:19:47 +0000 (18:19 +0100)]
machined: fix image search path iteration
Lennart Poettering [Fri, 26 Dec 2014 17:19:22 +0000 (18:19 +0100)]
machined: let's also check machine directories in /usr and /usr/local
Lennart Poettering [Fri, 26 Dec 2014 17:18:47 +0000 (18:18 +0100)]
import: properly remove pre-existing images if --force is used
Lennart Poettering [Fri, 26 Dec 2014 16:10:31 +0000 (17:10 +0100)]
import: beef up gpt importer to optionally make writable copy of read-only vendor image
Lennart Poettering [Fri, 26 Dec 2014 16:10:05 +0000 (17:10 +0100)]
import: minor improvements to dkr importer