]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Merge pull request #1150 from evverx/update-systemctl-completion
authorLennart Poettering <lennart@poettering.net>
Sat, 5 Sep 2015 10:25:52 +0000 (12:25 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 5 Sep 2015 10:25:52 +0000 (12:25 +0200)
shell-completion: update systemctl bash completion

15 files changed:
NEWS
hwdb/20-bluetooth-vendor-product.hwdb
hwdb/70-mouse.hwdb
src/basic/cgroup-util.c
src/core/cgroup.c
src/core/scope.c
src/libsystemd/sd-bus/test-bus-creds.c
src/login/logind-dbus.c
src/network/networkd-dhcp4.c
src/network/networkd-manager.c
src/test/test-engine.c
src/test/test-path.c
src/test/test-sched-prio.c
src/udev/udevd.c
units/systemd-bus-proxyd.service.m4.in

diff --git a/NEWS b/NEWS
index 1baa9aa1125e95106fbd8f1bb1aa09f5433c12ae..56bdf468767c8cd90444f7f912de3a4e3330e6d1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,66 @@
 systemd System and Service Manager
 
+CHANGES WITH 226:
+
+        * The DHCP implementation of systemd-networkd gained a set of new
+          features:
+
+          - Server and client now support transmission and reception of
+            timezone information. It can be configured via the newly introduced
+            network options 'DHCP.UseTimezone=', 'DHCPServer.EmitTimezone=',
+            and 'DHCPServer.Timezone='.
+            Transmission of timezone information is enabled for containers by
+            default now. Furthermore, if systemd-timesyncd is running, it will
+            be updated with the received information.
+
+          - The DHCP server now supports emitting DNS and NTP information. It
+            can be enabled and configured via 'EmitDNS=', 'DNS=', 'EmitNTP=',
+            and 'NTP='.
+            If transmission of DNS and NTP information is enabled, but no
+            specific data-set is configured, the uplink information is used.
+
+          - Lease timeouts can now be configured via 'MaxLeaseTimeSec=' and
+            'DefaultLeaseTimeSec='.
+
+          - The DHCP server now supports improved predictability of leases.
+            Clients are more likely to get the same lease information back,
+            even if the server loses state.
+
+          - The DHCP server supports two new configuration options to specify
+            the lease pool, 'PoolOffset=' and 'PoolSize='.
+
+        * The encapsulation limit of tunnels in systemd-networkd can now be
+          configured via 'EncapsulationLimit='. It allows modifying the maximum
+          additional levels of encapsulation that are permitted to be prepended
+          to a packet.
+
+        * systemd now supports the concept of user-buses over session-buses, if
+          used with dbus-1.10 (and enabled via dbus --enable-user-session).
+
+        * systemd-networkd now supports predictable interface names for virtio
+          devices.
+
+        * systemd now optionally supports the unified cgroup hierarchy. If
+          enabled via the kernel command-line option
+          'systemd.unified_cgroup_hierarchy=1', systemd will try to mount the
+          unified cgroup hierarchy directly on /sys/fs/cgroup. If not enabled,
+          or not available, systemd will fall back to legacy cgroups.
+          Host system and containers can mix and match legacy and unified
+          hierarchies as they wish. By default, nspawn will use the same
+          hierarchy as the host.
+          Please note that the unified hierarchy is an experimental kernel
+          feature and is likely to change in one of the next kernel releases.
+          Therefore, it should not be enabled by default.
+
+        Contributions from: Cristian Rodríguez, Daniel Mack, David Herrmann,
+        Eugene Yakubovich, Evgeny Vereshchagin, Filipe Brandenburger, Jan
+        Alexander Steffens (heftig), Jan Synacek, Kay Sievers, Lennart
+        Poettering, Mangix, Marcel Holtmann, Martin Pitt, Michal Sekletar, Peter
+        Hutterer, Piotr Drąg, reverendhomer, Robin Hack, Susant Sahani, Sylvain
+        Pasche, Thomas Hindoe Paaboel Andersen, Tom Gundersen
+
+        -- Berlin, 2015-09-XX
+
 CHANGES WITH 225:
 
         * machinectl gained a new verb 'shell' which opens a fresh shell on the
index 5835d9a103240205a7a12efba64254970a3f6cfe..5a7f28729d4e36184ef2145fc80f156c16fab98e 100644 (file)
@@ -1898,3 +1898,36 @@ bluetooth:v0275*
 
 bluetooth:v0276*
  ID_VENDOR_FROM_DATABASE=E.G.O. Elektro-Gertebau GmbH
+
+bluetooth:v0277*
+ ID_VENDOR_FROM_DATABASE=bewhere inc
+
+bluetooth:v0278*
+ ID_VENDOR_FROM_DATABASE=Johnson Outdoors Inc
+
+bluetooth:v0279*
+ ID_VENDOR_FROM_DATABASE=steute Schaltgerate GmbH & Co. KG
+
+bluetooth:v027A*
+ ID_VENDOR_FROM_DATABASE=Ekomini inc.
+
+bluetooth:v027B*
+ ID_VENDOR_FROM_DATABASE=DEFA AS
+
+bluetooth:v027C*
+ ID_VENDOR_FROM_DATABASE=Aseptika Ltd
+
+bluetooth:v027D*
+ ID_VENDOR_FROM_DATABASE=HUAWEI Technologies Co., Ltd. ( 华为技术有限公司 )
+
+bluetooth:v027E*
+ ID_VENDOR_FROM_DATABASE=HabitAware, LLC
+
+bluetooth:v027F*
+ ID_VENDOR_FROM_DATABASE=ruwido austria gmbh
+
+bluetooth:v0280*
+ ID_VENDOR_FROM_DATABASE=ITEC corporation
+
+bluetooth:v0281*
+ ID_VENDOR_FROM_DATABASE=StoneL
index 781a7ec240fea3fe3bdcf2c9c7e876a96d7102fe..5a9034040c0b440a6f251b4bcc9d03700f4196ef 100644 (file)
@@ -400,6 +400,15 @@ mouse:bluetooth:v045ep0702:name:Microsoft  Wireless Laser Mouse 8000:
 mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:
  MOUSE_DPI=1000@2000
 
+##########################################
+# Mionix
+##########################################
+
+#Mionix Avior 7000
+mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:
+ MOUSE_DPI=400@1000 *1600@1000 7000@1000
+ MOUSE_WHEEL_CLICK_ANGLE=15
+
 ##########################################
 # Oklick
 ##########################################
index 218de0b376f598aad81f5a06319b44149de7a521..0ebe570bb8ff3687215049d7d6fb1fc5fa2b8599 100644 (file)
@@ -540,10 +540,7 @@ int cg_get_path(const char *controller, const char *path, const char *suffix, ch
         else {
                 const char *dn;
 
-                if (controller)
-                        dn = controller_to_dirname(controller);
-                else
-                        dn = NULL;
+                dn = controller_to_dirname(controller);
 
                 r = join_path_legacy(dn, path, suffix, fs);
         }
@@ -1913,7 +1910,7 @@ int cg_attach_many_everywhere(CGroupMask supported, const char *path, Set* pids,
 }
 
 int cg_migrate_everywhere(CGroupMask supported, const char *from, const char *to, cg_migrate_callback_t to_callback, void *userdata) {
-         CGroupController c;
+        CGroupController c;
         int r, unified;
 
         if (!path_equal(from, to))  {
index a70b4d33aed86bd2068a5332594eb9eb1f59037b..1e78f871c7e75d2ea54cbb2f41a4a3422f1b6b8c 100644 (file)
@@ -1076,7 +1076,7 @@ int unit_search_main_pid(Unit *u, pid_t *ret) {
 }
 
 static int unit_watch_pids_in_path(Unit *u, const char *path) {
-       _cleanup_closedir_ DIR *d = NULL;
+        _cleanup_closedir_ DIR *d = NULL;
         _cleanup_fclose_ FILE *f = NULL;
         int ret = 0, r;
 
index 44cd324f5800c75f618ebdfeb22a7983bb1eafa3..35cf0621bed55a6f150964f5028f94ce1ac7c5e1 100644 (file)
@@ -138,7 +138,7 @@ static int scope_verify(Scope *s) {
                 return 0;
 
         if (set_isempty(UNIT(s)->pids) &&
-            !manager_is_reloading_or_reexecuting(UNIT(s)->manager) <= 0 &&
+            !manager_is_reloading_or_reexecuting(UNIT(s)->manager) &&
             !unit_has_name(UNIT(s), SPECIAL_INIT_SCOPE)) {
                 log_unit_error(UNIT(s), "Scope has no PIDs. Refusing.");
                 return -EINVAL;
index edd5033db212d4023733ebf3193202fe5b0421c5..580117165a17bfa1d5a804c695ceacd5179b7147 100644 (file)
 #include "sd-bus.h"
 #include "bus-dump.h"
 #include "bus-util.h"
+#include "cgroup-util.h"
 
 int main(int argc, char *argv[]) {
         _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
         int r;
 
+        if (cg_unified() == -ENOEXEC) {
+                puts("Skipping test: /sys/fs/cgroup/ not available");
+                return EXIT_TEST_SKIP;
+        }
+
         r = sd_bus_creds_new_from_pid(&creds, 0, _SD_BUS_CREDS_ALL);
         assert_se(r >= 0);
 
index 5b2b36b9c03f2ab4860e193787338b2ccb707999..7cc68d4865dda8f59071f204895a389ca467266e 100644 (file)
@@ -1339,8 +1339,7 @@ static int bus_manager_log_shutdown(
                 InhibitWhat w,
                 const char *unit_name) {
 
-        const char *p;
-        const char *q;
+        const char *p, *q;
 
         assert(m);
         assert(unit_name);
@@ -1365,8 +1364,8 @@ static int bus_manager_log_shutdown(
                 q = NULL;
         }
 
-        if (m->wall_message)
-                p = strjoina(p, " (", m->wall_message, ")", NULL);
+        if (!isempty(m->wall_message))
+                p = strjoina(p, " (", m->wall_message, ")");
 
         return log_struct(LOG_NOTICE,
                           LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
@@ -2294,7 +2293,7 @@ static int method_set_wall_message(
         int r;
         Manager *m = userdata;
         char *wall_message;
-        bool enable_wall_messages;
+        int enable_wall_messages;
 
         assert(message);
         assert(m);
@@ -2310,15 +2309,19 @@ static int method_set_wall_message(
                                     UID_INVALID,
                                     &m->polkit_registry,
                                     error);
-
         if (r < 0)
                 return r;
         if (r == 0)
                 return 1; /* Will call us back */
 
-        r = free_and_strdup(&m->wall_message, wall_message);
-        if (r < 0)
-                return log_oom();
+        if (isempty(wall_message))
+                m->wall_message = mfree(m->wall_message);
+        else {
+                r = free_and_strdup(&m->wall_message, wall_message);
+                if (r < 0)
+                        return log_oom();
+        }
+
         m->enable_wall_messages = enable_wall_messages;
 
         return sd_bus_reply_method_return(message, NULL);
index 36601367bf6024febcfcb89d19a8ce747e81da55..4ffb01382f70b6f542c333389acc941eccc65a49 100644 (file)
@@ -60,7 +60,7 @@ static int link_set_dhcp_routes(Link *link) {
         assert(link->dhcp_lease);
 
         r = sd_dhcp_lease_get_router(link->dhcp_lease, &gateway);
-        if (r < 0 && r != -ENOENT)
+        if (r < 0 && r != -ENODATA)
                 return log_link_warning_errno(link, r, "DHCP error: could not get gateway: %m");
 
         if (r >= 0) {
@@ -112,7 +112,7 @@ static int link_set_dhcp_routes(Link *link) {
         }
 
         n = sd_dhcp_lease_get_routes(link->dhcp_lease, &static_routes);
-        if (n == -ENOENT)
+        if (n == -ENODATA)
                 return 0;
         if (n < 0)
                 return log_link_warning_errno(link, n, "DHCP error: could not get routes: %m");
@@ -378,7 +378,7 @@ static int dhcp_lease_acquired(sd_dhcp_client *client, Link *link) {
         prefixlen = in_addr_netmask_to_prefixlen(&netmask);
 
         r = sd_dhcp_lease_get_router(lease, &gateway);
-        if (r < 0 && r != -ENOENT)
+        if (r < 0 && r != -ENODATA)
                 return log_link_error_errno(link, r, "DHCP error: Could not get gateway: %m");
 
         if (r >= 0)
index 16f732f244116b6d42a130bd63e12e97128614c6..92b607297da66366b5f979181b471087a8b6d0cf 100644 (file)
@@ -757,7 +757,7 @@ int manager_save(Manager *m) {
                                 r = set_put_in_addrv(dns, addresses, r);
                                 if (r < 0)
                                         return r;
-                        } else if (r < 0 && r != -ENOENT)
+                        } else if (r < 0 && r != -ENODATA)
                                 return r;
                 }
 
@@ -769,7 +769,7 @@ int manager_save(Manager *m) {
                                 r = set_put_in_addrv(ntp, addresses, r);
                                 if (r < 0)
                                         return r;
-                        } else if (r < 0 && r != -ENOENT)
+                        } else if (r < 0 && r != -ENODATA)
                                 return r;
                 }
 
@@ -781,7 +781,7 @@ int manager_save(Manager *m) {
                                 r = set_put_strdup(domains, domainname);
                                 if (r < 0)
                                         return r;
-                        } else if (r != -ENOENT)
+                        } else if (r != -ENODATA)
                                 return r;
                 }
         }
index a7ab21a415518cc9fb7404f7aef1dd007b293760..6596069ade5102dcbcc115c5f6534e9b9b610727 100644 (file)
@@ -38,7 +38,7 @@ int main(int argc, char *argv[]) {
         /* prepare the test */
         assert_se(set_unit_path(TEST_DIR) >= 0);
         r = manager_new(MANAGER_USER, true, &m);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT)) {
+        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }
index 5d190378f18b42c0e5d58a0a1c261078765d6830..676c9f17932ab94a6812792455917c4d0ba68b5c 100644 (file)
@@ -40,7 +40,7 @@ static int setup_test(Manager **m) {
         assert_se(m);
 
         r = manager_new(MANAGER_USER, true, &tmp);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT)) {
+        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return -EXIT_TEST_SKIP;
         }
index f915539e00ec0969b04bf3404397305c07c2cb5a..ebc9110c4d700d35b6706db55f59b44431568dce 100644 (file)
@@ -35,7 +35,7 @@ int main(int argc, char *argv[]) {
         /* prepare the test */
         assert_se(set_unit_path(TEST_DIR) >= 0);
         r = manager_new(MANAGER_USER, true, &m);
-        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT)) {
+        if (IN_SET(r, -EPERM, -EACCES, -EADDRINUSE, -EHOSTDOWN, -ENOENT, -ENOEXEC)) {
                 printf("Skipping test: manager_new: %s", strerror(-r));
                 return EXIT_TEST_SKIP;
         }
index 28ac44fb8ebb6b1a278ce27d1cb2f27c070e9275..f354ced2e271908d530533710ca5256a4b3482b6 100644 (file)
@@ -1706,7 +1706,7 @@ int main(int argc, char *argv[]) {
                    by PID1. otherwise we are not guaranteed to have a dedicated cgroup */
                 r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 0, &cgroup);
                 if (r < 0) {
-                        if (r == -ENOENT)
+                        if (r == -ENOENT || r == -ENOEXEC)
                                 log_debug_errno(r, "did not find dedicated cgroup: %m");
                         else
                                 log_warning_errno(r, "failed to get cgroup: %m");
index 64f5ac7d17a892876240f8efe2aa37c1d09a8b7a..e75cdb1a597c79d513589dd258f7fbf0ed1cfd40 100644 (file)
@@ -18,3 +18,8 @@ PrivateDevices=yes
 PrivateNetwork=yes
 ProtectSystem=full
 ProtectHome=yes
+
+# The proxy manages connections of all users, so it needs an elevated file
+# limit. It does proper per-user accounting (indirectly via kdbus), therefore,
+# the effective per-user limits stay the same.
+LimitNOFILE=16384