Hi Antoine,
On 02/20/2017 01:50 PM, Antoine Aubert wrote:
Le 20/02/2017 à 13:12, Patrik Flykt a écrit :
> On Fri, 2017-02-17 at 14:37 +0100, Antoine Aubert wrote:
>> When the IP address changes, DNS provided by the DHCP may change.
>> We should update namerver list.
>>
>> Bug seen on various internet provider box. During xDSL
>> syncronisation,
>> the first DNS server is a fake one. Later, a renew set another DNS.
> There is already commit c7fbfdf976a0133e53ac35d5bd653f734772a994 doing
> this, so that change did not work after all?
>
> Cheers,
>
> Patrik
>
>> ---
>> src/timeserver.c | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/src/timeserver.c b/src/timeserver.c
>> index f0d33e5..0e555a7 100644
>> --- a/src/timeserver.c
>> +++ b/src/timeserver.c
>> @@ -291,6 +291,8 @@ static void ts_recheck_enable(void)
>> int __connman_timeserver_sync(struct connman_service
>> *default_service)
>> {
>> struct connman_service *service;
>> + char **nameservers;
>> + int i;
>>
>> if (default_service)
>> service = default_service;
>> @@ -314,6 +316,17 @@ int __connman_timeserver_sync(struct
>> connman_service *default_service)
>> if (resolv_id > 0)
>> g_resolv_cancel_lookup(resolv, resolv_id);
>>
>> + g_resolv_flush_nameservers(resolv);
>> +
>> + nameservers = connman_service_get_nameservers(service);
>> + if (!nameservers)
>> + return -EINVAL;
>> +
>> + for (i = 0; nameservers[i]; i++)
>> + g_resolv_add_nameserver(resolv, nameservers[i], 53,
>> 0);
>> +
>> + g_strfreev(nameservers);
>> +
>> g_slist_free_full(ts_list, g_free);
>>
>> ts_list = __connman_timeserver_get_all(service);
nameserver_add_all, doesn't affect gresolv object.
so, c7fbfdf976a0133e53ac35d5bd653f734772a994 work for dnsproxy, but not
for timeserver. (using g_resolv)
I applied this patch after adding the above information to the commit
message.
Thanks,
Daniel