# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2022-04-29 12:31:14 UTC using RuboCop version 1.28.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: Include.
# Include: **/*.gemspec
Gemspec/RequireMFA:
  Exclude:
    - 'net-ssh.gemspec'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: aligned, indented
Layout/LineEndStringConcatenationIndentation:
  Exclude:
    - 'lib/net/ssh/transport/algorithms.rb'

# Offense count: 7
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: aligned, indented
Layout/MultilineOperationIndentation:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/proxy/https.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/state.rb'

# Offense count: 5
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
# SupportedStyles: space, no_space
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceInsideBlockBraces:
  Exclude:
    - 'lib/net/ssh/authentication/session.rb'
    - 'lib/net/ssh/transport/ctr.rb'
    - 'support/ssh_tunnel_bug.rb'

# Offense count: 6
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
# SupportedStyles: space, no_space
# SupportedStylesForEmptyBrackets: space, no_space
Layout/SpaceInsideReferenceBrackets:
  Exclude:
    - 'lib/net/ssh/transport/algorithms.rb'

# Offense count: 11
# This cop supports safe auto-correction (--auto-correct).
Lint/AmbiguousOperatorPrecedence:
  Exclude:
    - 'lib/net/ssh/authentication/certificate.rb'
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/loggable.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb'
    - 'lib/net/ssh/transport/openssl.rb'
    - 'lib/net/ssh/transport/state.rb'
    - 'lib/net/ssh/version.rb'
    - 'test/integration/test_proxy.rb'

# Offense count: 4
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
  Exclude:
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/proxy/command.rb'

# Offense count: 1
# Configuration parameters: AllowedMethods.
# AllowedMethods: enums
Lint/ConstantDefinitionInBlock:
  Exclude:
    - 'test/transport/test_cipher_factory.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Lint/DeprecatedClassMethods:
  Exclude:
    - 'lib/net/ssh/transport/packet_stream.rb'

# Offense count: 12
# This cop supports safe auto-correction (--auto-correct).
Lint/DeprecatedOpenSSLConstant:
  Exclude:
    - 'lib/net/ssh/transport/openssl.rb'

# Offense count: 2
# Configuration parameters: AllowComments, AllowEmptyLambdas.
Lint/EmptyBlock:
  Exclude:
    - 'test/common.rb'
    - 'test/start/test_transport.rb'

# Offense count: 1
# Configuration parameters: AllowComments.
Lint/EmptyWhen:
  Exclude:
    - 'lib/net/ssh/config.rb'

# Offense count: 72
Lint/ImplicitStringConcatenation:
  Exclude:
    - 'lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'

# Offense count: 8
# This cop supports safe auto-correction (--auto-correct).
Lint/IncompatibleIoSelectWithFiberScheduler:
  Exclude:
    - 'lib/net/ssh/buffered_io.rb'
    - 'lib/net/ssh/proxy/command.rb'
    - 'lib/net/ssh/transport/packet_stream.rb'
    - 'lib/net/ssh/transport/server_version.rb'

# Offense count: 2
# This cop supports unsafe auto-correction (--auto-correct-all).
Lint/Loop:
  Exclude:
    - 'lib/net/ssh/authentication/methods/password.rb'
    - 'lib/net/ssh/key_factory.rb'

# Offense count: 3
Lint/MissingSuper:
  Exclude:
    - 'lib/net/ssh/proxy/jump.rb'
    - 'test/common.rb'
    - 'test/integration/mitm_server.rb'

# Offense count: 1
Lint/NonLocalExitFromIterator:
  Exclude:
    - 'lib/net/ssh/known_hosts.rb'

# Offense count: 2
# This cop supports unsafe auto-correction (--auto-correct-all).
Lint/OrAssignmentToConstant:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'

# Offense count: 6
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: AllowedImplicitNamespaces.
# AllowedImplicitNamespaces: Gem
Lint/RaiseException:
  Exclude:
    - 'Rakefile'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/key_factory.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Lint/RedundantCopDisableDirective:
  Exclude:
    - 'lib/net/ssh/key_factory.rb'

# Offense count: 3
Lint/RescueException:
  Exclude:
    - 'lib/net/ssh/authentication/key_manager.rb'
    - 'lib/net/ssh/service/forward.rb'

# Offense count: 4
# This cop supports safe auto-correction (--auto-correct).
Lint/SendWithMixinArgument:
  Exclude:
    - 'lib/net/ssh/test/extensions.rb'

# Offense count: 2
Lint/ShadowedException:
  Exclude:
    - 'lib/net/ssh/authentication/key_manager.rb'

# Offense count: 5
# Configuration parameters: AllowComments, AllowNil.
Lint/SuppressedException:
  Exclude:
    - 'lib/net/ssh/authentication/session.rb'
    - 'lib/net/ssh/transport/openssl.rb'
    - 'test/integration/common.rb'
    - 'test/integration/test_forward.rb'

# Offense count: 1
# Configuration parameters: AllowKeywordBlockArguments.
Lint/UnderscorePrefixedVariableName:
  Exclude:
    - 'lib/net/ssh/test/local_packet.rb'

# Offense count: 15
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
  Exclude:
    - 'lib/net/ssh/connection/keepalive.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/service/forward.rb'

# Offense count: 74
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument:
  Enabled: false

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
Lint/UselessAccessModifier:
  Exclude:
    - 'lib/net/ssh/buffered_io.rb'
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/transport/session.rb'

# Offense count: 10
Lint/UselessAssignment:
  Exclude:
    - 'lib/net/ssh/proxy/socks4.rb'
    - 'lib/net/ssh/proxy/socks5.rb'
    - 'test/integration/common.rb'
    - 'test/integration/test_forward.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
Lint/UselessTimes:
  Exclude:
    - 'test/integration/test_forward.rb'

# Offense count: 205
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
Metrics/AbcSize:
  Max: 76

# Offense count: 16
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
# IgnoredMethods: refine
Metrics/BlockLength:
  Max: 59

# Offense count: 1
# Configuration parameters: CountBlocks.
Metrics/BlockNesting:
  Max: 4

# Offense count: 33
# Configuration parameters: CountComments, CountAsOne.
Metrics/ClassLength:
  Max: 350

# Offense count: 38
# Configuration parameters: IgnoredMethods.
Metrics/CyclomaticComplexity:
  Max: 32

# Offense count: 232
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
Metrics/MethodLength:
  Max: 72

# Offense count: 3
# Configuration parameters: CountComments, CountAsOne.
Metrics/ModuleLength:
  Max: 160

# Offense count: 2
# Configuration parameters: Max, CountKeywordArgs.
Metrics/ParameterLists:
  MaxOptionalParameters: 4

# Offense count: 34
# Configuration parameters: IgnoredMethods.
Metrics/PerceivedComplexity:
  Max: 32

# Offense count: 10
Naming/AccessorMethodName:
  Exclude:
    - 'lib/net/ssh/authentication/methods/password.rb'
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/transport/kex/abstract5656.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Naming/BinaryOperatorParameterName:
  Exclude:
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/version.rb'

# Offense count: 16
# Configuration parameters: AllowedNames.
# AllowedNames: module_parent
Naming/ClassAndModuleCamelCase:
  Enabled: false

# Offense count: 4
Naming/ConstantName:
  Exclude:
    - 'lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
    - 'lib/net/ssh/transport/openssl.rb'

# Offense count: 15
# Configuration parameters: ForbiddenDelimiters.
# ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
Naming/HeredocDelimiterNaming:
  Exclude:
    - 'test/authentication/test_agent.rb'
    - 'test/authentication/test_certificate.rb'
    - 'test/authentication/test_ed25519.rb'
    - 'test/authentication/test_session.rb'
    - 'test/integration/test_agent.rb'
    - 'test/test_key_factory.rb'

# Offense count: 5
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
Naming/MemoizedInstanceVariableName:
  Exclude:
    - 'lib/net/ssh/transport/openssl.rb'
    - 'test/authentication/test_key_manager.rb'

# Offense count: 32
# Configuration parameters: EnforcedStyle, AllowedPatterns, IgnoredPatterns.
# SupportedStyles: snake_case, camelCase
Naming/MethodName:
  Exclude:
    - 'lib/net/ssh/authentication/ed25519_loader.rb'
    - 'lib/net/ssh/transport/kex/curve25519_sha256_loader.rb'
    - 'test/authentication/test_agent.rb'
    - 'test/authentication/test_session.rb'
    - 'test/common.rb'
    - 'test/connection/test_channel.rb'
    - 'test/test_config.rb'
    - 'test/test_key_factory.rb'

# Offense count: 23
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
Naming/MethodParameterName:
  Exclude:
    - 'lib/net/ssh/authentication/certificate.rb'
    - 'lib/net/ssh/authentication/ed25519.rb'
    - 'lib/net/ssh/authentication/key_manager.rb'
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/buffered_io.rb'
    - 'lib/net/ssh/test/socket.rb'
    - 'lib/net/ssh/transport/ctr.rb'
    - 'lib/net/ssh/transport/hmac/abstract.rb'
    - 'lib/net/ssh/transport/identity_cipher.rb'
    - 'test/connection/test_session.rb'

# Offense count: 4
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: PreferredName.
Naming/RescuedExceptionsVariableName:
  Exclude:
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/service/forward.rb'
    - 'lib/net/ssh/verifiers/accept_new.rb'

# Offense count: 5
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers.
# SupportedStyles: snake_case, normalcase, non_integer
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
Naming/VariableNumber:
  Exclude:
    - 'test/test_buffer.rb'
    - 'test/test_known_hosts.rb'
    - 'test/transport/test_identity_cipher.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
Security/IoMethods:
  Exclude:
    - 'lib/net/ssh/config.rb'

# Offense count: 2
# Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
# SupportedStyles: inline, group
Style/AccessModifierDeclarations:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'

# Offense count: 31
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: separated, grouped
Style/AccessorGrouping:
  Exclude:
    - 'lib/net/ssh/authentication/certificate.rb'
    - 'lib/net/ssh/transport/kex/abstract.rb'
    - 'test/common.rb'
    - 'test/connection/test_channel.rb'
    - 'test/integration/mitm_server.rb'
    - 'test/start/test_transport.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: prefer_alias, prefer_alias_method
Style/Alias:
  Exclude:
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/service/forward.rb'

# Offense count: 9
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, conditionals
Style/AndOr:
  Exclude:
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/service/forward.rb'

# Offense count: 9
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
# FunctionalMethods: let, let!, subject, watch
# IgnoredMethods: lambda, proc, it
Style/BlockDelimiters:
  Exclude:
    - 'Rakefile'
    - 'lib/net/ssh/authentication/key_manager.rb'
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/connection/keepalive.rb'
    - 'lib/net/ssh/proxy/command.rb'
    - 'lib/net/ssh/transport/ctr.rb'
    - 'test/verifiers/test_always.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowOnConstant.
Style/CaseEquality:
  Exclude:
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/connection/session.rb'

# Offense count: 3
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/CaseLikeIf:
  Exclude:
    - 'lib/net/ssh/transport/openssl.rb'
    - 'test/connection/test_session.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/CharacterLiteral:
  Exclude:
    - 'test/test_buffer.rb'

# Offense count: 18
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
  Enabled: false

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: ==, equal?, eql?
Style/ClassEqualityComparison:
  Exclude:
    - 'lib/net/ssh/service/forward.rb'

# Offense count: 7
Style/ClassVars:
  Exclude:
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/packet.rb'
    - 'test/authentication/methods/test_hostbased.rb'
    - 'test/authentication/methods/test_publickey.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/ColonMethodCall:
  Exclude:
    - 'lib/net/ssh/authentication/ed25519.rb'

# Offense count: 2
Style/CombinableLoops:
  Exclude:
    - 'lib/net/ssh/connection/channel.rb'
    - 'test/integration/test_hmac_etm.rb'

# Offense count: 4
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: Keywords, RequireColon.
# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE
Style/CommentAnnotation:
  Exclude:
    - 'lib/net/ssh/authentication/ed25519.rb'
    - 'lib/net/ssh/authentication/session.rb'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/config.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
Style/CommentedKeyword:
  Exclude:
    - 'test/connection/test_session.rb'
    - 'test/integration/test_forward.rb'

# Offense count: 7
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
# SupportedStyles: assign_to_condition, assign_inside_condition
Style/ConditionalAssignment:
  Exclude:
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/proxy/socks5.rb'
    - 'lib/net/ssh/test/script.rb'
    - 'lib/net/ssh/transport/state.rb'
    - 'test/test_key_factory.rb'

# Offense count: 12
# Configuration parameters: AllowedConstants.
Style/Documentation:
  Exclude:
    - 'spec/**/*'
    - 'test/**/*'
    - 'lib/net/ssh/authentication/ed25519.rb'
    - 'lib/net/ssh/connection/keepalive.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/test/extensions.rb'
    - 'lib/net/ssh/transport/kex.rb'
    - 'lib/net/ssh/transport/key_expander.rb'
    - 'lib/net/ssh/transport/openssl.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/EvenOdd:
  Exclude:
    - 'lib/net/ssh/buffer.rb'

# Offense count: 9
# This cop supports safe auto-correction (--auto-correct).
Style/ExplicitBlockArgument:
  Exclude:
    - 'lib/net/ssh/loggable.rb'
    - 'lib/net/ssh/test.rb'
    - 'test/integration/common.rb'
    - 'test/integration/mitm_server.rb'
    - 'test/integration/test_forward.rb'

# Offense count: 12
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowedVars.
Style/FetchEnvVar:
  Exclude:
    - 'lib/net/ssh.rb'
    - 'lib/net/ssh/authentication/agent.rb'
    - 'lib/net/ssh/authentication/methods/hostbased.rb'
    - 'test/authentication/test_agent.rb'
    - 'test/common.rb'
    - 'test/start/test_options.rb'
    - 'test/test_all.rb'
    - 'test/test_config.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/FileWrite:
  Exclude:
    - 'test/integration/test_proxy.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/loggable.rb'

# Offense count: 174
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
  Enabled: false

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/GlobalStdStream:
  Exclude:
    - 'lib/net/ssh.rb'

# Offense count: 35
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause:
  Enabled: false

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowSplatArgument.
Style/HashConversion:
  Exclude:
    - 'lib/net/ssh/authentication/certificate.rb'
    - 'test/test_config.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowIfModifier.
Style/IfInsideElse:
  Exclude:
    - 'lib/net/ssh/connection/session.rb'

# Offense count: 13
# This cop supports safe auto-correction (--auto-correct).
Style/IfUnlessModifier:
  Exclude:
    - 'lib/net/ssh.rb'
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/proxy/command.rb'
    - 'lib/net/ssh/service/forward.rb'
    - 'lib/net/ssh/transport/ctr.rb'
    - 'lib/net/ssh/transport/key_expander.rb'
    - 'test/integration/test_proxy.rb'
    - 'test/test_key_factory.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/InfiniteLoop:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'

# Offense count: 27
# This cop supports safe auto-correction (--auto-correct).
Style/LineEndConcatenation:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
    - 'lib/net/ssh/verifiers/always.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/MapToHash:
  Exclude:
    - 'lib/net/ssh/config.rb'

# Offense count: 1
Style/MissingRespondToMissing:
  Exclude:
    - 'lib/net/ssh/connection/session.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
Style/MultilineIfThen:
  Exclude:
    - 'lib/net/ssh/buffered_io.rb'
    - 'lib/net/ssh/service/forward.rb'

# Offense count: 7
# This cop supports safe auto-correction (--auto-correct).
Style/MultilineWhenThen:
  Exclude:
    - 'lib/net/ssh/transport/packet_stream.rb'
    - 'lib/net/ssh/transport/session.rb'

# Offense count: 5
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowMethodComparison.
Style/MultipleComparison:
  Exclude:
    - 'lib/net/ssh/authentication/agent.rb'
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/known_hosts.rb'
    - 'lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb'

# Offense count: 42
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
  Enabled: false

# Offense count: 14
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: both, prefix, postfix
Style/NegatedIf:
  Exclude:
    - 'lib/net/ssh.rb'
    - 'lib/net/ssh/authentication/key_manager.rb'
    - 'lib/net/ssh/service/forward.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/hmac/abstract.rb'
    - 'lib/net/ssh/transport/session.rb'
    - 'lib/net/ssh/transport/state.rb'
    - 'test/test_key_factory.rb'
    - 'test/transport/test_state.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Style/NegatedIfElseCondition:
  Exclude:
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/cipher_factory.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/NegatedWhile:
  Exclude:
    - 'lib/net/ssh/config.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, MinBodyLength.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
  Exclude:
    - 'lib/net/ssh/authentication/key_manager.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: predicate, comparison
Style/NilComparison:
  Exclude:
    - 'lib/net/ssh/proxy/command.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
Style/Not:
  Exclude:
    - 'lib/net/ssh/connection/channel.rb'

# Offense count: 11
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: Strict, AllowedNumbers.
Style/NumericLiterals:
  MinDigits: 310

# Offense count: 29
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
  Enabled: false

# Offense count: 13
Style/OpenStructUse:
  Exclude:
    - 'test/authentication/test_ed25519.rb'
    - 'test/common.rb'
    - 'test/transport/kex/test_curve25519_sha256.rb'
    - 'test/transport/kex/test_diffie_hellman_group1_sha1.rb'
    - 'test/transport/kex/test_ecdh_sha2_nistp256.rb'
    - 'test/verifiers/test_always.rb'

# Offense count: 16
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
  Exclude:
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/key_factory.rb'
    - 'lib/net/ssh/prompt.rb'
    - 'lib/net/ssh/test/channel.rb'
    - 'lib/net/ssh/test/script.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/session.rb'
    - 'lib/net/ssh/transport/state.rb'
    - 'test/common.rb'
    - 'test/transport/test_server_version.rb'

# Offense count: 15
# This cop supports safe auto-correction (--auto-correct).
Style/ParallelAssignment:
  Exclude:
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/errors.rb'
    - 'lib/net/ssh/test/socket.rb'
    - 'lib/net/ssh/version.rb'
    - 'test/authentication/test_agent.rb'
    - 'test/common.rb'
    - 'test/connection/test_channel.rb'

# Offense count: 5
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
Style/ParenthesesAroundCondition:
  Exclude:
    - 'lib/net/ssh/authentication/ed25519.rb'
    - 'lib/net/ssh/service/forward.rb'
    - 'lib/net/ssh/transport/ctr.rb'
    - 'test/integration/test_proxy.rb'

# Offense count: 23
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
  Exclude:
    - 'net-ssh.gemspec'
    - 'test/test_config.rb'

# Offense count: 17
# This cop supports safe auto-correction (--auto-correct).
Style/PerlBackrefs:
  Exclude:
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/key_factory.rb'
    - 'lib/net/ssh/proxy/command.rb'
    - 'lib/net/ssh/proxy/socks5.rb'
    - 'test/integration/common.rb'

# Offense count: 15
# This cop supports safe auto-correction (--auto-correct).
Style/Proc:
  Exclude:
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/test/channel.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/verifiers/always.rb'
    - 'test/authentication/methods/test_hostbased.rb'
    - 'test/authentication/methods/test_publickey.rb'
    - 'test/connection/test_channel.rb'
    - 'test/connection/test_session.rb'

# Offense count: 7
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, AllowedCompactTypes.
# SupportedStyles: compact, exploded
Style/RaiseArgs:
  Exclude:
    - 'lib/net/ssh/authentication/ed25519.rb'

# Offense count: 6
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: Methods.
Style/RedundantArgument:
  Exclude:
    - 'lib/net/ssh/known_hosts.rb'
    - 'test/authentication/test_ed25519.rb'

# Offense count: 5
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantBegin:
  Exclude:
    - 'lib/net/ssh/buffered_io.rb'
    - 'lib/net/ssh/service/forward.rb'
    - 'lib/net/ssh/verifiers/accept_new.rb'
    - 'test/manual/test_pageant.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantCondition:
  Exclude:
    - 'lib/net/ssh/proxy/command.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantFileExtensionInRequire:
  Exclude:
    - 'lib/net/ssh/transport/cipher_factory.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantInterpolation:
  Exclude:
    - 'lib/net/ssh/proxy/socks5.rb'
    - 'lib/net/ssh/transport/session.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantPercentQ:
  Exclude:
    - 'net-ssh.gemspec'

# Offense count: 11
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantRegexpEscape:
  Exclude:
    - 'lib/net/ssh/authentication/agent.rb'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/transport/cipher_factory.rb'

# Offense count: 87
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowMultipleReturnValues.
Style/RedundantReturn:
  Enabled: false

# Offense count: 18
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantSelf:
  Exclude:
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/test/extensions.rb'
    - 'test/authentication/test_ed25519.rb'

# Offense count: 6
# This cop supports safe auto-correction (--auto-correct).
Style/RescueModifier:
  Exclude:
    - 'lib/net/ssh/service/forward.rb'
    - 'lib/net/ssh/transport/algorithms.rb'

# Offense count: 25
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
  Exclude:
    - 'lib/net/ssh/authentication/key_manager.rb'
    - 'lib/net/ssh/authentication/methods/keyboard_interactive.rb'
    - 'lib/net/ssh/authentication/methods/password.rb'
    - 'lib/net/ssh/authentication/session.rb'
    - 'lib/net/ssh/connection/channel.rb'
    - 'lib/net/ssh/connection/event_loop.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/key_factory.rb'
    - 'lib/net/ssh/loggable.rb'
    - 'lib/net/ssh/test/local_packet.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/packet_stream.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
Style/SelectByRegexp:
  Exclude:
    - 'test/test_all.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Style/SelfAssignment:
  Exclude:
    - 'lib/net/ssh/config.rb'

# Offense count: 7
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowAsExpressionSeparator.
Style/Semicolon:
  Exclude:
    - 'lib/net/ssh/buffer.rb'
    - 'test/connection/test_channel.rb'
    - 'test/connection/test_session.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: only_raise, only_fail, semantic
Style/SignalException:
  Exclude:
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/connection/channel.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowIfMethodIsEmpty.
Style/SingleLineMethods:
  Exclude:
    - 'lib/net/ssh/buffered_io.rb'

# Offense count: 11
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/SlicingWithRange:
  Exclude:
    - 'lib/net/ssh/authentication/ed25519.rb'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/packet_stream.rb'
    - 'lib/net/ssh/transport/state.rb'
    - 'test/transport/test_packet_stream.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowModifier.
Style/SoleNestedConditional:
  Exclude:
    - 'lib/net/ssh/transport/packet_stream.rb'
    - 'test/common.rb'
    - 'test/integration/test_proxy.rb'

# Offense count: 18
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: RequireEnglish, EnforcedStyle.
# SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names
Style/SpecialGlobalVars:
  Exclude:
    - 'lib/net/ssh/authentication/agent.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'support/ssh_tunnel_bug.rb'
    - 'test/integration/common.rb'
    - 'test/integration/test_forward.rb'
    - 'test/manual/test_pageant.rb'
    - 'test/test_all.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/StringChars:
  Exclude:
    - 'test/transport/test_server_version.rb'

# Offense count: 27
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: Mode.
Style/StringConcatenation:
  Exclude:
    - 'lib/net/ssh/authentication/certificate.rb'
    - 'lib/net/ssh/authentication/key_manager.rb'
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/config.rb'
    - 'lib/net/ssh/transport/algorithms.rb'
    - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
    - 'test/authentication/test_key_manager.rb'
    - 'test/integration/common.rb'
    - 'test/integration/test_proxy.rb'
    - 'test/test_buffer.rb'
    - 'test/test_key_factory.rb'

# Offense count: 1849
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
  Enabled: false

# Offense count: 6
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: AllowMethodsWithArguments, IgnoredMethods, AllowComments.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
  Exclude:
    - 'lib/net/ssh/authentication/session.rb'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/connection/session.rb'
    - 'lib/net/ssh/test/extensions.rb'

# Offense count: 14
# This cop supports safe auto-correction (--auto-correct).
Style/UnpackFirst:
  Exclude:
    - 'lib/net/ssh/authentication/pageant.rb'
    - 'lib/net/ssh/buffer.rb'
    - 'lib/net/ssh/key_factory.rb'
    - 'lib/net/ssh/known_hosts.rb'
    - 'lib/net/ssh/transport/openssl.rb'
    - 'lib/net/ssh/transport/packet_stream.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Style/WhileUntilDo:
  Exclude:
    - 'lib/net/ssh/config.rb'
    - 'test/integration/common.rb'

# Offense count: 4
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
  EnforcedStyle: percent
  MinSize: 3

# Offense count: 4
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/ZeroLengthPredicate:
  Exclude:
    - 'lib/net/ssh/buffered_io.rb'
    - 'lib/net/ssh/connection/channel.rb'
