1111 clean name bug (#1347)

This commit is contained in:
Christopher Angelo Phillips
2022-11-18 14:45:18 +00:00
committed by GitHub
parent 9afc9231c0
commit 67888ee855
8 changed files with 24 additions and 25 deletions
@@ -4,6 +4,7 @@ import (
"fmt"
"net/url"
"path"
"strings"
"github.com/google/uuid"
@@ -23,6 +24,7 @@ func DocumentNameAndNamespace(srcMetadata source.Metadata) (string, string) {
}
func DocumentNamespace(name string, srcMetadata source.Metadata) string {
name = cleanName(name)
input := "unknown-source-type"
switch srcMetadata.Scheme {
case source.ImageScheme:
@@ -47,3 +49,13 @@ func DocumentNamespace(name string, srcMetadata source.Metadata) string {
return u.String()
}
// see: https://spdx.github.io/spdx-spec/v2.3/document-creation-information/#65-spdx-document-namespace-field
func cleanName(name string) string {
// remove # according to specification
name = strings.ReplaceAll(name, "#", "-")
// remove : for url construction
name = strings.ReplaceAll(name, ":", "-")
// clean relative pathing
return path.Clean(name)
}