Enabled force setting system time on boot.

This fixes bug #0000614 for IPFire 2.7
This commit is contained in:
Christian Schmidt
2010-04-11 22:43:27 +02:00
parent c655052559
commit ed0a0ba8a1
5 changed files with 21 additions and 2 deletions

View File

@@ -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 <<END
</tr>
<tr>
<td>&nbsp;</td>
<td class='base' colspan='2'>$Lang::tr{'set time now help'}</td>
<td class='base' colspan='3'>$Lang::tr{'set time now help'}</td>
</tr>
<tr>
<td class='base' colspan='4'><input type='checkbox' name='ENABLESETONBOOT' $checked{'ENABLESETONBOOT'}{'on'} /> $Lang::tr{'Set time on boot'}</td>
</tr>
<tr>
<td class='base'><input type='radio' name='UPDATE_METHOD' value='periodically' $checked{'UPDATE_METHOD'}{'periodically'} /></td>

View File

@@ -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',

View File

@@ -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.',

View File

@@ -15,6 +15,7 @@
'ConnSched change profile title' => 'Change to profile:',
'ConnSched days' => 'Days:',
'ConnSched down' => 'Down',
'Set time on boot' => 'Fix<69> l'heure en botte',
'ConnSched ipsecstart' => 'IPSec (re)start',
'ConnSched ipsecstop' => 'IPSec stop',
'ConnSched reconnect' => 'Reconnect',

View File

@@ -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
;;