From: Alok Barsode <[email protected]>
Add Timeservers.Configuration timerservers (if any) to the list of
timeservers for time correction query. Now the Order is
Timeserver.Config (via the user), service timeserver (via DHCP).
default gateway (system), global timeservers (via the user).
---
src/service.c | 2 ++
src/timeserver.c | 11 +++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/service.c b/src/service.c
index 01c385f..5265968 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2815,6 +2815,8 @@ static DBusMessage *set_property(DBusConnection *conn,
g_string_free(str, TRUE);
service_save(service);
+
+ __connman_timeserver_sync(service);
} else if (g_str_equal(name, "Domains.Configuration") == TRUE) {
DBusMessageIter entry;
GString *str;
diff --git a/src/timeserver.c b/src/timeserver.c
index 005d878..9d80b38 100644
--- a/src/timeserver.c
+++ b/src/timeserver.c
@@ -34,6 +34,8 @@
static GSList *ts_list = NULL;
static char **service_ts = NULL;
+static char **service_ts_config = NULL;
+
static const char *service_gw = NULL;
static GResolv *resolv = NULL;
@@ -183,6 +185,8 @@ int __connman_timeserver_sync(struct connman_service
*service)
if (service) {
service_ts = connman_service_get_timeservers(service);
+ service_ts_config =
connman_service_get_timeservers_config(service);
+
network = __connman_service_get_network(service);
i = connman_network_get_index(network);
@@ -190,6 +194,10 @@ int __connman_timeserver_sync(struct connman_service
*service)
service_gw = __connman_ipconfig_get_gateway_from_index(i);
}
+ /* First add Service Timeservers.Configuration to the list */
+ for (i=0; service_ts_config != NULL && service_ts_config[i] != NULL;
i++)
+ ts_list = g_slist_append(ts_list,
g_strdup(service_ts_config[i]));
+
/* First add Service Timeservers via DHCP to the list */
for (i=0; service_ts != NULL && service_ts[i] != NULL; i++)
ts_list = g_slist_append(ts_list, g_strdup(service_ts[i]));
@@ -253,6 +261,9 @@ static int timeserver_start(struct connman_service *service)
/* Cache service timeservers */
service_ts = connman_service_get_timeservers(service);
+ /* Cache service Timeservers.Configuration */
+ service_ts_config = connman_service_get_timeservers_config(service);
+
network = __connman_service_get_network(service);
i = connman_network_get_index(network);
--
1.7.5.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman