1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 01:55:22 +03:00
The systemd System and Service Manager
Go to file
Lennart Poettering 26ded55709 random-seed: rework systemd-random-seed.service substantially
This makes two major changes to the way systemd-random-seed operates:

1. We now optionally credit entropy if this is configured (via an env
var). Previously we never would do that, with this change we still don't
by default, but it's possible to enable this if people acknowledge that
they shouldn't replicate an image with a contained random seed to
multiple systems. Note that in this patch crediting entropy is a boolean
thing (unlike in previous attempts such as #1062), where only a relative
amount of bits was credited. The simpler scheme implemented here should
be OK though as the random seeds saved to disk are now written only with
data from the kernel's entropy pool retrieved after the pool is fully
initialized. Specifically:

2. This makes systemd-random-seed.service a synchronization point for
kernel entropy pool initialization. It was already used like this, for
example by systemd-cryptsetup-generator's /dev/urandom passphrase
handling, with this change it explicitly operates like that (at least
systems which provide getrandom(), where we can support this). This
means services that rely on an initialized random pool should now place
After=systemd-random-seed.service and everything should be fine. Note
that with this change sysinit.target (and thus early boot) is NOT
systematically delayed until the entropy pool is initialized, i.e.
regular services need to add explicit ordering deps on this service if
they require an initialized random pool.

Fixes: #4271
Replaces: #10621 #4513
2019-07-25 18:30:06 +02:00
.github FUNDING: this needs to be yaml 2019-07-08 16:55:31 +02:00
.lgtm/cpp-queries lgtm: complain about accept() [people should use accept4() instead, due to O_CLOEXEC] 2019-04-10 20:03:38 +02:00
.mkosi mkosi: update to Fedora30 (#12642) 2019-05-23 09:39:07 +02:00
catalog catalog: reference ExecCondition= in unit skipped str 2019-07-17 22:43:05 -07:00
coccinelle tree-wide: use empty-to-root a bit more 2019-07-16 12:40:22 +02:00
docs core: ExecCondition= for services 2019-07-17 11:35:02 +02:00
factory/etc factory: add default /etc/issue file 2019-07-24 08:57:23 +09:00
hwdb Add Logitech touchpads, sort vendors alphabetically (#13167) 2019-07-24 19:49:44 +02:00
man Merge pull request #13144 from poettering/nspawn-modprobe 2019-07-25 11:34:37 +02:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network udev,network: warn when .link or .network file has no [Match] section 2019-04-25 08:41:10 +02:00
po po: Fix typo in German translation 2019-07-14 00:07:40 +02:00
presets Drop my copyright headers 2018-06-14 13:03:20 +02:00
rules rules: enable hardware-related targets also for user instances 2019-05-28 14:18:11 +02:00
semaphoreci tests: pass --werror to meson on Semaphore 2019-07-25 02:35:35 +03:00
shell-completion bash-completion: support ntp-servers and revert command for timedatectl 2019-07-17 06:59:12 +09:00
src random-seed: rework systemd-random-seed.service substantially 2019-07-25 18:30:06 +02:00
sysctl.d sysctl: Enable ping(8) inside rootless Podman containers 2019-07-24 16:41:45 +02:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test network: drop recently added settings from deprecated [DHCP] section 2019-07-25 12:39:33 +09:00
tmpfiles.d factory: add default /etc/issue file 2019-07-24 08:57:23 +09:00
tools meson: catch programs which ignore arguments 2019-07-22 14:08:37 +02:00
travis-ci fuzzit: ignore library version 2019-07-23 23:32:33 +03:00
units random-seed: rework systemd-random-seed.service substantially 2019-07-25 18:30:06 +02:00
xorg scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.gitattributes
.gitignore gitignore: add nspawn image lock and mkosi temporary files 2018-09-07 20:00:22 +02:00
.lgtm.yml lgtm: use python3 2018-12-10 03:07:17 +09:00
.mailmap update .mailmap 2019-04-02 17:31:00 +02:00
.travis.yml coverity: stop setting _Float* 2019-06-21 18:27:35 +03:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
azure-pipelines.yml Free up some resources on Azure Pipelines 2019-07-17 13:28:38 +09:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
fuzzbuzz.yaml fuzzbuzz: rename fuzz.yaml to fuzzbuzz.yaml 2019-07-10 05:11:52 +03:00
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson_options.txt pstore: Tool to archive contents of pstore 2019-07-19 21:46:07 +02:00
meson.build netlink: move local-addresses.[ch] to src/shared 2019-07-24 09:06:50 +02:00
mkosi.build mkosi: let's update the boot loader also in /efi 2019-03-01 12:41:32 +01:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS update NEWS with more recently commited stuff 2019-07-24 17:35:25 +02:00
README codespell: fix spelling errors 2019-04-29 16:47:18 +02:00
README.md Continuous Fuzzing Integration with Fuzzit 2019-06-14 21:09:40 +03:00
TODO update TODO 2019-07-24 08:57:23 +09:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI Build Status
Coverity Scan Status
Fuzzit Status
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status
Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.