net-ssh 8.0.1 → 8.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b548f463639f7a9a85eca15cc065ab99d7b3c803330733198f311eb46cbc3c13
4
- data.tar.gz: 56dd051e3ff6346e4f5684c571d1136978314762b2eb2a248af00666c4ab136f
3
+ metadata.gz: 96690db72c35721670d94d15faf150030ae24a696b2eecc9f9b174eadaa892a2
4
+ data.tar.gz: b5d55d232f256442dfdc344b6a18384872fdc1f7c2d7ced93f7e6dec1890f02c
5
5
  SHA512:
6
- metadata.gz: f2d469ea5e169da065852011e64ecc4c30168baac60f4b241014ec1b7c1d76512e95163f726858f94cbaf722578fd0acddacfd446f31d4dfb65faafd62c97f1d
7
- data.tar.gz: 3582df1af6a3686ff510d86268730c6eecb5104ddcc239cfe31c324940b3a57d6522fe74c1b8cde2e42385167ee57958c669284032d39eda947ddfa1b8fc6c43
6
+ metadata.gz: e6ebb241e5088fd5b25402bafca4c6152e56da239a3e6bb0124ab84b9944ba7bb91506c6aef17bcb84e021f92335440d8e08f1fce4726189179d65c61150098f
7
+ data.tar.gz: ff9a4c3de691cce2a5cf9e1bb6a647b98663351ab6f896198ee519c6f040e0b767382ad499b7d3907446e52afbc98f485df2a126612da78aaba2d76fc80e563f
checksums.yaml.gz.sig CHANGED
Binary file
data/.rubocop.yml CHANGED
@@ -20,3 +20,7 @@ Layout/LineLength:
20
20
 
21
21
  Style/EmptyLiteral:
22
22
  Enabled: false
23
+
24
+ # CI runs the suite with RUBYOPT=--enable=frozen-string-literal instead of a magic comment in every file.
25
+ Style/FrozenStringLiteralComment:
26
+ Enabled: false
data/.rubocop_todo.yml CHANGED
@@ -587,13 +587,6 @@ Style/FormatString:
587
587
  - 'lib/net/ssh/authentication/pageant.rb'
588
588
  - 'lib/net/ssh/loggable.rb'
589
589
 
590
- # Offense count: 174
591
- # This cop supports safe auto-correction (--auto-correct).
592
- # Configuration parameters: EnforcedStyle.
593
- # SupportedStyles: always, always_true, never
594
- Style/FrozenStringLiteralComment:
595
- Enabled: false
596
-
597
590
  # Offense count: 1
598
591
  # This cop supports safe auto-correction (--auto-correct).
599
592
  Style/GlobalStdStream:
data/CHANGES.txt CHANGED
@@ -1,6 +1,10 @@
1
+ === 8.0.2
2
+
3
+ * Fixed `Session#close` raising `EOFError: cannot send data if channel has declared eof` when a forwarded connection still had unread data from its local client; data net-ssh had already read is still sent before the EOF and, as in OpenSSH, the rest is dropped; a regression in 8.0.0 [#1066, #1067]
4
+
1
5
  === 8.0.1
2
6
 
3
- * Fixed `unexpected packet type 94 during initial key exchange` (or 93) when channel data arrives during a client-initiated re-key, which broke bulk transfers at the first re-key (e.g. with `rekey_limit`, or after about 1 GB); a regression in 8.0.0 [#1063]
7
+ * Fixed `unexpected packet type 94 during initial key exchange` (or 93) when channel data arrives during a client-initiated re-key, which broke bulk transfers at the first re-key (e.g. with `rekey_limit`, or after about 1 GB); a regression in 7.3.5 and 8.0.0 [#1063]
4
8
  * `control_master: :auto` now ignores `forward_agent` (logged at info level) instead of raising ArgumentError, and logs the ignored connection options at info instead of warn level, so it works with sshkit (Kamal, Capistrano), which always passes `forward_agent: true`, `keys`, `known_hosts` and `keepalive` [#1062]
5
9
 
6
10
  === 8.0.0
@@ -346,6 +346,10 @@ module Net
346
346
  ch.info { "#{type} forwarded connection closed" }
347
347
  session.stop_listening_to(socket)
348
348
  ch.close
349
+ elsif ch.eof?
350
+ # Like OpenSSH's chan_shutdown_read: data already read still goes out before CHANNEL_EOF, the rest is dropped.
351
+ ch.output.append(socket.read_available) if socket.available > 0
352
+ session.pause_reading(socket)
349
353
  else
350
354
  if socket.available > 0
351
355
  data = socket.read_available(8192)
@@ -376,6 +380,8 @@ module Net
376
380
  end
377
381
 
378
382
  channel.on_process do |ch|
383
+ next if ch.eof?
384
+
379
385
  data = ch[:socket].read(8192)
380
386
  if data
381
387
  ch.debug { "read #{data.length} bytes from client, sending over #{type} forwarded connection" }
@@ -52,7 +52,7 @@ module Net
52
52
  MINOR = 0
53
53
 
54
54
  # The tiny component of this version of the Net::SSH library
55
- TINY = 1
55
+ TINY = 2
56
56
 
57
57
  # The prerelease component of this version of the Net::SSH library
58
58
  # nil allowed
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-ssh
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.1
4
+ version: 8.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamis Buck
@@ -32,7 +32,7 @@ cert_chain:
32
32
  ufHf4AX2UIkJbh7zCPkiNCqIr7MSWLNFG/9lOlHYsEJM8XujT1ofPobYx6YSFx/C
33
33
  7HBrI7UX7awt6UvBZebhcHzyMHxg/B5PVQllPA==
34
34
  -----END CERTIFICATE-----
35
- date: 2026-10-21 00:00:00.000000000 Z
35
+ date: 2026-10-22 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: logger
metadata.gz.sig CHANGED
Binary file