io-endpoint 0.10.2 → 0.10.3
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 +2 -2
- 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: afbc41c1af461a0f589ca44c76c181ee916aa15cf3942f6c36f28abfe4074a0e
|
4
|
+
data.tar.gz: 4befca414c4f7ab1d3981f3849371f44d9cd2bed59452224decef2c9f49ca476
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86e753b79efe7ad2438a5ac795db34a10887635835eb80767022cf0228370c6c6e2850f51afccf6d82d6f1f80b79290ecbc44807b6237d0d12d1d1f0d4df000d
|
7
|
+
data.tar.gz: 5f5a734cff764e4928d87fdce912278fd49820c4e864a49d092f13df6f4ea7944a28b6a35bae837a6803f381ddbaa9f5b5f6f22e0329af86cc18c9097202b105
|
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.10.
|
4
|
+
version: 0.10.3
|
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-05-10 00:00:00.000000000 Z
|
41
41
|
dependencies: []
|
42
42
|
description:
|
43
43
|
email:
|
metadata.gz.sig
CHANGED
Binary file
|