sping 1.0.0 → 1.0.1
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: 4c84629573ffe3769a497d40dbe6e178daac6e3abfc537685459c80054c7a0db
|
4
|
+
data.tar.gz: 9a9cc52ebb3e2fe2a0e51effe9ce3e00709970d64c8c9e9d24b346976cf3d079
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9da0a47ba8b5df79e935ba5a9768051f6b84cfddd1a3d50e4386f74d4dd2c806ff9386d8c27268ab87b84a2f8a21def16af3889aed951dd8f59201bb7f21447
|
7
|
+
data.tar.gz: b71abb2618ba86b862ff8125dd7d15c5c4d5a4f7de065b3d722d0cc2f8a62812ea7a8ffaa77c10737c1c61e9f29bd6b44cbc421f838b4b4f4d7ce225ed07b1e7
|
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::Timeout, 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::Timeout, 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.1
|
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: []
|