uninterruptible 2.5.4 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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