From ed0a0ba8a16fd3411a545dc53934ea08b620b35a Mon Sep 17 00:00:00 2001 From: Christian Schmidt Date: Sun, 11 Apr 2010 22:43:27 +0200 Subject: [PATCH] Enabled force setting system time on boot. This fixes bug #0000614 for IPFire 2.7 --- html/cgi-bin/time.cgi | 13 +++++++++++-- langs/de/cgi-bin/de.pl | 1 + langs/en/cgi-bin/en.pl | 1 + langs/fr/cgi-bin/fr.pl | 1 + src/initscripts/init.d/ntp | 7 +++++++ 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/html/cgi-bin/time.cgi b/html/cgi-bin/time.cgi index 988a1484cc..fb69aa39e4 100644 --- a/html/cgi-bin/time.cgi +++ b/html/cgi-bin/time.cgi @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2010 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -44,6 +44,7 @@ $timesettings{'UPDATE_METHOD'} = 'manually'; $timesettings{'UPDATE_VALUE'} = '0'; $timesettings{'UPDATE_PERIOD'} = ''; $timesettings{'ENABLECLNTP'} = 'off'; +$timesettings{'ENABLESETONBOOT'} = 'off'; &Header::getcgihash(\%timesettings); @@ -175,6 +176,7 @@ if ($timesettings{'VALID'} eq '') $timesettings{'UPDATE_PERIOD'} = 'daily'; $timesettings{'NTP_ADDR_1'} = 'de.pool.ntp.org'; $timesettings{'NTP_ADDR_2'} = 'pool.ntp.org'; + $timesettings{'ENABLESETONBOOT'} = 'off'; } unless ($errormessage) { @@ -198,6 +200,10 @@ $checked{'ENABLECLNTP'}{'off'} = ''; $checked{'ENABLECLNTP'}{'on'} = ''; $checked{'ENABLECLNTP'}{$timesettings{'ENABLECLNTP'}} = "checked='checked'"; +$checked{'ENABLESETONBOOT'}{'off'} = ''; +$checked{'ENABLESETONBOOT'}{'on'} = ''; +$checked{'ENABLESETONBOOT'}{$timesettings{'ENABLESETONBOOT'}} = "checked='checked'"; + $checked{'UPDATE_METHOD'}{'manually'} = ''; $checked{'UPDATE_METHOD'}{'periodically'} = ''; $checked{'UPDATE_METHOD'}{$timesettings{'UPDATE_METHOD'}} = "checked='checked'"; @@ -273,7 +279,10 @@ print <   - $Lang::tr{'set time now help'} + $Lang::tr{'set time now help'} + + + $Lang::tr{'Set time on boot'} diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 0955c0242b..4e59541aaa 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -14,6 +14,7 @@ 'ConnSched add action' => 'Aktion hinzufügen', 'ConnSched change profile title' => 'Wechsle zu Profil:', 'ConnSched days' => 'Tage:', +'Set time on boot' => 'Erzwinge das Setzen der Systemzeit im Bootvorgang', 'ConnSched down' => 'Runter', 'ConnSched ipsecstart' => 'IPSec (neu)starten', 'ConnSched ipsecstop' => 'IPSec stop', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 56faf33039..1336a4ffe7 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -47,6 +47,7 @@ 'mpfire search' => 'MPFire Search', 'repeat' => 'Repeat', 'shuffle' => 'Shuffle', +'Set time on boot' => 'Force setting the system clock on boot', 'Port Rule' => 'Port-Rule', 'qos add subclass' => 'Add subclass', 'The source IP address is invalid.' => 'The source IP address is invalid.', diff --git a/langs/fr/cgi-bin/fr.pl b/langs/fr/cgi-bin/fr.pl index 0152f0dba1..e9fe7e501e 100644 --- a/langs/fr/cgi-bin/fr.pl +++ b/langs/fr/cgi-bin/fr.pl @@ -15,6 +15,7 @@ 'ConnSched change profile title' => 'Change to profile:', 'ConnSched days' => 'Days:', 'ConnSched down' => 'Down', +'Set time on boot' => 'Fixé l'heure en botte', 'ConnSched ipsecstart' => 'IPSec (re)start', 'ConnSched ipsecstop' => 'IPSec stop', 'ConnSched reconnect' => 'Reconnect', diff --git a/src/initscripts/init.d/ntp b/src/initscripts/init.d/ntp index 825a0e810c..ef94de1533 100644 --- a/src/initscripts/init.d/ntp +++ b/src/initscripts/init.d/ntp @@ -4,8 +4,15 @@ . /etc/sysconfig/rc . $rc_functions +eval $(/usr/local/bin/readhash /var/ipfire/time/settings) + case "$1" in start) + if [ "$ENABLESETONBOOT" == "on" ]; then + boot_mesg "Setting time on booot..." + loadproc /usr/local/bin/settime $(cat /var/ipfire/time/settime.conf) + fi + boot_mesg "Starting ntpd..." loadproc /usr/bin/ntpd -Ap /var/run/ntpd.pid ;; -- 2.39.2