923a60
From d7ca3b22fce0f97fe10a7abe6e0edc5de785ef98 Mon Sep 17 00:00:00 2001
923a60
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
923a60
Date: Sat, 21 Mar 2015 17:40:20 -0400
923a60
Subject: [PATCH] timedated: flip internal status after executing operation
923a60
923a60
timedated would set the internal status before calling out to systemd to do
923a60
the actual change. When the operation was refused because of a SELinux denial,
923a60
the state kept in timedated would get out of sync, and the second call from
923a60
timedatectl would appear to succeed.
923a60
923a60
https://bugzilla.redhat.com/show_bug.cgi?id=1014315
923a60
(cherry picked from commit 192b98b8fe73c8fb4bb3d6540deb93f5fb6eb9d2)
923a60
---
923a60
 src/timedate/timedated.c | 4 ++--
923a60
 1 file changed, 2 insertions(+), 2 deletions(-)
923a60
923a60
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
923a60
index 66097ef741..c3113b081e 100644
923a60
--- a/src/timedate/timedated.c
923a60
+++ b/src/timedate/timedated.c
923a60
@@ -679,8 +679,6 @@ static int method_set_ntp(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bus
923a60
         if (r == 0)
923a60
                 return 1;
923a60
 
923a60
-        c->use_ntp = ntp;
923a60
-
923a60
         r = context_enable_ntp(c, bus, error);
923a60
         if (r < 0)
923a60
                 return r;
923a60
@@ -689,6 +687,8 @@ static int method_set_ntp(sd_bus *bus, sd_bus_message *m, void *userdata, sd_bus
923a60
         if (r < 0)
923a60
                 return r;
923a60
 
923a60
+        c->use_ntp = ntp;
923a60
+
923a60
         log_info("Set NTP to %s", c->use_ntp ? "enabled" : "disabled");
923a60
 
923a60
         sd_bus_emit_properties_changed(bus, "/org/freedesktop/timedate1", "org.freedesktop.timedate1", "NTP", NULL);