0752
authorSebastian Kurfürst <sebastian.kurfuerst@typo3.org>
Tue, 27 Dec 2005 11:55:22 +0000 (11:55 +0000)
committerSebastian Kurfürst <sebastian.kurfuerst@typo3.org>
Tue, 27 Dec 2005 11:55:22 +0000 (11:55 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@943 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_userauth.php
t3lib/config_default.php

index fabde55..b1e2989 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-12-26  Sebastian Kurfuerst  <sebastian@garbage-group.de>
+
+       * Fixed bug #0752: scope of BE- and FE-Cookie: can't cope with multidomain-setup
+
 2005-12-26  Michael Stucki  <michael@typo3.org>
 
        * Changed default font to for code textareas to "monospace"
index ecc79c3..1f2803a 100755 (executable)
@@ -245,19 +245,21 @@ class t3lib_userAuth {
 
                        // Setting cookies
                        // If new session and the cookie is a sessioncookie, we need to set it only once!
-        if (($this->newSessionID || $this->forceSetCookie) && $this->lifetime==0 ) {
+               if (($this->newSessionID || $this->forceSetCookie) && $this->lifetime==0 )      {
                        if (!$this->dontSetCookie)      {
-                               SetCookie($this->name, $id, 0, '/');
+                               if ($TYPO3_CONF_VARS['SYS']['cookieDomain'])    SetCookie($this->name, $id, 0, '/', $TYPO3_CONF_VARS['SYS']['cookieDomain']);
+                               else    SetCookie($this->name, $id, 0, '/');
                                if ($this->writeDevLog)         t3lib_div::devLog('Set new Cookie: '.$id, 't3lib_userAuth');
                        }
                }
 
                        // If it is NOT a session-cookie, we need to refresh it.
-        if ($this->lifetime > 0) {
+               if ($this->lifetime > 0)        {
                        if (!$this->dontSetCookie)      {
-                               SetCookie($this->name, $id, time()+$this->lifetime, '/');
+                               if ($TYPO3_CONF_VARS['SYS']['cookieDomain'])    SetCookie($this->name, $id, time()+$this->lifetime, '/', $TYPO3_CONF_VARS['SYS']['cookieDomain']);
+                               else    SetCookie($this->name, $id, time()+$this->lifetime, '/');
                                if ($this->writeDevLog)         t3lib_div::devLog('Update Cookie: '.$id, 't3lib_userAuth');
-               }
+                       }
                }
 
                        // Check to see if anyone has submitted login-information and if so register the user with the session. $this->user[uid] may be used to write log...
index 8e275bf..c333f82 100755 (executable)
@@ -52,6 +52,7 @@ $TYPO3_CONF_VARS = Array(
                'sitename' => 'TYPO3',                                  // Name of the base-site. This title shows up in the root of the tree structure if you're an 'admin' backend user.
                'compat_version' => '3.8.1',                                    // Compatibility version. TYPO3 behavior will try to be compatible with the output from the TYPO3 version set here. It is recommended to change this setting with the Upgrade Wizard.
                'encryptionKey' => '',                                  // This is a "salt" used for various kinds of encryption, CRC checksums and validations. You can enter any rubbish string here but try to keep it secret. You should notice that a change to this value might invalidate temporary information, URLs etc. At least, clear all cache if you change this so any such information can be rebuild with the new key.
+               'cookieDomain' => '',                                   // When setting the value to ".example.com" (replace example.com with your domain!), login sessions will be shared across subdomains.
                'doNotCheckReferer' => 0,                               // Boolean. If set, it's NOT checked numerous places that the refering host is the same as the current. This is an option you should set if you have problems with proxies not passing the HTTP_REFERER variable.
                'recursiveDomainSearch' => 0,                   // Boolean. If set, the search for domain records will be done recursively by stripping parts of the host name off until a matching domain record is found.
                'devIPmask' => '192.168.*,127.0.0.1',   // Defines a list of IP addresses which will allow development-output to display. The debug() function will use this as a filter. See the function t3lib_div::cmpIP() for details on syntax. Setting this to blank value will deny all. Setting to '*' will allow all.