net-ssh 2.7.0 → 7.3.0

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 (199) hide show
  1. checksums.yaml +7 -0
  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 +94 -0
  8. data/.github/workflows/rubocop.yml +16 -0
  9. data/.gitignore +15 -0
  10. data/.rubocop.yml +22 -0
  11. data/.rubocop_todo.yml +1081 -0
  12. data/CHANGES.txt +387 -0
  13. data/DEVELOPMENT.md +23 -0
  14. data/Dockerfile +29 -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 +303 -0
  22. data/Rakefile +174 -40
  23. data/SECURITY.md +4 -0
  24. data/THANKS.txt +25 -0
  25. data/appveyor.yml +58 -0
  26. data/docker-compose.yml +25 -0
  27. data/lib/net/ssh/authentication/agent.rb +279 -18
  28. data/lib/net/ssh/authentication/certificate.rb +183 -0
  29. data/lib/net/ssh/authentication/constants.rb +17 -15
  30. data/lib/net/ssh/authentication/ed25519.rb +184 -0
  31. data/lib/net/ssh/authentication/ed25519_loader.rb +31 -0
  32. data/lib/net/ssh/authentication/key_manager.rb +125 -54
  33. data/lib/net/ssh/authentication/methods/abstract.rb +67 -48
  34. data/lib/net/ssh/authentication/methods/hostbased.rb +34 -37
  35. data/lib/net/ssh/authentication/methods/keyboard_interactive.rb +19 -12
  36. data/lib/net/ssh/authentication/methods/none.rb +16 -19
  37. data/lib/net/ssh/authentication/methods/password.rb +56 -19
  38. data/lib/net/ssh/authentication/methods/publickey.rb +96 -55
  39. data/lib/net/ssh/authentication/pageant.rb +483 -246
  40. data/lib/net/ssh/authentication/pub_key_fingerprint.rb +43 -0
  41. data/lib/net/ssh/authentication/session.rb +138 -120
  42. data/lib/net/ssh/buffer.rb +399 -300
  43. data/lib/net/ssh/buffered_io.rb +154 -150
  44. data/lib/net/ssh/config.rb +361 -166
  45. data/lib/net/ssh/connection/channel.rb +640 -596
  46. data/lib/net/ssh/connection/constants.rb +29 -29
  47. data/lib/net/ssh/connection/event_loop.rb +123 -0
  48. data/lib/net/ssh/connection/keepalive.rb +59 -0
  49. data/lib/net/ssh/connection/session.rb +628 -548
  50. data/lib/net/ssh/connection/term.rb +125 -123
  51. data/lib/net/ssh/errors.rb +101 -95
  52. data/lib/net/ssh/key_factory.rb +198 -100
  53. data/lib/net/ssh/known_hosts.rb +221 -98
  54. data/lib/net/ssh/loggable.rb +50 -49
  55. data/lib/net/ssh/packet.rb +83 -79
  56. data/lib/net/ssh/prompt.rb +50 -81
  57. data/lib/net/ssh/proxy/command.rb +108 -60
  58. data/lib/net/ssh/proxy/errors.rb +12 -10
  59. data/lib/net/ssh/proxy/http.rb +82 -78
  60. data/lib/net/ssh/proxy/https.rb +50 -0
  61. data/lib/net/ssh/proxy/jump.rb +54 -0
  62. data/lib/net/ssh/proxy/socks4.rb +5 -8
  63. data/lib/net/ssh/proxy/socks5.rb +18 -20
  64. data/lib/net/ssh/service/forward.rb +383 -255
  65. data/lib/net/ssh/test/channel.rb +145 -136
  66. data/lib/net/ssh/test/extensions.rb +131 -110
  67. data/lib/net/ssh/test/kex.rb +34 -32
  68. data/lib/net/ssh/test/local_packet.rb +46 -44
  69. data/lib/net/ssh/test/packet.rb +89 -70
  70. data/lib/net/ssh/test/remote_packet.rb +32 -30
  71. data/lib/net/ssh/test/script.rb +156 -142
  72. data/lib/net/ssh/test/socket.rb +49 -48
  73. data/lib/net/ssh/test.rb +82 -77
  74. data/lib/net/ssh/transport/aes128_gcm.rb +40 -0
  75. data/lib/net/ssh/transport/aes256_gcm.rb +40 -0
  76. data/lib/net/ssh/transport/algorithms.rb +472 -348
  77. data/lib/net/ssh/transport/chacha20_poly1305_cipher.rb +117 -0
  78. data/lib/net/ssh/transport/chacha20_poly1305_cipher_loader.rb +17 -0
  79. data/lib/net/ssh/transport/cipher_factory.rb +124 -100
  80. data/lib/net/ssh/transport/constants.rb +32 -24
  81. data/lib/net/ssh/transport/ctr.rb +42 -22
  82. data/lib/net/ssh/transport/gcm_cipher.rb +207 -0
  83. data/lib/net/ssh/transport/hmac/abstract.rb +97 -63
  84. data/lib/net/ssh/transport/hmac/md5.rb +0 -2
  85. data/lib/net/ssh/transport/hmac/md5_96.rb +0 -2
  86. data/lib/net/ssh/transport/hmac/none.rb +0 -2
  87. data/lib/net/ssh/transport/hmac/ripemd160.rb +0 -2
  88. data/lib/net/ssh/transport/hmac/sha1.rb +0 -2
  89. data/lib/net/ssh/transport/hmac/sha1_96.rb +0 -2
  90. data/lib/net/ssh/transport/hmac/sha2_256.rb +7 -11
  91. data/lib/net/ssh/transport/hmac/sha2_256_96.rb +4 -8
  92. data/lib/net/ssh/transport/hmac/sha2_256_etm.rb +12 -0
  93. data/lib/net/ssh/transport/hmac/sha2_512.rb +6 -9
  94. data/lib/net/ssh/transport/hmac/sha2_512_96.rb +4 -8
  95. data/lib/net/ssh/transport/hmac/sha2_512_etm.rb +12 -0
  96. data/lib/net/ssh/transport/hmac.rb +14 -12
  97. data/lib/net/ssh/transport/identity_cipher.rb +54 -44
  98. data/lib/net/ssh/transport/kex/abstract.rb +130 -0
  99. data/lib/net/ssh/transport/kex/abstract5656.rb +72 -0
  100. data/lib/net/ssh/transport/kex/curve25519_sha256.rb +39 -0
  101. data/lib/net/ssh/transport/kex/curve25519_sha256_loader.rb +30 -0
  102. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb +33 -40
  103. data/lib/net/ssh/transport/kex/diffie_hellman_group14_sha256.rb +11 -0
  104. data/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +119 -213
  105. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +53 -61
  106. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb +5 -9
  107. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +36 -90
  108. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb +18 -10
  109. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb +18 -10
  110. data/lib/net/ssh/transport/kex.rb +15 -12
  111. data/lib/net/ssh/transport/key_expander.rb +24 -20
  112. data/lib/net/ssh/transport/openssl.rb +161 -124
  113. data/lib/net/ssh/transport/openssl_cipher_extensions.rb +8 -0
  114. data/lib/net/ssh/transport/packet_stream.rb +246 -183
  115. data/lib/net/ssh/transport/server_version.rb +57 -51
  116. data/lib/net/ssh/transport/session.rb +307 -235
  117. data/lib/net/ssh/transport/state.rb +178 -176
  118. data/lib/net/ssh/verifiers/accept_new.rb +33 -0
  119. data/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb +33 -0
  120. data/lib/net/ssh/verifiers/always.rb +58 -0
  121. data/lib/net/ssh/verifiers/never.rb +19 -0
  122. data/lib/net/ssh/version.rb +57 -51
  123. data/lib/net/ssh.rb +140 -40
  124. data/net-ssh-public_cert.pem +21 -0
  125. data/net-ssh.gemspec +39 -184
  126. data/support/ssh_tunnel_bug.rb +5 -5
  127. data.tar.gz.sig +0 -0
  128. metadata +205 -99
  129. metadata.gz.sig +0 -0
  130. data/README.rdoc +0 -219
  131. data/Rudyfile +0 -96
  132. data/gem-public_cert.pem +0 -20
  133. data/lib/net/ssh/authentication/agent/java_pageant.rb +0 -85
  134. data/lib/net/ssh/authentication/agent/socket.rb +0 -170
  135. data/lib/net/ssh/ruby_compat.rb +0 -51
  136. data/lib/net/ssh/verifiers/lenient.rb +0 -30
  137. data/lib/net/ssh/verifiers/null.rb +0 -12
  138. data/lib/net/ssh/verifiers/secure.rb +0 -54
  139. data/lib/net/ssh/verifiers/strict.rb +0 -24
  140. data/setup.rb +0 -1585
  141. data/support/arcfour_check.rb +0 -20
  142. data/test/README.txt +0 -47
  143. data/test/authentication/methods/common.rb +0 -28
  144. data/test/authentication/methods/test_abstract.rb +0 -51
  145. data/test/authentication/methods/test_hostbased.rb +0 -114
  146. data/test/authentication/methods/test_keyboard_interactive.rb +0 -100
  147. data/test/authentication/methods/test_none.rb +0 -41
  148. data/test/authentication/methods/test_password.rb +0 -52
  149. data/test/authentication/methods/test_publickey.rb +0 -148
  150. data/test/authentication/test_agent.rb +0 -205
  151. data/test/authentication/test_key_manager.rb +0 -218
  152. data/test/authentication/test_session.rb +0 -108
  153. data/test/common.rb +0 -108
  154. data/test/configs/eqsign +0 -3
  155. data/test/configs/exact_match +0 -8
  156. data/test/configs/host_plus +0 -10
  157. data/test/configs/multihost +0 -4
  158. data/test/configs/nohost +0 -19
  159. data/test/configs/numeric_host +0 -4
  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 -467
  164. data/test/connection/test_session.rb +0 -526
  165. data/test/known_hosts/github +0 -1
  166. data/test/manual/test_forward.rb +0 -223
  167. data/test/start/test_options.rb +0 -36
  168. data/test/start/test_transport.rb +0 -28
  169. data/test/test_all.rb +0 -11
  170. data/test/test_buffer.rb +0 -433
  171. data/test/test_buffered_io.rb +0 -63
  172. data/test/test_config.rb +0 -151
  173. data/test/test_key_factory.rb +0 -173
  174. data/test/test_known_hosts.rb +0 -13
  175. data/test/transport/hmac/test_md5.rb +0 -41
  176. data/test/transport/hmac/test_md5_96.rb +0 -27
  177. data/test/transport/hmac/test_none.rb +0 -34
  178. data/test/transport/hmac/test_ripemd160.rb +0 -36
  179. data/test/transport/hmac/test_sha1.rb +0 -36
  180. data/test/transport/hmac/test_sha1_96.rb +0 -27
  181. data/test/transport/hmac/test_sha2_256.rb +0 -37
  182. data/test/transport/hmac/test_sha2_256_96.rb +0 -27
  183. data/test/transport/hmac/test_sha2_512.rb +0 -37
  184. data/test/transport/hmac/test_sha2_512_96.rb +0 -27
  185. data/test/transport/kex/test_diffie_hellman_group14_sha1.rb +0 -13
  186. data/test/transport/kex/test_diffie_hellman_group1_sha1.rb +0 -146
  187. data/test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb +0 -92
  188. data/test/transport/kex/test_diffie_hellman_group_exchange_sha256.rb +0 -34
  189. data/test/transport/kex/test_ecdh_sha2_nistp256.rb +0 -161
  190. data/test/transport/kex/test_ecdh_sha2_nistp384.rb +0 -38
  191. data/test/transport/kex/test_ecdh_sha2_nistp521.rb +0 -38
  192. data/test/transport/test_algorithms.rb +0 -330
  193. data/test/transport/test_cipher_factory.rb +0 -443
  194. data/test/transport/test_hmac.rb +0 -34
  195. data/test/transport/test_identity_cipher.rb +0 -40
  196. data/test/transport/test_packet_stream.rb +0 -1755
  197. data/test/transport/test_server_version.rb +0 -78
  198. data/test/transport/test_session.rb +0 -319
  199. data/test/transport/test_state.rb +0 -181
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: 75
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'