internal/report: upgrade to yaml.v3

- Upgrade to v3 of the yaml package. It allows setting
  an indent for encoding.

- Add Report.Write and Report.ToString methods to internal/report, so
  all formatting is controlled by that package. Update other
  code to use them.

- Add tests to internal/report.

Note that the output of yaml encoding, even with an indent,
does not match the format of most of our reports. First,
the encoding uses single quotes instead of double quotes.
Second, an indent of 4 puts two spaces before the "-" of a list,
but four spaces before other indented values, like key-value
pairs and indented text blocks (values that start with "|").
The existing reports don't match that format.

Change-Id: Ibfdd9c6bcea502e238500bf79164a55775d5b065
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/379775
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
8 files changed
tree: 4dd41fd1074a9c2cefcd0b176ac299e1e4ca8c27
  1. .github/
  2. cmd/
  3. deploy/
  4. devtools/
  5. doc/
  6. internal/
  7. reports/
  8. terraform/
  9. .gitignore
  10. all_test.go
  11. AUTHORS
  12. checks.bash
  13. CONTRIBUTING.md
  14. CONTRIBUTORS
  15. go.mod
  16. go.sum
  17. LICENSE
  18. PATENTS
  19. README.md
  20. tools_test.go
README.md

The Go Vulnerability Database

This repository contains the reports for the Go Vulnerability Database.

If you are interested accessing data from the Go Vulnerability Database, see x/vuln for information. This repository is only used for adding new vulnerabilities.

Reporting a vulnerability

We are not accepting new vulnerability reports at this time. We will update this README.md once we are ready to receive reports.

License

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Database entries are distributed under the terms of the CC-BY 4.0 license. See x/vuln for information on how to access these entries.