systemd.git
6 years agoMerge systemd (241-3) import into refs/heads/workingbranch
Michael Biebl [Mon, 8 Apr 2019 10:59:32 +0000 (11:59 +0100)]
Merge systemd (241-3) import into refs/heads/workingbranch

6 years agoDrop seccomp system call filter for udev
Michael Biebl [Wed, 18 Jul 2018 21:49:16 +0000 (23:49 +0200)]
Drop seccomp system call filter for udev

The seccomp based system call whitelist requires at least systemd 239 to
be the active init and during a dist-upgrade we can't guarantee that
systemd has been fully configured before udev is restarted.

This partially reverts upstream commit
ee8f26180d01e3ddd4e5f20b03b81e5e737657ae.

Once buster is released, this patch can be dropped.

Closes: #903224
Gbp-Pq: Topic debian
Gbp-Pq: Name Drop-seccomp-system-call-filter-for-udev.patch

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoRevert "udev: network device renaming - immediately give up if the target name isn...
Michael Biebl [Wed, 17 Jul 2013 23:04:07 +0000 (01:04 +0200)]
Revert "udev: network device renaming - immediately give up if the target name isn't available"

This reverts commit 97595710b77aa162ca5e20da57d0a1ed7355eaad.

We need to keep supporting systems with 75-persistent-net-generator.rules
generated names for a while after switching to net.ifnames. Re-apply this old
hack to make the renaming less likely to fail.

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-udev-network-device-renaming-immediately-give.patch

6 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

6 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

6 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

6 years agopam-systemd: use secure_getenv() rather than getenv()
Lennart Poettering [Mon, 4 Feb 2019 09:23:43 +0000 (10:23 +0100)]
pam-systemd: use secure_getenv() rather than getenv()

And explain why in a comment.

(cherry picked from commit 83d4ab55336ff8a0643c6aa627b31e351a24040a)

Gbp-Pq: Name pam-systemd-use-secure_getenv-rather-than-getenv.patch

6 years agonetwork: do not remove rule when it is requested by existing links
Yu Watanabe [Fri, 22 Feb 2019 04:32:47 +0000 (13:32 +0900)]
network: do not remove rule when it is requested by existing links

Otherwise, the first link once removes all saved rules in the foreign
rule database, and the second or later links create again...

(cherry picked from commit 031fb59a984e5b51f3c72aa8125ecc50b08011fe)

Gbp-Pq: Name network-do-not-remove-rule-when-it-is-requested-by-existi.patch

6 years agonetwork: remove routing policy rule from foreign rule database when it is removed
Yu Watanabe [Fri, 22 Feb 2019 04:27:44 +0000 (13:27 +0900)]
network: remove routing policy rule from foreign rule database when it is removed

Previously, When the first link configures rules, it removes all saved
rules, which were configured by networkd previously, in the foreign rule
database, but the rules themselves are still in the database.
Thus, when the second or later link configures rules, it errnously
treats the rules already exist.
This is the root of issue #11280.

This removes rules from the foreign database when they are removed.

Fixes #11280.

(cherry picked from commit 92cd00b9749141907a1110044cc7d1f01caff545)

Gbp-Pq: Name network-remove-routing-policy-rule-from-foreign-rule-data.patch

6 years agonetworkd: clarify that IPv6 RA uses our own stack, no the kernel's
Lennart Poettering [Wed, 13 Mar 2019 16:00:56 +0000 (17:00 +0100)]
networkd: clarify that IPv6 RA uses our own stack, no the kernel's

Fixes: #8906
(cherry picked from commit c4a05aa1a8338013108d099de805f3262a871c0f)

Gbp-Pq: Name networkd-clarify-that-IPv6-RA-uses-our-own-stack-no-the-k.patch

6 years agobash-completion: use default completion for redirect operators
Frantisek Sumsal [Sat, 23 Mar 2019 20:49:17 +0000 (21:49 +0100)]
bash-completion: use default completion for redirect operators

(cherry picked from commit 1413763ea540a897852494259cb949fe01e1e7e7)

Gbp-Pq: Name bash-completion-use-default-completion-for-redirect-opera.patch

6 years agoudev: run programs in the specified order
Yu Watanabe [Mon, 4 Mar 2019 19:01:34 +0000 (04:01 +0900)]
udev: run programs in the specified order

This fixes bugs introduced by 29448498c724da7ade1b5efb20d7472c1b128d2c
and d838e14515c82b05a07f2bf393cce057b45b2b53.

Previously, RUN and SECLABEL keys are stored in udev_list with its unique
flag is false. If the flag is false, then udev_list is just a linked
list and new entries are always added in the last.
So, we should use OrderedHashmap instead of Hashmap.

Fixes #11368.

(cherry picked from commit 39a15c8a8dad26deda140867f03e44a535b7bd8d)

Gbp-Pq: Name udev-run-programs-in-the-specified-order.patch

6 years agoRe-add uaccess tag for /dev/dri/renderD*
Michael Biebl [Wed, 13 Mar 2019 22:22:26 +0000 (23:22 +0100)]
Re-add uaccess tag for /dev/dri/renderD*

Setting an access mode != 0666 is explicitly supported via -Dgroup-render-mode
In such a case, re-add the uaccess tag.

This is basically the same change that was done for /dev/kvm in
commit fa53e24130af3a389573acb9585eadbf7192955f and
ace5e3111c0b8d8bfd84b32f2c689b0a4d92c061
and partially reverts the changes from
4e15a7343cb389e97f3eb4f49699161862d8b8b2

(cherry picked from commit 055a083a47de968744c4988fe305592477118c86)

Gbp-Pq: Name Re-add-uaccess-tag-for-dev-dri-renderD.patch

6 years agoremove "." path components from required mount paths
Stephane Chazelas [Wed, 6 Mar 2019 22:16:55 +0000 (22:16 +0000)]
remove "." path components from required mount paths

unit_require_mounts_for may be passed path arguments that contain "."
components like for user's home directories where "." is sometimes used
to specify some form of anchor point.

This change stops considering such path as an error and removes the "."
components instead.

Closes: #11910
(cherry picked from commit 106bf8e445a797f9d9c88b827ed42193f2f6b838)

Gbp-Pq: Name remove-.-path-components-from-required-mount-paths.patch

6 years agoudev: restore debug level when logging a failure in the external prog called by IMPOR...
Franck Bui [Tue, 5 Mar 2019 10:03:07 +0000 (11:03 +0100)]
udev: restore debug level when logging a failure in the external prog called by IMPORT{program}

It was already the case before commit a75211421fc9366068e6d9446e8e567246c72feb,
which upgraded the log to warning.

This seems an unintended side effect as the commit message doesn't mention it
and the old behavior looks more appropriate.

(cherry picked from commit 3c37dadf627677eef62fcfc0c0f07cc67c748a9e)

Gbp-Pq: Name udev-restore-debug-level-when-logging-a-failure-in-the-ex.patch

6 years agocgtop: Fix processing of controllers other than CPU
Szabolcs Fruhwald [Wed, 20 Feb 2019 20:38:50 +0000 (12:38 -0800)]
cgtop: Fix processing of controllers other than CPU

After debugging the issue with gdb, I found that the following change

 94ddb08 "cgtop: Still try to get CPU statistics if controller-free"

has introduced a bug, which prevents process(..) method processing
memory and io controllers when cpu_accounting_is_cheap() is true.
The obvious fix is to move this branch to be the last one, keeping
the intended behavior of the above change, without having a negative
effect on the other controllers.

Fixes #11773 [systemd-cgtop no longer shows memory (and io) usage]

(cherry picked from commit 5fe74e893c7939a360dc4eb75dbf3f540526c968)

Gbp-Pq: Name cgtop-Fix-processing-of-controllers-other-than-CPU.patch

6 years agotimedate: fix emitted value when ntp client is enabled/disabled (#11951)
Yu Watanabe [Sun, 10 Mar 2019 19:44:21 +0000 (04:44 +0900)]
timedate: fix emitted value when ntp client is enabled/disabled (#11951)

This fixes a regression originall caused by cf3872bd2 and
triggered by b4356b5720a.

Fixes #11944

(cherry picked from commit 49942d6b1eac12f3157c628ee6249c3bbb3602aa)

Gbp-Pq: Name timedate-fix-emitted-value-when-ntp-client-is-enabled-dis.patch

6 years agonetworkd-test: ignore failures of test_route_only_dns* in containers
Martin Pitt [Wed, 27 Feb 2019 22:15:31 +0000 (23:15 +0100)]
networkd-test: ignore failures of test_route_only_dns* in containers

This test exposes a race condition when running in LXC, see issue #11848
for details. Until that is understood and fixed, skip the test as it's
not a recent regression.

(cherry picked from commit 09b8826ea371e027c76a573a226bfd8f8c5652a2)

Gbp-Pq: Name networkd-test-ignore-failures-of-test_route_only_dns-in-c.patch

6 years agonetworkd-test: fix test_dropin()
Martin Pitt [Thu, 21 Feb 2019 11:34:23 +0000 (12:34 +0100)]
networkd-test: fix test_dropin()

 - This test needs resolved, so make sure it is started. In some Debian
   environments it is not.
 - It was an unnecessary, and now failing assumption that name servers
   get atomically written to the resolved's resolv.conf. Wait until both
   expected name servers are in the file.

(cherry picked from commit f5cf985e9cc6fff747ca17acadb1b4751076103b)

Gbp-Pq: Name networkd-test-fix-test_dropin.patch

6 years agonetworkd-test: use a complete domain name in test_route_only_dns()
Martin Pitt [Thu, 21 Feb 2019 11:26:44 +0000 (12:26 +0100)]
networkd-test: use a complete domain name in test_route_only_dns()

Since version 241 (commit ea4678?), querying MX type records for
single-label domains does not actually forward the query to the DNS
server any more. Use "example.com" instead, which is the recommended
test domain anyway.

(cherry picked from commit ca56805c8de43fc21ab4657cf5ebd1e0248527ac)

Gbp-Pq: Name networkd-test-use-a-complete-domain-name-in-test_route_on.patch

6 years agonetworkd-test: disable DNSSEC in domain-restricted DNS test
Martin Pitt [Thu, 21 Feb 2019 11:24:16 +0000 (12:24 +0100)]
networkd-test: disable DNSSEC in domain-restricted DNS test

dnsmasq 2.80 changed behaviour when being queried by resolved with
enabled DNSSEC: It returns errors for SOA and DS queries which cause the
entire query to fail. As we don't configure DNSSEC in this test anyway,
just disable it so that we retain compatibility with old and new dnsmasq
versions.

(cherry picked from commit 6592c9c850675fb20236271efc4f65acbe3bfa00)

Gbp-Pq: Name networkd-test-disable-DNSSEC-in-domain-restricted-DNS-tes.patch

6 years agosd-device: also store properties read from udev database to sd_device::properties_db
Yu Watanabe [Fri, 15 Feb 2019 20:21:59 +0000 (05:21 +0900)]
sd-device: also store properties read from udev database to sd_device::properties_db

Follow-up for a3ce813697bcc1c4644e097a2f1cd0459326d6ee and
5ce41697bd3ddc19cd6e1e6834751082ca0c8b02.

Before a3ce813697bcc1c4644e097a2f1cd0459326d6ee, all properties in
src->properties and src->properties_db are mixed and copied to
dst->properties_db by device_copy_properties().
So, it is not necessary to store data from udev database file to
sd_device::properties_db before copying properties.

But now, properties are not mixed. So, the read data need to be
stored to also ::properties_db.

Fixes #11721.

(cherry picked from commit 03dd7b7ddec1b0e06f254972a2e05f516a05edaf)

Gbp-Pq: Name sd-device-also-store-properties-read-from-udev-database-t.patch

6 years agoudev,network: drop unused parent_driver argument from net_match_config()
Yu Watanabe [Sat, 16 Feb 2019 15:47:45 +0000 (00:47 +0900)]
udev,network: drop unused parent_driver argument from net_match_config()

The argument has never been used.

(cherry picked from commit 4f4daf418f2e750caae6bc26cd49daafc23ad4de)

Gbp-Pq: Name udev-network-drop-unused-parent_driver-argument-from-net_.patch

6 years agosd-bus: enforce a size limit on D-Bus object paths
Martin Pitt [Sun, 17 Feb 2019 09:17:45 +0000 (10:17 +0100)]
sd-bus: enforce a size limit on D-Bus object paths

Replace stack with heap allocation. This avoids accessing/modifying
memory outside of the allocated stack region by sending specially
crafted D-Bus messages with very large object paths.

Vulnerability discovered by Chris Coulson <chris.coulson@canonical.com>,
patch provided by Riccardo Schirone <rschiron@redhat.com>.

CVE-2019-6454

Gbp-Pq: Name sd-bus-enforce-a-size-limit-on-D-Bus-object-paths.patch

6 years agosystemd (241-3) unstable; urgency=high
Michael Biebl [Mon, 8 Apr 2019 10:59:32 +0000 (11:59 +0100)]
systemd (241-3) unstable; urgency=high

  [ Michael Biebl ]
  * Drop systemd-shim alternative from libpam-systemd.
    A fixed systemd-shim package which works with newer versions of systemd
    is unlikely to happen given that the systemd-shim package has been
    removed from the archive. Drop the alternative dependency from
    libpam-systemd accordingly.
  * Properly remove duplicate directories from systemd package.
    When removing duplicate directories from the systemd package, sort the
    list of directories in reverse order so we properly delete nested
    directories.
  * udev: Run programs in the specified order (Closes: #925190)
  * bash-completion: Use default completion for redirect operators
    (Closes: #924541)
  * networkd: Clarify that IPv6 RA uses our own stack, no the kernel's
    (Closes: #815582)
  * Revert "Drop systemd-timesyncd.service.d/disable-with-time-daemon.conf"
    Apparently Conflicts= are not a reliable mechanism to ensure alternative
    NTP implementations take precedence over systemd-timesyncd.
    (Closes: #902026)
  * network: Fix routing policy rule issue.
    When multiple links request a routing policy, make sure they are all
    applied correctly. (Closes: #924406)
  * pam-systemd: Use secure_getenv() rather than getenv()
    Fixes a vulnerability in the systemd PAM module which insecurely uses
    the environment and lacks seat verification permitting spoofing an
    active session to PolicyKit. (CVE-2019-3842)

  [ Martin Pitt ]
  * Enable udev autopkgtest in containers.
    This test doesn't actually need udev.service (which is disabled in
    containers) and works fine in LXC.
  * Enable boot-and-service autopkgtest in containers
    - Skip tests which can't work in containers.
    - Add missing rsyslog test dependency.
    - e2scrub_reap.service fails in containers, ignore (filed as #926138)
    - Relax pgrep pattern for gdm, as there's no wayland session in
      containers.

[dgit import unpatched systemd 241-3]

6 years agoImport systemd_241-3.debian.tar.xz
Michael Biebl [Mon, 8 Apr 2019 10:59:32 +0000 (11:59 +0100)]
Import systemd_241-3.debian.tar.xz

[dgit import tarball systemd 241-3 systemd_241-3.debian.tar.xz]

6 years agoMerge systemd (241-1) import into refs/heads/workingbranch
Felipe Sateler [Thu, 21 Feb 2019 23:10:15 +0000 (23:10 +0000)]
Merge systemd (241-1) import into refs/heads/workingbranch

6 years agoImport systemd_241.orig.tar.gz
Felipe Sateler [Thu, 21 Feb 2019 23:10:15 +0000 (23:10 +0000)]
Import systemd_241.orig.tar.gz

[dgit import orig systemd_241.orig.tar.gz]

6 years agoDrop seccomp system call filter for udev
Michael Biebl [Wed, 18 Jul 2018 21:49:16 +0000 (23:49 +0200)]
Drop seccomp system call filter for udev

The seccomp based system call whitelist requires at least systemd 239 to
be the active init and during a dist-upgrade we can't guarantee that
systemd has been fully configured before udev is restarted.

This partially reverts upstream commit
ee8f26180d01e3ddd4e5f20b03b81e5e737657ae.

Once buster is released, this patch can be dropped.

Closes: #903224
Gbp-Pq: Topic debian
Gbp-Pq: Name Drop-seccomp-system-call-filter-for-udev.patch

6 years agoRevert "udev-rules: Permission changes for /dev/dri/renderD*"
Michael Biebl [Sat, 16 Dec 2017 23:31:20 +0000 (00:31 +0100)]
Revert "udev-rules: Permission changes for /dev/dri/renderD*"

This would introduce a new system group "render". As the name is rather
generic, this needs further discussion first, so revert this change for
now.

This reverts commit 4e15a7343cb389e97f3eb4f49699161862d8b8b2.

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-udev-rules-Permission-changes-for-dev-dri-renderD.patch

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoRevert "udev: network device renaming - immediately give up if the target name isn...
Michael Biebl [Wed, 17 Jul 2013 23:04:07 +0000 (01:04 +0200)]
Revert "udev: network device renaming - immediately give up if the target name isn't available"

This reverts commit 97595710b77aa162ca5e20da57d0a1ed7355eaad.

We need to keep supporting systems with 75-persistent-net-generator.rules
generated names for a while after switching to net.ifnames. Re-apply this old
hack to make the renaming less likely to fail.

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-udev-network-device-renaming-immediately-give.patch

6 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

6 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

6 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

6 years agonetworkd-test: fix test_dropin()
Martin Pitt [Thu, 21 Feb 2019 11:34:23 +0000 (12:34 +0100)]
networkd-test: fix test_dropin()

 - This test needs resolved, so make sure it is started. In some Debian
   environments it is not.
 - It was an unnecessary, and now failing assumption that name servers
   get atomically written to the resolved's resolv.conf. Wait until both
   expected name servers are in the file.

(cherry picked from commit f5cf985e9cc6fff747ca17acadb1b4751076103b)

Gbp-Pq: Name networkd-test-fix-test_dropin.patch

6 years agonetworkd-test: use a complete domain name in test_route_only_dns()
Martin Pitt [Thu, 21 Feb 2019 11:26:44 +0000 (12:26 +0100)]
networkd-test: use a complete domain name in test_route_only_dns()

Since version 241 (commit ea4678?), querying MX type records for
single-label domains does not actually forward the query to the DNS
server any more. Use "example.com" instead, which is the recommended
test domain anyway.

(cherry picked from commit ca56805c8de43fc21ab4657cf5ebd1e0248527ac)

Gbp-Pq: Name networkd-test-use-a-complete-domain-name-in-test_route_on.patch

6 years agonetworkd-test: disable DNSSEC in domain-restricted DNS test
Martin Pitt [Thu, 21 Feb 2019 11:24:16 +0000 (12:24 +0100)]
networkd-test: disable DNSSEC in domain-restricted DNS test

dnsmasq 2.80 changed behaviour when being queried by resolved with
enabled DNSSEC: It returns errors for SOA and DS queries which cause the
entire query to fail. As we don't configure DNSSEC in this test anyway,
just disable it so that we retain compatibility with old and new dnsmasq
versions.

(cherry picked from commit 6592c9c850675fb20236271efc4f65acbe3bfa00)

Gbp-Pq: Name networkd-test-disable-DNSSEC-in-domain-restricted-DNS-tes.patch

6 years agosd-device: also store properties read from udev database to sd_device::properties_db
Yu Watanabe [Fri, 15 Feb 2019 20:21:59 +0000 (05:21 +0900)]
sd-device: also store properties read from udev database to sd_device::properties_db

Follow-up for a3ce813697bcc1c4644e097a2f1cd0459326d6ee and
5ce41697bd3ddc19cd6e1e6834751082ca0c8b02.

Before a3ce813697bcc1c4644e097a2f1cd0459326d6ee, all properties in
src->properties and src->properties_db are mixed and copied to
dst->properties_db by device_copy_properties().
So, it is not necessary to store data from udev database file to
sd_device::properties_db before copying properties.

But now, properties are not mixed. So, the read data need to be
stored to also ::properties_db.

Fixes #11721.

(cherry picked from commit 03dd7b7ddec1b0e06f254972a2e05f516a05edaf)

Gbp-Pq: Name sd-device-also-store-properties-read-from-udev-database-t.patch

6 years agoudev,network: drop unused parent_driver argument from net_match_config()
Yu Watanabe [Sat, 16 Feb 2019 15:47:45 +0000 (00:47 +0900)]
udev,network: drop unused parent_driver argument from net_match_config()

The argument has never been used.

(cherry picked from commit 4f4daf418f2e750caae6bc26cd49daafc23ad4de)

Gbp-Pq: Name udev-network-drop-unused-parent_driver-argument-from-net_.patch

6 years agosd-bus: enforce a size limit on D-Bus object paths
Martin Pitt [Sun, 17 Feb 2019 09:17:45 +0000 (10:17 +0100)]
sd-bus: enforce a size limit on D-Bus object paths

Replace stack with heap allocation. This avoids accessing/modifying
memory outside of the allocated stack region by sending specially
crafted D-Bus messages with very large object paths.

Vulnerability discovered by Chris Coulson <chris.coulson@canonical.com>,
patch provided by Riccardo Schirone <rschiron@redhat.com>.

CVE-2019-6454

Gbp-Pq: Name sd-bus-enforce-a-size-limit-on-D-Bus-object-paths.patch

6 years agosystemd (241-1) unstable; urgency=medium
Felipe Sateler [Thu, 21 Feb 2019 23:10:15 +0000 (23:10 +0000)]
systemd (241-1) unstable; urgency=medium

  [ Adam Borowski ]
  * Make libpam-systemd Provide: logind, default-logind.
    This allows alternate logind implementations such as elogind, without
    having to recompile every dependant package -- as long as the client API
    remains compatible.
    These new virtual packages got policy-approved in #917431. (Closes: #915407)

  [ Felipe Sateler ]
  * New upstream version 241
    - Refresh patches
    - Backport upstream fix for Driver= matches in .network files

  [ Martin Pitt ]
  * debian/libsystemd0.symbols: Add new symbol from release 241
  * Fix various bugs and races in networkd tests.
    This should get the autopkgtest back to green, which regressed with
    dnsmasq 2.80.

[dgit import unpatched systemd 241-1]

6 years agoImport systemd_241-1.debian.tar.xz
Felipe Sateler [Thu, 21 Feb 2019 23:10:15 +0000 (23:10 +0000)]
Import systemd_241-1.debian.tar.xz

[dgit import tarball systemd 241-1 systemd_241-1.debian.tar.xz]

6 years agoMerge systemd (240-6) import into refs/heads/workingbranch
Martin Pitt [Mon, 18 Feb 2019 13:54:04 +0000 (13:54 +0000)]
Merge systemd (240-6) import into refs/heads/workingbranch

6 years agoDrop seccomp system call filter for udev
Michael Biebl [Wed, 18 Jul 2018 21:49:16 +0000 (23:49 +0200)]
Drop seccomp system call filter for udev

The seccomp based system call whitelist requires at least systemd 239 to
be the active init and during a dist-upgrade we can't guarantee that
systemd has been fully configured before udev is restarted.

This partially reverts upstream commit
ee8f26180d01e3ddd4e5f20b03b81e5e737657ae.

Once buster is released, this patch can be dropped.

Closes: #903224
Gbp-Pq: Topic debian
Gbp-Pq: Name Drop-seccomp-system-call-filter-for-udev.patch

6 years agoRevert "udev-rules: Permission changes for /dev/dri/renderD*"
Michael Biebl [Sat, 16 Dec 2017 23:31:20 +0000 (00:31 +0100)]
Revert "udev-rules: Permission changes for /dev/dri/renderD*"

This would introduce a new system group "render". As the name is rather
generic, this needs further discussion first, so revert this change for
now.

This reverts commit 4e15a7343cb389e97f3eb4f49699161862d8b8b2.

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-udev-rules-Permission-changes-for-dev-dri-renderD.patch

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 years agoRevert "udev: network device renaming - immediately give up if the target name isn...
Michael Biebl [Wed, 17 Jul 2013 23:04:07 +0000 (01:04 +0200)]
Revert "udev: network device renaming - immediately give up if the target name isn't available"

This reverts commit 97595710b77aa162ca5e20da57d0a1ed7355eaad.

We need to keep supporting systems with 75-persistent-net-generator.rules
generated names for a while after switching to net.ifnames. Re-apply this old
hack to make the renaming less likely to fail.

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-udev-network-device-renaming-immediately-give.patch

6 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

6 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

6 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

6 years agosd-bus: enforce a size limit on D-Bus object paths
Martin Pitt [Sun, 17 Feb 2019 09:17:45 +0000 (10:17 +0100)]
sd-bus: enforce a size limit on D-Bus object paths

Replace stack with heap allocation. This avoids accessing/modifying
memory outside of the allocated stack region by sending specially
crafted D-Bus messages with very large object paths.

Vulnerability discovered by Chris Coulson <chris.coulson@canonical.com>,
patch provided by Riccardo Schirone <rschiron@redhat.com>.

CVE-2019-6454

Gbp-Pq: Name sd-bus-enforce-a-size-limit-on-D-Bus-object-paths.patch

6 years agosd-bus: if we receive an invalid dbus message, ignore and proceeed
Lennart Poettering [Wed, 13 Feb 2019 15:51:22 +0000 (16:51 +0100)]
sd-bus: if we receive an invalid dbus message, ignore and proceeed

dbus-daemon might have a slightly different idea of what a valid msg is
than us (for example regarding valid msg and field sizes). Let's hence
try to proceed if we can and thus drop messages rather than fail the
connection if we fail to validate a message.

Hopefully the differences in what is considered valid are not visible
for real-life usecases, but are specific to exploit attempts only.

(cherry picked from commit 6d586a13717ae057aa1b4127400c3de61cd5b9e7)

Gbp-Pq: Name sd-bus-if-we-receive-an-invalid-dbus-message-ignore-and-p.patch

6 years agoudev: check whether systemd is running, and do not use cg_kill() if not
Yu Watanabe [Wed, 6 Feb 2019 18:34:13 +0000 (19:34 +0100)]
udev: check whether systemd is running, and do not use cg_kill() if not

Fixes #11645.

(cherry picked from commit 31cbd2025359e1e8435a2dc371e439591846d8c4)

Gbp-Pq: Name udev-check-whether-systemd-is-running-and-do-not-use-cg_k.patch

6 years agoudevadm: fix segfault
Yu Watanabe [Sun, 13 Jan 2019 21:34:15 +0000 (06:34 +0900)]
udevadm: fix segfault

Fixes #11416.

(cherry picked from commit 0eba88dc9f66aca023a89e2bf25f6bff49787145)

Gbp-Pq: Name udevadm-fix-segfault.patch

6 years agoprocess-util: don't use overly large buffer to store process command line
Michal Sekletar [Tue, 22 Jan 2019 13:29:50 +0000 (14:29 +0100)]
process-util: don't use overly large buffer to store process command line

Allocate new string as a return value and free our "scratch pad"
buffer that is potentially much larger than needed (up to
_SC_ARG_MAX).

Fixes #11502

(cherry picked from commit eb1ec489eef8a32918bbfc56a268c9d10464584d)

Gbp-Pq: Name process-util-don-t-use-overly-large-buffer-to-store-proce.patch

6 years agoRevert "Always rename an interface to its name specified in config if no NamePolicy...
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jan 2019 12:28:41 +0000 (13:28 +0100)]
Revert "Always rename an interface to its name specified in config if no NamePolicy= is specified"

This reverts commit 55b6530baacf4658a183b15b010a8cf3483fde08.

This commit description says "Always rename an interface to its name specified
in config if no NamePolicy= is specified", but it does much more:
1. It completely changes the meaning of NamePolicy=kernel. Before, it meant that an interface
   with type==NAMEPOLICY_KERNEL would not be renamed. After, the kernel name only works as
   a fallback, if no policy matches.
2. The "if no NamePolicy= is specified" part is not true at all, the interface will be renamed
   according to the specified NamePolicy=.

After 55b6530baacf, the should_rename() function is named very misleadingly: it is only used
to mean "respect kernel predictable name if no naming policy matches".

Let's revert, and start with a clean slate. This fixes #11436.

(cherry picked from commit ed30802324365dde6c05d0b7c3ce1a0eff3bf571)

Gbp-Pq: Name Revert-Always-rename-an-interface-to-its-name-specified-i.patch

6 years agomeson: stop setting -fPIE globally
Michael Biebl [Thu, 10 Jan 2019 11:58:27 +0000 (12:58 +0100)]
meson: stop setting -fPIE globally

Setting -fPIE globally can lead to miscompilations on certain
architectures.
This is caused by both -fPIE and -fPIC options being added to various
compilation commands. Only -fPIC is being recorded in the LTO options
section of the object. The gcc-8 LTO plugin merges -fPIC + -fPIE to
nothing. So, the compilations done by the plugin are not
position-independent and fail to link with -pie.

The simplest solution is to stop setting -fPIE globally and instead
using meson's b_pie=true option. This requires meson 0.49 or later.

Since we don't set this option in meson.build but leave it up to the
distro maintainer to set this option, do not bump the meson version
requirement.

Fixes: #10548
(cherry picked from commit 4e4bbc439eb7f16a608f457d3eaac08c60633212)

Gbp-Pq: Name meson-stop-setting-fPIE-globally.patch

6 years agosd-device-monitor: fix ordering of setting buffer size
Yu Watanabe [Fri, 11 Jan 2019 20:24:54 +0000 (05:24 +0900)]
sd-device-monitor: fix ordering of setting buffer size

By b1c097af8df58a94cba031a347061b7cb9b62d9b (#10239), the receive buffer
size for uevents was set by SO_RCVBUF at first, and fallback to
use SO_RCVBUFFORCE. So, as SO_RCVBUF limits to the buffer size
net.core.rmem_max, which is usually much smaller than 128MB udevd requests,
uevents buffer size was not sufficient.

This fixes the ordering of the request: SO_RCVBUFFORCE first, and
fallback to SO_RCVBUF. Then, udevd's uevent buffer size can be set to
128MB.

This also revert 903893237a2105b05671fe87b8f5d5e7417040d2.

Fixes #11314 and #10754.

(cherry picked from commit ee0b9e721a368742ac6fa9c3d9a33e45dc3203a2)

Gbp-Pq: Name sd-device-monitor-fix-ordering-of-setting-buffer-size.patch

6 years agoman: update color of journal logs in DEBUG level
Yu Watanabe [Wed, 2 Jan 2019 21:21:17 +0000 (06:21 +0900)]
man: update color of journal logs in DEBUG level

Fixes #11303.

(cherry picked from commit 8a6d06cbaa794b1546d01a15dc5cdfde9f836101)

Gbp-Pq: Name man-update-color-of-journal-logs-in-DEBUG-level.patch

6 years agonetwork: set *_configured flags to false before requesting addresses or freinds
Yu Watanabe [Sun, 30 Dec 2018 13:08:10 +0000 (22:08 +0900)]
network: set *_configured flags to false before requesting addresses or freinds

Fixes #11272.

(cherry picked from commit 2428613f854f46b6624199c2dc58d02617320133)

Gbp-Pq: Name network-set-_configured-flags-to-false-before-requesting-.patch

6 years agonetwork: rename link_set_routing_policy_rule() to link_request_set_routing_policy_rule()
Yu Watanabe [Sun, 30 Dec 2018 13:10:32 +0000 (22:10 +0900)]
network: rename link_set_routing_policy_rule() to link_request_set_routing_policy_rule()

For consistency to other functions.

(cherry picked from commit 47079967e64727dd9271d2b033b5aa485209a7f7)

Gbp-Pq: Name network-rename-link_set_routing_policy_rule-to-link_reque.patch

6 years agonetwork: do not ignore errors on link_request_set_neighbors() and link_set_routing_po...
Yu Watanabe [Sun, 30 Dec 2018 13:07:23 +0000 (22:07 +0900)]
network: do not ignore errors on link_request_set_neighbors() and link_set_routing_policy()

(cherry picked from commit f3ef324dfa72ee1d0e113dbb234c643d8f0286f0)

Gbp-Pq: Name network-do-not-ignore-errors-on-link_request_set_neighbor.patch

6 years agoudevadm: refuse to run trigger, control, settle and monitor commands in chroot
Yu Watanabe [Mon, 7 Jan 2019 05:30:55 +0000 (14:30 +0900)]
udevadm: refuse to run trigger, control, settle and monitor commands in chroot

Closes #11333.

(cherry picked from commit c494b739a47359ab2697482f52545e2a6d1c86ad)

Gbp-Pq: Name udevadm-refuse-to-run-trigger-control-settle-and-monitor-.patch

6 years agoRevert "logind: become the controlling terminal process before restoring VT"
Franck Bui [Thu, 10 Jan 2019 11:17:51 +0000 (12:17 +0100)]
Revert "logind: become the controlling terminal process before restoring VT"

This reverts commit ad96887a1205bad9656d280c5681f482e6d04838.

Commit adb8688 alone should be enough to fix issue #9754.

Fixes #11269

(cherry picked from commit c0f34168d4c5691fccb62e81d6d49dd2f730a17b)
(cherry picked from commit f02b5472c6f0c41e5dc8dc2c84590866baf937ff)

Gbp-Pq: Name Revert-logind-become-the-controlling-terminal-process-bef.patch

6 years agoudev: open control and netlink sockets before daemonization
Zbigniew Jędrzejewski-Szmek [Tue, 8 Jan 2019 21:41:16 +0000 (22:41 +0100)]
udev: open control and netlink sockets before daemonization

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

c4b69e990f962128cc6975e36e91e9ad838fa2c4 effectively moved the initalization of socket.
Before that commit:
run → listen_fds → udev_ctrl_new → udev_ctrl_new_from_fd → socket()
After:
run → main_loop → manager_new → udev_ctrl_new_from_fd → socket()

The problem is that main_loop was called after daemonization. Move manager_new
out of main_loop and before daemonization.

Fixes #11314 (hopefully ;)).

v2: Yu Watanabe
sd_event is initialized in main_loop().

(cherry picked from commit b5af8c8cdf5fc7cc5d4108460270728375eb7fc4)
(cherry picked from commit 6b59b44b87568fe5f8362018f47d440b1e6681dd)

Gbp-Pq: Name udev-open-control-and-netlink-sockets-before-daemonizatio.patch

6 years agoudevd: drop redundant call to sd_event_get_exit_code
Zbigniew Jędrzejewski-Szmek [Tue, 8 Jan 2019 21:56:50 +0000 (22:56 +0100)]
udevd: drop redundant call to sd_event_get_exit_code

sd_event_loop returns the same thing anyway.

(cherry picked from commit 44dcf454b604628bf451194482c97ce981596ce5)
(cherry picked from commit 1f6562d559bd11612b3f59b20fae4ed34d688dff)

Gbp-Pq: Name udevd-drop-redundant-call-to-sd_event_get_exit_code.patch

6 years agologind: do not pass negative number to strerror
Zbigniew Jędrzejewski-Szmek [Wed, 9 Jan 2019 13:08:29 +0000 (14:08 +0100)]
logind: do not pass negative number to strerror

(cherry picked from commit 65641b3cdc12923320879bac6f071eb45a70e79c)
(cherry picked from commit 8f8f3191d33ca8583fe62a9e6268e2a914a7b2c0)

Gbp-Pq: Name logind-do-not-pass-negative-number-to-strerror.patch

6 years agojournal-remote: set a limit on the number of fields in a message
Zbigniew Jędrzejewski-Szmek [Fri, 7 Dec 2018 09:48:10 +0000 (10:48 +0100)]
journal-remote: set a limit on the number of fields in a message

Existing use of E2BIG is replaced with ENOBUFS (entry too long), and E2BIG is
reused for the new error condition (too many fields).

This matches the change done for systemd-journald, hence forming the second
part of the fix for CVE-2018-16865
(https://bugzilla.redhat.com/show_bug.cgi?id=1653861).

(cherry picked from commit ef4d6abe7c7fab6cbff975b32e76b09feee56074)
(cherry picked from commit 1c9232336460d0f004156964df1478e4d3ddac97)

Gbp-Pq: Name journal-remote-set-a-limit-on-the-number-of-fields-in-a-m.patch