webadmin: don't show runtime typecheck error for invalid values in dmarc and tls reports

several fields in dmarc and tls reports have known string values. we have a Go
string type for them. sherpats (through sherpadoc) turns those strings into
typescript enums, and sherpats generates runtime-typechecking code (to enforce
correct types for incoming json, to prevent failing deeper in the code when we
get invalid data (much harder to debug)). the Go not-really-enum types allow
other values, and real-world reports have unknown/unspecified/invalid values.
this uses the sherpadoc -rename flag to turn those enums into regular untyped
strings, so sherpats doesn't generate enum-enforcing runtime type checking
code.

this required an update to sherpadoc, to properly handling renaming a type to a
basic type instead of another named type.

for issue #161 by RobSlgm, thanks for reporting!
This commit is contained in:
Mechiel Lukkien
2024-05-09 15:58:14 +02:00
parent 44a6927379
commit a2c9cfc55b
11 changed files with 117 additions and 583 deletions

2
vendor/modules.txt vendored
View File

@ -25,7 +25,7 @@ github.com/mjl-/sconf
# github.com/mjl-/sherpa v0.6.7
## explicit; go 1.12
github.com/mjl-/sherpa
# github.com/mjl-/sherpadoc v0.0.14
# github.com/mjl-/sherpadoc v0.0.16
## explicit; go 1.16
github.com/mjl-/sherpadoc
github.com/mjl-/sherpadoc/cmd/sherpadoc