From: Stefan Schantl Date: Thu, 7 Feb 2019 07:24:15 +0000 (+0100) Subject: ids.cgi: Lock page while autoupdate script is running X-Git-Tag: v2.23-core131~117^2~56 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=9074e3d74cc931244892d306b38c298ce8dd0f2b ids.cgi: Lock page while autoupdate script is running Fixes #11991 Signed-off-by: Stefan Schantl --- diff --git a/html/cgi-bin/ids.cgi b/html/cgi-bin/ids.cgi index 5ed3ed9f2e..82d79a369b 100644 --- a/html/cgi-bin/ids.cgi +++ b/html/cgi-bin/ids.cgi @@ -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. diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 4c934174ff..50731f9156 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -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' => '"Ignorieren"-Filter', 'ike encryption' => 'IKE Verschlüsselung:', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index fa7b7d2f22..adfe2350af 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -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',