From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arne Fitzenreiter To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 20977f0a83e41d1128570f3d88d5c861200e4094 Date: Tue, 19 Oct 2021 18:37:16 +0000 Message-ID: <4HYjCJ3qXcz2xl4@people01.haj.ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4149198850735714357==" List-Id: --===============4149198850735714357== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via 20977f0a83e41d1128570f3d88d5c861200e4094 (commit) via a3c9708117a60e6e49ba4bd828d3f68d0746e54d (commit) via 7f7f546e4ae25d75738d6c326149476d7def615a (commit) from e850a61429b03cb77a9dc798e9f093500db09a87 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 20977f0a83e41d1128570f3d88d5c861200e4094 Author: Arne Fitzenreiter Date: Tue Oct 19 18:36:32 2021 +0000 core161: generate new qos.sh =20 Signed-off-by: Arne Fitzenreiter commit a3c9708117a60e6e49ba4bd828d3f68d0746e54d Author: Arne Fitzenreiter Date: Tue Oct 19 18:35:01 2021 +0000 core161: add pakfire.cgi =20 Signed-off-by: Arne Fitzenreiter commit 7f7f546e4ae25d75738d6c326149476d7def615a Author: Stefan Schantl Date: Mon Oct 18 21:09:58 2021 +0200 pakfire.cgi: Implement logic to lock the page until pakfire has been full= y launched. =20 When performing any action which requires pakfire, the page gets locked with an message informing the user that pakfire is working. The page will be reloaded when pakfire has been launched and is doing the requested operation - showing the well known log output. This also happens when pakfire has been launched via any kind of terminal or SSH session and the CGI gets accessed. =20 Internally before pakfire gets started a variable called page_lock will be set to lock the page. An while loop will keep the page locked until pakfire is launched fully and has written it's lock_file. =20 This approach will prevent us from any kind of required time intervall or race conditions. =20 Signed-off-by: Stefan Schantl Signed-off-by: Arne Fitzenreiter ----------------------------------------------------------------------- Summary of changes: config/rootfiles/core/161/filelists/files | 1 + config/rootfiles/core/161/update.sh | 5 ++++ html/cgi-bin/pakfire.cgi | 49 +++++++++++++++++++++++++++++= -- 3 files changed, 53 insertions(+), 2 deletions(-) Difference in files: diff --git a/config/rootfiles/core/161/filelists/files b/config/rootfiles/cor= e/161/filelists/files index b6a7fff92..dd727ee2d 100644 --- a/config/rootfiles/core/161/filelists/files +++ b/config/rootfiles/core/161/filelists/files @@ -5,6 +5,7 @@ etc/suricata/suricata.yaml opt/pakfire/etc/pakfire.conf opt/pakfire/lib/functions.pl srv/web/ipfire/cgi-bin/index.cgi +srv/web/ipfire/cgi-bin/pakfire.cgi srv/web/ipfire/cgi-bin/proxy.cgi srv/web/ipfire/cgi-bin/qos.cgi usr/bin/2to3 diff --git a/config/rootfiles/core/161/update.sh b/config/rootfiles/core/161/= update.sh index 94c3d30a3..8110070e7 100644 --- a/config/rootfiles/core/161/update.sh +++ b/config/rootfiles/core/161/update.sh @@ -120,6 +120,11 @@ ldconfig =20 # Start services =20 +# Generate new qos.sh +qosctrl stop +qosctrl generate +qosctrl start + # remove lm_sensor config after collectd was started # to reserch sensors at next boot with updated kernel rm -f /etc/sysconfig/lm_sensors diff --git a/html/cgi-bin/pakfire.cgi b/html/cgi-bin/pakfire.cgi index 0cf522ba1..f2381f031 100644 --- a/html/cgi-bin/pakfire.cgi +++ b/html/cgi-bin/pakfire.cgi @@ -44,6 +44,8 @@ $cgiparams{'VALID'} =3D ''; $cgiparams{'INSPAKS'} =3D ''; $cgiparams{'DELPAKS'} =3D ''; =20 +my $page_lock; + sub refreshpage{&Header::openbox( 'Waiting', 1, "" );print "
3D''
$Lang::tr{'pagerefresh'}
";&Header::= closebox();} =20 &Header::getcgihash(\%cgiparams); @@ -57,8 +59,9 @@ sub refreshpage{&Header::openbox( 'Waiting', 1, " + + + 3D'$Lang::tr{'active'}' + + + + $Lang::tr{'pakfire working'} + + + +END + &Header::closebox(); + + # Infinite loop to lock the page until pakfire lockfile is present. + while($page_lock) { + unless (-e $Pakfire::lockfile) { + sleep(1); + } else { + # Release page lock. + undef($page_lock); + + # Break loop. + last; + } + } + + # Perform page reload. + print "\n"; + exit; +} + +# Check if pakfire is already running. In this case a lockfile is present. if (-e $Pakfire::lockfile) { &Header::openbox( 'Waiting', 1, "" ); print <