summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am14
-rw-r--r--TODO4
-rw-r--r--hwdb/20-bluetooth-vendor-product.hwdb39
-rw-r--r--man/systemd-gpt-auto-generator.xml15
-rw-r--r--man/systemd.kill.xml8
-rw-r--r--man/systemd.service.xml19
-rw-r--r--src/login/logind-user.c3
-rw-r--r--src/network/networkd-address.c2
-rw-r--r--src/nspawn/nspawn.c11
-rw-r--r--src/shared/firewall-util.c (renamed from src/shared/fw-util.c)2
-rw-r--r--src/shared/firewall-util.h (renamed from src/shared/fw-util.h)0
-rw-r--r--src/test/test-firewall-util.c (renamed from src/test/test-fw-util.c)2
-rw-r--r--test/sysv-generator-test.py1
14 files changed, 98 insertions, 24 deletions
diff --git a/.gitignore b/.gitignore
index 9d93347d6b..1e704a872b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -193,7 +193,7 @@
/test-fdset
/test-fileio
/test-fstab-util
-/test-fw-util
+/test-firewall-util
/test-hashmap
/test-hostname
/test-icmp6-rs
diff --git a/Makefile.am b/Makefile.am
index d253b935e9..a2e8709e52 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1032,8 +1032,8 @@ noinst_LTLIBRARIES += \
libfirewall.la
libfirewall_la_SOURCES = \
- src/shared/fw-util.h \
- src/shared/fw-util.c
+ src/shared/firewall-util.h \
+ src/shared/firewall-util.c
libfirewall_la_CFLAGS = \
$(AM_CFLAGS) \
@@ -1358,7 +1358,7 @@ manual_tests += \
if HAVE_LIBIPTC
manual_tests += \
- test-fw-util
+ test-firewall-util
endif
if HAVE_KMOD
@@ -1846,14 +1846,14 @@ test_btrfs_LDADD = \
libshared.la
if HAVE_LIBIPTC
-test_fw_util_SOURCES = \
- src/test/test-fw-util.c
+test_firewall_util_SOURCES = \
+ src/test/test-firewall-util.c
-test_fw_util_CFLAGS = \
+test_firewall_util_CFLAGS = \
$(AM_CFLAGS) \
$(LIBIPTC_CFLAGS)
-test_fw_util_LDADD = \
+test_firewall_util_LDADD = \
libfirewall.la \
libshared.la \
$(LIBIPTC_LIBS)
diff --git a/TODO b/TODO
index db3205c9e8..3cc3596273 100644
--- a/TODO
+++ b/TODO
@@ -26,6 +26,10 @@ External:
Features:
+* install: include generator dirs in unit file search paths
+
+* networkd: add ipv6 privacy extensions
+
* introduce an NSS module that uses machined info to give container UIDs pretty names when user namespacing is used.
* stop using off_t, it's a crazy type. Use uint64_t instead.
diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb
index 93241ca490..b737e6b308 100644
--- a/hwdb/20-bluetooth-vendor-product.hwdb
+++ b/hwdb/20-bluetooth-vendor-product.hwdb
@@ -1667,3 +1667,42 @@ bluetooth:v0228*
bluetooth:v0229*
ID_VENDOR_FROM_DATABASE=Muoverti Limited
+
+bluetooth:v022A*
+ ID_VENDOR_FROM_DATABASE=Stamer Musikanlagen GMBH
+
+bluetooth:v022B*
+ ID_VENDOR_FROM_DATABASE=Tesla Motors
+
+bluetooth:v022C*
+ ID_VENDOR_FROM_DATABASE=Pharynks Corporation
+
+bluetooth:v022D*
+ ID_VENDOR_FROM_DATABASE=Lupine
+
+bluetooth:v022E*
+ ID_VENDOR_FROM_DATABASE=Siemens AG
+
+bluetooth:v022F*
+ ID_VENDOR_FROM_DATABASE=Huami (Shanghai) Culture Communication CO., LTD
+
+bluetooth:v0230*
+ ID_VENDOR_FROM_DATABASE=Foster Electric Company, Ltd
+
+bluetooth:v0231*
+ ID_VENDOR_FROM_DATABASE=ETA SA
+
+bluetooth:v0232*
+ ID_VENDOR_FROM_DATABASE=x-Senso Solutions Kft
+
+bluetooth:v0233*
+ ID_VENDOR_FROM_DATABASE=Shenzhen SuLong Communication Ltd
+
+bluetooth:v0234*
+ ID_VENDOR_FROM_DATABASE=FengFan (BeiJing) Technology Co, Ltd
+
+bluetooth:v0235*
+ ID_VENDOR_FROM_DATABASE=Qrio Inc
+
+bluetooth:v0236*
+ ID_VENDOR_FROM_DATABASE=Pitpatpet Ltd
diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml
index 16ff100d73..d3e02d6f7b 100644
--- a/man/systemd-gpt-auto-generator.xml
+++ b/man/systemd-gpt-auto-generator.xml
@@ -64,13 +64,16 @@
<filename>/home</filename>, <filename>/srv</filename> and swap
partitions and creates mount and swap units for them, based on the
partition type GUIDs of GUID partition tables (GPT). It implements
- the
- <ulink url="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable
+ the <ulink
+ url="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable
Partitions Specification</ulink>. Note that this generator has no
- effect on non-GPT systems, on systems where the units are
- explicitly configured (for example, listed in
- <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
- or where the mount points are non-empty.</para>
+ effect on non-GPT systems, or where the directories under the
+ mount points are already non-empty. Also, on systems where the
+ units are explicitly configured (for example, listed in
+ <citerefentry
+ project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
+ the units this generator creates are overriden, but additional
+ automatic dependencies might be created.</para>
<para>This generator will only look for root partitions on the
same physical disk the EFI System Partition (ESP) is located on.
diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml
index ef828e081c..c51cf81320 100644
--- a/man/systemd.kill.xml
+++ b/man/systemd.kill.xml
@@ -139,7 +139,13 @@
by <constant>SIGKILL</constant> (see above and below). For a
list of valid signals, see
<citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
- Defaults to <constant>SIGTERM</constant>. </para></listitem>
+ Defaults to <constant>SIGTERM</constant>. </para>
+
+ <para>Note that right after sending the signal specified in
+ this setting systemd will always send
+ <constant>SIGCONT</constant>, to ensure that even suspended
+ tasks can be terminated cleanly.</para>
+ </listitem>
</varlistentry>
<varlistentry>
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 0fe694ab7e..e26196323d 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -383,10 +383,21 @@
run, all processes remaining for a service are terminated
according to the <varname>KillMode=</varname> setting (see
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
- If this option is not specified, the process is terminated
- immediately when service stop is requested. Specifier and
- environment variable substitution is supported (including
- <varname>$MAINPID</varname>, see above).</para></listitem>
+ If this option is not specified, the process is terminated by
+ sending the signal specified in <varname>KillSignal=</varname>
+ when service stop is requested. Specifier and environment
+ variable substitution is supported (including
+ <varname>$MAINPID</varname>, see above).</para>
+
+ <para>Note that it is usually not sufficient to specify a
+ command for this setting that only asks the service to
+ terminate (for example by queuing some form of termination
+ signal for it), but does not wait for it to do so. Since the
+ remaining processes of the services are killed using
+ <constant>SIGKILL</constant> immediately after the command
+ exited this would not result in a clean stop. The specified
+ command should hence be a synchronous operation, not an
+ asynchronous one.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/src/login/logind-user.c b/src/login/logind-user.c
index c0b473930d..a9cf529e12 100644
--- a/src/login/logind-user.c
+++ b/src/login/logind-user.c
@@ -763,6 +763,9 @@ static int elect_display_compare(Session *s1, Session *s2) {
* is preferred.
*
* s1 or s2 may be NULL. */
+ if (!s1 && !s2)
+ return 0;
+
if ((s1 == NULL) != (s2 == NULL))
return (s1 == NULL) - (s2 == NULL);
diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c
index 944da3f5b8..172ca43a7d 100644
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -24,7 +24,7 @@
#include "utf8.h"
#include "util.h"
#include "conf-parser.h"
-#include "fw-util.h"
+#include "firewall-util.h"
#include "networkd.h"
#include "networkd-link.h"
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 3f0b3d9182..c87956bb01 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -90,7 +90,7 @@
#include "machine-image.h"
#include "list.h"
#include "in-addr-util.h"
-#include "fw-util.h"
+#include "firewall-util.h"
#include "local-addresses.h"
#include "formats-util.h"
#include "process-util.h"
@@ -3002,8 +3002,15 @@ static int setup_seccomp(void) {
}
r = seccomp_load(seccomp);
- if (r < 0)
+ if (r == -EINVAL) {
+ log_debug_errno(r, "Kernel is probably not configured with CONFIG_SECCOMP. Disabling seccomp audit filter: %m");
+ r = 0;
+ goto finish;
+ }
+ if (r < 0) {
log_error_errno(r, "Failed to install seccomp audit filter: %m");
+ goto finish;
+ }
finish:
seccomp_release(seccomp);
diff --git a/src/shared/fw-util.c b/src/shared/firewall-util.c
index 6b3599d90d..effc6e8e70 100644
--- a/src/shared/fw-util.c
+++ b/src/shared/firewall-util.c
@@ -28,7 +28,7 @@
#include <libiptc/libiptc.h>
#include "util.h"
-#include "fw-util.h"
+#include "firewall-util.h"
DEFINE_TRIVIAL_CLEANUP_FUNC(struct xtc_handle*, iptc_free);
diff --git a/src/shared/fw-util.h b/src/shared/firewall-util.h
index 93152e3978..93152e3978 100644
--- a/src/shared/fw-util.h
+++ b/src/shared/firewall-util.h
diff --git a/src/test/test-fw-util.c b/src/test/test-firewall-util.c
index ab891aa0c4..d636e427c4 100644
--- a/src/test/test-fw-util.c
+++ b/src/test/test-firewall-util.c
@@ -20,7 +20,7 @@
***/
#include "log.h"
-#include "fw-util.h"
+#include "firewall-util.h"
#define MAKE_IN_ADDR_UNION(a,b,c,d) (union in_addr_union) { .in.s_addr = htobe32((uint32_t) (a) << 24 | (uint32_t) (b) << 16 | (uint32_t) (c) << 8 | (uint32_t) (d))}
diff --git a/test/sysv-generator-test.py b/test/sysv-generator-test.py
index e74f8533c7..af0493b9a8 100644
--- a/test/sysv-generator-test.py
+++ b/test/sysv-generator-test.py
@@ -60,6 +60,7 @@ class SysvGeneratorTest(unittest.TestCase):
'''
env = os.environ.copy()
env['SYSTEMD_LOG_LEVEL'] = 'debug'
+ env['SYSTEMD_LOG_TARGET'] = 'console'
env['SYSTEMD_SYSVINIT_PATH'] = self.init_d_dir
env['SYSTEMD_SYSVRCND_PATH'] = self.rcnd_dir
env['SYSTEMD_UNIT_PATH'] = self.unit_dir