summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-01-04 08:43:54 +0000
committerErmal <eri@pfsense.org>2013-01-04 08:43:54 +0000
commit59d765707666ea046f59a3c20602b29b74f02ff9 (patch)
tree7ab99a0be75f8748bf8d8c89580afe7ff22b9d18 /usr
parentfed246dfca6c8041c5ec2b127911895adb6dc5de (diff)
downloadpfsense-59d765707666ea046f59a3c20602b29b74f02ff9.zip
pfsense-59d765707666ea046f59a3c20602b29b74f02ff9.tar.gz
Always commit the session fast to allow other consumers to proceed to their requests. This unbreaks now the lock up the GUI had allowing only one action from same source per time. Now even if you run a command that blocks indefinitely for example the GUI want lock anymore but allow you to proceed to other actions. Manual cherry-pick of 4111fcf5307829b19b95fbb499addddff46264af
Diffstat (limited to 'usr')
-rw-r--r--usr/local/www/headjs.php3
-rwxr-xr-xusr/local/www/system_firmware.php4
-rw-r--r--usr/local/www/system_usermanager_passwordmg.php4
-rw-r--r--usr/local/www/upload_progress.php4
4 files changed, 14 insertions, 1 deletions
diff --git a/usr/local/www/headjs.php b/usr/local/www/headjs.php
index eacaa23..e420078 100644
--- a/usr/local/www/headjs.php
+++ b/usr/local/www/headjs.php
@@ -48,7 +48,10 @@ function getHeadJS() {
var input_errors = '';
Event.observe(window, 'load', init, false);
";
+ if (!session_id())
+ session_start();
$_SESSION['NO_AJAX'] == "True" ? $noajax = "var noAjaxOnSubmit = true;" : $noajax = "var noAjaxOnSubmit = false;";
+ session_commit();
$headjs .= "
{$noajax}
diff --git a/usr/local/www/system_firmware.php b/usr/local/www/system_firmware.php
index 072bfb9..ddb42d2 100755
--- a/usr/local/www/system_firmware.php
+++ b/usr/local/www/system_firmware.php
@@ -209,7 +209,9 @@ include("head.inc");
<form action="system_firmware.php" method="post" enctype="multipart/form-data">
<?php
/* Construct an upload_id for this session */
- $upload_id = "up". $_SESSION['Username'];
+ if (!session_id())
+ session_start();
+ $upload_id = session_id();
?>
<input type="hidden" name="UPLOAD_IDENTIFIER" value="<?php echo $upload_id;?>" />
<?php include("fbegin.inc"); ?>
diff --git a/usr/local/www/system_usermanager_passwordmg.php b/usr/local/www/system_usermanager_passwordmg.php
index b8b3f76..fd41bc7 100644
--- a/usr/local/www/system_usermanager_passwordmg.php
+++ b/usr/local/www/system_usermanager_passwordmg.php
@@ -64,11 +64,15 @@ if (isset($_POST['save'])) {
}
}
+if (!session_id())
+ session_start();
+
/* determine if user is not local to system */
$islocal = false;
foreach($config['system']['user'] as $user)
if($user['name'] == $_SESSION['Username'])
$islocal = true;
+session_commit();
?>
diff --git a/usr/local/www/upload_progress.php b/usr/local/www/upload_progress.php
index 344ae67..812f7b7 100644
--- a/usr/local/www/upload_progress.php
+++ b/usr/local/www/upload_progress.php
@@ -38,12 +38,16 @@
include("guiconfig.inc");
+if (!session_id())
+ session_start();
+
// sanitize the ID value
$id = $_SESSION['uploadid'];
if (!$id) {
echo gettext("Sorry, we could not find an uploadid code.");
exit;
}
+session_commit();
// retrieve the upload data from APC
$info = uploadprogress_get_info($id);
OpenPOWER on IntegriCloud