https://bugzilla.wikimedia.org/show_bug.cgi?id=54885

--- Comment #8 from Kelson [Emmanuel Engelhart] <kel...@kiwix.org> ---
My previous patch does not fix the whole problem. If you have your wiki
available at http://wikimedia.org.uk, the computed domain name will be
".org.uk". ".org.uk" is not accepted by Firefox (and probably other browsers)
because this is a top level domain.

To fix this, I don't see any other solution than introducing a new
configuration variable called $wgMFCookieDomain. Here would be the new patch.

$ diff MobileContext.php.back MobileContext.php
473,477c473
<             $domainParts = explode( '.', $host );
<             $domainParts = array_reverse( $domainParts );
<             // Although some browsers will accept cookies without the initial
., ยป RFC 2109 requires it to be included.
<             wfProfileOut( __METHOD__ );
<             return count( $domainParts ) >= 2 ? '.' . $domainParts[1] . '.' .
$domainParts[0] : $host;
---
>                         return substr( $host, strpos( $host, "." ) );
491c487,488
<         global $wgMFStopRedirectCookieHost;
---
>               global $wgMFStopRedirectCookieHost, $wgMFCookieDomain;
>               $host = $this->getRequest()->getHeader( 'Host' );
493,494c490,495
<         if ( !$wgMFStopRedirectCookieHost ) {
<             $wgMFStopRedirectCookieHost = $this->getBaseDomain();
---
>               if ( !$wgMFStopRedirectCookieHost || 
> $wgMFStopRedirectCookieHost != $host ) {
>                       if ( $wgMFCookieDomain && ( strpos( $host, 
> $wgMFCookieDomain ) !== false )) {
>                         $wgMFStopRedirectCookieHost = $wgMFCookieDomain;
>                       } else {
>                         $wgMFStopRedirectCookieHost = $this->getBaseDomain();
>                       }

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to