From 6a5b223584e1d571a063b3a87c6d35dfc97a2deb Mon Sep 17 00:00:00 2001 From: Tak Wai Wong <64229756+tak-hntlabs@users.noreply.github.com> Date: Wed, 10 Aug 2022 18:44:28 -0700 Subject: [PATCH] Pull the fix for user_interactive crash from dendrite fork (#249) * Fix issues with migrations not getting executed (#2628) * Fix issues with migrations not getting executed * Check actual postgres error * Return error if it's not "column does not exist" * Send-to-device/sync tweaks (#2630) * Always delete send to device messages * Omit empty to_device * Tweak /sync response to omit empty values * Add housekeeping function to delete old/expired EDUs (#2399) * Add housekeeping function to delete old/expired EDUs * Add migrations * Evict EDUs from cache * Fix queries * Fix upgrade * Use map[string]time.Duration to specify different expiry times * Fix copy & paste mistake * Set expires_at to tomorrow * Don't allow NULL * Add comment * Add tests * Use new testrig package * Fix migrations * Never expire m.direct_to_device Co-authored-by: Neil Alexander Co-authored-by: kegsay * Remove nonce generation for eip4361 signin (#25) Co-authored-by: Tak Wai Wong * Fix user_interactive crash when multiple clients try to log in (#26) * add rw locks * lock / unlock protect other fields Co-authored-by: Tak Wai Wong Co-authored-by: Till <2353100+S7evinK@users.noreply.github.com> Co-authored-by: Neil Alexander Co-authored-by: kegsay Co-authored-by: Tak Wai Wong Co-authored-by: Tak Wai Wong --- clientapi/auth/user_interactive.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clientapi/auth/user_interactive.go b/clientapi/auth/user_interactive.go index b509ebf46..9dad49a39 100644 --- a/clientapi/auth/user_interactive.go +++ b/clientapi/auth/user_interactive.go @@ -164,7 +164,9 @@ func (u *UserInteractive) AddCompletedStage(sessionID, authType string) { } func (u *UserInteractive) DeleteSession(sessionID string) { + u.Lock() delete(u.Sessions, sessionID) + u.Unlock() } type Challenge struct {