puma 4.0.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puma might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b22a5ddb0ac910e28c3789564c70be998eaa0dec5eca7c668c6a4478ab35012b
4
- data.tar.gz: b98d67fb71305279ee8169c80546e46d4b63a4be522462545023f8917d82fa72
3
+ metadata.gz: 2da4583ff5ef681c3c08be5b56e1bcf2134d34ddf226f066aecc288a8bf197b5
4
+ data.tar.gz: '0963edfc828d163f4c7afeee080ff6264171db93416a423b8585fe20f532e7c1'
5
5
  SHA512:
6
- metadata.gz: 1f7186d10e0783ffd899b65b25fdda553346074b3bad7416726a99a0f77709318a275e67856beb101ff75c9b75dba48af917d48504bf6f5fc15b64dd7c8a190a
7
- data.tar.gz: 1881c9c149c4e631c9bec14cd92344785933c81bf4fb997721c61081d4a3f6f9a5bf4cbf0f8faca44110deaa7331b6177a67d734af3006b1e0b677a7782fc5f9
6
+ metadata.gz: 6fcb34a36a1ab1a24c2f2ce859fcb99aa99a7fcdddfa6ab034e1af70fe02b6d44158b8fccb5e3d41c90fefcd80f835aa62e7c6121c428f01f8816abc39d8a3c1
7
+ data.tar.gz: 147d74c560432cbaaed701dd815287e4e71241468c6222a6e6186a63e2c39aaeed4615287f5cd3bb373be5195251b17fe98c945c15d73821c9d41bbbc8309a7d
data/History.md CHANGED
@@ -1,11 +1,21 @@
1
1
  ## Master
2
2
 
3
- x features
4
- x bugfixes
3
+ * Features
4
+ * Your feature goes here (#Github Number)
5
+
6
+ * Bugfixes
7
+ * Your bugfix goes here (#Github Number)
8
+
9
+ ## 4.0.1 / 2019-07-11
10
+
11
+ * 2 bugfixes
12
+ * Fix socket removed after reload - should fix problems with systemd socket activation. (#1829)
13
+ * Add extconf tests for DTLS_method & TLS_server_method, use in minissl.rb. Should fix "undefined symbol: DTLS_method" when compiling against old OpenSSL versions. (#1832)
14
+ * Removed unnecessary RUBY_VERSION checks. (#1827)
5
15
 
6
16
  ## 4.0.0 / 2019-06-25
7
17
 
8
- 9 features
18
+ * 9 features
9
19
  * Add support for disabling TLSv1.0 (#1562)
10
20
  * Request body read time metric (#1569)
11
21
  * Add out_of_band hook (#1648)
@@ -14,7 +24,9 @@ x bugfixes
14
24
  * Add option to suppress SignalException on SIGTERM (#1690)
15
25
  * Allow mutual TLS CA to be set using `ssl_bind` DSL (#1689)
16
26
  * Reactor now uses nio4r instead of `select` (#1728)
17
- 9 x bugfixes
27
+ * Add status to pumactl with pidfile (#1824)
28
+
29
+ * 9 bugfixes
18
30
  * Do not accept new requests on shutdown (#1685, #1808)
19
31
  * Fix 3 corner cases when request body is chunked (#1508)
20
32
  * Change pid existence check's condition branches (#1650)
@@ -1431,3 +1443,12 @@ be added back in a future date when a java Puma::MiniSSL is added.
1431
1443
  ## 1.0.0 / 2012-03-29
1432
1444
 
1433
1445
  * Released!
1446
+
1447
+ ## Ignore - this is for maintainers to copy-paste during release
1448
+ ## Master
1449
+
1450
+ * Features
1451
+ * Your feature goes here (#Github Number)
1452
+
1453
+ * Bugfixes
1454
+ * Your bugfix goes here (#Github Number)
@@ -9,6 +9,14 @@ unless ENV["DISABLE_SSL"]
9
9
  %w'ssl ssleay32'.find {|ssl| have_library(ssl, 'SSL_CTX_new')}
10
10
 
11
11
  have_header "openssl/bio.h"
12
+
13
+ # below is yes for 1.0.2 & later
14
+ have_func "DTLS_method" , "openssl/ssl.h"
15
+
16
+ # below are yes for 1.1.0 & later, may need to check func rather than macro
17
+ # with versions after 1.1.1
18
+ have_func "TLS_server_method" , "openssl/ssl.h"
19
+ have_macro "SSL_CTX_set_min_proto_version", "openssl/ssl.h"
12
20
  end
13
21
  end
14
22
 
@@ -168,8 +168,11 @@ VALUE engine_init_server(VALUE self, VALUE mini_ssl_ctx) {
168
168
  ID sym_no_tlsv1 = rb_intern("no_tlsv1");
169
169
  VALUE no_tlsv1 = rb_funcall(mini_ssl_ctx, sym_no_tlsv1, 0);
170
170
 
171
-
171
+ #ifdef HAVE_TLS_SERVER_METHOD
172
+ ctx = SSL_CTX_new(TLS_server_method());
173
+ #else
172
174
  ctx = SSL_CTX_new(SSLv23_server_method());
175
+ #endif
173
176
  conn->ctx = ctx;
174
177
 
175
178
  SSL_CTX_use_certificate_chain_file(ctx, RSTRING_PTR(cert));
@@ -232,8 +235,11 @@ VALUE engine_init_server(VALUE self, VALUE mini_ssl_ctx) {
232
235
  VALUE engine_init_client(VALUE klass) {
233
236
  VALUE obj;
234
237
  ms_conn* conn = engine_alloc(klass, &obj);
235
-
238
+ #ifdef HAVE_DTLS_METHOD
236
239
  conn->ctx = SSL_CTX_new(DTLS_method());
240
+ #else
241
+ conn->ctx = SSL_CTX_new(DTLSv1_method());
242
+ #endif
237
243
  conn->ssl = SSL_new(conn->ctx);
238
244
  SSL_set_app_data(conn->ssl, NULL);
239
245
  SSL_set_verify(conn->ssl, SSL_VERIFY_NONE, NULL);
@@ -53,7 +53,8 @@ module Puma
53
53
  @unix_paths.each do |i|
54
54
  # Errno::ENOENT is intermittently raised
55
55
  begin
56
- File.unlink i
56
+ unix_socket = UNIXSocket.new i
57
+ unix_socket.close
57
58
  rescue Errno::ENOENT
58
59
  end
59
60
  end
@@ -100,7 +100,7 @@ module Puma
100
100
  # too taxing on performance.
101
101
  module Const
102
102
 
103
- PUMA_VERSION = VERSION = "4.0.0".freeze
103
+ PUMA_VERSION = VERSION = "4.0.1".freeze
104
104
  CODE_NAME = "4 Fast 4 Furious".freeze
105
105
  PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
106
106
 
@@ -252,7 +252,7 @@ module Puma
252
252
 
253
253
  argv = restart_args
254
254
  Dir.chdir(@restart_dir)
255
- argv += [redirects] if RUBY_VERSION >= '1.9'
255
+ argv += [redirects]
256
256
  Kernel.exec(*argv)
257
257
  end
258
258
  end
@@ -281,7 +281,7 @@ module Puma
281
281
  wild = File.expand_path(File.join(puma_lib_dir, "../bin/puma-wild"))
282
282
  args = [Gem.ruby, wild, '-I', dirs.join(':'), deps.join(',')] + @original_argv
283
283
  # Ruby 2.0+ defaults to true which breaks socket activation
284
- args += [{:close_others => false}] if RUBY_VERSION >= '2.0'
284
+ args += [{:close_others => false}]
285
285
  Kernel.exec(*args)
286
286
  end
287
287
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puma
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-25 00:00:00.000000000 Z
11
+ date: 2019-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nio4r