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

Simon <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #12 from Simon <[email protected]> 2012-01-10 02:30:49 UTC ---
I think I met the same problem. I have a mediawiki setup, but IE8 login will
always fail with the cookie error, while other browsers like firefox, chrome
are all ok.

One more strange thing is that st my side when use IP address link to login
with IE, it works. But use DNS names it failed. (eg use IE to login
http://xx.xx.xx.xx/mediawiki is ok, but login http://abc.def.com/mediawiki will
fail)

I'm sorry I can't provide a link either as it's on my company's intranet. But I
believe there must be some hidden bug in MediaWiki code that has IE
compatibility issue (for me it's 100% reproducible), and probably start
happening after 1.16 version with CSRF fixes added.

I did a little debug and looking into code at SpecialUserLogin.php function
authenticateUserData:

                // If the user doesn't have a login token yet, set one.
                if ( !self::getLoginToken() ) {
                        self::setLoginToken();
                        return self::NEED_TOKEN;
                }
                // If the user didn't pass a login token, tell them we need one
                if ( !$this->mToken ) {
                        return self::NEED_TOKEN;
                }

                $throttleCount = self::incLoginThrottle( $this->mUsername );
                if ( $throttleCount === true ) {
                        return self::THROTTLED;
                }

                // Validate the login token
                if ( $this->mToken !== self::getLoginToken() ) {
                        return self::WRONG_TOKEN;
                }

When I login with IE, it stops at the first if statement and returned
NEED_TOKEN. That's why I saw the "Cookie disabled" message.

I'm not an PHP expert and not quite understand what it's doing here, but I feel
if user doesn't have a login token, then set one should work rather than just
stop and return an error. So I comment out the return line and try, then it
fails at the validate token part and returns WRONG_TOKEN.

If I even comment out the return self::WRONG_TOKEN line, it will go on and
finally still fail and prompt me incorrect password (though my password is
correct).

Hope somebody and look at this and get it fixed. Thanks.

By the way I'm using LDAP authentication extension, and nothing other special
in LocalSettings.php.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to