From d8abecb0472681386a65fd3072674bd6b5b3717b Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Sat, 26 Jul 2025 22:45:15 +0000 Subject: [PATCH] fix(anubis): nuke challengeFor function Signed-off-by: Xe Iaso --- lib/anubis.go | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/lib/anubis.go b/lib/anubis.go index cd41d88..06b030a 100644 --- a/lib/anubis.go +++ b/lib/anubis.go @@ -90,31 +90,6 @@ func (s *Server) getTokenKeyfunc() jwt.Keyfunc { } } -func (s *Server) challengeFor(r *http.Request, lg *slog.Logger, cr policy.CheckResult, rule *policy.Bot) (*challenge.Challenge, error) { - ckies := r.CookiesNamed(anubis.TestCookieName) - - if len(ckies) == 0 { - lg.Info("no test cookie found, issuing new challenge") - return s.issueChallenge(r.Context(), r, lg, cr, rule) - } - - j := store.JSON[challenge.Challenge]{Underlying: s.store} - - ckie := ckies[0] - chall, err := j.Get(r.Context(), "challenge:"+ckie.Value) - if err != nil { - lg.Error("can't find challenge", "id", ckie.Value, "err", err) - if errors.Is(err, store.ErrNotFound) { - lg.Info("issuing new challenge because error is storeErrNotFound") - return s.issueChallenge(r.Context(), r, lg, cr, rule) - } - - return nil, err - } - - return &chall, nil -} - func (s *Server) getChallenge(r *http.Request) (*challenge.Challenge, error) { ckies := r.CookiesNamed(anubis.TestCookieName) if len(ckies) == 0 { @@ -371,7 +346,7 @@ func (s *Server) MakeChallenge(w http.ResponseWriter, r *http.Request) { } lg = lg.With("check_result", cr) - chall, err := s.challengeFor(r, lg, cr, rule) + chall, err := s.issueChallenge(r.Context(), r, lg, cr, rule) if err != nil { lg.Error("failed to fetch or issue challenge", "err", err) w.WriteHeader(http.StatusInternalServerError)