io-endpoint 0.10.2 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/io/endpoint/ssl_endpoint.rb +11 -1
- data/lib/io/endpoint/version.rb +1 -1
- data/lib/io/endpoint/wrapper.rb +10 -0
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13d2f1f030ef02d8e3af3a6c610fd163cce181414f38873b65f89f121631f030
|
4
|
+
data.tar.gz: 699ee178c94c8a4bb6bfb16e4cbdb32f1d6c59939b40d5ce415cacc790f5fa88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74db4f5cf9a32b099d67378948aaf731d1709661a93bfe440226bf461f0195b6093fa2258fb9d54f17f0ad79b0f99e8a09b68db69fb57c3e65bb3b19f728a1fe
|
7
|
+
data.tar.gz: cc1be6161c818a0085c6f0d0b4fb802adf5f634bfb55640ab89e79cf2c0cc1a1da5207b34ac75083c6e7ec9a358fc9fc2d84ac077668e7cb39971ed2ad6d9722
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -10,6 +10,14 @@ require 'openssl'
|
|
10
10
|
|
11
11
|
module OpenSSL
|
12
12
|
module SSL
|
13
|
+
class SSLSocket
|
14
|
+
unless method_defined?(:start)
|
15
|
+
def start
|
16
|
+
self.accept
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
13
21
|
module SocketForwarder
|
14
22
|
unless method_defined?(:close_on_exec=)
|
15
23
|
def close_on_exec=(value)
|
@@ -113,7 +121,9 @@ module IO::Endpoint
|
|
113
121
|
end
|
114
122
|
|
115
123
|
def make_server(io)
|
116
|
-
::OpenSSL::SSL::SSLServer.new(io, self.context)
|
124
|
+
::OpenSSL::SSL::SSLServer.new(io, self.context).tap do |server|
|
125
|
+
server.start_immediately = false
|
126
|
+
end
|
117
127
|
end
|
118
128
|
|
119
129
|
def make_socket(io)
|
data/lib/io/endpoint/version.rb
CHANGED
data/lib/io/endpoint/wrapper.rb
CHANGED
@@ -165,6 +165,16 @@ module IO::Endpoint
|
|
165
165
|
end
|
166
166
|
|
167
167
|
async do
|
168
|
+
# Some sockets, notably SSL sockets, need application level negotiation before they are ready:
|
169
|
+
if socket.respond_to?(:start)
|
170
|
+
begin
|
171
|
+
socket.start
|
172
|
+
rescue
|
173
|
+
socket.close
|
174
|
+
raise
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
168
178
|
yield socket, address
|
169
179
|
end
|
170
180
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: io-endpoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -37,7 +37,7 @@ cert_chain:
|
|
37
37
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
38
38
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
39
39
|
-----END CERTIFICATE-----
|
40
|
-
date: 2024-
|
40
|
+
date: 2024-06-23 00:00:00.000000000 Z
|
41
41
|
dependencies: []
|
42
42
|
description:
|
43
43
|
email:
|
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
requirements: []
|
84
|
-
rubygems_version: 3.5.
|
84
|
+
rubygems_version: 3.5.11
|
85
85
|
signing_key:
|
86
86
|
specification_version: 4
|
87
87
|
summary: Provides a separation of concerns interface for IO endpoints.
|
metadata.gz.sig
CHANGED
Binary file
|