## SPDX-FileCopyrightText: The go-mail Authors ## ## SPDX-License-Identifier: MIT version = '2' [run] go = '1.24' tests = true [linters] enable = [ 'containedctx', 'contextcheck', 'decorder', 'errname', 'errorlint', 'gosec', 'staticcheck', 'whitespace' ] [linters.exclusions] generated = 'lax' presets = [ 'comments', 'common-false-positives', 'legacy', 'std-error-handling' ] paths = [ 'examples', 'third_party$', 'builtin$', 'examples$' ] ## An overflow is impossible here [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'random.go' text = 'G115:' ## These are tests which intentionally do not need any TLS settings [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'client_test.go' text = 'G402:' ## These are tests which intentionally do not need any TLS settings [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'smtp/smtp_test.go' text = 'G402:' ## We do not dictate a TLS minimum version in the smtp package. go-mail ## itself does set sane defaults [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'smtp/smtp.go' text = 'G402:' ## The chance that we write +2 million tests is very low, I think we can ## ignore this for the time being [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'client_test.go' text = 'G109:' ## The chance that we write +2 million tests is very low, I think we can ## ignore this for the time being [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'smtp/smtp_test.go' text = 'G109:' ## We inform the user about the deprecated status of CRAM-MD5 and suggest ## to use SCRAM-SHA instead [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'smtp/auth_cram_md5.go' text = 'G501:' ## Yes, SHA1 is weak, but in the context of SCRAM it is still considered ## secure for specific applications. The user is information about this ## in the documentation [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'smtp/auth_scram.go' text = 'G505:' ## Test code for SCRAM-SHA1. Can be ignored. [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'smtp/smtp_test.go' text = 'G505:' ## These are tests which intentionally do not need any TLS settings [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'quicksend_test.go' text = 'G402:' ## These are tests which intentionally test SHA1 and SHA256 [[linters.exclusions.rules]] linters = [ 'gosec' ] path = 'internal/pbkdf2/pbkdf2_test.go' text = 'G505:' [formatters] enable = [ 'gofmt', 'gofumpt' ] [formatters.exclusions] generated = 'lax' paths = [ 'examples', 'third_party$', 'builtin$', 'examples$' ]