[run] deadline = "5m" skip-files = [] [linters-settings] [linters-settings.govet] check-shadowing = true [linters-settings.gocyclo] min-complexity = 12.0 [linters-settings.maligned] suggest-new = true [linters-settings.goconst] min-len = 3.0 min-occurrences = 3.0 [linters-settings.misspell] locale = "US" [linters] enable-all = true disable = [ "maligned", "lll", "gas", "dupl", "prealloc", "scopelint", "bodyclose", # https://github.com/timakin/bodyclose/pull/14 ] [issues] exclude-use-default = false max-per-linter = 0 max-same-issues = 0 exclude = [ "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*printf?|os\\.(Un)?Setenv). is not checked", "exported (type|method|function) (.+) should have comment or be unexported", ] [[issues.exclude-rules]] path = "(.+)_test.go" linters = ["funlen"] [[issues.exclude-rules]] path = "providers/dns/dns_providers.go" linters = ["gocyclo"] [[issues.exclude-rules]] path = "providers/dns/gcloud/googlecloud_test.go" text = "string `(lego\\.wtf|manhattan)` has (\\d+) occurrences, make it a constant" [[issues.exclude-rules]] path = "providers/dns/zoneee/zoneee_test.go" text = "string `(bar|foo)` has (\\d+) occurrences, make it a constant" [[issues.exclude-rules]] path = "certcrypto/crypto.go" text = "`(tlsFeatureExtensionOID|ocspMustStapleFeature)` is a global variable" [[issues.exclude-rules]] path = "challenge/dns01/nameserver.go" text = "`(defaultNameservers|recursiveNameservers|dnsTimeout|fqdnSoaCache|muFqdnSoaCache)` is a global variable" [[issues.exclude-rules]] path = "challenge/dns01/nameserver_test.go" text = "`findXByFqdnTestCases` is a global variable" [[issues.exclude-rules]] path = "challenge/http01/domain_matcher.go" text = "string `Host` has \\d occurrences, make it a constant" [[issues.exclude-rules]] path = "challenge/http01/domain_matcher.go" text = "cyclomatic complexity \\d+ of func `parseForwardedHeader` is high" [[issues.exclude-rules]] path = "challenge/http01/domain_matcher.go" text = "Function 'parseForwardedHeader' has too many statements" [[issues.exclude-rules]] path = "challenge/tlsalpn01/tls_alpn_challenge.go" text = "`idPeAcmeIdentifierV1` is a global variable" [[issues.exclude-rules]] path = "log/logger.go" text = "`Logger` is a global variable" [[issues.exclude-rules]] path = "cmd/lego/main.go" text = "`version` is a global variable" [[issues.exclude-rules]] path = "e2e/(dnschallenge/)?[\\d\\w]+_test.go" text = "`load` is a global variable" [[issues.exclude-rules]] path = "providers/dns/([\\d\\w]+/)*[\\d\\w]+_test.go" text = "`envTest` is a global variable" [[issues.exclude-rules]] path = "providers/dns/namecheap/namecheap_test.go" text = "`(tldsMock|testCases)` is a global variable" [[issues.exclude-rules]] path = "providers/dns/acmedns/acmedns_test.go" text = "`(errorClientErr|errorStorageErr|egTestAccount)` is a global variable" [[issues.exclude-rules]] path = "providers/http/memcached/memcached_test.go" text = "`memcachedHosts` is a global variable" [[issues.exclude-rules]] path = "providers/dns/sakuracloud/client_test.go" text = "cyclomatic complexity 13 of func `(TestDNSProvider_cleanupTXTRecord_concurrent|TestDNSProvider_addTXTRecord_concurrent)` is high" [[issues.exclude-rules]] path = "providers/dns/dns_providers.go" text = "Function 'NewDNSChallengeProviderByName' has too many statements" [[issues.exclude-rules]] path = "cmd/flags.go" text = "Function 'CreateFlags' is too long" [[issues.exclude-rules]] path = "certificate/certificates.go" text = "Function 'GetOCSP' is too long" [[issues.exclude-rules]] path = "providers/dns/otc/client.go" text = "Function 'loginRequest' is too long" [[issues.exclude-rules]] path = "providers/dns/gandi/gandi.go" text = "Function 'Present' is too long"