]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: rename EnableWallMessages= configuration knob to WallMessages= (#37553)
authorLennart Poettering <lennart@poettering.net>
Wed, 21 May 2025 17:47:57 +0000 (19:47 +0200)
committerGitHub <noreply@github.com>
Wed, 21 May 2025 17:47:57 +0000 (02:47 +0900)
We generally frown on config options that are called
EnableXYZ=/DisableXYZ=, hence drop this here too. Note that the original
sin was that the pre-existing D-Bus property already used the prefix.
But given that D-Bus properties are substantially more low-level (i.e.
developer focused) than the config knobs, let's bite the bullet and
name the configuration option cleanly, even if the dbus property carries
the damn prefix.

The knob was added post v257, hence this is not a compat break.

Follow-up for: 130698dc20df9438c3f5b79ddf2c1a1b16c3f8fc

man/logind.conf.xml
src/login/logind-core.c
src/login/logind-dbus.c
src/login/logind-gperf.gperf
src/login/logind-wall.c
src/login/logind.conf.in
src/login/logind.h

index ff3ab5422a41faa50f8ba81e9d3b1918fa778d25..d62605e5cccf5bf9678cb324e2b4ecf5bac8a948 100644 (file)
       </varlistentry>
 
       <varlistentry>
-        <term><varname>EnableWallMessages=</varname></term>
+        <term><varname>WallMessages=</varname></term>
 
         <listitem>
+          <!-- NB: the configuration file setting lacks the "Enable" prefix that the dbus property has. It
+               was a mistake to have that prefix, as we generally frown on useless Enable/Disables prefix of
+               configuration knobs. -->
           <para>
             Controls whether
-            <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-            messages should be sent to the terminals of all currently logged in users upon shutdown or
+            <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry> messages
+            should be sent to the terminals of all currently logged in users upon shutdown or
             reboot. Defaults to <literal>yes</literal>, and can be changed at runtime via the DBus
             <literal>EnableWallMessages</literal> and <literal>WallMessagePrefix</literal> properties.
           </para>
index 6a1ddf9ddee8d3b44b465f10e9cb3a9a074bfb6f..3c51bc4a40ae26dc815176c87e300c62eb1e4212 100644 (file)
@@ -42,7 +42,7 @@ void manager_reset_config(Manager *m) {
         m->remove_ipc = true;
         m->inhibit_delay_max = 5 * USEC_PER_SEC;
         m->user_stop_delay = 10 * USEC_PER_SEC;
-        m->enable_wall_messages = true;
+        m->wall_messages = true;
 
         m->handle_action_sleep_mask = HANDLE_ACTION_SLEEP_MASK_DEFAULT;
 
index ad7646ab4737b60d283dfee1140114ad9eb36fb0..61c434c98482fc055efaa8bc3b6840e3f1db661b 100644 (file)
@@ -2595,7 +2595,7 @@ static int update_schedule_file(Manager *m) {
         (void) fchmod(fileno(f), 0644);
 
         serialize_usec(f, "USEC", m->scheduled_shutdown_timeout);
-        serialize_item_format(f, "WARN_WALL", "%s", one_zero(m->enable_wall_messages));
+        serialize_item_format(f, "WARN_WALL", "%s", one_zero(m->wall_messages));
         serialize_item_format(f, "MODE", "%s", handle_action_to_string(m->scheduled_shutdown_action));
         serialize_item_format(f, "UID", UID_FMT, m->scheduled_shutdown_uid);
 
@@ -2747,7 +2747,7 @@ void manager_load_scheduled_shutdown(Manager *m) {
                 if (r < 0)
                         log_debug_errno(r, "Failed to parse enabling wall messages");
                 else
-                        m->enable_wall_messages = r;
+                        m->wall_messages = r;
         }
 
         if (wall_message) {
@@ -2876,7 +2876,7 @@ static int method_cancel_scheduled_shutdown(sd_bus_message *message, void *userd
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        if (m->enable_wall_messages) {
+        if (m->wall_messages) {
                 _cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
                 const char *tty = NULL;
                 uid_t uid = 0;
@@ -3745,7 +3745,7 @@ static int method_set_wall_message(
         /* Short-circuit the operation if the desired state is already in place, to
          * avoid an unnecessary polkit permission check. */
         if (streq_ptr(m->wall_message, empty_to_null(wall_message)) &&
-            m->enable_wall_messages == enable_wall_messages)
+            m->wall_messages == enable_wall_messages)
                 goto done;
 
         r = bus_verify_polkit_async(
@@ -3763,7 +3763,7 @@ static int method_set_wall_message(
         if (r < 0)
                 return log_oom();
 
-        m->enable_wall_messages = enable_wall_messages;
+        m->wall_messages = enable_wall_messages;
 
  done:
         return sd_bus_reply_method_return(message, NULL);
@@ -3902,7 +3902,7 @@ static int method_inhibit(sd_bus_message *message, void *userdata, sd_bus_error
 static const sd_bus_vtable manager_vtable[] = {
         SD_BUS_VTABLE_START(0),
 
-        SD_BUS_WRITABLE_PROPERTY("EnableWallMessages", "b", bus_property_get_bool, bus_property_set_bool, offsetof(Manager, enable_wall_messages), 0),
+        SD_BUS_WRITABLE_PROPERTY("EnableWallMessages", "b", bus_property_get_bool, bus_property_set_bool, offsetof(Manager, wall_messages), 0),
         SD_BUS_WRITABLE_PROPERTY("WallMessage", "s", NULL, NULL, offsetof(Manager, wall_message), 0),
 
         SD_BUS_PROPERTY("NAutoVTs", "u", NULL, offsetof(Manager, n_autovts), SD_BUS_VTABLE_PROPERTY_CONST),
index bd64b8352ed20fd75d335fd0aefaa541914a675b..d32be829bdc86e0d1537cfd815cf924fade83e79 100644 (file)
@@ -56,4 +56,4 @@ Login.SessionsMax,                  config_parse_uint64,                0, offse
 Login.DesignatedMaintenanceTime,    config_parse_calendar,              0, offsetof(Manager, maintenance_time)
 Login.UserTasksMax,                 config_parse_compat_user_tasks_max, 0, 0
 Login.StopIdleSessionSec,           config_parse_sec_fix_0,             0, offsetof(Manager, stop_idle_session_usec)
-Login.EnableWallMessages,           config_parse_bool,                  0, offsetof(Manager, enable_wall_messages)
+Login.WallMessages,                 config_parse_bool,                  0, offsetof(Manager, wall_messages)
index ac5e593d3f580e00d5a05be62f54aa105f7f6cf6..dabedbdea06d8af8da79fee105c48a725e277fbe 100644 (file)
@@ -81,7 +81,7 @@ static int warn_wall(Manager *m, usec_t n) {
                    LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN_SCHEDULED_STR),
                    username ? "OPERATOR=%s" : NULL, username);
 
-        if (m->enable_wall_messages)
+        if (m->wall_messages)
                 (void) wall(l, username, m->scheduled_shutdown_tty, logind_wall_tty_filter, m);
 
         return 1;
index 8adf4393c7e8541c281538d89e85cb68dbf1a941..5cf8afec85fda726d86d534dbc05805626095207 100644 (file)
@@ -52,4 +52,4 @@
 #SessionsMax=8192
 #StopIdleSessionSec=infinity
 #DesignatedMaintenanceTime=
-#EnableWallMessages=yes
+#WallMessages=yes
index c3119166476d45b416dfc6c992d790e7b2b565af..d7b5b24854108e5e8e63dd9f64483d905f8ff750 100644 (file)
@@ -71,7 +71,7 @@ typedef struct Manager {
         bool unlink_nologin;
 
         char *wall_message;
-        bool enable_wall_messages;
+        bool wall_messages;
         sd_event_source *wall_message_timeout_source;
 
         bool shutdown_dry_run;