# options for analysis running
'run':
  # default concurrency is a available CPU number
  'concurrency': 4

  # timeout for analysis, e.g. 30s, 5m, default is 1m
  'deadline': '2m'

  # which files to skip: they will be analyzed, but issues from them
  # won't be reported. Default value is empty list, but there is
  # no need to include all autogenerated files, we confidently recognize
  # autogenerated files. If it's not please let us know.
  'skip-files':
  - '.*generated.*'
  - 'dnsfilter/rule_to_regexp.go'
  - 'util/pprof.go'
  - '.*_test.go'
  - 'client/.*'
  - 'build/.*'
  - 'dist/.*'

# all available settings of specific linters
'linters-settings':
  'errcheck':
    # [deprecated] comma-separated list of pairs of the form pkg:regex
    # the regex is used to ignore names within pkg. (default "fmt:.*").
    # see https://github.com/kisielk/errcheck#the-deprecated-method for details
    'ignore': 'fmt:.*,net:SetReadDeadline,net/http:^Write'
  'gocyclo':
    'min-complexity': 20
  'lll':
    'line-length': 200

'linters':
  'enable':
  - 'bodyclose'
  - 'deadcode'
  - 'depguard'
  - 'dupl'
  - 'errcheck'
  - 'gocyclo'
  - 'goimports'
  - 'golint'
  - 'gosec'
  - 'govet'
  - 'ineffassign'
  - 'misspell'
  - 'staticcheck'
  - 'stylecheck'
  - 'unconvert'
  - 'unused'
  - 'varcheck'
  'disable-all': true
  'fast': true

'issues':
  # List of regexps of issue texts to exclude, empty list by default.
  # But independently from this option we use default exclude patterns,
  # it can be disabled by `exclude-use-default: false`. To list all
  # excluded by default patterns execute `golangci-lint run --help`
  'exclude':
  # structcheck cannot detect usages while they're there
  - '.parentalServer. is unused'
  - '.safeBrowsingServer. is unused'
  # errcheck
  - 'Error return value of .s.closeConn. is not checked'
  - 'Error return value of ..*.Shutdown.'
  # goconst
  - 'string .forcesafesearch.google.com. has 3 occurrences'
  # gosec: Profiling endpoint is automatically exposed on /debug/pprof
  - 'G108'
  # gosec: Subprocess launched with function call as argument or cmd arguments
  - 'G204'
  # gosec: Potential DoS vulnerability via decompression bomb
  - 'G110'
  # gosec: Expect WriteFile permissions to be 0600 or less
  - 'G306'
