systemd.git
5 years agoAdd env variable for machine ID path
Martin Pitt [Wed, 18 Jan 2017 10:21:35 +0000 (11:21 +0100)]
Add env variable for machine ID path

During package build, in minimal chroots, or other systems which do not already
have an /etc/machine-id we get six test failures. Introduce a
$SYSTEMD_MACHINE_ID_PATH environment variable which can specify a location
other than /etc/machine-id, so that the unit tests are independent from the
environment.

Also adjust test-fs-util to not assume that /etc/machine-id exists. Use
/etc/passwd instead which is created by base-files.

Closes: #851445
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=62344

Gbp-Pq: Topic debian
Gbp-Pq: Name Add-env-variable-for-machine-ID-path.patch

5 years agoLet graphical-session-pre.target be manually started
Iain Lane [Mon, 22 Aug 2016 05:03:27 +0000 (07:03 +0200)]
Let graphical-session-pre.target be manually started

This is needed until https://github.com/systemd/systemd/issues/3750 is fixed.

Forwarded: not-needed
Bug-Ubuntu: https://launchpad.net/bugs/1615341

Gbp-Pq: Topic debian
Gbp-Pq: Name Let-graphical-session-pre.target-be-manually-started.patch

5 years agoRevert "core: enable TasksMax= for all services by default, and set it to 512"
Martin Pitt [Mon, 9 May 2016 19:24:38 +0000 (21:24 +0200)]
Revert "core: enable TasksMax= for all services by default, and set it to 512"

This reverts commit 9ded9cd14cc03c67291b10a5c42ce5094ba0912f.

Introducing a default limit on number of threads broke a lot of software which
regularly needs more, such as MySQL and RabbitMQ, or services that spawn off an
indefinite number of subtasks that are not in a scope, like LXC or cron.

15% is way too much for most "simple" services, and it's too little for others
such as the ones mentioned above. There is also no particular rationale about
any particular global limit, so even if we'd bump it higher we'd just make the
limit even less useful while still breaking software.

It is both much safer and also much more effective in terms of guarding against
berserk programs/bugs/unintended fork bombs etc. to set limits in units
individually. Once someone looks at one, this is then a great time to also flip
on the other resource and privilege limitations that systemd offers.

Bug: https://github.com/systemd/systemd/issues/3211
Bug-Debian: https://bugs.debian.org/823530
Bug-Ubuntu: https://launchpad.net/bugs/1578080

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-core-enable-TasksMax-for-all-services-by-default-a.patch

5 years agoRevert "core: set RLIMIT_CORE to unlimited by default"
Martin Pitt [Sat, 27 Feb 2016 11:27:06 +0000 (12:27 +0100)]
Revert "core: set RLIMIT_CORE to unlimited by default"

Partially revert commit 15a900327ab as this completely breaks core dumps
without systemd-coredump. It's also contradicting core(8), and it's not
systemd's place to redefine the kernel definitions of core files.

Commit bdfd7b2c now honours the process' RLIMIT_CORE for systemd-coredump. This
isn't what RLIMIT_CORE is supposed to do (it limits the size of the core
*file*, but the kernel deliberately ignores it for piping), so set a static
2^63 core size limit for systemd-coredump to go back to the previous behaviour
(otherwise the change above would break systemd-coredump).

Bug-Debian: https://bugs.debian.org/815020

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-core-set-RLIMIT_CORE-to-unlimited-by-default.patch

5 years agoRevert "core: one step back again, for nspawn we actually can't wait for cgroups...
Martin Pitt [Mon, 27 Apr 2015 13:29:13 +0000 (15:29 +0200)]
Revert "core: one step back again, for nspawn we actually can't wait for cgroups running empty since systemd will get exactly zero notifications about it"

This reverts commit 743970d2ea6d08aa7c7bff8220f6b7702f2b1db7.

Bug-Debian: https://bugs.debian.org/784720
Bug-Ubuntu: https://launchpad.net/bugs/1448259
Bug-Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1141137

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-core-one-step-back-again-for-nspawn-we-actual.patch

5 years agoSkip filesystem check if already done by the initramfs
Nis Martensen [Tue, 19 Jan 2016 21:01:43 +0000 (22:01 +0100)]
Skip filesystem check if already done by the initramfs

Newer versions of initramfs-tools already fsck and mount / and /usr in
the initramfs. Skip the filesystem check in this case.

Based on a previous patch by Michael Biebl <biebl@debian.org>.

Closes: #782522
Closes: #810748
Gbp-Pq: Topic debian
Gbp-Pq: Name Skip-filesystem-check-if-already-done-by-the-initram.patch

5 years agofsckd daemon for inter-fsckd communication
Didier Roche [Fri, 22 May 2015 11:04:38 +0000 (13:04 +0200)]
fsckd daemon for inter-fsckd communication

Global logic:
Add systemd-fsckd multiplexer which accepts multiple (via systemd-fsck's
/run/systemd/fsck.progress socket) fsck instances to connect to it and sends
progress report. systemd-fsckd then computes and writes to /dev/console the
number of devices currently being checked and the minimum fsck progress.

Plymouth and user interaction:
Forward the progress to plymouth and support canellation of in progress fsck.
Try to connect and send to plymouth (if running) some checked report progress,
using direct plymouth protocole.

Update message is the following:
fsckd:<num_devices>:<progress>:<string>
* num_devices corresponds to the current number of devices being checked (int)
* progress corresponds to the current minimum percentage of all devices being
  checked (float, from 0 to 100)
* string is a translated message ready to be displayed by the plymouth theme
  displaying the information above. It can be overridden by plymouth themes
  supporting i18n.

Grab in fsckd plymouth watch key Control+C, and propagate this cancel request
to systemd-fsck which will terminate fsck.

Send a message to signal to user what key we are grabbing for fsck cancel.

Message is: fsckd-cancel-msg:<string>
Where string is a translated string ready to be displayed by the plymouth theme
indicating that Control+C can be used to cancel current checks. It can be
overridden (matching only fsckd-cancel-msg prefix) for themes supporting i18n.

Misc:
systemd-fsckd stops on idle when no fsck is connected.
Add man page explaining the plymouth theme protocol, usage of the daemon
as well as the socket activation part. Adapt existing fsck man page.

Note that fsckd had lived in the upstream tree for a while, but was removed.
More information at
http://lists.freedesktop.org/archives/systemd-devel/2015-April/030175.html
-

Gbp-Pq: Topic debian
Gbp-Pq: Name fsckd-daemon-for-inter-fsckd-communication.patch

5 years agoOnly start logind if dbus is installed
Martin Pitt [Mon, 9 Feb 2015 09:53:43 +0000 (10:53 +0100)]
Only start logind if dbus is installed

logind fails to start in environments without dbus, such as LXC containers or
servers. Add a startup condition to avoid the very noisy startup failure.

Part of #772700

Gbp-Pq: Topic debian
Gbp-Pq: Name Only-start-logind-if-dbus-is-installed.patch

5 years agoDon't enable audit by default
Martin Pitt [Sun, 28 Dec 2014 11:49:35 +0000 (12:49 +0100)]
Don't enable audit by default

It causes flooding of dmesg and syslog, suppressing actually important
messages.

Don't enable it for now, until a better solution is found:
http://lists.freedesktop.org/archives/systemd-devel/2014-December/026591.html

Bug-Debian: https://bugs.debian.org/773528

Gbp-Pq: Topic debian
Gbp-Pq: Name Don-t-enable-audit-by-default.patch

5 years agoRe-enable journal forwarding to syslog
Martin Pitt [Fri, 28 Nov 2014 13:43:25 +0000 (14:43 +0100)]
Re-enable journal forwarding to syslog

Revert upstream commit 46b131574fdd7d77 for now, until Debian's sysloggers
can/do all read from the journal directly. See

  http://lists.freedesktop.org/archives/systemd-devel/2014-November/025550.html

for details. Once we grow a journal.conf.d/ directory, sysloggers can be moved
to pulling from the journal one by one and disable forwarding again in such a
conf.d snippet.

Gbp-Pq: Topic debian
Gbp-Pq: Name Re-enable-journal-forwarding-to-syslog.patch

5 years agoAdd support for TuxOnIce hibernation
Julien Muchembled [Tue, 29 Apr 2014 09:40:50 +0000 (11:40 +0200)]
Add support for TuxOnIce hibernation

systemd does not support non-mainline kernel features so upstream rejected this
patch.
It is however required for systemd integration by tuxonice-userui package.

Forwarded: http://lists.freedesktop.org/archives/systemd-devel/2014-April/018960.html

Gbp-Pq: Topic debian
Gbp-Pq: Name Add-support-for-TuxOnIce-hibernation.patch

5 years agoMake /run/lock tmpfs an API fs
Michael Biebl [Thu, 4 Sep 2014 23:15:16 +0000 (01:15 +0200)]
Make /run/lock tmpfs an API fs

The /run/lock directory is world-writable in Debian due to historic
reasons. To avoid user processes filling up /run, we mount a separate
tmpfs for /run/lock. As this directory needs to be available during
early boot, we make it an API fs.

Drop it from tmpfiles.d/legacy.conf to not clobber the permissions.

Closes: #751392
Gbp-Pq: Topic debian
Gbp-Pq: Name Make-run-lock-tmpfs-an-API-fs.patch

5 years agoBring tmpfiles.d/tmp.conf in line with Debian defaults
Tollef Fog Heen [Tue, 5 Jun 2012 18:59:36 +0000 (20:59 +0200)]
Bring tmpfiles.d/tmp.conf in line with Debian defaults

Closes: #675422
Gbp-Pq: Topic debian
Gbp-Pq: Name Bring-tmpfiles.d-tmp.conf-in-line-with-Debian-defaul.patch

5 years agoUse Debian specific config files
Michael Biebl [Thu, 18 Jul 2013 18:11:02 +0000 (20:11 +0200)]
Use Debian specific config files

Use /etc/default/locale instead of /etc/locale.conf for locale settings.

Use /etc/default/keyboard instead of /etc/X11/xorg.conf.d/00-keyboard.conf for
keyboard configuration.

Read/write /etc/timezone if /etc/localtime does not exist.

Gbp-Pq: Topic debian
Gbp-Pq: Name Use-Debian-specific-config-files.patch

5 years agocatalog: add entry for SD_MESSAGE_UNSAFE_USER_NAME
Lennart Poettering [Tue, 7 Apr 2020 09:15:49 +0000 (11:15 +0200)]
catalog: add entry for SD_MESSAGE_UNSAFE_USER_NAME

(cherry picked from commit ad313ec33bb367624c25c9264994d6e43b8a7e2e)

Gbp-Pq: Name catalog-add-entry-for-SD_MESSAGE_UNSAFE_USER_NAME.patch

5 years agodocs: hook up the new USER_NAMES document everywhere
Lennart Poettering [Tue, 7 Apr 2020 09:04:59 +0000 (11:04 +0200)]
docs: hook up the new USER_NAMES document everywhere

(Also correct the set of names we accept in User=, which was forgotten
to be updated in ae480f0b09aec815b64579bb1828ea935d8ee236.

(cherry picked from commit 887a8fa341d9b24a7c9cd3f1fce328f8e43a1b4f)

Gbp-Pq: Name docs-hook-up-the-new-USER_NAMES-document-everywhere.patch

5 years agodocs: add a longer document explaining our rules on user/group names
Lennart Poettering [Tue, 7 Apr 2020 08:38:39 +0000 (10:38 +0200)]
docs: add a longer document explaining our rules on user/group names

(cherry picked from commit cafed7b32cdac13024c4093b7942a49ee8602dcf)

Gbp-Pq: Name docs-add-a-longer-document-explaining-our-rules-on-user-g.patch

5 years agouser-util: rework how we validate user names
Lennart Poettering [Sat, 4 Apr 2020 10:23:02 +0000 (12:23 +0200)]
user-util: rework how we validate user names

This reworks the user validation infrastructure. There are now two
modes. In regular mode we are strict and test against a strict set of
valid chars. And in "relaxed" mode we just filter out some really
obvious, dangerous stuff. i.e. strict is whitelisting what is OK, but
"relaxed" is blacklisting what is really not OK.

The idea is that we use strict mode whenever we allocate a new user
(i.e. in sysusers.d or homed), while "relaxed" mode is when we process
users registered elsewhere, (i.e. userdb, logind, …)

The requirements on user name validity vary wildly. SSSD thinks its fine
to embedd "@" for example, while the suggested NAME_REGEX field on
Debian does not even allow uppercase chars…

This effectively liberaralizes a lot what we expect from usernames.

The code that warns about questionnable user names is now optional and
only used at places such as unit file parsing, so that it doesn't show
up on every userdb query, but only when processing configuration files
that know better.

Fixes: #15149 #15090
(cherry picked from commit 7a8867abfab10e5bbca10590ec2aa40c5b27d8fb)

Gbp-Pq: Name user-util-rework-how-we-validate-user-names.patch

5 years agouserdbctl: drop redundant user name validity check
Lennart Poettering [Fri, 3 Apr 2020 20:27:09 +0000 (22:27 +0200)]
userdbctl: drop redundant user name validity check

The userdb_by_name() invocation immediately following does the same check
anyway, no need to do this twice.

(Also, make sure we exit the function early on failure)

(cherry picked from commit 2aea5883f1d016ec7304acdb59516c30cae92452)

Gbp-Pq: Name userdbctl-drop-redundant-user-name-validity-check.patch

5 years agopid1: by default make user units inherit their umask from the user manager
Franck Bui [Fri, 3 Apr 2020 08:00:25 +0000 (10:00 +0200)]
pid1: by default make user units inherit their umask from the user manager

This patch changes the way user managers set the default umask for the units it
manages.

Indeed one can expect that if user manager's umask is redefined through PAM
(via /etc/login.defs or pam_umask), all its children including the units it
spawns have their umask set to the new value.

Hence make user units inherit their umask value from their parent instead of
the hard coded value 0022 but allow them to override this value via their unit
file.

Note that reexecuting managers with 'systemctl daemon-reexec' after changing
UMask= has no effect. To take effect managers need to be restarted with
'systemct restart' instead. This behavior was already present before this
patch.

Fixes #6077.

(cherry picked from commit 5e37d1930b41b24c077ce37c6db0e36c745106c7)

Gbp-Pq: Name pid1-by-default-make-user-units-inherit-their-umask-from-.patch

5 years agosystemd (245.4-3) unstable; urgency=medium
Michael Biebl [Fri, 10 Apr 2020 09:55:15 +0000 (10:55 +0100)]
systemd (245.4-3) unstable; urgency=medium

  [ Dan Streetman ]
  * d/rules: in dh_auto_test, include meson param --print-errorlogs.
    Also, don't cat testlog.txt; it's noisy and not very helpful.
    Upstream request:
    https://github.com/systemd/systemd/pull/14338#issuecomment-603432989

  [ Michael Biebl ]
  * pid1: by default make user units inherit their umask from the user manager
    (Closes: #945000)
  * user-util: rework how we validate user names.
    This reworks the user validation infrastructure. There are now two
    modes. In regular mode we are strict and test against a strict set of
    valid chars. And in "relaxed" mode we just filter out some really
    obvious, dangerous stuff. i.e. strict is whitelisting what is OK, but
    "relaxed" is blacklisting what is really not OK.
    The idea is that we use strict mode whenever we allocate a new user,
    while "relaxed" mode is used when we process users registered elsewhere.
    (Closes: #955541)

[dgit import unpatched systemd 245.4-3]

5 years agoImport systemd_245.4-3.debian.tar.xz
Michael Biebl [Fri, 10 Apr 2020 09:55:15 +0000 (10:55 +0100)]
Import systemd_245.4-3.debian.tar.xz

[dgit import tarball systemd 245.4-3 systemd_245.4-3.debian.tar.xz]

5 years agoImport systemd_245.4.orig.tar.gz
Michael Biebl [Thu, 2 Apr 2020 09:58:18 +0000 (10:58 +0100)]
Import systemd_245.4.orig.tar.gz

[dgit import orig systemd_245.4.orig.tar.gz]