ids.cgi: Lock page while autoupdate script is running

Fixes #11991

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This commit is contained in:
Stefan Schantl
2019-02-07 08:24:15 +01:00
parent 5206a3358d
commit 9074e3d74c
3 changed files with 18 additions and 0 deletions

View File

@@ -210,6 +210,22 @@ if (($cgiparams{'WHITELIST'} eq $Lang::tr{'add'}) || ($cgiparams{'WHITELIST'} eq
}
}
# Check if the page is locked, in this case, the ids_page_lock_file exists.
if (-e $IDS::ids_page_lock_file) {
# Lock the webpage and print notice about autoupgrade of the ruleset
# is in progess.
&working_notice("$Lang::tr{'ids ruleset autoupdate in progress'}");
# Loop and check if the file still exists.
while(-e $IDS::ids_page_lock_file) {
# Sleep for a second and re-check.
sleep 1;
}
# Page has been unlocked, perform a reload.
&reload();
}
# Check if any error has been stored.
if (-e $IDS::storederrorfile) {
# Open file to read in the stored error message.

View File

@@ -1344,6 +1344,7 @@
'ids rules license2' => 'Bestätigen Sie die Lizenz; aktivieren Sie Ihren Account, indem Sie auf den Link, den Sie per Mail erhalten haben, klicken. Gehen Sie dann zu',
'ids rules license3' => 'klicken Sie den "Generate code"-Knopf und kopieren Sie den 40-Zeichen Oinkcode in das untere Feld.',
'ids rules update' => 'IPS-Regeln',
'ids ruleset autoupdate in progress' => 'Das Regelset wird gerade aktualisiert ... Bitte warten Sie, bis dieser Vorgang erfolgreich beendet wurde.',
'iface' => 'Iface',
'ignore filter' => '&quot;Ignorieren&quot;-Filter',
'ike encryption' => 'IKE Verschlüsselung:',

View File

@@ -1376,6 +1376,7 @@
'ids rules license2' => 'Acknowledge the license, activate your account by visiting the url you got via mail. Then go to',
'ids rules license3' => 'press the "Generate code"-button and copy the 40 character Oinkcode into the field below.',
'ids rules update' => 'IPS rules',
'ids ruleset autoupdate in progress' => 'Ruleset update in progress ... Please wait until all operations have completed successfully.',
'ids show' => 'Show',
'iface' => 'Iface',
'ignore filter' => 'Ignore filter',