federation: limit .well-known file size

This commit is contained in:
Tulir Asokan 2024-09-03 01:49:06 +03:00
commit 4e8156519e

View file

@ -11,6 +11,7 @@ import (
"encoding/json"
"errors"
"fmt"
"io"
"net"
"net/http"
"net/url"
@ -140,7 +141,7 @@ func RequestWellKnown(ctx context.Context, cli *http.Client, hostname string) (*
return nil, time.Time{}, fmt.Errorf("unexpected status code %d", resp.StatusCode)
}
var respData RespWellKnown
err = json.NewDecoder(resp.Body).Decode(&respData)
err = json.NewDecoder(io.LimitReader(resp.Body, 50*1024)).Decode(&respData)
if err != nil {
return nil, time.Time{}, fmt.Errorf("failed to decode response: %w", err)
} else if respData.Server == "" {