@@ -32,7 +32,7 @@ import (
3232 "github.com/cloudflare/cfssl/log"
3333 "github.com/cloudflare/cfssl/signer"
3434 "github.com/google/certificate-transparency-go"
35- "github.com/zmap/zlint/lints "
35+ "github.com/zmap/zlint/v2/lint "
3636)
3737
3838const (
@@ -1530,13 +1530,27 @@ func TestLint(t *testing.T) {
15301530 jankyTemplate .ExtKeyUsage = []x509.ExtKeyUsage {x509 .ExtKeyUsageServerAuth , x509 .ExtKeyUsageClientAuth }
15311531 jankyTemplate .IsCA = false
15321532
1533+ ignoredLintNameRegistry , err := lint .GlobalRegistry ().Filter (lint.FilterOptions {
1534+ ExcludeNames : []string {"e_dnsname_not_valid_tld" },
1535+ })
1536+ if err != nil {
1537+ t .Fatalf ("failed to construct ignoredLintNamesRegistry: %v" , err )
1538+ }
1539+
1540+ ignoredLintSourcesRegistry , err := lint .GlobalRegistry ().Filter (lint.FilterOptions {
1541+ ExcludeSources : lint.SourceList {lint .CABFBaselineRequirements },
1542+ })
1543+ if err != nil {
1544+ t .Fatalf ("failed to construct ignoredLintSourcesRegistry: %v" , err )
1545+ }
1546+
15331547 testCases := []struct {
15341548 name string
15351549 signer * Signer
1536- lintErrLevel lints .LintStatus
1537- ignoredLintMap map [ string ] bool
1550+ lintErrLevel lint .LintStatus
1551+ lintRegistry lint. Registry
15381552 expectedErr error
1539- expectedErrResults map [string ]lints .LintResult
1553+ expectedErrResults map [string ]lint .LintResult
15401554 }{
15411555 {
15421556 name : "linting disabled" ,
@@ -1545,46 +1559,50 @@ func TestLint(t *testing.T) {
15451559 {
15461560 name : "signer without lint key" ,
15471561 signer : & Signer {},
1548- lintErrLevel : lints .NA ,
1562+ lintErrLevel : lint .NA ,
15491563 expectedErr : errors .New (`{"code":2500,"message":"Private key is unavailable"}` ),
15501564 },
15511565 {
15521566 name : "lint results above err level" ,
15531567 signer : lintSigner ,
1554- lintErrLevel : lints .Notice ,
1568+ lintErrLevel : lint .Notice ,
15551569 expectedErr : errors .New ("pre-issuance linting found 2 error results" ),
1556- expectedErrResults : map [string ]lints .LintResult {
1557- "e_sub_cert_aia_does_not_contain_ocsp_url" : lints .LintResult {Status : 6 },
1558- "e_dnsname_not_valid_tld" : lints .LintResult {Status : 6 },
1570+ expectedErrResults : map [string ]lint .LintResult {
1571+ "e_sub_cert_aia_does_not_contain_ocsp_url" : lint .LintResult {Status : 6 },
1572+ "e_dnsname_not_valid_tld" : lint .LintResult {Status : 6 },
15591573 },
15601574 },
15611575 {
15621576 name : "lint results below err level" ,
15631577 signer : lintSigner ,
1564- lintErrLevel : lints .Warn ,
1578+ lintErrLevel : lint .Warn ,
15651579 expectedErr : errors .New ("pre-issuance linting found 2 error results" ),
1566- expectedErrResults : map [string ]lints .LintResult {
1567- "e_sub_cert_aia_does_not_contain_ocsp_url" : lints .LintResult {Status : 6 },
1568- "e_dnsname_not_valid_tld" : lints .LintResult {Status : 6 },
1580+ expectedErrResults : map [string ]lint .LintResult {
1581+ "e_sub_cert_aia_does_not_contain_ocsp_url" : lint .LintResult {Status : 6 },
1582+ "e_dnsname_not_valid_tld" : lint .LintResult {Status : 6 },
15691583 },
15701584 },
15711585 {
1572- name : "ignored lints , lint results above err level" ,
1586+ name : "ignored lint names , lint results above err level" ,
15731587 signer : lintSigner ,
1574- lintErrLevel : lints .Notice ,
1575- ignoredLintMap : map [string ]bool {
1576- "e_dnsname_not_valid_tld" : true ,
1577- },
1578- expectedErr : errors .New ("pre-issuance linting found 1 error results" ),
1579- expectedErrResults : map [string ]lints.LintResult {
1580- "e_sub_cert_aia_does_not_contain_ocsp_url" : lints.LintResult {Status : 6 },
1588+ lintErrLevel : lint .Notice ,
1589+ lintRegistry : ignoredLintNameRegistry ,
1590+ expectedErr : errors .New ("pre-issuance linting found 1 error results" ),
1591+ expectedErrResults : map [string ]lint.LintResult {
1592+ "e_sub_cert_aia_does_not_contain_ocsp_url" : lint.LintResult {Status : 6 },
15811593 },
15821594 },
1595+ {
1596+ name : "ignored lint sources, lint results above err level" ,
1597+ signer : lintSigner ,
1598+ lintErrLevel : lint .Notice ,
1599+ lintRegistry : ignoredLintSourcesRegistry ,
1600+ },
15831601 }
15841602
15851603 for _ , tc := range testCases {
15861604 t .Run (tc .name , func (t * testing.T ) {
1587- err := tc .signer .lint (* jankyTemplate , tc .lintErrLevel , tc .ignoredLintMap )
1605+ err := tc .signer .lint (* jankyTemplate , tc .lintErrLevel , tc .lintRegistry )
15881606 if err != nil && tc .expectedErr == nil {
15891607 t .Errorf ("Expected no err, got %#v" , err )
15901608 } else if err == nil && tc .expectedErr != nil {
0 commit comments