summaryrefslogtreecommitdiff
path: root/roundcubemail/program
diff options
context:
space:
mode:
authortill <till@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-02-13 05:26:47 +0000
committertill <till@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-02-13 05:26:47 +0000
commita616b886480d2cd0facb7fa532528cd7a7a5b7eb (patch)
tree4c26c6199b90b2371d3e77cbf84e8d2e1ed97001 /roundcubemail/program
parenta12195ebd97c75413f397623d116332e68b5d857 (diff)
* implemented feature from #1484476
git-svn-id: https://svn.roundcube.net/trunk@1063 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program')
-rw-r--r--roundcubemail/program/include/main.inc5
-rw-r--r--roundcubemail/program/include/session.inc10
2 files changed, 12 insertions, 3 deletions
diff --git a/roundcubemail/program/include/main.inc b/roundcubemail/program/include/main.inc
index 9e33bae69..2d28090c7 100644
--- a/roundcubemail/program/include/main.inc
+++ b/roundcubemail/program/include/main.inc
@@ -57,6 +57,11 @@ function rcmail_startup($task='mail')
// load configuration
$CONFIG = rcmail_load_config();
+ // set session domain
+ if (isset($CONFIG['session_domain']) && !empty($CONFIG['session_domain'])) {
+ ini_set('session.cookie_domain', $CONFIG['session_domain']);
+ }
+
// set session garbage collecting time according to session_lifetime
if (!empty($CONFIG['session_lifetime']))
ini_set('session.gc_maxlifetime', ($CONFIG['session_lifetime']) * 120);
diff --git a/roundcubemail/program/include/session.inc b/roundcubemail/program/include/session.inc
index a29eabba9..9becacf00 100644
--- a/roundcubemail/program/include/session.inc
+++ b/roundcubemail/program/include/session.inc
@@ -172,9 +172,13 @@ function sess_regenerate_id()
sess_destroy(session_id());
session_id($random);
- $cookie = session_get_cookie_params();
- setcookie(session_name(), "", time() - 3600);
- setcookie(session_name(), $random, $cookie['lifetime'] ? time() + $cookie['lifetime'] : 0, $cookie['path']);
+
+ $cookie = session_get_cookie_params();
+ $_lifetime = $cookie['lifetime'] ? time() + $cookie['lifetime'] : 0;
+
+ setcookie(session_name(), '', time() - 3600);
+ setcookie(session_name(), $random, $_lifetime, $cookie['path'],
+ $cookie['domain']);
return true;
}