From 2ddba61fa93b30c1af1905a12b45d1b561470510 Mon Sep 17 00:00:00 2001 From: Tulir Asokan <tulir@maunium.net> Date: Tue, 7 Jan 2025 14:55:26 +0200 Subject: [PATCH] Add timeout for login request --- login.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/login.go b/login.go index 06e3b56..b156611 100644 --- a/login.go +++ b/login.go @@ -17,6 +17,7 @@ package main import ( + "context" "crypto/hmac" "crypto/sha256" "encoding/base64" @@ -81,7 +82,9 @@ const cookieName = "gomuks-css-auth" func handleRemoteLogin(w http.ResponseWriter, r *http.Request) { q := r.URL.Query() log := hlog.FromRequest(r) - resp, err := fc.GetOpenIDUserInfo(r.Context(), q.Get("server_name"), q.Get("token")) + timeoutCtx, cancel := context.WithTimeout(r.Context(), 10*time.Second) + resp, err := fc.GetOpenIDUserInfo(timeoutCtx, q.Get("server_name"), q.Get("token")) + cancel() if err != nil { log.Err(err).Msg("Failed to get OpenID user info") w.WriteHeader(http.StatusUnauthorized) -- GitLab