[fix] Sync the date with http if ntp can't (#37)

* [fix] Sync the date with http if ntp can't
This commit is contained in:
ljf (zamentur)
2018-06-13 11:30:43 +02:00
committed by ljf
parent 8b3a04fb90
commit 84a4e1a319

View File

@@ -204,6 +204,20 @@ stop_openvpn() {
sync_time() { sync_time() {
systemctl stop ntp systemctl stop ntp
timeout 20 ntpd -qg &> /dev/null timeout 20 ntpd -qg &> /dev/null
# Some networks drop ntp port (udp 123).
# Try to get the date with an http request on the internetcube web site
if [ $? -ne 0 ]; then
http_date=`curl -sD - labriqueinter.net | grep '^Date:' | cut -d' ' -f3-6`
http_date_seconds=`date -d "${http_date}" +%s`
curr_date_seconds=`date +%s`
# Set the new date if it's greater than the current date
# So it does if 1970 year or if old fake-hwclock date is used
if [ $http_date_seconds -ge $curr_date_seconds ]; then
date -s "${http_date}"
fi
fi
systemctl start ntp systemctl start ntp
} }