|
@@ -41,35 +41,56 @@ issues:
|
|
exclude-use-default: false
|
|
exclude-use-default: false
|
|
|
|
|
|
exclude-rules:
|
|
exclude-rules:
|
|
- # These are copied from the default exclude rules, except for "ineffective break statement"
|
|
|
|
- # and GoDoc checks.
|
|
|
|
- # https://github.com/golangci/golangci-lint/blob/0cc87df732aaf1d5ad9ce9ca538d38d916918b36/pkg/config/config.go#L36
|
|
|
|
- - text: "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*printf?|os\\.(Un)?Setenv). is not checked"
|
|
|
|
|
|
+ # We prefer to use an "exclude-list" so that new "default" exclusions are not
|
|
|
|
+ # automatically inherited. We can decide whether or not to follow upstream
|
|
|
|
+ # defaults when updating golang-ci-lint versions.
|
|
|
|
+ # Unfortunately, this means we have to copy the whole exclusion pattern, as
|
|
|
|
+ # (unlike the "include" option), the "exclude" option does not take exclusion
|
|
|
|
+ # ID's.
|
|
|
|
+ #
|
|
|
|
+ # These exclusion patterns are copied from the default excluses at:
|
|
|
|
+ # https://github.com/golangci/golangci-lint/blob/v1.44.0/pkg/config/issues.go#L10-L104
|
|
|
|
+
|
|
|
|
+ # EXC0001
|
|
|
|
+ - text: "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*print(f|ln)?|os\\.(Un)?Setenv). is not checked"
|
|
linters:
|
|
linters:
|
|
- errcheck
|
|
- errcheck
|
|
|
|
+ # EXC0003
|
|
- text: "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this"
|
|
- text: "func name will be used as test\\.Test.* by other packages, and that stutters; consider calling this"
|
|
linters:
|
|
linters:
|
|
- golint
|
|
- golint
|
|
- - text: "G103: Use of unsafe calls should be audited"
|
|
|
|
|
|
+ # EXC0006
|
|
|
|
+ - text: "Use of unsafe calls should be audited"
|
|
|
|
+ linters:
|
|
|
|
+ - gosec
|
|
|
|
+ # EXC0007
|
|
|
|
+ - text: "Subprocess launch(ed with variable|ing should be audited)"
|
|
linters:
|
|
linters:
|
|
- gosec
|
|
- gosec
|
|
- - text: "G104: Errors unhandled"
|
|
|
|
|
|
+ # EXC0008
|
|
|
|
+ # TODO: evaluate these and fix where needed: G307: Deferring unsafe method "*os.File" on type "Close" (gosec)
|
|
|
|
+ - text: "(G104|G307)"
|
|
linters:
|
|
linters:
|
|
- gosec
|
|
- gosec
|
|
- - text: "G204: Subprocess launch(ed with (variable|function call)|ing should be audited)"
|
|
|
|
|
|
+ # EXC0009
|
|
|
|
+ - text: "(Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)"
|
|
linters:
|
|
linters:
|
|
- gosec
|
|
- gosec
|
|
- - text: "(G301|G302): (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)"
|
|
|
|
|
|
+ # EXC0010
|
|
|
|
+ - text: "Potential file inclusion via variable"
|
|
linters:
|
|
linters:
|
|
- gosec
|
|
- gosec
|
|
- - text: "G304: Potential file inclusion via variable"
|
|
|
|
|
|
+
|
|
|
|
+ # Looks like the match in "EXC0007" above doesn't catch this one
|
|
|
|
+ # TODO: consider upstreaming this to golangci-lint's default exclusion rules
|
|
|
|
+ - text: "G204: Subprocess launched with a potential tainted input or cmd arguments"
|
|
linters:
|
|
linters:
|
|
- gosec
|
|
- gosec
|
|
|
|
+ # Looks like the match in "EXC0009" above doesn't catch this one
|
|
|
|
+ # TODO: consider upstreaming this to golangci-lint's default exclusion rules
|
|
- text: "G306: Expect WriteFile permissions to be 0600 or less"
|
|
- text: "G306: Expect WriteFile permissions to be 0600 or less"
|
|
linters:
|
|
linters:
|
|
- gosec
|
|
- gosec
|
|
- - text: 'G307: Deferring unsafe method "Close" on type "*os.File"'
|
|
|
|
- linters: gosec
|
|
|
|
|
|
|
|
# Exclude some linters from running on tests files.
|
|
# Exclude some linters from running on tests files.
|
|
- path: _test\.go
|
|
- path: _test\.go
|
|
@@ -82,10 +103,6 @@ issues:
|
|
path: "api/types/(volume|container)/"
|
|
path: "api/types/(volume|container)/"
|
|
linters:
|
|
linters:
|
|
- golint
|
|
- golint
|
|
- # FIXME: evaluate these and fix where needed: G307: Deferring unsafe method "*os.File" on type "Close" (gosec)
|
|
|
|
- - text: "G307: Deferring unsafe method"
|
|
|
|
- linters:
|
|
|
|
- - gosec
|
|
|
|
# FIXME temporarily suppress these. See #39924
|
|
# FIXME temporarily suppress these. See #39924
|
|
- text: "SA1019: .*\\.Xattrs is deprecated: Use PAXRecords instead"
|
|
- text: "SA1019: .*\\.Xattrs is deprecated: Use PAXRecords instead"
|
|
linters:
|
|
linters:
|