uninterruptible 2.5.4 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2c8e04d9cefeee57154e1d743eec0d70917cd82d
4
- data.tar.gz: 6972c935bcaddba37a7698b7c33603a531191247
2
+ SHA256:
3
+ metadata.gz: 37330e91599224a3ebf4b57847d18fea18f579c5cade6710dd72b0472b4fa734
4
+ data.tar.gz: ab29525626eeffa3c3b5cb3bab4ed26fed317f2cef65e79961270dcd506354ba
5
5
  SHA512:
6
- metadata.gz: e1acc119f8cc86cd928729d5a59dd4e3a8d71a74154d92b3be47bb1c9b77f7666927a746dece346fad92b344d90fb71ab88114d0d985db60aebe2e7e077ca21c
7
- data.tar.gz: 8a4eaaa911356e6a6fccd8edff462a54299068074c78cc837ae3086f1259022267bdb59030a0f99410f1e530e7fd8fbd1c83f7437fa6e0953e03914f3535e12d
6
+ metadata.gz: d10cae76158c97f9ae931322593f2ded7af4aa94405b4f3fa243df688358c2cb9293c28407b77e59b2da28a2aacbadcfb9ce20ccd13182dc1ea17416a972d319
7
+ data.tar.gz: aa2fdd000366dc186e936405cb2e8e8ee4ab850dffdf6c9d72ff593806778e9c64fc077ae111dba3ae4dd5448c46e405b8b29badb279044d3656945eca70eb1a
@@ -1,8 +1,5 @@
1
1
  # Changelog
2
2
 
3
- ## 2.5.4
4
- * Ensure the underlying TCPSocket is closed with an SSLSocket
5
-
6
3
  ## 2.5.3
7
4
  * Accept new connections with #accept instead of #accept_nonblock
8
5
  * Remove SSLExtensions module as this is no longer required
@@ -111,12 +111,17 @@ module Uninterruptible
111
111
  # concurrency model.
112
112
  def accept_client_connection
113
113
  Thread.start(socket_server.accept) do |client_socket|
114
- client_socket.sync_close = true if client_socket.respond_to?(:sync_close)
115
-
114
+ if client_socket.is_a?(OpenSSL::SSL::SSLSocket)
115
+ begin
116
+ client_socket.accept
117
+ rescue OpenSSL::SSL::SSLError => e
118
+ logger.warn e.message
119
+ client_socket.close rescue true
120
+ Thread.exit
121
+ end
122
+ end
116
123
  process_request(client_socket)
117
124
  end
118
- rescue OpenSSL::SSL::SSLError => e
119
- logger.warn e.message
120
125
  end
121
126
 
122
127
  # Keeps a track of the number of active connections and passes the client connection to #handle_request for the
@@ -33,7 +33,7 @@ module Uninterruptible
33
33
  # @return [OpenSSL::SSL::SSLServer] tcp_server with a TLS layer
34
34
  def wrap_with_tls(tcp_server)
35
35
  server = OpenSSL::SSL::SSLServer.new(tcp_server, ssl_context)
36
- server.start_immediately = true
36
+ server.start_immediately = false
37
37
  server
38
38
  end
39
39
 
@@ -1,3 +1,3 @@
1
1
  module Uninterruptible
2
- VERSION = "2.5.4".freeze
2
+ VERSION = "2.6.0".freeze
3
3
  end
@@ -6,8 +6,8 @@ require 'uninterruptible/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "uninterruptible"
8
8
  spec.version = Uninterruptible::VERSION
9
- spec.authors = ["Dan Wentworth"]
10
- spec.email = ["dan@atechmedia.com"]
9
+ spec.authors = ["Dan Wentworth", "Charlie Smurthwaite"]
10
+ spec.email = ["support@atechmedia.com"]
11
11
 
12
12
  spec.summary = "Zero-downtime restarts for your trivial socket servers"
13
13
  spec.description = "Uninterruptible gives your socket server magic restarting powers. Send your running "\
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uninterruptible
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.4
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Wentworth
8
+ - Charlie Smurthwaite
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2019-07-24 00:00:00.000000000 Z
12
+ date: 2020-01-16 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
@@ -57,7 +58,7 @@ description: Uninterruptible gives your socket server magic restarting powers. S
57
58
  which will immediately start handling new requests while the old server stays alive
58
59
  until all of it's active connections are complete.
59
60
  email:
60
- - dan@atechmedia.com
61
+ - support@atechmedia.com
61
62
  executables: []
62
63
  extensions: []
63
64
  extra_rdoc_files: []
@@ -101,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
102
  version: '0'
102
103
  requirements: []
103
104
  rubyforge_project:
104
- rubygems_version: 2.6.14.3
105
+ rubygems_version: 2.7.8
105
106
  signing_key:
106
107
  specification_version: 4
107
108
  summary: Zero-downtime restarts for your trivial socket servers