Skip to content

Commit

Permalink
hostnamed, localed, timedated: disable methods that change system set…
Browse files Browse the repository at this point in the history
…tings.
  • Loading branch information
gebner authored and Mic92 committed May 28, 2017
1 parent 1b7e54b commit ce02fb7
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/hostname/hostnamed.c
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,9 @@ static int method_set_hostname(sd_bus_message *m, void *userdata, sd_bus_error *
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

if (isempty(name))
name = c->data[PROP_STATIC_HOSTNAME];

Expand Down Expand Up @@ -479,6 +482,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

name = empty_to_null(name);

if (streq_ptr(name, c->data[PROP_STATIC_HOSTNAME]))
Expand Down Expand Up @@ -545,6 +551,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

name = empty_to_null(name);

if (streq_ptr(name, c->data[prop]))
Expand Down
9 changes: 9 additions & 0 deletions src/locale/localed.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,9 @@ static int method_set_locale(sd_bus_message *m, void *userdata, sd_bus_error *er
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

/* Check whether a variable changed and if it is valid */
STRV_FOREACH(i, l) {
bool valid = false;
Expand Down Expand Up @@ -372,6 +375,9 @@ static int method_set_vc_keyboard(sd_bus_message *m, void *userdata, sd_bus_erro
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

keymap = empty_to_null(keymap);
keymap_toggle = empty_to_null(keymap_toggle);

Expand Down Expand Up @@ -542,6 +548,9 @@ static int method_set_x11_keyboard(sd_bus_message *m, void *userdata, sd_bus_err
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

layout = empty_to_null(layout);
model = empty_to_null(model);
variant = empty_to_null(variant);
Expand Down
12 changes: 12 additions & 0 deletions src/timedate/timedated.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,9 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error *
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

if (!timezone_is_valid(z))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid time zone '%s'", z);

Expand Down Expand Up @@ -436,6 +439,9 @@ static int method_set_local_rtc(sd_bus_message *m, void *userdata, sd_bus_error
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

if (lrtc == c->local_rtc)
return sd_bus_reply_method_return(m, NULL);

Expand Down Expand Up @@ -525,6 +531,9 @@ static int method_set_time(sd_bus_message *m, void *userdata, sd_bus_error *erro
assert(m);
assert(c);

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

if (c->use_ntp)
return sd_bus_error_setf(error, BUS_ERROR_AUTOMATIC_TIME_SYNC_ENABLED, "Automatic time synchronization is enabled");

Expand Down Expand Up @@ -611,6 +620,9 @@ static int method_set_ntp(sd_bus_message *m, void *userdata, sd_bus_error *error
if (r < 0)
return r;

return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED,
"Changing system settings via systemd is not supported on NixOS.");

if ((bool)enabled == c->use_ntp)
return sd_bus_reply_method_return(m, NULL);

Expand Down

0 comments on commit ce02fb7

Please sign in to comment.