|
|
|
From d7ca3b22fce0f97fe10a7abe6e0edc5de785ef98 Mon Sep 17 00:00:00 2001
|
|
|
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
|
|
Date: Sat, 21 Mar 2015 17:40:20 -0400
|
|
|
|
Subject: [PATCH] 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
|
|
|
|
(cherry picked from commit 192b98b8fe73c8fb4bb3d6540deb93f5fb6eb9d2)
|
|
|
|
---
|
|
|
|
src/timedate/timedated.c | 4 ++--
|
|
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
|
|
|
|
index 66097ef741..c3113b081e 100644
|
|
|
|
--- a/src/timedate/timedated.c
|
|
|
|
+++ b/src/timedate/timedated.c
|
|
|
|
@@ -679,8 +679,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;
|
|
|
|
@@ -689,6 +687,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);
|