From e34754c65c44a4b021266b22740537f18c0068ab Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 26 Dec 2017 15:25:53 -0600 Subject: [PATCH] Possible fix for #3460: Timeout in `update_last_ip_addr`. Set the user's statement timeout as soon as possible, before updating anything in the database. --- app/logical/session_loader.rb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/logical/session_loader.rb b/app/logical/session_loader.rb index 979d3c70e6f..ddf2bcd97e2 100644 --- a/app/logical/session_loader.rb +++ b/app/logical/session_loader.rb @@ -11,6 +11,8 @@ def initialize(session, cookies, request, params) end def load + CurrentUser.user = AnonymousUser.new + if session[:user_id] load_session_user elsif cookie_password_hash_valid? @@ -18,18 +20,13 @@ def load else load_session_for_api end - - if CurrentUser.user - CurrentUser.user.unban! if CurrentUser.user.ban_expired? - else - CurrentUser.user = AnonymousUser.new - end + set_statement_timeout update_last_logged_in_at update_last_ip_addr set_time_zone store_favorite_tags_in_cookies - set_statement_timeout + CurrentUser.user.unban! if CurrentUser.user.ban_expired? end private