mirror of
https://github.com/gohugoio/hugo.git
synced 2026-08-24 23:38:53 +00:00
a3d9548469
This commit also adds validation to prevent the "Billion Laughs" attack (see https://github.com/goccy/go-yaml/issues/461). The limit of non-scalar aliases to the same node is set to 10,000. See benchmarks below. ``` │ sec/op │ UnmarshalBillionLaughs/Billion_Laughs_no_validation-10 125.2µ ± ∞ ¹ UnmarshalBillionLaughs/Billion_Laughs_with_validation-10 655.8µ ± ∞ ¹ UnmarshalBillionLaughs/YAML_Front_Matter_no_validation-10 9.223µ ± ∞ ¹ UnmarshalBillionLaughs/YAML_Front_Matter_with_validation-10 9.443µ ± ∞ ¹ geomean 51.71µ ¹ need >= 6 samples for confidence interval at level 0.95 │ fix-goyaml-8822.bench │ │ B/op │ UnmarshalBillionLaughs/Billion_Laughs_no_validation-10 177.0Ki ± ∞ ¹ UnmarshalBillionLaughs/Billion_Laughs_with_validation-10 177.0Ki ± ∞ ¹ UnmarshalBillionLaughs/YAML_Front_Matter_no_validation-10 11.67Ki ± ∞ ¹ UnmarshalBillionLaughs/YAML_Front_Matter_with_validation-10 11.67Ki ± ∞ ¹ geomean 45.45Ki ¹ need >= 6 samples for confidence interval at level 0.95 │ fix-goyaml-8822.bench │ │ allocs/op │ UnmarshalBillionLaughs/Billion_Laughs_no_validation-10 3.302k ± ∞ ¹ UnmarshalBillionLaughs/Billion_Laughs_with_validation-10 3.305k ± ∞ ¹ UnmarshalBillionLaughs/YAML_Front_Matter_no_validation-10 253.0 ± ∞ ¹ UnmarshalBillionLaughs/YAML_Front_Matter_with_validation-10 253.0 ± ∞ ¹ ```` Fixes #8822 Fixes #13043 Fixes #14053 Fixes ##8427
43 lines
854 B
Plaintext
43 lines
854 B
Plaintext
# Test the hugo server command when adding a front matter error to a content file
|
|
# and then fixing it.
|
|
|
|
hugo server &
|
|
|
|
waitServer
|
|
|
|
httpget ${HUGOTEST_BASEURL_0}p1/ 'Title: P1'
|
|
|
|
replace $WORK/content/p1/index.md 'title:' 'titlecolon'
|
|
httpget ${HUGOTEST_BASEURL_0}p1/ 'Error'
|
|
|
|
replace $WORK/content/p1/index.md 'titlecolon' 'title:'
|
|
httpget ${HUGOTEST_BASEURL_0}p1/ 'Title: P1'
|
|
|
|
stopServer
|
|
|
|
-- hugo.toml --
|
|
title = "Hugo Server Test"
|
|
baseURL = "https://example.org/"
|
|
disableKinds = ["taxonomy", "term", "sitemap"]
|
|
-- layouts/index.html --
|
|
Title: {{ .Title }}|BaseURL: {{ site.BaseURL }}|
|
|
-- layouts/_default/single.html --
|
|
Title: {{ .Title }}|BaseURL: {{ site.BaseURL }}|
|
|
-- content/_index.md --
|
|
---
|
|
title: Hugo Home
|
|
---
|
|
-- content/p1/index.md --
|
|
---
|
|
title: P1
|
|
---
|
|
-- content/p2/index.md --
|
|
---
|
|
title: P2
|
|
---
|
|
-- static/staticfiles/static.txt --
|
|
static
|
|
|
|
|
|
|