mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-12-09 05:36:27 +08:00
VERCEL: skip HTTPS ECH intergration tests
This commit is contained in:
parent
3a24185faf
commit
24d531ab00
2 changed files with 22 additions and 0 deletions
|
|
@ -144,3 +144,13 @@ Vercel does not allow the record type to be changed after creation. If you try t
|
||||||
### Minimum TTL
|
### Minimum TTL
|
||||||
|
|
||||||
Vercel enforces a minimum TTL of 60 seconds (1 minute) for all records. We will always silently override the TTL to 60 seconds if you try to set a lower TTL.
|
Vercel enforces a minimum TTL of 60 seconds (1 minute) for all records. We will always silently override the TTL to 60 seconds if you try to set a lower TTL.
|
||||||
|
|
||||||
|
### HTTPS Record ECH Base64 Validation
|
||||||
|
|
||||||
|
Currently, Vercel does implements IETF's "Bootstrapping TLS Encrypted ClientHello with DNS Service Bindings" draft. However, Vercel also implements a validation process for the `ech` parameter in the `HTTPS` records, and will reject the request with the following error message if Vercel considers the `ech` value is invalid:
|
||||||
|
|
||||||
|
```
|
||||||
|
Invalid base64 string: [input] (key: ech)
|
||||||
|
```
|
||||||
|
|
||||||
|
The detail of Vercel's validation process is unknown, thus we can not support static validation for `dnscontrol check` or `dnscontrol preview`. You should use `ech=` with caution.
|
||||||
|
|
|
||||||
|
|
@ -292,6 +292,18 @@ func makeTests() []*TestGroup {
|
||||||
|
|
||||||
testgroup("Ech",
|
testgroup("Ech",
|
||||||
requires(providers.CanUseHTTPS),
|
requires(providers.CanUseHTTPS),
|
||||||
|
not(
|
||||||
|
// Last tested in 2025-12-04. Turns out that Vercel implements an unknown validation
|
||||||
|
// on the `ech` parameter, and our dummy base64 string are being rejected with:
|
||||||
|
//
|
||||||
|
// Invalid base64 string: [our base64] (key: ech)
|
||||||
|
//
|
||||||
|
// Since Vercel's validation process is unknown and not documented, we can't implement
|
||||||
|
// a rejectif within auditrecord to reject them statically.
|
||||||
|
//
|
||||||
|
// Let's just ignore ECH test for Vercel for now.
|
||||||
|
"VERCEL",
|
||||||
|
),
|
||||||
tc("Create a HTTPS record", https("@", 1, "example.com.", "alpn=h2,h3")),
|
tc("Create a HTTPS record", https("@", 1, "example.com.", "alpn=h2,h3")),
|
||||||
tc("Add an ECH key", https("@", 1, "example.com.", "alpn=h2,h3 ech=some+base64+encoded+value///")),
|
tc("Add an ECH key", https("@", 1, "example.com.", "alpn=h2,h3 ech=some+base64+encoded+value///")),
|
||||||
tc("Ignore the ECH key while changing other values", https("@", 1, "example.net.", "port=80 ech=IGNORE")),
|
tc("Ignore the ECH key while changing other values", https("@", 1, "example.net.", "port=80 ech=IGNORE")),
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue