diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile.am | 14 | ||||
-rw-r--r-- | TODO | 4 | ||||
-rw-r--r-- | hwdb/20-bluetooth-vendor-product.hwdb | 39 | ||||
-rw-r--r-- | man/systemd-gpt-auto-generator.xml | 15 | ||||
-rw-r--r-- | man/systemd.kill.xml | 8 | ||||
-rw-r--r-- | man/systemd.service.xml | 19 | ||||
-rw-r--r-- | src/login/logind-user.c | 3 | ||||
-rw-r--r-- | src/network/networkd-address.c | 2 | ||||
-rw-r--r-- | src/nspawn/nspawn.c | 11 | ||||
-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.py | 1 |
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) @@ -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 |