Index: core/authentication_api.php =================================================================== --- core/authentication_api.php (revision 211) +++ core/authentication_api.php (working copy) @@ -265,6 +265,8 @@ auth_http_set_logout_pending( true ); } + session_clean(); + return true; } Index: core/session_api.php =================================================================== --- core/session_api.php (revision 211) +++ core/session_api.php (working copy) @@ -58,6 +58,8 @@ session_cache_limiter( 'private_no_expire' ); if ( isset( $_SERVER['HTTPS'] ) && ( strtolower( $_SERVER['HTTPS'] ) != 'off' ) ) { session_set_cookie_params( 0, config_get( 'cookie_path' ), config_get( 'cookie_domain' ), true, true ); + } else { + session_set_cookie_params( 0, config_get( 'cookie_path' ), config_get( 'cookie_domain' ), false, true ); } session_start(); $this->id = session_id(); @@ -85,7 +87,10 @@ } function destroy() { - unset( $_SESSION ); + if ( isset( $_COOKIE[ session_name() ] ) && !headers_sent() ) { + gpc_set_cookie( session_name(), '', time() - 42000 ); + } + //unset( $_SESSION ); session_destroy(); } }