Dovydas added a record in IP.BoardProblem logging outI have experienced a weird bug where users have to wait 5 minutes before they can logout after login.
HTTP header log: http://pastebin.com/nsxHAR1X
Before doing this, full browser cache clean was performed and forum index was opened.
1) Login performed
2) Site index loaded
3) Logout is performed successfully
4) Site index loaded
5) Login performed
6) Site index loaded
7) Logout is performed, but nothing happens as the browser has cached logout link as forum index link and goes straight to board index.
The bug happens with Firefox version 14.0.1 and Chrome version 20.0.1132.57 m, but doesn't happen with Opera 12.01 Build 1532. (All three browsers are currently newest version).
Adding a random string to the logout link solves this problem.
On a clean forum install in my localhost, redirects are performed with "HTTP/1.1 302 Found" header, but on another host (not a clean install, but 3.0.2->3.3.4 upgrade, 3.3.4 files unmodified, custom hooks/apps aren't touching login/logout functionality) redirects are performed with "HTTP/1.1 302 Moved Temporarily", "Expires: Current time+5min" headers (as in the header log provided above). I believe this is where the problem is, but I'm not sure.
What causes these redirect headers to be different? Is this the hosting company misconfiguration, or IPB forum setting?
- 0 replies
- 0 views
Dovydas added a record in IP.BoardUpgrade problem with OpenIDHello,
I have encoutered the following problem:
While upgrading IP.Board 3.0.2 for my client to 3.3.3 there's a problem with OpenID.
The page site.com/admin/upgrade/index.php is blank. This problem is caused by missing libraries in the server (gmp.dll in my case). Since OpenID is removed in the newer version I am confused why no server support for OpenID is causing problems.
I propose the following change:
In admin\sources\handlers\han_login.php lines 549-563:
foreach( $cache as $login_method )
if( $login_method['login_enabled'] )
if( is_file( IPS_PATH_CUSTOM_LOGIN . '/' . $login_method['login_folder_name'] . '/auth.php' ) )
$classes[ $login_method['login_order'] ] = IPS_PATH_CUSTOM_LOGIN . '/' . $login_method['login_folder_name'] . '/auth.php';
$this->login_methods[ $login_method['login_order'] ] = $login_method;
$this->login_confs[ $login_method['login_order'] ] = $login_method['login_custom_config'] ? @unserialize( $login_method['login_custom_config'] ) : array();
$classname = IPSLib::loadLibrary( $classes[ $login_method['login_order'] ], 'login_' . $login_method['login_folder_name'] );
[b]$this->modules[ $login_method['login_order'] ] = new $classname( $this->registry, $login_method, $this->login_confs[ $login_method['login_order'] ] );[/b]
Before creating class "login_openid" (bold line) I would suggest to check if the server supports OpenID to avoid future confusions in the upgrade process or to completely remove OpenID support in the upgrader if it's not supposed to be ran by authenticating with OpenID.
- 0 replies
- 0 views