Ignore only the malformed _redirects/_headers rules.

Before this commit, upon encountering a malformed rule, the entire file
was ignored. This is both increasingly unviable for complex sites,
a likely source of self-DoS (or at least degradation of service),
and not the behavior Grebedoc has been promising for a few weeks.
This commit is contained in:
Catherine
2025-11-11 15:55:47 +00:00
parent c90b453d44
commit 02b5b7d2bb
2 changed files with 4 additions and 2 deletions

View File

@@ -103,8 +103,9 @@ func ProcessHeadersFile(manifest *Manifest) error {
for index, rule := range rules {
if err := validateHeaderRule(rule); err != nil {
return AddProblem(manifest, headersFileName,
AddProblem(manifest, headersFileName,
"rule #%d %q: %s", index+1, rule.Path, err)
continue
}
headerMap := []*Header{}
for header, values := range rule.Headers {

View File

@@ -102,8 +102,9 @@ func ProcessRedirectsFile(manifest *Manifest) error {
for index, rule := range rules {
if err := validateRedirectRule(rule); err != nil {
return AddProblem(manifest, redirectsFileName,
AddProblem(manifest, redirectsFileName,
"rule #%d %q: %s", index+1, unparseRule(rule), err)
continue
}
manifest.Redirects = append(manifest.Redirects, &RedirectRule{
From: proto.String(rule.From),