Merge pull request #9461 from reasonerjt/rm-validator-cve

Remove validation for item in CVE whitelist
This commit is contained in:
Wang Yan 2019-10-21 14:52:08 +08:00 committed by GitHub
commit 71bb8815bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 5 deletions

View File

@ -115,6 +115,7 @@ func TestSysCVEWhitelistAPIPut(t *testing.T) {
ExpiresAt: &s, ExpiresAt: &s,
Items: []models.CVEWhitelistItem{ Items: []models.CVEWhitelistItem{
{CVEID: "CVE-2019-12310"}, {CVEID: "CVE-2019-12310"},
{CVEID: "RHSA-2019:2237"},
}, },
}, },
credential: sysAdmin, credential: sysAdmin,

View File

@ -17,7 +17,6 @@ package whitelist
import ( import (
"fmt" "fmt"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"regexp"
) )
type invalidErr struct { type invalidErr struct {
@ -46,11 +45,12 @@ const cveIDPattern = `^CVE-\d{4}-\d+$`
// Validate help validates the CVE whitelist, to ensure the CVE ID is valid and there's no duplication // Validate help validates the CVE whitelist, to ensure the CVE ID is valid and there's no duplication
func Validate(wl models.CVEWhitelist) error { func Validate(wl models.CVEWhitelist) error {
m := map[string]struct{}{} m := map[string]struct{}{}
re := regexp.MustCompile(cveIDPattern) // re := regexp.MustCompile(cveIDPattern)
for _, it := range wl.Items { for _, it := range wl.Items {
if !re.MatchString(it.CVEID) { // Bypass the cve format checking
return &invalidErr{fmt.Sprintf("invalid CVE ID: %s", it.CVEID)} // if !re.MatchString(it.CVEID) {
} // return &invalidErr{fmt.Sprintf("invalid CVE ID: %s", it.CVEID)}
// }
if _, ok := m[it.CVEID]; ok { if _, ok := m[it.CVEID]; ok {
return &invalidErr{fmt.Sprintf("duplicate CVE ID in whitelist: %s", it.CVEID)} return &invalidErr{fmt.Sprintf("duplicate CVE ID in whitelist: %s", it.CVEID)}
} }

View File

@ -67,6 +67,7 @@ func TestValidate(t *testing.T) {
l: models.CVEWhitelist{ l: models.CVEWhitelist{
Items: []models.CVEWhitelistItem{ Items: []models.CVEWhitelistItem{
{CVEID: "breakit"}, {CVEID: "breakit"},
{CVEID: "breakit"},
}, },
}, },
noError: false, noError: false,