net-ssh 3.2.0 → 7.2.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data/.dockerignore +6 -0
  4. data/.github/FUNDING.yml +1 -0
  5. data/.github/config/rubocop_linter_action.yml +4 -0
  6. data/.github/workflows/ci-with-docker.yml +44 -0
  7. data/.github/workflows/ci.yml +93 -0
  8. data/.github/workflows/rubocop.yml +16 -0
  9. data/.gitignore +13 -0
  10. data/.rubocop.yml +22 -0
  11. data/.rubocop_todo.yml +1081 -0
  12. data/CHANGES.txt +237 -7
  13. data/DEVELOPMENT.md +23 -0
  14. data/Dockerfile +27 -0
  15. data/Dockerfile.openssl3 +17 -0
  16. data/Gemfile +13 -0
  17. data/Gemfile.noed25519 +12 -0
  18. data/Gemfile.norbnacl +12 -0
  19. data/ISSUE_TEMPLATE.md +30 -0
  20. data/Manifest +4 -5
  21. data/README.md +298 -0
  22. data/Rakefile +125 -74
  23. data/SECURITY.md +4 -0
  24. data/appveyor.yml +58 -0
  25. data/docker-compose.yml +23 -0
  26. data/lib/net/ssh/authentication/agent.rb +279 -18
  27. data/lib/net/ssh/authentication/certificate.rb +183 -0
  28. data/lib/net/ssh/authentication/constants.rb +17 -15
  29. data/lib/net/ssh/authentication/ed25519.rb +186 -0
  30. data/lib/net/ssh/authentication/ed25519_loader.rb +31 -0
  31. data/lib/net/ssh/authentication/key_manager.rb +86 -39
  32. data/lib/net/ssh/authentication/methods/abstract.rb +67 -48
  33. data/lib/net/ssh/authentication/methods/hostbased.rb +34 -37
  34. data/lib/net/ssh/authentication/methods/keyboard_interactive.rb +13 -13
  35. data/lib/net/ssh/authentication/methods/none.rb +16 -19
  36. data/lib/net/ssh/authentication/methods/password.rb +27 -17
  37. data/lib/net/ssh/authentication/methods/publickey.rb +96 -55
  38. data/lib/net/ssh/authentication/pageant.rb +471 -367
  39. data/lib/net/ssh/authentication/pub_key_fingerprint.rb +43 -0
  40. data/lib/net/ssh/authentication/session.rb +131 -121
  41. data/lib/net/ssh/buffer.rb +399 -300
  42. data/lib/net/ssh/buffered_io.rb +154 -150
  43. data/lib/net/ssh/config.rb +308 -185
  44. data/lib/net/ssh/connection/channel.rb +635 -613
  45. data/lib/net/ssh/connection/constants.rb +29 -29
  46. data/lib/net/ssh/connection/event_loop.rb +123 -0
  47. data/lib/net/ssh/connection/keepalive.rb +55 -51
  48. data/lib/net/ssh/connection/session.rb +620 -551
  49. data/lib/net/ssh/connection/term.rb +125 -123
  50. data/lib/net/ssh/errors.rb +101 -99
  51. data/lib/net/ssh/key_factory.rb +197 -105
  52. data/lib/net/ssh/known_hosts.rb +214 -127
  53. data/lib/net/ssh/loggable.rb +50 -49
  54. data/lib/net/ssh/packet.rb +83 -79
  55. data/lib/net/ssh/prompt.rb +50 -81
  56. data/lib/net/ssh/proxy/command.rb +105 -90
  57. data/lib/net/ssh/proxy/errors.rb +12 -10
  58. data/lib/net/ssh/proxy/http.rb +82 -79
  59. data/lib/net/ssh/proxy/https.rb +50 -0
  60. data/lib/net/ssh/proxy/jump.rb +54 -0
  61. data/lib/net/ssh/proxy/socks4.rb +2 -6
  62. data/lib/net/ssh/proxy/socks5.rb +14 -17
  63. data/lib/net/ssh/service/forward.rb +370 -317
  64. data/lib/net/ssh/test/channel.rb +145 -136
  65. data/lib/net/ssh/test/extensions.rb +131 -110
  66. data/lib/net/ssh/test/kex.rb +34 -32
  67. data/lib/net/ssh/test/local_packet.rb +46 -44
  68. data/lib/net/ssh/test/packet.rb +89 -70
  69. data/lib/net/ssh/test/remote_packet.rb +32 -30
  70. data/lib/net/ssh/test/script.rb +156 -142
  71. data/lib/net/ssh/test/socket.rb +49 -48
  72. data/lib/net/ssh/test.rb +82 -77
  73. data/lib/net/ssh/transport/algorithms.rb +462 -359
  74. data/lib/net/ssh/transport/chacha20_poly1305_cipher.rb +117 -0
  75. data/lib/net/ssh/transport/chacha20_poly1305_cipher_loader.rb +17 -0
  76. data/lib/net/ssh/transport/cipher_factory.rb +122 -99
  77. data/lib/net/ssh/transport/constants.rb +32 -24
  78. data/lib/net/ssh/transport/ctr.rb +42 -22
  79. data/lib/net/ssh/transport/hmac/abstract.rb +81 -63
  80. data/lib/net/ssh/transport/hmac/md5.rb +0 -2
  81. data/lib/net/ssh/transport/hmac/md5_96.rb +0 -2
  82. data/lib/net/ssh/transport/hmac/none.rb +0 -2
  83. data/lib/net/ssh/transport/hmac/ripemd160.rb +0 -2
  84. data/lib/net/ssh/transport/hmac/sha1.rb +0 -2
  85. data/lib/net/ssh/transport/hmac/sha1_96.rb +0 -2
  86. data/lib/net/ssh/transport/hmac/sha2_256.rb +7 -11
  87. data/lib/net/ssh/transport/hmac/sha2_256_96.rb +4 -8
  88. data/lib/net/ssh/transport/hmac/sha2_256_etm.rb +12 -0
  89. data/lib/net/ssh/transport/hmac/sha2_512.rb +6 -9
  90. data/lib/net/ssh/transport/hmac/sha2_512_96.rb +4 -8
  91. data/lib/net/ssh/transport/hmac/sha2_512_etm.rb +12 -0
  92. data/lib/net/ssh/transport/hmac.rb +14 -12
  93. data/lib/net/ssh/transport/identity_cipher.rb +54 -44
  94. data/lib/net/ssh/transport/kex/abstract.rb +130 -0
  95. data/lib/net/ssh/transport/kex/abstract5656.rb +72 -0
  96. data/lib/net/ssh/transport/kex/curve25519_sha256.rb +39 -0
  97. data/lib/net/ssh/transport/kex/curve25519_sha256_loader.rb +30 -0
  98. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb +33 -40
  99. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha256.rb +11 -0
  100. data/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +119 -213
  101. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +53 -61
  102. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb +5 -9
  103. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +36 -90
  104. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb +18 -10
  105. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb +18 -10
  106. data/lib/net/ssh/transport/kex.rb +15 -12
  107. data/lib/net/ssh/transport/key_expander.rb +24 -20
  108. data/lib/net/ssh/transport/openssl.rb +161 -124
  109. data/lib/net/ssh/transport/openssl_cipher_extensions.rb +8 -0
  110. data/lib/net/ssh/transport/packet_stream.rb +246 -185
  111. data/lib/net/ssh/transport/server_version.rb +55 -56
  112. data/lib/net/ssh/transport/session.rb +306 -255
  113. data/lib/net/ssh/transport/state.rb +178 -176
  114. data/lib/net/ssh/verifiers/accept_new.rb +33 -0
  115. data/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb +33 -0
  116. data/lib/net/ssh/verifiers/always.rb +58 -0
  117. data/lib/net/ssh/verifiers/never.rb +19 -0
  118. data/lib/net/ssh/version.rb +55 -53
  119. data/lib/net/ssh.rb +111 -47
  120. data/net-ssh-public_cert.pem +18 -18
  121. data/net-ssh.gemspec +38 -205
  122. data/support/ssh_tunnel_bug.rb +5 -5
  123. data.tar.gz.sig +0 -0
  124. metadata +173 -118
  125. metadata.gz.sig +0 -0
  126. data/.travis.yml +0 -18
  127. data/README.rdoc +0 -182
  128. data/lib/net/ssh/authentication/agent/java_pageant.rb +0 -85
  129. data/lib/net/ssh/authentication/agent/socket.rb +0 -178
  130. data/lib/net/ssh/ruby_compat.rb +0 -46
  131. data/lib/net/ssh/verifiers/lenient.rb +0 -30
  132. data/lib/net/ssh/verifiers/null.rb +0 -12
  133. data/lib/net/ssh/verifiers/secure.rb +0 -52
  134. data/lib/net/ssh/verifiers/strict.rb +0 -24
  135. data/setup.rb +0 -1585
  136. data/support/arcfour_check.rb +0 -20
  137. data/test/README.txt +0 -18
  138. data/test/authentication/methods/common.rb +0 -28
  139. data/test/authentication/methods/test_abstract.rb +0 -51
  140. data/test/authentication/methods/test_hostbased.rb +0 -114
  141. data/test/authentication/methods/test_keyboard_interactive.rb +0 -121
  142. data/test/authentication/methods/test_none.rb +0 -41
  143. data/test/authentication/methods/test_password.rb +0 -95
  144. data/test/authentication/methods/test_publickey.rb +0 -148
  145. data/test/authentication/test_agent.rb +0 -232
  146. data/test/authentication/test_key_manager.rb +0 -240
  147. data/test/authentication/test_session.rb +0 -107
  148. data/test/common.rb +0 -125
  149. data/test/configs/auth_off +0 -5
  150. data/test/configs/auth_on +0 -4
  151. data/test/configs/empty +0 -0
  152. data/test/configs/eqsign +0 -3
  153. data/test/configs/exact_match +0 -8
  154. data/test/configs/host_plus +0 -10
  155. data/test/configs/multihost +0 -4
  156. data/test/configs/negative_match +0 -6
  157. data/test/configs/nohost +0 -19
  158. data/test/configs/numeric_host +0 -4
  159. data/test/configs/proxy_remote_user +0 -2
  160. data/test/configs/send_env +0 -2
  161. data/test/configs/substitutes +0 -8
  162. data/test/configs/wild_cards +0 -14
  163. data/test/connection/test_channel.rb +0 -487
  164. data/test/connection/test_session.rb +0 -564
  165. data/test/integration/README.txt +0 -17
  166. data/test/integration/Vagrantfile +0 -12
  167. data/test/integration/common.rb +0 -63
  168. data/test/integration/playbook.yml +0 -56
  169. data/test/integration/test_forward.rb +0 -637
  170. data/test/integration/test_id_rsa_keys.rb +0 -96
  171. data/test/integration/test_proxy.rb +0 -93
  172. data/test/known_hosts/github +0 -1
  173. data/test/known_hosts/github_hash +0 -1
  174. data/test/manual/test_pageant.rb +0 -37
  175. data/test/start/test_connection.rb +0 -53
  176. data/test/start/test_options.rb +0 -57
  177. data/test/start/test_transport.rb +0 -28
  178. data/test/start/test_user_nil.rb +0 -27
  179. data/test/test_all.rb +0 -12
  180. data/test/test_buffer.rb +0 -433
  181. data/test/test_buffered_io.rb +0 -63
  182. data/test/test_config.rb +0 -268
  183. data/test/test_key_factory.rb +0 -191
  184. data/test/test_known_hosts.rb +0 -66
  185. data/test/transport/hmac/test_md5.rb +0 -41
  186. data/test/transport/hmac/test_md5_96.rb +0 -27
  187. data/test/transport/hmac/test_none.rb +0 -34
  188. data/test/transport/hmac/test_ripemd160.rb +0 -36
  189. data/test/transport/hmac/test_sha1.rb +0 -36
  190. data/test/transport/hmac/test_sha1_96.rb +0 -27
  191. data/test/transport/hmac/test_sha2_256.rb +0 -37
  192. data/test/transport/hmac/test_sha2_256_96.rb +0 -27
  193. data/test/transport/hmac/test_sha2_512.rb +0 -37
  194. data/test/transport/hmac/test_sha2_512_96.rb +0 -27
  195. data/test/transport/kex/test_diffie_hellman_group14_sha1.rb +0 -13
  196. data/test/transport/kex/test_diffie_hellman_group1_sha1.rb +0 -150
  197. data/test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb +0 -96
  198. data/test/transport/kex/test_diffie_hellman_group_exchange_sha256.rb +0 -19
  199. data/test/transport/kex/test_ecdh_sha2_nistp256.rb +0 -161
  200. data/test/transport/kex/test_ecdh_sha2_nistp384.rb +0 -38
  201. data/test/transport/kex/test_ecdh_sha2_nistp521.rb +0 -38
  202. data/test/transport/test_algorithms.rb +0 -328
  203. data/test/transport/test_cipher_factory.rb +0 -443
  204. data/test/transport/test_hmac.rb +0 -34
  205. data/test/transport/test_identity_cipher.rb +0 -40
  206. data/test/transport/test_packet_stream.rb +0 -1762
  207. data/test/transport/test_server_version.rb +0 -74
  208. data/test/transport/test_session.rb +0 -331
  209. data/test/transport/test_state.rb +0 -181
  210. data/test/verifiers/test_secure.rb +0 -40
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,1081 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2022-04-29 12:31:14 UTC using RuboCop version 1.28.2.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # This cop supports safe auto-correction (--auto-correct).
11
+ # Configuration parameters: Include.
12
+ # Include: **/*.gemspec
13
+ Gemspec/RequireMFA:
14
+ Exclude:
15
+ - 'net-ssh.gemspec'
16
+
17
+ # Offense count: 1
18
+ # This cop supports safe auto-correction (--auto-correct).
19
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
20
+ # SupportedStyles: aligned, indented
21
+ Layout/LineEndStringConcatenationIndentation:
22
+ Exclude:
23
+ - 'lib/net/ssh/transport/algorithms.rb'
24
+
25
+ # Offense count: 7
26
+ # This cop supports safe auto-correction (--auto-correct).
27
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
28
+ # SupportedStyles: aligned, indented
29
+ Layout/MultilineOperationIndentation:
30
+ Exclude:
31
+ - 'lib/net/ssh/authentication/pageant.rb'
32
+ - 'lib/net/ssh/proxy/https.rb'
33
+ - 'lib/net/ssh/transport/algorithms.rb'
34
+ - 'lib/net/ssh/transport/state.rb'
35
+
36
+ # Offense count: 5
37
+ # This cop supports safe auto-correction (--auto-correct).
38
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
39
+ # SupportedStyles: space, no_space
40
+ # SupportedStylesForEmptyBraces: space, no_space
41
+ Layout/SpaceInsideBlockBraces:
42
+ Exclude:
43
+ - 'lib/net/ssh/authentication/session.rb'
44
+ - 'lib/net/ssh/transport/ctr.rb'
45
+ - 'support/ssh_tunnel_bug.rb'
46
+
47
+ # Offense count: 6
48
+ # This cop supports safe auto-correction (--auto-correct).
49
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
50
+ # SupportedStyles: space, no_space
51
+ # SupportedStylesForEmptyBrackets: space, no_space
52
+ Layout/SpaceInsideReferenceBrackets:
53
+ Exclude:
54
+ - 'lib/net/ssh/transport/algorithms.rb'
55
+
56
+ # Offense count: 11
57
+ # This cop supports safe auto-correction (--auto-correct).
58
+ Lint/AmbiguousOperatorPrecedence:
59
+ Exclude:
60
+ - 'lib/net/ssh/authentication/certificate.rb'
61
+ - 'lib/net/ssh/config.rb'
62
+ - 'lib/net/ssh/loggable.rb'
63
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb'
64
+ - 'lib/net/ssh/transport/openssl.rb'
65
+ - 'lib/net/ssh/transport/state.rb'
66
+ - 'lib/net/ssh/version.rb'
67
+ - 'test/integration/test_proxy.rb'
68
+
69
+ # Offense count: 4
70
+ # Configuration parameters: AllowSafeAssignment.
71
+ Lint/AssignmentInCondition:
72
+ Exclude:
73
+ - 'lib/net/ssh/connection/channel.rb'
74
+ - 'lib/net/ssh/connection/session.rb'
75
+ - 'lib/net/ssh/proxy/command.rb'
76
+
77
+ # Offense count: 1
78
+ # Configuration parameters: AllowedMethods.
79
+ # AllowedMethods: enums
80
+ Lint/ConstantDefinitionInBlock:
81
+ Exclude:
82
+ - 'test/transport/test_cipher_factory.rb'
83
+
84
+ # Offense count: 1
85
+ # This cop supports safe auto-correction (--auto-correct).
86
+ Lint/DeprecatedClassMethods:
87
+ Exclude:
88
+ - 'lib/net/ssh/transport/packet_stream.rb'
89
+
90
+ # Offense count: 12
91
+ # This cop supports safe auto-correction (--auto-correct).
92
+ Lint/DeprecatedOpenSSLConstant:
93
+ Exclude:
94
+ - 'lib/net/ssh/transport/openssl.rb'
95
+
96
+ # Offense count: 2
97
+ # Configuration parameters: AllowComments, AllowEmptyLambdas.
98
+ Lint/EmptyBlock:
99
+ Exclude:
100
+ - 'test/common.rb'
101
+ - 'test/start/test_transport.rb'
102
+
103
+ # Offense count: 1
104
+ # Configuration parameters: AllowComments.
105
+ Lint/EmptyWhen:
106
+ Exclude:
107
+ - 'lib/net/ssh/config.rb'
108
+
109
+ # Offense count: 72
110
+ Lint/ImplicitStringConcatenation:
111
+ Exclude:
112
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb'
113
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
114
+
115
+ # Offense count: 8
116
+ # This cop supports safe auto-correction (--auto-correct).
117
+ Lint/IncompatibleIoSelectWithFiberScheduler:
118
+ Exclude:
119
+ - 'lib/net/ssh/buffered_io.rb'
120
+ - 'lib/net/ssh/proxy/command.rb'
121
+ - 'lib/net/ssh/transport/packet_stream.rb'
122
+ - 'lib/net/ssh/transport/server_version.rb'
123
+
124
+ # Offense count: 2
125
+ # This cop supports unsafe auto-correction (--auto-correct-all).
126
+ Lint/Loop:
127
+ Exclude:
128
+ - 'lib/net/ssh/authentication/methods/password.rb'
129
+ - 'lib/net/ssh/key_factory.rb'
130
+
131
+ # Offense count: 3
132
+ Lint/MissingSuper:
133
+ Exclude:
134
+ - 'lib/net/ssh/proxy/jump.rb'
135
+ - 'test/common.rb'
136
+ - 'test/integration/mitm_server.rb'
137
+
138
+ # Offense count: 1
139
+ Lint/NonLocalExitFromIterator:
140
+ Exclude:
141
+ - 'lib/net/ssh/known_hosts.rb'
142
+
143
+ # Offense count: 2
144
+ # This cop supports unsafe auto-correction (--auto-correct-all).
145
+ Lint/OrAssignmentToConstant:
146
+ Exclude:
147
+ - 'lib/net/ssh/authentication/pageant.rb'
148
+
149
+ # Offense count: 6
150
+ # This cop supports unsafe auto-correction (--auto-correct-all).
151
+ # Configuration parameters: AllowedImplicitNamespaces.
152
+ # AllowedImplicitNamespaces: Gem
153
+ Lint/RaiseException:
154
+ Exclude:
155
+ - 'Rakefile'
156
+ - 'lib/net/ssh/buffer.rb'
157
+ - 'lib/net/ssh/key_factory.rb'
158
+
159
+ # Offense count: 1
160
+ # This cop supports safe auto-correction (--auto-correct).
161
+ Lint/RedundantCopDisableDirective:
162
+ Exclude:
163
+ - 'lib/net/ssh/key_factory.rb'
164
+
165
+ # Offense count: 3
166
+ Lint/RescueException:
167
+ Exclude:
168
+ - 'lib/net/ssh/authentication/key_manager.rb'
169
+ - 'lib/net/ssh/service/forward.rb'
170
+
171
+ # Offense count: 4
172
+ # This cop supports safe auto-correction (--auto-correct).
173
+ Lint/SendWithMixinArgument:
174
+ Exclude:
175
+ - 'lib/net/ssh/test/extensions.rb'
176
+
177
+ # Offense count: 2
178
+ Lint/ShadowedException:
179
+ Exclude:
180
+ - 'lib/net/ssh/authentication/key_manager.rb'
181
+
182
+ # Offense count: 5
183
+ # Configuration parameters: AllowComments, AllowNil.
184
+ Lint/SuppressedException:
185
+ Exclude:
186
+ - 'lib/net/ssh/authentication/session.rb'
187
+ - 'lib/net/ssh/transport/openssl.rb'
188
+ - 'test/integration/common.rb'
189
+ - 'test/integration/test_forward.rb'
190
+
191
+ # Offense count: 1
192
+ # Configuration parameters: AllowKeywordBlockArguments.
193
+ Lint/UnderscorePrefixedVariableName:
194
+ Exclude:
195
+ - 'lib/net/ssh/test/local_packet.rb'
196
+
197
+ # Offense count: 15
198
+ # This cop supports safe auto-correction (--auto-correct).
199
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
200
+ Lint/UnusedBlockArgument:
201
+ Exclude:
202
+ - 'lib/net/ssh/connection/keepalive.rb'
203
+ - 'lib/net/ssh/connection/session.rb'
204
+ - 'lib/net/ssh/service/forward.rb'
205
+
206
+ # Offense count: 74
207
+ # This cop supports safe auto-correction (--auto-correct).
208
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
209
+ Lint/UnusedMethodArgument:
210
+ Enabled: false
211
+
212
+ # Offense count: 3
213
+ # This cop supports safe auto-correction (--auto-correct).
214
+ # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
215
+ Lint/UselessAccessModifier:
216
+ Exclude:
217
+ - 'lib/net/ssh/buffered_io.rb'
218
+ - 'lib/net/ssh/connection/channel.rb'
219
+ - 'lib/net/ssh/transport/session.rb'
220
+
221
+ # Offense count: 10
222
+ Lint/UselessAssignment:
223
+ Exclude:
224
+ - 'lib/net/ssh/proxy/socks4.rb'
225
+ - 'lib/net/ssh/proxy/socks5.rb'
226
+ - 'test/integration/common.rb'
227
+ - 'test/integration/test_forward.rb'
228
+
229
+ # Offense count: 1
230
+ # This cop supports unsafe auto-correction (--auto-correct-all).
231
+ Lint/UselessTimes:
232
+ Exclude:
233
+ - 'test/integration/test_forward.rb'
234
+
235
+ # Offense count: 205
236
+ # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
237
+ Metrics/AbcSize:
238
+ Max: 74
239
+
240
+ # Offense count: 16
241
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
242
+ # IgnoredMethods: refine
243
+ Metrics/BlockLength:
244
+ Max: 59
245
+
246
+ # Offense count: 1
247
+ # Configuration parameters: CountBlocks.
248
+ Metrics/BlockNesting:
249
+ Max: 4
250
+
251
+ # Offense count: 33
252
+ # Configuration parameters: CountComments, CountAsOne.
253
+ Metrics/ClassLength:
254
+ Max: 350
255
+
256
+ # Offense count: 38
257
+ # Configuration parameters: IgnoredMethods.
258
+ Metrics/CyclomaticComplexity:
259
+ Max: 32
260
+
261
+ # Offense count: 232
262
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
263
+ Metrics/MethodLength:
264
+ Max: 72
265
+
266
+ # Offense count: 3
267
+ # Configuration parameters: CountComments, CountAsOne.
268
+ Metrics/ModuleLength:
269
+ Max: 160
270
+
271
+ # Offense count: 2
272
+ # Configuration parameters: Max, CountKeywordArgs.
273
+ Metrics/ParameterLists:
274
+ MaxOptionalParameters: 4
275
+
276
+ # Offense count: 34
277
+ # Configuration parameters: IgnoredMethods.
278
+ Metrics/PerceivedComplexity:
279
+ Max: 32
280
+
281
+ # Offense count: 10
282
+ Naming/AccessorMethodName:
283
+ Exclude:
284
+ - 'lib/net/ssh/authentication/methods/password.rb'
285
+ - 'lib/net/ssh/authentication/pageant.rb'
286
+ - 'lib/net/ssh/connection/channel.rb'
287
+ - 'lib/net/ssh/connection/session.rb'
288
+ - 'lib/net/ssh/transport/kex/abstract5656.rb'
289
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
290
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb'
291
+
292
+ # Offense count: 2
293
+ # This cop supports safe auto-correction (--auto-correct).
294
+ Naming/BinaryOperatorParameterName:
295
+ Exclude:
296
+ - 'lib/net/ssh/buffer.rb'
297
+ - 'lib/net/ssh/version.rb'
298
+
299
+ # Offense count: 16
300
+ # Configuration parameters: AllowedNames.
301
+ # AllowedNames: module_parent
302
+ Naming/ClassAndModuleCamelCase:
303
+ Enabled: false
304
+
305
+ # Offense count: 4
306
+ Naming/ConstantName:
307
+ Exclude:
308
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb'
309
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
310
+ - 'lib/net/ssh/transport/openssl.rb'
311
+
312
+ # Offense count: 15
313
+ # Configuration parameters: ForbiddenDelimiters.
314
+ # ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
315
+ Naming/HeredocDelimiterNaming:
316
+ Exclude:
317
+ - 'test/authentication/test_agent.rb'
318
+ - 'test/authentication/test_certificate.rb'
319
+ - 'test/authentication/test_ed25519.rb'
320
+ - 'test/authentication/test_session.rb'
321
+ - 'test/integration/test_agent.rb'
322
+ - 'test/test_key_factory.rb'
323
+
324
+ # Offense count: 5
325
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
326
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
327
+ Naming/MemoizedInstanceVariableName:
328
+ Exclude:
329
+ - 'lib/net/ssh/transport/openssl.rb'
330
+ - 'test/authentication/test_key_manager.rb'
331
+
332
+ # Offense count: 32
333
+ # Configuration parameters: EnforcedStyle, AllowedPatterns, IgnoredPatterns.
334
+ # SupportedStyles: snake_case, camelCase
335
+ Naming/MethodName:
336
+ Exclude:
337
+ - 'lib/net/ssh/authentication/ed25519_loader.rb'
338
+ - 'lib/net/ssh/transport/kex/curve25519_sha256_loader.rb'
339
+ - 'test/authentication/test_agent.rb'
340
+ - 'test/authentication/test_session.rb'
341
+ - 'test/common.rb'
342
+ - 'test/connection/test_channel.rb'
343
+ - 'test/test_config.rb'
344
+ - 'test/test_key_factory.rb'
345
+
346
+ # Offense count: 23
347
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
348
+ # AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
349
+ Naming/MethodParameterName:
350
+ Exclude:
351
+ - 'lib/net/ssh/authentication/certificate.rb'
352
+ - 'lib/net/ssh/authentication/ed25519.rb'
353
+ - 'lib/net/ssh/authentication/key_manager.rb'
354
+ - 'lib/net/ssh/authentication/pageant.rb'
355
+ - 'lib/net/ssh/buffer.rb'
356
+ - 'lib/net/ssh/buffered_io.rb'
357
+ - 'lib/net/ssh/test/socket.rb'
358
+ - 'lib/net/ssh/transport/ctr.rb'
359
+ - 'lib/net/ssh/transport/hmac/abstract.rb'
360
+ - 'lib/net/ssh/transport/identity_cipher.rb'
361
+ - 'test/connection/test_session.rb'
362
+
363
+ # Offense count: 4
364
+ # This cop supports safe auto-correction (--auto-correct).
365
+ # Configuration parameters: PreferredName.
366
+ Naming/RescuedExceptionsVariableName:
367
+ Exclude:
368
+ - 'lib/net/ssh/connection/session.rb'
369
+ - 'lib/net/ssh/service/forward.rb'
370
+ - 'lib/net/ssh/verifiers/accept_new.rb'
371
+
372
+ # Offense count: 5
373
+ # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers.
374
+ # SupportedStyles: snake_case, normalcase, non_integer
375
+ # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
376
+ Naming/VariableNumber:
377
+ Exclude:
378
+ - 'test/test_buffer.rb'
379
+ - 'test/test_known_hosts.rb'
380
+ - 'test/transport/test_identity_cipher.rb'
381
+
382
+ # Offense count: 1
383
+ # This cop supports unsafe auto-correction (--auto-correct-all).
384
+ Security/IoMethods:
385
+ Exclude:
386
+ - 'lib/net/ssh/config.rb'
387
+
388
+ # Offense count: 2
389
+ # Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
390
+ # SupportedStyles: inline, group
391
+ Style/AccessModifierDeclarations:
392
+ Exclude:
393
+ - 'lib/net/ssh/authentication/pageant.rb'
394
+
395
+ # Offense count: 31
396
+ # This cop supports safe auto-correction (--auto-correct).
397
+ # Configuration parameters: EnforcedStyle.
398
+ # SupportedStyles: separated, grouped
399
+ Style/AccessorGrouping:
400
+ Exclude:
401
+ - 'lib/net/ssh/authentication/certificate.rb'
402
+ - 'lib/net/ssh/transport/kex/abstract.rb'
403
+ - 'test/common.rb'
404
+ - 'test/connection/test_channel.rb'
405
+ - 'test/integration/mitm_server.rb'
406
+ - 'test/start/test_transport.rb'
407
+
408
+ # Offense count: 2
409
+ # This cop supports safe auto-correction (--auto-correct).
410
+ # Configuration parameters: EnforcedStyle.
411
+ # SupportedStyles: prefer_alias, prefer_alias_method
412
+ Style/Alias:
413
+ Exclude:
414
+ - 'lib/net/ssh/connection/session.rb'
415
+ - 'lib/net/ssh/service/forward.rb'
416
+
417
+ # Offense count: 9
418
+ # This cop supports safe auto-correction (--auto-correct).
419
+ # Configuration parameters: EnforcedStyle.
420
+ # SupportedStyles: always, conditionals
421
+ Style/AndOr:
422
+ Exclude:
423
+ - 'lib/net/ssh/connection/channel.rb'
424
+ - 'lib/net/ssh/connection/session.rb'
425
+ - 'lib/net/ssh/service/forward.rb'
426
+
427
+ # Offense count: 9
428
+ # This cop supports safe auto-correction (--auto-correct).
429
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
430
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
431
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
432
+ # FunctionalMethods: let, let!, subject, watch
433
+ # IgnoredMethods: lambda, proc, it
434
+ Style/BlockDelimiters:
435
+ Exclude:
436
+ - 'Rakefile'
437
+ - 'lib/net/ssh/authentication/key_manager.rb'
438
+ - 'lib/net/ssh/config.rb'
439
+ - 'lib/net/ssh/connection/keepalive.rb'
440
+ - 'lib/net/ssh/proxy/command.rb'
441
+ - 'lib/net/ssh/transport/ctr.rb'
442
+ - 'test/verifiers/test_always.rb'
443
+
444
+ # Offense count: 2
445
+ # This cop supports safe auto-correction (--auto-correct).
446
+ # Configuration parameters: AllowOnConstant.
447
+ Style/CaseEquality:
448
+ Exclude:
449
+ - 'lib/net/ssh/buffer.rb'
450
+ - 'lib/net/ssh/connection/session.rb'
451
+
452
+ # Offense count: 3
453
+ # This cop supports unsafe auto-correction (--auto-correct-all).
454
+ Style/CaseLikeIf:
455
+ Exclude:
456
+ - 'lib/net/ssh/transport/openssl.rb'
457
+ - 'test/connection/test_session.rb'
458
+
459
+ # Offense count: 1
460
+ # This cop supports safe auto-correction (--auto-correct).
461
+ Style/CharacterLiteral:
462
+ Exclude:
463
+ - 'test/test_buffer.rb'
464
+
465
+ # Offense count: 18
466
+ # This cop supports safe auto-correction (--auto-correct).
467
+ # Configuration parameters: EnforcedStyle.
468
+ # SupportedStyles: nested, compact
469
+ Style/ClassAndModuleChildren:
470
+ Enabled: false
471
+
472
+ # Offense count: 1
473
+ # This cop supports safe auto-correction (--auto-correct).
474
+ # Configuration parameters: IgnoredMethods.
475
+ # IgnoredMethods: ==, equal?, eql?
476
+ Style/ClassEqualityComparison:
477
+ Exclude:
478
+ - 'lib/net/ssh/service/forward.rb'
479
+
480
+ # Offense count: 7
481
+ Style/ClassVars:
482
+ Exclude:
483
+ - 'lib/net/ssh/config.rb'
484
+ - 'lib/net/ssh/packet.rb'
485
+ - 'test/authentication/methods/test_hostbased.rb'
486
+ - 'test/authentication/methods/test_publickey.rb'
487
+
488
+ # Offense count: 1
489
+ # This cop supports safe auto-correction (--auto-correct).
490
+ Style/ColonMethodCall:
491
+ Exclude:
492
+ - 'lib/net/ssh/authentication/ed25519.rb'
493
+
494
+ # Offense count: 2
495
+ Style/CombinableLoops:
496
+ Exclude:
497
+ - 'lib/net/ssh/connection/channel.rb'
498
+ - 'test/integration/test_hmac_etm.rb'
499
+
500
+ # Offense count: 4
501
+ # This cop supports safe auto-correction (--auto-correct).
502
+ # Configuration parameters: Keywords, RequireColon.
503
+ # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE
504
+ Style/CommentAnnotation:
505
+ Exclude:
506
+ - 'lib/net/ssh/authentication/ed25519.rb'
507
+ - 'lib/net/ssh/authentication/session.rb'
508
+ - 'lib/net/ssh/buffer.rb'
509
+ - 'lib/net/ssh/config.rb'
510
+
511
+ # Offense count: 3
512
+ # This cop supports safe auto-correction (--auto-correct).
513
+ Style/CommentedKeyword:
514
+ Exclude:
515
+ - 'test/connection/test_session.rb'
516
+ - 'test/integration/test_forward.rb'
517
+
518
+ # Offense count: 7
519
+ # This cop supports safe auto-correction (--auto-correct).
520
+ # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
521
+ # SupportedStyles: assign_to_condition, assign_inside_condition
522
+ Style/ConditionalAssignment:
523
+ Exclude:
524
+ - 'lib/net/ssh/config.rb'
525
+ - 'lib/net/ssh/proxy/socks5.rb'
526
+ - 'lib/net/ssh/test/script.rb'
527
+ - 'lib/net/ssh/transport/state.rb'
528
+ - 'test/test_key_factory.rb'
529
+
530
+ # Offense count: 12
531
+ # Configuration parameters: AllowedConstants.
532
+ Style/Documentation:
533
+ Exclude:
534
+ - 'spec/**/*'
535
+ - 'test/**/*'
536
+ - 'lib/net/ssh/authentication/ed25519.rb'
537
+ - 'lib/net/ssh/connection/keepalive.rb'
538
+ - 'lib/net/ssh/connection/session.rb'
539
+ - 'lib/net/ssh/test/extensions.rb'
540
+ - 'lib/net/ssh/transport/kex.rb'
541
+ - 'lib/net/ssh/transport/key_expander.rb'
542
+ - 'lib/net/ssh/transport/openssl.rb'
543
+
544
+ # Offense count: 1
545
+ # This cop supports safe auto-correction (--auto-correct).
546
+ Style/EvenOdd:
547
+ Exclude:
548
+ - 'lib/net/ssh/buffer.rb'
549
+
550
+ # Offense count: 9
551
+ # This cop supports safe auto-correction (--auto-correct).
552
+ Style/ExplicitBlockArgument:
553
+ Exclude:
554
+ - 'lib/net/ssh/loggable.rb'
555
+ - 'lib/net/ssh/test.rb'
556
+ - 'test/integration/common.rb'
557
+ - 'test/integration/mitm_server.rb'
558
+ - 'test/integration/test_forward.rb'
559
+
560
+ # Offense count: 12
561
+ # This cop supports safe auto-correction (--auto-correct).
562
+ # Configuration parameters: AllowedVars.
563
+ Style/FetchEnvVar:
564
+ Exclude:
565
+ - 'lib/net/ssh.rb'
566
+ - 'lib/net/ssh/authentication/agent.rb'
567
+ - 'lib/net/ssh/authentication/methods/hostbased.rb'
568
+ - 'test/authentication/test_agent.rb'
569
+ - 'test/common.rb'
570
+ - 'test/start/test_options.rb'
571
+ - 'test/test_all.rb'
572
+ - 'test/test_config.rb'
573
+
574
+ # Offense count: 1
575
+ # This cop supports safe auto-correction (--auto-correct).
576
+ Style/FileWrite:
577
+ Exclude:
578
+ - 'test/integration/test_proxy.rb'
579
+
580
+ # Offense count: 2
581
+ # This cop supports safe auto-correction (--auto-correct).
582
+ # Configuration parameters: EnforcedStyle.
583
+ # SupportedStyles: format, sprintf, percent
584
+ Style/FormatString:
585
+ Exclude:
586
+ - 'lib/net/ssh/authentication/pageant.rb'
587
+ - 'lib/net/ssh/loggable.rb'
588
+
589
+ # Offense count: 174
590
+ # This cop supports safe auto-correction (--auto-correct).
591
+ # Configuration parameters: EnforcedStyle.
592
+ # SupportedStyles: always, always_true, never
593
+ Style/FrozenStringLiteralComment:
594
+ Enabled: false
595
+
596
+ # Offense count: 1
597
+ # This cop supports safe auto-correction (--auto-correct).
598
+ Style/GlobalStdStream:
599
+ Exclude:
600
+ - 'lib/net/ssh.rb'
601
+
602
+ # Offense count: 35
603
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
604
+ Style/GuardClause:
605
+ Enabled: false
606
+
607
+ # Offense count: 3
608
+ # This cop supports safe auto-correction (--auto-correct).
609
+ # Configuration parameters: AllowSplatArgument.
610
+ Style/HashConversion:
611
+ Exclude:
612
+ - 'lib/net/ssh/authentication/certificate.rb'
613
+ - 'test/test_config.rb'
614
+
615
+ # Offense count: 1
616
+ # This cop supports safe auto-correction (--auto-correct).
617
+ # Configuration parameters: AllowIfModifier.
618
+ Style/IfInsideElse:
619
+ Exclude:
620
+ - 'lib/net/ssh/connection/session.rb'
621
+
622
+ # Offense count: 13
623
+ # This cop supports safe auto-correction (--auto-correct).
624
+ Style/IfUnlessModifier:
625
+ Exclude:
626
+ - 'lib/net/ssh.rb'
627
+ - 'lib/net/ssh/authentication/pageant.rb'
628
+ - 'lib/net/ssh/proxy/command.rb'
629
+ - 'lib/net/ssh/service/forward.rb'
630
+ - 'lib/net/ssh/transport/ctr.rb'
631
+ - 'lib/net/ssh/transport/key_expander.rb'
632
+ - 'test/integration/test_proxy.rb'
633
+ - 'test/test_key_factory.rb'
634
+
635
+ # Offense count: 1
636
+ # This cop supports unsafe auto-correction (--auto-correct-all).
637
+ Style/InfiniteLoop:
638
+ Exclude:
639
+ - 'lib/net/ssh/authentication/pageant.rb'
640
+
641
+ # Offense count: 27
642
+ # This cop supports safe auto-correction (--auto-correct).
643
+ Style/LineEndConcatenation:
644
+ Exclude:
645
+ - 'lib/net/ssh/authentication/pageant.rb'
646
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb'
647
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
648
+ - 'lib/net/ssh/verifiers/always.rb'
649
+
650
+ # Offense count: 1
651
+ # This cop supports unsafe auto-correction (--auto-correct-all).
652
+ Style/MapToHash:
653
+ Exclude:
654
+ - 'lib/net/ssh/config.rb'
655
+
656
+ # Offense count: 1
657
+ Style/MissingRespondToMissing:
658
+ Exclude:
659
+ - 'lib/net/ssh/connection/session.rb'
660
+
661
+ # Offense count: 3
662
+ # This cop supports safe auto-correction (--auto-correct).
663
+ Style/MultilineIfThen:
664
+ Exclude:
665
+ - 'lib/net/ssh/buffered_io.rb'
666
+ - 'lib/net/ssh/service/forward.rb'
667
+
668
+ # Offense count: 7
669
+ # This cop supports safe auto-correction (--auto-correct).
670
+ Style/MultilineWhenThen:
671
+ Exclude:
672
+ - 'lib/net/ssh/transport/packet_stream.rb'
673
+ - 'lib/net/ssh/transport/session.rb'
674
+
675
+ # Offense count: 5
676
+ # This cop supports safe auto-correction (--auto-correct).
677
+ # Configuration parameters: AllowMethodComparison.
678
+ Style/MultipleComparison:
679
+ Exclude:
680
+ - 'lib/net/ssh/authentication/agent.rb'
681
+ - 'lib/net/ssh/authentication/pageant.rb'
682
+ - 'lib/net/ssh/known_hosts.rb'
683
+ - 'lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb'
684
+
685
+ # Offense count: 42
686
+ # This cop supports safe auto-correction (--auto-correct).
687
+ # Configuration parameters: EnforcedStyle.
688
+ # SupportedStyles: literals, strict
689
+ Style/MutableConstant:
690
+ Enabled: false
691
+
692
+ # Offense count: 14
693
+ # This cop supports safe auto-correction (--auto-correct).
694
+ # Configuration parameters: EnforcedStyle.
695
+ # SupportedStyles: both, prefix, postfix
696
+ Style/NegatedIf:
697
+ Exclude:
698
+ - 'lib/net/ssh.rb'
699
+ - 'lib/net/ssh/authentication/key_manager.rb'
700
+ - 'lib/net/ssh/service/forward.rb'
701
+ - 'lib/net/ssh/transport/algorithms.rb'
702
+ - 'lib/net/ssh/transport/hmac/abstract.rb'
703
+ - 'lib/net/ssh/transport/session.rb'
704
+ - 'lib/net/ssh/transport/state.rb'
705
+ - 'test/test_key_factory.rb'
706
+ - 'test/transport/test_state.rb'
707
+
708
+ # Offense count: 2
709
+ # This cop supports safe auto-correction (--auto-correct).
710
+ Style/NegatedIfElseCondition:
711
+ Exclude:
712
+ - 'lib/net/ssh/transport/algorithms.rb'
713
+ - 'lib/net/ssh/transport/cipher_factory.rb'
714
+
715
+ # Offense count: 1
716
+ # This cop supports safe auto-correction (--auto-correct).
717
+ Style/NegatedWhile:
718
+ Exclude:
719
+ - 'lib/net/ssh/config.rb'
720
+
721
+ # Offense count: 1
722
+ # This cop supports safe auto-correction (--auto-correct).
723
+ # Configuration parameters: EnforcedStyle, MinBodyLength.
724
+ # SupportedStyles: skip_modifier_ifs, always
725
+ Style/Next:
726
+ Exclude:
727
+ - 'lib/net/ssh/authentication/key_manager.rb'
728
+
729
+ # Offense count: 1
730
+ # This cop supports safe auto-correction (--auto-correct).
731
+ # Configuration parameters: EnforcedStyle.
732
+ # SupportedStyles: predicate, comparison
733
+ Style/NilComparison:
734
+ Exclude:
735
+ - 'lib/net/ssh/proxy/command.rb'
736
+
737
+ # Offense count: 3
738
+ # This cop supports safe auto-correction (--auto-correct).
739
+ Style/Not:
740
+ Exclude:
741
+ - 'lib/net/ssh/connection/channel.rb'
742
+
743
+ # Offense count: 11
744
+ # This cop supports safe auto-correction (--auto-correct).
745
+ # Configuration parameters: Strict, AllowedNumbers.
746
+ Style/NumericLiterals:
747
+ MinDigits: 310
748
+
749
+ # Offense count: 29
750
+ # This cop supports unsafe auto-correction (--auto-correct-all).
751
+ # Configuration parameters: EnforcedStyle, IgnoredMethods.
752
+ # SupportedStyles: predicate, comparison
753
+ Style/NumericPredicate:
754
+ Enabled: false
755
+
756
+ # Offense count: 13
757
+ Style/OpenStructUse:
758
+ Exclude:
759
+ - 'test/authentication/test_ed25519.rb'
760
+ - 'test/common.rb'
761
+ - 'test/transport/kex/test_curve25519_sha256.rb'
762
+ - 'test/transport/kex/test_diffie_hellman_group1_sha1.rb'
763
+ - 'test/transport/kex/test_ecdh_sha2_nistp256.rb'
764
+ - 'test/verifiers/test_always.rb'
765
+
766
+ # Offense count: 16
767
+ # Configuration parameters: AllowedMethods.
768
+ # AllowedMethods: respond_to_missing?
769
+ Style/OptionalBooleanParameter:
770
+ Exclude:
771
+ - 'lib/net/ssh/connection/session.rb'
772
+ - 'lib/net/ssh/key_factory.rb'
773
+ - 'lib/net/ssh/prompt.rb'
774
+ - 'lib/net/ssh/test/channel.rb'
775
+ - 'lib/net/ssh/test/script.rb'
776
+ - 'lib/net/ssh/transport/algorithms.rb'
777
+ - 'lib/net/ssh/transport/session.rb'
778
+ - 'lib/net/ssh/transport/state.rb'
779
+ - 'test/common.rb'
780
+ - 'test/transport/test_server_version.rb'
781
+
782
+ # Offense count: 15
783
+ # This cop supports safe auto-correction (--auto-correct).
784
+ Style/ParallelAssignment:
785
+ Exclude:
786
+ - 'lib/net/ssh/config.rb'
787
+ - 'lib/net/ssh/connection/channel.rb'
788
+ - 'lib/net/ssh/connection/session.rb'
789
+ - 'lib/net/ssh/errors.rb'
790
+ - 'lib/net/ssh/test/socket.rb'
791
+ - 'lib/net/ssh/version.rb'
792
+ - 'test/authentication/test_agent.rb'
793
+ - 'test/common.rb'
794
+ - 'test/connection/test_channel.rb'
795
+
796
+ # Offense count: 5
797
+ # This cop supports safe auto-correction (--auto-correct).
798
+ # Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
799
+ Style/ParenthesesAroundCondition:
800
+ Exclude:
801
+ - 'lib/net/ssh/authentication/ed25519.rb'
802
+ - 'lib/net/ssh/service/forward.rb'
803
+ - 'lib/net/ssh/transport/ctr.rb'
804
+ - 'test/integration/test_proxy.rb'
805
+
806
+ # Offense count: 23
807
+ # This cop supports safe auto-correction (--auto-correct).
808
+ # Configuration parameters: PreferredDelimiters.
809
+ Style/PercentLiteralDelimiters:
810
+ Exclude:
811
+ - 'net-ssh.gemspec'
812
+ - 'test/test_config.rb'
813
+
814
+ # Offense count: 17
815
+ # This cop supports safe auto-correction (--auto-correct).
816
+ Style/PerlBackrefs:
817
+ Exclude:
818
+ - 'lib/net/ssh/buffer.rb'
819
+ - 'lib/net/ssh/config.rb'
820
+ - 'lib/net/ssh/key_factory.rb'
821
+ - 'lib/net/ssh/proxy/command.rb'
822
+ - 'lib/net/ssh/proxy/socks5.rb'
823
+ - 'test/integration/common.rb'
824
+
825
+ # Offense count: 15
826
+ # This cop supports safe auto-correction (--auto-correct).
827
+ Style/Proc:
828
+ Exclude:
829
+ - 'lib/net/ssh/connection/session.rb'
830
+ - 'lib/net/ssh/test/channel.rb'
831
+ - 'lib/net/ssh/transport/algorithms.rb'
832
+ - 'lib/net/ssh/verifiers/always.rb'
833
+ - 'test/authentication/methods/test_hostbased.rb'
834
+ - 'test/authentication/methods/test_publickey.rb'
835
+ - 'test/connection/test_channel.rb'
836
+ - 'test/connection/test_session.rb'
837
+
838
+ # Offense count: 7
839
+ # This cop supports safe auto-correction (--auto-correct).
840
+ # Configuration parameters: EnforcedStyle, AllowedCompactTypes.
841
+ # SupportedStyles: compact, exploded
842
+ Style/RaiseArgs:
843
+ Exclude:
844
+ - 'lib/net/ssh/authentication/ed25519.rb'
845
+
846
+ # Offense count: 6
847
+ # This cop supports unsafe auto-correction (--auto-correct-all).
848
+ # Configuration parameters: Methods.
849
+ Style/RedundantArgument:
850
+ Exclude:
851
+ - 'lib/net/ssh/known_hosts.rb'
852
+ - 'test/authentication/test_ed25519.rb'
853
+
854
+ # Offense count: 5
855
+ # This cop supports safe auto-correction (--auto-correct).
856
+ Style/RedundantBegin:
857
+ Exclude:
858
+ - 'lib/net/ssh/buffered_io.rb'
859
+ - 'lib/net/ssh/service/forward.rb'
860
+ - 'lib/net/ssh/verifiers/accept_new.rb'
861
+ - 'test/manual/test_pageant.rb'
862
+
863
+ # Offense count: 1
864
+ # This cop supports safe auto-correction (--auto-correct).
865
+ Style/RedundantCondition:
866
+ Exclude:
867
+ - 'lib/net/ssh/proxy/command.rb'
868
+
869
+ # Offense count: 1
870
+ # This cop supports safe auto-correction (--auto-correct).
871
+ Style/RedundantFileExtensionInRequire:
872
+ Exclude:
873
+ - 'lib/net/ssh/transport/cipher_factory.rb'
874
+
875
+ # Offense count: 2
876
+ # This cop supports safe auto-correction (--auto-correct).
877
+ Style/RedundantInterpolation:
878
+ Exclude:
879
+ - 'lib/net/ssh/proxy/socks5.rb'
880
+ - 'lib/net/ssh/transport/session.rb'
881
+
882
+ # Offense count: 2
883
+ # This cop supports safe auto-correction (--auto-correct).
884
+ Style/RedundantPercentQ:
885
+ Exclude:
886
+ - 'net-ssh.gemspec'
887
+
888
+ # Offense count: 11
889
+ # This cop supports safe auto-correction (--auto-correct).
890
+ Style/RedundantRegexpEscape:
891
+ Exclude:
892
+ - 'lib/net/ssh/authentication/agent.rb'
893
+ - 'lib/net/ssh/buffer.rb'
894
+ - 'lib/net/ssh/config.rb'
895
+ - 'lib/net/ssh/transport/cipher_factory.rb'
896
+
897
+ # Offense count: 87
898
+ # This cop supports safe auto-correction (--auto-correct).
899
+ # Configuration parameters: AllowMultipleReturnValues.
900
+ Style/RedundantReturn:
901
+ Enabled: false
902
+
903
+ # Offense count: 18
904
+ # This cop supports safe auto-correction (--auto-correct).
905
+ Style/RedundantSelf:
906
+ Exclude:
907
+ - 'lib/net/ssh/connection/channel.rb'
908
+ - 'lib/net/ssh/test/extensions.rb'
909
+ - 'test/authentication/test_ed25519.rb'
910
+
911
+ # Offense count: 6
912
+ # This cop supports safe auto-correction (--auto-correct).
913
+ Style/RescueModifier:
914
+ Exclude:
915
+ - 'lib/net/ssh/service/forward.rb'
916
+ - 'lib/net/ssh/transport/algorithms.rb'
917
+
918
+ # Offense count: 25
919
+ # This cop supports safe auto-correction (--auto-correct).
920
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
921
+ # AllowedMethods: present?, blank?, presence, try, try!
922
+ Style/SafeNavigation:
923
+ Exclude:
924
+ - 'lib/net/ssh/authentication/key_manager.rb'
925
+ - 'lib/net/ssh/authentication/methods/keyboard_interactive.rb'
926
+ - 'lib/net/ssh/authentication/methods/password.rb'
927
+ - 'lib/net/ssh/authentication/session.rb'
928
+ - 'lib/net/ssh/connection/channel.rb'
929
+ - 'lib/net/ssh/connection/event_loop.rb'
930
+ - 'lib/net/ssh/connection/session.rb'
931
+ - 'lib/net/ssh/key_factory.rb'
932
+ - 'lib/net/ssh/loggable.rb'
933
+ - 'lib/net/ssh/test/local_packet.rb'
934
+ - 'lib/net/ssh/transport/algorithms.rb'
935
+ - 'lib/net/ssh/transport/packet_stream.rb'
936
+
937
+ # Offense count: 3
938
+ # This cop supports safe auto-correction (--auto-correct).
939
+ Style/SelectByRegexp:
940
+ Exclude:
941
+ - 'test/test_all.rb'
942
+
943
+ # Offense count: 2
944
+ # This cop supports safe auto-correction (--auto-correct).
945
+ Style/SelfAssignment:
946
+ Exclude:
947
+ - 'lib/net/ssh/config.rb'
948
+
949
+ # Offense count: 7
950
+ # This cop supports safe auto-correction (--auto-correct).
951
+ # Configuration parameters: AllowAsExpressionSeparator.
952
+ Style/Semicolon:
953
+ Exclude:
954
+ - 'lib/net/ssh/buffer.rb'
955
+ - 'test/connection/test_channel.rb'
956
+ - 'test/connection/test_session.rb'
957
+
958
+ # Offense count: 2
959
+ # This cop supports safe auto-correction (--auto-correct).
960
+ # Configuration parameters: EnforcedStyle.
961
+ # SupportedStyles: only_raise, only_fail, semantic
962
+ Style/SignalException:
963
+ Exclude:
964
+ - 'lib/net/ssh/config.rb'
965
+ - 'lib/net/ssh/connection/channel.rb'
966
+
967
+ # Offense count: 2
968
+ # This cop supports safe auto-correction (--auto-correct).
969
+ # Configuration parameters: AllowIfMethodIsEmpty.
970
+ Style/SingleLineMethods:
971
+ Exclude:
972
+ - 'lib/net/ssh/buffered_io.rb'
973
+
974
+ # Offense count: 11
975
+ # This cop supports unsafe auto-correction (--auto-correct-all).
976
+ Style/SlicingWithRange:
977
+ Exclude:
978
+ - 'lib/net/ssh/authentication/ed25519.rb'
979
+ - 'lib/net/ssh/buffer.rb'
980
+ - 'lib/net/ssh/config.rb'
981
+ - 'lib/net/ssh/transport/algorithms.rb'
982
+ - 'lib/net/ssh/transport/packet_stream.rb'
983
+ - 'lib/net/ssh/transport/state.rb'
984
+ - 'test/transport/test_packet_stream.rb'
985
+
986
+ # Offense count: 3
987
+ # This cop supports safe auto-correction (--auto-correct).
988
+ # Configuration parameters: AllowModifier.
989
+ Style/SoleNestedConditional:
990
+ Exclude:
991
+ - 'lib/net/ssh/transport/packet_stream.rb'
992
+ - 'test/common.rb'
993
+ - 'test/integration/test_proxy.rb'
994
+
995
+ # Offense count: 18
996
+ # This cop supports safe auto-correction (--auto-correct).
997
+ # Configuration parameters: RequireEnglish, EnforcedStyle.
998
+ # SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names
999
+ Style/SpecialGlobalVars:
1000
+ Exclude:
1001
+ - 'lib/net/ssh/authentication/agent.rb'
1002
+ - 'lib/net/ssh/connection/session.rb'
1003
+ - 'support/ssh_tunnel_bug.rb'
1004
+ - 'test/integration/common.rb'
1005
+ - 'test/integration/test_forward.rb'
1006
+ - 'test/manual/test_pageant.rb'
1007
+ - 'test/test_all.rb'
1008
+
1009
+ # Offense count: 1
1010
+ # This cop supports unsafe auto-correction (--auto-correct-all).
1011
+ Style/StringChars:
1012
+ Exclude:
1013
+ - 'test/transport/test_server_version.rb'
1014
+
1015
+ # Offense count: 27
1016
+ # This cop supports unsafe auto-correction (--auto-correct-all).
1017
+ # Configuration parameters: Mode.
1018
+ Style/StringConcatenation:
1019
+ Exclude:
1020
+ - 'lib/net/ssh/authentication/certificate.rb'
1021
+ - 'lib/net/ssh/authentication/key_manager.rb'
1022
+ - 'lib/net/ssh/authentication/pageant.rb'
1023
+ - 'lib/net/ssh/config.rb'
1024
+ - 'lib/net/ssh/transport/algorithms.rb'
1025
+ - 'lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb'
1026
+ - 'test/authentication/test_key_manager.rb'
1027
+ - 'test/integration/common.rb'
1028
+ - 'test/integration/test_proxy.rb'
1029
+ - 'test/test_buffer.rb'
1030
+ - 'test/test_key_factory.rb'
1031
+
1032
+ # Offense count: 1849
1033
+ # This cop supports safe auto-correction (--auto-correct).
1034
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
1035
+ # SupportedStyles: single_quotes, double_quotes
1036
+ Style/StringLiterals:
1037
+ Enabled: false
1038
+
1039
+ # Offense count: 6
1040
+ # This cop supports unsafe auto-correction (--auto-correct-all).
1041
+ # Configuration parameters: AllowMethodsWithArguments, IgnoredMethods, AllowComments.
1042
+ # IgnoredMethods: respond_to, define_method
1043
+ Style/SymbolProc:
1044
+ Exclude:
1045
+ - 'lib/net/ssh/authentication/session.rb'
1046
+ - 'lib/net/ssh/buffer.rb'
1047
+ - 'lib/net/ssh/connection/session.rb'
1048
+ - 'lib/net/ssh/test/extensions.rb'
1049
+
1050
+ # Offense count: 14
1051
+ # This cop supports safe auto-correction (--auto-correct).
1052
+ Style/UnpackFirst:
1053
+ Exclude:
1054
+ - 'lib/net/ssh/authentication/pageant.rb'
1055
+ - 'lib/net/ssh/buffer.rb'
1056
+ - 'lib/net/ssh/key_factory.rb'
1057
+ - 'lib/net/ssh/known_hosts.rb'
1058
+ - 'lib/net/ssh/transport/openssl.rb'
1059
+ - 'lib/net/ssh/transport/packet_stream.rb'
1060
+
1061
+ # Offense count: 2
1062
+ # This cop supports safe auto-correction (--auto-correct).
1063
+ Style/WhileUntilDo:
1064
+ Exclude:
1065
+ - 'lib/net/ssh/config.rb'
1066
+ - 'test/integration/common.rb'
1067
+
1068
+ # Offense count: 4
1069
+ # This cop supports safe auto-correction (--auto-correct).
1070
+ # Configuration parameters: WordRegex.
1071
+ # SupportedStyles: percent, brackets
1072
+ Style/WordArray:
1073
+ EnforcedStyle: percent
1074
+ MinSize: 3
1075
+
1076
+ # Offense count: 4
1077
+ # This cop supports unsafe auto-correction (--auto-correct-all).
1078
+ Style/ZeroLengthPredicate:
1079
+ Exclude:
1080
+ - 'lib/net/ssh/buffered_io.rb'
1081
+ - 'lib/net/ssh/connection/channel.rb'