Daniel Mack [Tue, 26 May 2015 16:56:40 +0000 (18:56 +0200)]
logind: unlink /run/nologin when shutdown is cancelled
When a scheduled is cancelled, make sure to remove /run/nologin.
This is a regression from the recent shutdownd removal and logind rework.
Torstein Husebø [Tue, 26 May 2015 17:17:30 +0000 (19:17 +0200)]
treewide: fix typos
David Herrmann [Tue, 26 May 2015 11:03:15 +0000 (13:03 +0200)]
udev: fix inotify handling
This partly reverts:
commit
6d1b1e0bc6bd020218afc5f05286bf372be283d5
Author: Tom Gundersen <teg@jklm.no>
Date: Sun May 24 15:10:04 2015 +0200
udevd: worker - fully clean up unnecessary fds
The inotify-fd _is_ used in the workers, so don't close it! Have a look at
udev-watch.c, which keeps track of the inotify-fd as a global variable
(ugh!).
Martin Pitt [Tue, 26 May 2015 05:16:00 +0000 (07:16 +0200)]
build-sys: ship fsck mock in tarball
Useful for downstream integration test cases.
Tom Gundersen [Mon, 25 May 2015 21:10:26 +0000 (23:10 +0200)]
test: hostname - test that hostname is truly initialized
Fixes CID CID 1299638 (use after free).
Tom Gundersen [Mon, 25 May 2015 21:01:45 +0000 (23:01 +0200)]
nspawn: fix memleak
This was a typo, swapping prefix_root() in place of prefix_roota().
Fixes CID 1299640.
Tom Gundersen [Mon, 25 May 2015 20:55:52 +0000 (22:55 +0200)]
nspawn: avoid memleak
Simplify the code a bit, at the cost of potentially duplicating some
memory unneccessarily.
Fixes CID 1299641.
Tom Gundersen [Mon, 25 May 2015 20:49:14 +0000 (22:49 +0200)]
nspawn: drop some debugging code
These have no effect.
Fixes CID 1299643.
Tom Gundersen [Mon, 25 May 2015 20:47:42 +0000 (22:47 +0200)]
import: dkr - avoid NULL-pointer dereference
A malformed manifest could in principle cause a NULL pointer dereference of. Check
for this and fail early.
Fixes CID 1299642.
Tom Gundersen [Mon, 25 May 2015 20:27:14 +0000 (22:27 +0200)]
nspawn: make coverity happy
Rather than checking the return of asprintf() we are checking if buf gets allocated,
make it clear that it is ok to ignore the return value.
Fixes CID 1299644.
Tom Gundersen [Mon, 25 May 2015 15:34:47 +0000 (17:34 +0200)]
networkd: fix IFF_UP when ipv6 support is disabled
Passing ipv6 options (even when they should be noops) caused IFF_UP to fail when
ipv6 was supported.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90103
Karel Zak [Mon, 25 May 2015 10:11:23 +0000 (12:11 +0200)]
swap: use swapon -o
This patch simplify swapon usage in systemd. The command swapon(8)
since util-linux v2.26 supports "-o <list>". The idea is exactly the
same like for mount(8). The -o specifies options in fstab-compatible
way. For systemd it means that it does not have to care about things
like "discard" or another swapon specific options.
swapon -o <options-from-fstab>
For backward compatibility the code cares about "Priority:" swap unit
field (for a case when Priority: is set, but pri= in the Options: is
missing).
References: http://lists.freedesktop.org/archives/systemd-devel/2014-October/023576.html
Marc-Antoine Perennou [Mon, 25 May 2015 11:35:14 +0000 (13:35 +0200)]
build-sys: fix headers installation
Marc-Antoine Perennou [Mon, 25 May 2015 09:18:18 +0000 (11:18 +0200)]
build-sys: don't dist generated files
[tomegun: fix
Makefile.am:5675: warning: nodist_systemd_resolved_SOURCES multiply defined in condition ENABLE_RESOLVED]
Marc-Antoine Perennou [Mon, 25 May 2015 09:18:17 +0000 (11:18 +0200)]
build-sys: always include src/boot/efi in tarballs
currently it would only be included if configure was ran with --enable-gnuefi
Mike Gilbert [Sun, 24 May 2015 20:33:35 +0000 (16:33 -0400)]
shared: generator - correct path to systemd-fsck
In generated systemd-fsck-root.service. This would break if rootprefix
is not /usr/lib/systemd.
[tomegun: flesh out commit message]
Umut Tezduyar Lindskog [Fri, 22 May 2015 14:02:09 +0000 (16:02 +0200)]
nspawn: be verbose about interface names
Allowed interface name is relatively small. Lets not make
users go in to the source code to figure out what happened.
--machine=debian-tree conflicts with
--machine=debian-tree2
ex: Failed to add new veth \
interfaces (host0, vb-debian-tree): File exists
Tom Gundersen [Sun, 24 May 2015 13:20:36 +0000 (15:20 +0200)]
udevd: event - fix event queue in daemenozied mode
We would enforce that events could only be added to the queue from the
main process, but that brake in daemonized mode. Relax the restriction
to only allow one process to add events to the queue.
Reported by Mantas Mikulėnas.
Tom Gundersen [Sun, 24 May 2015 13:14:43 +0000 (15:14 +0200)]
udevd: worker - modernize a bit
Initialize structs when declaring rather than using memzero().
Tom Gundersen [Sun, 24 May 2015 13:10:04 +0000 (15:10 +0200)]
udevd: worker - fully clean up unnecessary fds
These are only ever used in the parent process, so close them early in the worker.
Thomas Hindoe Paaboel Andersen [Sat, 23 May 2015 11:02:56 +0000 (13:02 +0200)]
bootctl: fix an error check
Jonathan Boulle [Sat, 23 May 2015 03:11:01 +0000 (20:11 -0700)]
fix typos in systemd-nspawn man page
Thomas Hindoe Paaboel Andersen [Fri, 22 May 2015 21:40:19 +0000 (23:40 +0200)]
bootctl: ferror must be called before FILE is closed
Otherwise it will not show any error stored
Jason S. McMullan [Fri, 22 May 2015 18:30:01 +0000 (20:30 +0200)]
udev/net_id: Only read the first 64 bytes of PCI config space
The original code used fread(), which on some libc implementions
(ie glibc 2.17) would pre-read a full 4K (PAGE_SIZE) of the
PCI config space, when only 64 bytes were requested.
I have recently come across PCIe hardware which responds with
Completion Timeouts when accesses above 256 bytes are attempted.
This can cause server systems with GHES/AEPI support to cause
and immediate kernel panic due to the failed PCI transaction.
This change replaces the buffered fread() with an explict
unbuffered read() of 64 bytes, which corrects this issue by
only reading the guaranteed first 64 bytes of PCIe config space.
Lennart Poettering [Fri, 22 May 2015 12:32:51 +0000 (14:32 +0200)]
sd-bus,sd-event: make public APIs
With the v221 release these APIs should be public, stable APIs, hence
let's install their headers by default now, and add their symbols to the
.sym file.
Lennart Poettering [Thu, 21 May 2015 23:37:16 +0000 (01:37 +0200)]
NEWS: fix date
Ah, bummer, it's tagged an now I realize I didn't fix the date. Let's do
so now, post-commit.
Lennart Poettering [Thu, 21 May 2015 21:30:37 +0000 (23:30 +0200)]
json: minor style fixes
Lennart Poettering [Thu, 21 May 2015 21:25:57 +0000 (23:25 +0200)]
test.json: fix build on x86-32 where int and intmax_t differ
Lennart Poettering [Thu, 21 May 2015 20:04:30 +0000 (22:04 +0200)]
update hardware databases
Lennart Poettering [Thu, 21 May 2015 19:54:53 +0000 (21:54 +0200)]
build-sys: fix build with seperate builddir
Let's make sure we can build rpms with this
Lennart Poettering [Thu, 21 May 2015 19:34:36 +0000 (21:34 +0200)]
manager: fix finish_timestamp calculation
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032100.html
Lennart Poettering [Thu, 21 May 2015 19:31:23 +0000 (21:31 +0200)]
update TODO
Lennart Poettering [Thu, 21 May 2015 19:24:55 +0000 (21:24 +0200)]
bus-proxy: fix GetConnectionSELinuxSecurityContext() return value
Lennart Poettering [Thu, 21 May 2015 18:48:39 +0000 (20:48 +0200)]
nspawn: prohibit access to the kernel log buffer by default
Unless CAP_SYSLOG is explicitly passed block all access to kmg
Lennart Poettering [Thu, 21 May 2015 18:43:21 +0000 (20:43 +0200)]
device: never act on mount events for devices if device support is not available
Lennart Poettering [Thu, 21 May 2015 18:39:23 +0000 (20:39 +0200)]
core: properly handle jobs that are suppressed to JOB_NOPs when propagating restarts
David Herrmann [Thu, 21 May 2015 18:39:47 +0000 (20:39 +0200)]
NEWS: add note about gudev
gudev has been extracted into a separate repository managed by the gnome
project. See the announcement thread on systemd-devel for more:
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032070.html
David Herrmann [Thu, 21 May 2015 18:25:38 +0000 (20:25 +0200)]
NEWS: fix sd-boot to systemd-boot
We renamed sd-boot to systemd-boot directly after merging it, to stay
conform to all the other systemd binaries.
Zbigniew Jędrzejewski-Szmek [Thu, 21 May 2015 18:30:53 +0000 (14:30 -0400)]
NEWS: fix typo and expand abbreviation
Lennart Poettering [Thu, 21 May 2015 18:24:34 +0000 (20:24 +0200)]
NEWS: document the IPForward= confusion
Zbigniew Jędrzejewski-Szmek [Thu, 21 May 2015 18:22:30 +0000 (14:22 -0400)]
tmpfiles: create /etc/resolv.conf symlink only on boot
We will create the symlink on boot as a fallback to provide name
resolution. But if the symlink was removed afterwards, it most likely
should not be recreated. Creating it only on boot also solves the
issue where it would be created prematurely during installation,
before the system was actually booted.
https://bugzilla.redhat.com/show_bug.cgi?id=1197204
Lennart Poettering [Thu, 21 May 2015 18:10:26 +0000 (20:10 +0200)]
build-sys: bump library and package versions
Lennart Poettering [Thu, 21 May 2015 17:49:08 +0000 (19:49 +0200)]
update TODO
Lennart Poettering [Thu, 21 May 2015 17:49:03 +0000 (19:49 +0200)]
util: an array with one entry is always ordered
Lennart Poettering [Thu, 21 May 2015 17:48:49 +0000 (19:48 +0200)]
util: introduce PERSONALITY_INVALID as macro for 0xffffffffLU
Lennart Poettering [Thu, 21 May 2015 17:47:42 +0000 (19:47 +0200)]
NEWS: start collecting items for v220
Lennart Poettering [Thu, 21 May 2015 14:30:58 +0000 (16:30 +0200)]
nspawn: finish user namespace support
Lennart Poettering [Thu, 21 May 2015 14:11:38 +0000 (16:11 +0200)]
update TODO
Tom Gundersen [Thu, 21 May 2015 13:22:07 +0000 (15:22 +0200)]
udev: link-config - fix corruption
The parser used for MTU and Speed expects them to be size_t, not unsigned int.
This caused a corruption in the rest of the structure.
Reported by David O Neill <david.m.oneill@intel.com>.
Peter Hutterer [Thu, 21 May 2015 05:39:11 +0000 (15:39 +1000)]
hwdb: add MS Arc Touch Mouse SE
https://bugs.freedesktop.org/show_bug.cgi?id=90540
Zbigniew Jędrzejewski-Szmek [Thu, 21 May 2015 03:34:12 +0000 (23:34 -0400)]
sd-device: fix return codes on error
asprintf() does not set errno.
Zbigniew Jędrzejewski-Szmek [Thu, 21 May 2015 03:25:48 +0000 (23:25 -0400)]
json: avoid cleanup of unitialized variable
Lennart Poettering [Wed, 20 May 2015 15:40:05 +0000 (17:40 +0200)]
units: conditionalize audit multicast socket on CAP_AUDIT_READ
The multicast logic can only work if the capability is available, hence
require it.
Lennart Poettering [Wed, 20 May 2015 12:41:39 +0000 (14:41 +0200)]
util: introduce reset_uid_gid() for resetting all uids and gids to 0
Lennart Poettering [Wed, 20 May 2015 12:37:21 +0000 (14:37 +0200)]
journald: handle more gracefully when bind() fails on audit sockets
Lennart Poettering [Tue, 19 May 2015 18:32:44 +0000 (20:32 +0200)]
core,nspawn: unify code that moves the root dir
Zbigniew Jędrzejewski-Szmek [Wed, 20 May 2015 03:59:27 +0000 (23:59 -0400)]
TODO: add --merge support for sd-j-remote
Zbigniew Jędrzejewski-Szmek [Sat, 21 Mar 2015 14:28:55 +0000 (10:28 -0400)]
bootctl: try to catch all errors
Do not print garbage on non-EFI installations.
Zbigniew Jędrzejewski-Szmek [Wed, 18 Mar 2015 02:29:31 +0000 (22:29 -0400)]
bootctl: modernization
Use strjoina to avoid error handling, and openat to simplify things.
Some fixes on the way:
- ferror does not set errno, so the return value was wrong in some cases
- errors are propagated in more cases
- EFI/systemd was created, but EFI/systemd-boot was deleted
- something is always printed on error
- when checking the version, comparison was done against "systemd-bo" for some reason
- return value was converted from negative to EXIT_SUCCESS/EXIT_FAILURE twice,
resulting in EXIT_SUCCESS all the time
Zbigniew Jędrzejewski-Szmek [Sat, 16 May 2015 15:06:43 +0000 (11:06 -0400)]
bus-socket: simplify initalization of struct msghdr
Peter Hutterer [Fri, 8 May 2015 01:56:45 +0000 (11:56 +1000)]
hwdb: add Logitech M570 trackball
http://www.logitech.com/en-us/product/wireless-trackball-m570#specs
https://bugzilla.redhat.com/show_bug.cgi?id=1217881
Thomas Hindoe Paaboel Andersen [Tue, 19 May 2015 21:19:29 +0000 (23:19 +0200)]
json: fix a mem leak
Lennart Poettering [Tue, 19 May 2015 17:54:39 +0000 (19:54 +0200)]
update TODO
Lennart Poettering [Tue, 19 May 2015 17:47:52 +0000 (19:47 +0200)]
units: make sure systemd-nspawn@.slice instances are actually located in machine.slice
https://plus.google.com/
112206451048767236518/posts/SYAueyXHeEX
Lennart Poettering [Tue, 19 May 2015 17:09:03 +0000 (19:09 +0200)]
core: don't consider boot-up finished if we are still reloading
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032025.html
Thomas Hindoe Paaboel Andersen [Tue, 19 May 2015 17:23:53 +0000 (19:23 +0200)]
pull-dkr: fix memleak
Pavel Odvody [Tue, 19 May 2015 14:30:33 +0000 (16:30 +0200)]
import/pull-dkr: V2 image specification and manifest support
The maximum number of layers changed to 127, as in Dkr.
Pavel Odvody [Tue, 19 May 2015 14:30:04 +0000 (16:30 +0200)]
import/pull: Tag replaced with reference
Default pull version set to V2
Pavel Odvody [Tue, 19 May 2015 14:29:53 +0000 (16:29 +0200)]
test/test-json: Tests for the tokenizer bugfix and the DOM parser
The DOM parser tests are accompanied with structure and element analysis
Pavel Odvody [Tue, 19 May 2015 14:29:42 +0000 (16:29 +0200)]
shared/json: Added DOM-like JSON parser
This makes working with complexly structured documents easy
and more reliable as the parser is not susceptible to
element re-ordering.
Also fixes a bug when the tokenizer would choke after reading
a number.
Pavel Odvody [Tue, 19 May 2015 14:29:29 +0000 (16:29 +0200)]
shared/import-util: Tag renamed to reference
Added (sha256) digest validation function
Lennart Poettering [Tue, 19 May 2015 16:13:22 +0000 (18:13 +0200)]
core: when propagating restart requests due to deps, downgrade restart to try-restart
Previously, if a service A depended on a service B via Requires=, and A
was not running and B restarted this would trigger a start of A as well,
since the restart was propagated as restart independently of the state
of A.
This patch ensures that a restart of B would be propagated as a
try-restart to A, thus not changing its state if it isn't up.
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032061.html
Tom Gundersen [Tue, 19 May 2015 15:47:19 +0000 (17:47 +0200)]
dhcp-identifier: fix for unaligned write
Reported by Michael Olbrich.
Lennart Poettering [Tue, 19 May 2015 15:56:44 +0000 (17:56 +0200)]
core: sd_bus_error() already checks for NULL, no need to duplicate check
Lennart Poettering [Tue, 19 May 2015 15:40:50 +0000 (17:40 +0200)]
core: reinstate propagation of stop/restart jobs via RequsiteOf dependencies
This reverts the primary effect of
be7d9ff730cb88d7c6a869dd5c47754c78ceaef2.
After all Requisite= should be close to Requires=, without the one
exception that it doesn't pull in dependencies on start. However,
reverse deps on stop/restart should be treated the same way as for
Restart=, and this is already documented in the man page, hence stick to
it.
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032049.html
Jan Synacek [Tue, 19 May 2015 12:26:09 +0000 (14:26 +0200)]
util: fix typo
Lennart Poettering [Tue, 19 May 2015 15:19:27 +0000 (17:19 +0200)]
mount: properly check for mounts currently in /proc/self/mountinfo
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032059.html
Lennart Poettering [Tue, 19 May 2015 14:57:33 +0000 (16:57 +0200)]
Update TODO
Lennart Poettering [Tue, 19 May 2015 14:41:14 +0000 (16:41 +0200)]
unit: drop support for pre-v44 job serialization
No distro ships that old systemd versions anyway, hence let's drop
support for live-upgrades for them. Offline updates are still supported.
And live-upgrades will only lose the job queue, hence basically still
work...
Lennart Poettering [Tue, 19 May 2015 14:23:14 +0000 (16:23 +0200)]
core: also enforce ratelimiter if we stop a unit due to BindsTo=
This extends on
bea355dac94e82697aa98e25d80ee4248263bf92, and extends
the ratelimiter to not only be used for StopWhenUnneeded=1 units but
also for units that have BindsTo= on a unit that is dead.
http://lists.freedesktop.org/archives/systemd-devel/2015-April/030224.html
Lennart Poettering [Tue, 19 May 2015 14:03:01 +0000 (16:03 +0200)]
core: use bitfield where possible
Lennart Poettering [Tue, 19 May 2015 14:02:51 +0000 (16:02 +0200)]
update TODO
Lennart Poettering [Tue, 19 May 2015 14:00:24 +0000 (16:00 +0200)]
core: enforce a ratelimiter when stopping units due to StopWhenUnneeded=1
Otherwise we might end up in an endless stop loop.
http://lists.freedesktop.org/archives/systemd-devel/2015-April/030224.html
Lennart Poettering [Tue, 19 May 2015 13:42:03 +0000 (15:42 +0200)]
unit: fix unit_check_unneeded() dependency iteration
Fixes a regression introduced in
be7d9ff730cb88d7c6a869dd5c47754c78ceaef2.
Lennart Poettering [Tue, 19 May 2015 11:50:36 +0000 (13:50 +0200)]
mount: don't claim a device is gone from /proc/self/mountinfo before it is gone from *all* lines
Devices might be referenced by multiple mount points in
/proc/self/mountinfo, hence we should consider them unmounted only after
they disappeared from all lines, not just from one.
http://lists.freedesktop.org/archives/systemd-devel/2015-May/032026.html
Martin Pitt [Sun, 17 May 2015 13:07:47 +0000 (15:07 +0200)]
device: create units with intended "found" value
Change device_found_node() to also create a .device unit if a device is not
known by udev; this is the case for "tentative" devices picked up by mountinfo
(DEVICE_FOUND_MOUNT). With that we can record the "found" attribute on the
unit.
Change device_setup_unit() to also accept a NULL udev_device, and don't
add the extra udev information in that case.
Previously device_found_node() would not create a .device unit, and
unit_add_node_link() would then create a "dead" stub one via
manager_load_unit(), so we lost the "found" attribute and unmounted everything
from that device.
https://launchpad.net/bugs/1444402
http://lists.freedesktop.org/archives/systemd-devel/2015-May/031658.html
Martin Pitt [Tue, 19 May 2015 05:49:56 +0000 (07:49 +0200)]
hostname: Allow comments in /etc/hostname
The hostname(1) tool allows comments in /etc/hostname. Introduce a new
read_hostname_config() in hostname-util which reads a hostname configuration
file like /etc/hostname, strips out comments, whitespace, and cleans the
hostname. Use it in hostname-setup.c and hostnamed and remove duplicated code.
Update hostname manpage. Add tests.
https://launchpad.net/bugs/1053048
Thomas Hindoe Paaboel Andersen [Tue, 19 May 2015 04:45:52 +0000 (06:45 +0200)]
core: fix OOM checks in dbus-unit
CID#1299014
Thomas Hindoe Paaboel Andersen [Tue, 19 May 2015 04:33:54 +0000 (06:33 +0200)]
test-hashmap: fix an assert
CID#1299016
Zbigniew Jędrzejewski-Szmek [Tue, 19 May 2015 02:34:07 +0000 (22:34 -0400)]
man: explain UseDomains a bit more
https://bugs.freedesktop.org/show_bug.cgi?id=85397
Lennart Poettering [Mon, 18 May 2015 23:32:40 +0000 (01:32 +0200)]
update TODO
Lennart Poettering [Mon, 18 May 2015 23:27:33 +0000 (01:27 +0200)]
update TODO
Lennart Poettering [Mon, 18 May 2015 23:24:28 +0000 (01:24 +0200)]
core: introduce seperate reverse dependencies for Requires= and Requisite=
This allows us to ensure that Requisite= dependencies never cause
propagation between units, while Requires= dependencies might.
http://lists.freedesktop.org/archives/systemd-devel/2015-May/031742.html
Lennart Poettering [Mon, 18 May 2015 22:35:02 +0000 (00:35 +0200)]
journalctl: unify how we free boot id lists a bit
Instead of use LIST_FOREACH_SAFE, just use the same, seperate destructor
everywhere.
Lennart Poettering [Mon, 18 May 2015 22:25:45 +0000 (00:25 +0200)]
journalctl: clean up how we log errors
All functions should either log the errors they run into, or only return
them in which case the caller should log them.
Make sure this rule is followed, so that each error is logged precisely
once, and neither never, nor more than once.
Lennart Poettering [Mon, 18 May 2015 22:24:27 +0000 (00:24 +0200)]
journalctl: rename boot_id_t to BootId
So far we tried to reserve the _t suffix to types we use like a value in
contrast to types we use as objects, hence let's do this in journalctl
too.
Lennart Poettering [Mon, 18 May 2015 22:22:56 +0000 (00:22 +0200)]
journalctl: lstat() should suffice if we call canonicalize_file_name() first
Lennart Poettering [Mon, 18 May 2015 21:54:05 +0000 (23:54 +0200)]
journalctl: free all command line argument objects
let's try to be valgrind clean
Lennart Poettering [Mon, 18 May 2015 21:50:34 +0000 (23:50 +0200)]
journalctl: only have a single exit path from main()
That way we can be sure we execute the destructors properly, and can be
valgrind-clean.
Jan Janssen [Fri, 1 May 2015 13:15:16 +0000 (15:15 +0200)]
journalctl: Improve boot ID lookup
This method should greatly improve offset based lookup, by simply jumping
from one boot to the next boot. It starts at the journal head to get the
a boot ID, makes a _BOOT_ID match and then comes from the opposite
journal direction (tail) to get to the end that boot. After flushing the matches
and advancing the journal from that exact position, we arrive at the start
of next boot. Rinse and repeat.
This is faster than the old method of aggregating the full boot listing just
so we can jump to a specific boot, which can be a real pain on big journals
just for a mere "-b -1" case.
As an additional benefit --list-boots should improve slightly too, because
it does less seeking.
Note that there can be a change in boot order with this lookup method
because it will use the order of boots in the journal, not the realtime stamp
stored in them. That's arguably better, though.
Another deficiency is that it will get confused with boots interleaving in the
journal, therefore, it will refuse operation in --merge, --file and --directory mode.
https://bugs.freedesktop.org/show_bug.cgi?id=72601