Thursday, March 31, 2005

Silly Time Bug 2005

I noticed a very irritating bug in our mambo environment, there was inability to login to mambo site when using IE6. Mozilla Firefox from the same machines was able to login! Not only that, but some IE6 machines managed to login all times, while the rest could not login at all (they were thrown back to the login page). A IE5.5 machine was tested and proved to be working.

Debugging the core revealed that there was inability in IE6 to accept a cookie named "sessioncookie" (although it was a persistent cookie, instead), while Mozilla was correctly accepting it. However, IE6 did not behave consistent, since it was accepting the subsequent cookie "mosvisitor" (which IS a real session cookie, btw).

The solution:--
Go to classes/mambo.php, approx line 142 and change:
the line : setcookie( "sessioncookie", $session->getCookie(), time() + 43200, "/" );
into : setcookie( "sessioncookie", $session->getCookie(), time() + 2*86400, "/" );

Now, the mambo time bug. Although it's open source and fits better with mozilla, we have to do something about IE6. So, server machine must be correctly configured in terms of local time/timezone/dst. The only thing I can do is give IE6 some more time. I raise the interval from 12h to 48h. So, Mozilla should compute as well as IE6.

No comments: