summaryrefslogtreecommitdiffstats
path: root/etc/inc/config.lib.inc
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-01-03 22:50:26 +0000
committerErmal <eri@pfsense.org>2013-01-03 22:50:47 +0000
commit4111fcf5307829b19b95fbb499addddff46264af (patch)
tree3c9ad48f642698d4ea45b119d8cd66c39ce8a084 /etc/inc/config.lib.inc
parent24b78825916851bd374c11bd5227dbf140e0ab78 (diff)
downloadpfsense-4111fcf5307829b19b95fbb499addddff46264af.zip
pfsense-4111fcf5307829b19b95fbb499addddff46264af.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
Diffstat (limited to 'etc/inc/config.lib.inc')
-rw-r--r--etc/inc/config.lib.inc9
1 files changed, 8 insertions, 1 deletions
diff --git a/etc/inc/config.lib.inc b/etc/inc/config.lib.inc
index dc57b41..1647d7d 100644
--- a/etc/inc/config.lib.inc
+++ b/etc/inc/config.lib.inc
@@ -497,15 +497,22 @@ function write_config($desc="Unknown", $backup = true) {
log_error("WARNING! Configuration written on bootup. This can cause stray openvpn and load balancing items in config.xml");
*/
+ if (!session_id())
+ session_start();
if (!empty($_SESSION['Username']) && ($_SESSION['Username'] != "admin")) {
$user = getUserEntry($_SESSION['Username']);
- if (is_array($user) && userHasPrivilege($user, "user-config-readonly"))
+ if (is_array($user) && userHasPrivilege($user, "user-config-readonly")) {
+ session_commit();
return false;
+ }
}
+
$username = empty($_SESSION["Username"]) ? "(system)" : $_SESSION['Username'];
if (!empty($_SERVER['REMOTE_ADDR']))
$username .= '@' . $_SERVER['REMOTE_ADDR'];
+ session_commit();
+
if($backup)
backup_config();
OpenPOWER on IntegriCloud