[systemd-commits] src/timedate

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Sat Mar 21 14:45:00 PDT 2015


 src/timedate/timedated.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 192b98b8fe73c8fb4bb3d6540deb93f5fb6eb9d2
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sat Mar 21 17:40:20 2015 -0400

    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

diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
index ca771d5..db9a149 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);



More information about the systemd-commits mailing list