net-ssh 3.2.0 → 7.2.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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'