puma 3.11.2 → 3.11.3

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
  SHA1:
3
- metadata.gz: ffa53258e98287ae926e61529a1e91b79ded9a23
4
- data.tar.gz: 1c055094a31d86df48ec6b4840585fb1f38b9d73
3
+ metadata.gz: 4804608b8eb91d9bfd64c81497f624c5c623fdda
4
+ data.tar.gz: 76eac44fc46d7a7d53fc83d5d67eb0d1cdbb14c3
5
5
  SHA512:
6
- metadata.gz: 015f85a58ce86102cef24ad40360f43d01f220fbb2b08850113ef1eeea85158d7c316af4641c7de2de88829c99dd87b633fdbf7711b84f7a7f6442a0a832f3a7
7
- data.tar.gz: 46d3b3ac6c5adcf6f5a81f7166a7aa2a9b361c629653ffe1d21df49fdbadb90bf47ffb6e5b48063af1a3ae4037da4c92a3dd1b36ac805c5ede98c4f13a504c47
6
+ metadata.gz: 0ffda6912f5ab5aad0cd430dcfb73b8f4ac97764c205b6396ff545d7672ab828f626da30e881a8789a4dcee5e8a4346e383a3b69569cc2be7bde604165251c0a
7
+ data.tar.gz: ef1bc4ef2372bfec240b4a36f60035c978ba45c8423db18c7372c3ca0f52a7dc90ba83ef9dfa2a5b20f85a832d0f4ba9a5ced2d41a165a6bd8b49d021c007721
data/History.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 3.11.3 / 2018-03-05
2
+
3
+ * 3 bugfixes:
4
+ * Add closed? to MiniSSL::Socket for use in reactor (#1510)
5
+ * Handle EOFError at the toplevel of the server threads (#1524) (#1507)
6
+ * Deal with zero sized bodies when using SSL (#1483)
7
+
1
8
  ## 3.11.2 / 2018-01-19
2
9
 
3
10
  * 1 bugfix:
@@ -98,7 +98,7 @@ module Puma
98
98
  # too taxing on performance.
99
99
  module Const
100
100
 
101
- PUMA_VERSION = VERSION = "3.11.2".freeze
101
+ PUMA_VERSION = VERSION = "3.11.3".freeze
102
102
  CODE_NAME = "Love Song".freeze
103
103
  PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
104
104
 
@@ -16,6 +16,10 @@ module Puma
16
16
  @socket
17
17
  end
18
18
 
19
+ def closed?
20
+ @socket.closed?
21
+ end
22
+
19
23
  def readpartial(size)
20
24
  while true
21
25
  output = @engine.read
@@ -77,6 +81,8 @@ module Puma
77
81
  end
78
82
 
79
83
  def write(data)
84
+ return 0 if data.empty?
85
+
80
86
  need = data.bytesize
81
87
 
82
88
  while true
@@ -295,7 +295,7 @@ module Puma
295
295
  client.close
296
296
 
297
297
  @events.parse_error self, client.env, e
298
- rescue ConnectionError
298
+ rescue ConnectionError, EOFError
299
299
  client.close
300
300
  else
301
301
  if process_now
@@ -755,8 +755,8 @@ module Puma
755
755
 
756
756
  begin
757
757
  res_body.each do |part|
758
+ next if part.bytesize.zero?
758
759
  if chunked
759
- next if part.bytesize.zero?
760
760
  fast_write client, part.bytesize.to_s(16)
761
761
  fast_write client, line_ending
762
762
  fast_write client, part
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: 3.11.2
4
+ version: 3.11.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-19 00:00:00.000000000 Z
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
14
14
  for Ruby/Rack applications. Puma is intended for use in both development and production
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  version: '0'
122
122
  requirements: []
123
123
  rubyforge_project:
124
- rubygems_version: 2.6.8
124
+ rubygems_version: 2.6.14
125
125
  signing_key:
126
126
  specification_version: 4
127
127
  summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for