sping 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/sping +3 -3
- data/lib/session_manager.rb +6 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5ab53904c197ff35bab0d5fc29f26b5ada7c1ded24548b30d42df12d3df6837
|
4
|
+
data.tar.gz: 8bd57a7d33c5f39f1eb76ad2551550fafecc5836f373b3c3675648e620afebe1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90e021acc0d54dace745238c35566efacdd5be77d8db2f9ecd6e6aa1ed8d71ee89c552fb4674be23e1adcf244987154e1975364731eff78e76ad5dd7006ec3df
|
7
|
+
data.tar.gz: 336910fef1e87548f060a4a70547b272d78362828274dd5b21ed011a821a66ed71c7ece447045ca717a169676fa872594cbbd9e649e701731c63cd812c7f7bba
|
data/bin/sping
CHANGED
@@ -25,12 +25,12 @@ ARGV.each do |host|
|
|
25
25
|
end
|
26
26
|
|
27
27
|
Signal.trap('INT') do
|
28
|
-
puts "Stop sessions..."
|
29
|
-
sess_mgr.stop_sessions
|
30
|
-
|
31
28
|
puts "Stop server..."
|
32
29
|
sess_mgr.stop_server
|
33
30
|
|
31
|
+
puts "Stop sessions..."
|
32
|
+
sess_mgr.stop_sessions
|
33
|
+
|
34
34
|
puts "Stop client..."
|
35
35
|
sess_mgr.stop
|
36
36
|
end
|
data/lib/session_manager.rb
CHANGED
@@ -31,7 +31,7 @@ module SPing
|
|
31
31
|
loop do
|
32
32
|
begin
|
33
33
|
session.do_tcp_handshake2
|
34
|
-
rescue Errno::ECONNRESET, TCPHandshakeError => e
|
34
|
+
rescue Errno::ECONNRESET, EOFError, IO::TimeoutError, TCPHandshakeError => e
|
35
35
|
$logger.warn "TCP handshake failed: #{e.message}"
|
36
36
|
return
|
37
37
|
end
|
@@ -150,7 +150,10 @@ module SPing
|
|
150
150
|
|
151
151
|
def do_gc
|
152
152
|
$logger.debug 'Remove outdated sessions.'
|
153
|
-
@sessions.each do |session_id
|
153
|
+
@sessions.keys.each do |session_id|
|
154
|
+
session = @sessions[session_id]
|
155
|
+
# It is possible that sessions no longer exist here, as we may have session IDs that have already been deleted.
|
156
|
+
# However, we can ignore this aspect here, as we are the only function that deletes sessions.
|
154
157
|
if ! (session.tcp_handshake_complete && session.udp_handshake_complete)
|
155
158
|
# Handshake incomplete
|
156
159
|
if (Time.now.to_i - session.created.to_i) > 60
|
@@ -245,7 +248,7 @@ module SPing
|
|
245
248
|
|
246
249
|
begin
|
247
250
|
session.do_tcp_handshake1 client, self.generate_session_id
|
248
|
-
rescue Errno::ECONNRESET, TCPHandshakeError => e
|
251
|
+
rescue Errno::ECONNRESET, EOFError, IO::TimeoutError, TCPHandshakeError => e
|
249
252
|
$logger.warn "Could not establish a new session with Peer: #{e.message}"
|
250
253
|
return
|
251
254
|
rescue OutOfSessions => e
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marek Küthe
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -53,7 +53,7 @@ metadata:
|
|
53
53
|
source_code_uri: https://codeberg.org/mark22k/sping
|
54
54
|
bug_tracker_uri: https://codeberg.org/mark22k/sping/issues
|
55
55
|
rubygems_mfa_required: 'true'
|
56
|
-
post_install_message:
|
56
|
+
post_install_message:
|
57
57
|
rdoc_options: []
|
58
58
|
require_paths:
|
59
59
|
- lib
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
version: '0'
|
70
70
|
requirements: []
|
71
71
|
rubygems_version: 3.4.21
|
72
|
-
signing_key:
|
72
|
+
signing_key:
|
73
73
|
specification_version: 4
|
74
74
|
summary: Reimplementation of sping in Ruby.
|
75
75
|
test_files: []
|