From 192b98b8fe73c8fb4bb3d6540deb93f5fb6eb9d2 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Sat, 21 Mar 2015 17:40:20 -0400 Subject: timedated: flip internal status after executing operation timedated would set the internal status before calling out to systemd to do the actual change. When the operation was refused because of a SELinux denial, the state kept in timedated would get out of sync, and the second call from timedatectl would appear to succeed. https://bugzilla.redhat.com/show_bug.cgi?id=1014315 --- src/timedate/timedated.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/timedate/timedated.c') diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c index ca771d5b33..db9a149ae5 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -646,8 +646,6 @@ static int method_set_ntp(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bus if (r == 0) return 1; - c->use_ntp = ntp; - r = context_enable_ntp(c, bus, error); if (r < 0) return r; @@ -656,6 +654,8 @@ static int method_set_ntp(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bus if (r < 0) return r; + c->use_ntp = ntp; + log_info("Set NTP to %s", c->use_ntp ? "enabled" : "disabled"); sd_bus_emit_properties_changed(bus, "/org/freedesktop/timedate1", "org.freedesktop.timedate1", "NTP", NULL); -- cgit v1.2.3-54-g00ecf