puma 4.3.7-java → 4.3.11-java
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 +4 -4
- data/History.md +20 -0
- data/LICENSE +0 -0
- data/README.md +0 -0
- data/bin/puma-wild +0 -0
- data/docs/architecture.md +0 -0
- data/docs/deployment.md +0 -0
- data/docs/images/puma-connection-flow-no-reactor.png +0 -0
- data/docs/images/puma-connection-flow.png +0 -0
- data/docs/images/puma-general-arch.png +0 -0
- data/docs/nginx.md +0 -0
- data/docs/plugins.md +0 -0
- data/docs/restart.md +0 -0
- data/docs/signals.md +0 -0
- data/docs/systemd.md +0 -0
- data/docs/tcp_mode.md +0 -0
- data/ext/puma_http11/PumaHttp11Service.java +0 -0
- data/ext/puma_http11/ext_help.h +0 -0
- data/ext/puma_http11/extconf.rb +0 -0
- data/ext/puma_http11/http11_parser.c +23 -10
- data/ext/puma_http11/http11_parser.h +0 -0
- data/ext/puma_http11/http11_parser.java.rl +0 -0
- data/ext/puma_http11/http11_parser.rl +0 -0
- data/ext/puma_http11/http11_parser_common.rl +1 -1
- data/ext/puma_http11/io_buffer.c +0 -0
- data/ext/puma_http11/mini_ssl.c +0 -0
- data/ext/puma_http11/org/jruby/puma/Http11.java +0 -0
- data/ext/puma_http11/org/jruby/puma/Http11Parser.java +48 -46
- data/ext/puma_http11/org/jruby/puma/IOBuffer.java +0 -0
- data/ext/puma_http11/org/jruby/puma/MiniSSL.java +0 -0
- data/ext/puma_http11/puma_http11.c +0 -0
- data/lib/puma/accept_nonblock.rb +0 -0
- data/lib/puma/app/status.rb +0 -0
- data/lib/puma/binder.rb +0 -0
- data/lib/puma/cli.rb +0 -0
- data/lib/puma/client.rb +0 -0
- data/lib/puma/cluster.rb +0 -0
- data/lib/puma/commonlogger.rb +0 -0
- data/lib/puma/configuration.rb +0 -0
- data/lib/puma/const.rb +1 -1
- data/lib/puma/control_cli.rb +0 -0
- data/lib/puma/detect.rb +0 -0
- data/lib/puma/dsl.rb +0 -0
- data/lib/puma/events.rb +0 -0
- data/lib/puma/io_buffer.rb +0 -0
- data/lib/puma/jruby_restart.rb +0 -0
- data/lib/puma/launcher.rb +0 -0
- data/lib/puma/minissl/context_builder.rb +0 -0
- data/lib/puma/minissl.rb +0 -0
- data/lib/puma/null_io.rb +0 -0
- data/lib/puma/plugin/tmp_restart.rb +0 -0
- data/lib/puma/plugin.rb +0 -0
- data/lib/puma/puma_http11.jar +0 -0
- data/lib/puma/rack/builder.rb +0 -0
- data/lib/puma/rack/urlmap.rb +0 -0
- data/lib/puma/rack_default.rb +0 -0
- data/lib/puma/reactor.rb +0 -0
- data/lib/puma/runner.rb +0 -0
- data/lib/puma/server.rb +20 -12
- data/lib/puma/single.rb +0 -0
- data/lib/puma/state_file.rb +0 -0
- data/lib/puma/tcp_logger.rb +0 -0
- data/lib/puma/thread_pool.rb +0 -0
- data/lib/puma/util.rb +0 -0
- data/lib/puma.rb +0 -0
- data/lib/rack/handler/puma.rb +0 -0
- data/tools/docker/Dockerfile +0 -0
- data/tools/jungle/README.md +0 -0
- data/tools/jungle/init.d/README.md +0 -0
- data/tools/jungle/rc.d/README.md +0 -0
- data/tools/jungle/rc.d/puma.conf +0 -0
- data/tools/jungle/upstart/README.md +0 -0
- data/tools/jungle/upstart/puma-manager.conf +0 -0
- data/tools/jungle/upstart/puma.conf +0 -0
- data/tools/trickletest.rb +0 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6070a263b047d59b416396b2c0ec6b1f1b05b4f5e603305d928b27ed4a122aa6
|
4
|
+
data.tar.gz: 7d18b63d60bc8b10c32182fda0a841895d97366cd5a6ca6888d5768259649c87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52f32ac33c6d02ceeda415fc9090dd75d79e389209d60bb1cffda005839a895ee7dfe8f0c141fb5a66414c58875a942569e54a9bd9bbf3ceceaa2dbaf3518a5b
|
7
|
+
data.tar.gz: 98807e22469d6c78d4c01e6a7a07473803546913833b81e68638366ec7ebb33a9a8b8b804f5caa1c86be8fbe61b8deb0920113a0ffdbddb2da8417cb2ec2fa85
|
data/History.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
## 4.3.11 / 2022-02-11
|
2
|
+
|
3
|
+
* Security
|
4
|
+
* Always close the response body (GHSA-rmj8-8hhh-gv5h)
|
5
|
+
|
6
|
+
## 4.3.10 / 2021-10-12
|
7
|
+
|
8
|
+
* Bugfixes
|
9
|
+
* Allow UTF-8 in HTTP header values
|
10
|
+
|
11
|
+
## 4.3.9 / 2021-10-12
|
12
|
+
|
13
|
+
* Security
|
14
|
+
* Do not allow LF as a line ending in a header (CVE-2021-41136)
|
15
|
+
|
16
|
+
## 4.3.8 / 2021-05-11
|
17
|
+
|
18
|
+
* Security
|
19
|
+
* Close keepalive connections after the maximum number of fast inlined requests (#2625)
|
20
|
+
|
1
21
|
## 4.3.7 / 2020-11-30
|
2
22
|
|
3
23
|
* Bugfixes
|
data/LICENSE
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/bin/puma-wild
CHANGED
File without changes
|
data/docs/architecture.md
CHANGED
File without changes
|
data/docs/deployment.md
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/docs/nginx.md
CHANGED
File without changes
|
data/docs/plugins.md
CHANGED
File without changes
|
data/docs/restart.md
CHANGED
File without changes
|
data/docs/signals.md
CHANGED
File without changes
|
data/docs/systemd.md
CHANGED
File without changes
|
data/docs/tcp_mode.md
CHANGED
File without changes
|
File without changes
|
data/ext/puma_http11/ext_help.h
CHANGED
File without changes
|
data/ext/puma_http11/extconf.rb
CHANGED
File without changes
|
@@ -430,7 +430,13 @@ case 18:
|
|
430
430
|
switch( (*p) ) {
|
431
431
|
case 13: goto tr26;
|
432
432
|
case 32: goto tr27;
|
433
|
+
case 127: goto st0;
|
433
434
|
}
|
435
|
+
if ( (*p) > 8 ) {
|
436
|
+
if ( 10 <= (*p) && (*p) <= 31 )
|
437
|
+
goto st0;
|
438
|
+
} else if ( (*p) >= 0 )
|
439
|
+
goto st0;
|
434
440
|
goto tr25;
|
435
441
|
tr25:
|
436
442
|
#line 44 "ext/puma_http11/http11_parser.rl"
|
@@ -440,9 +446,16 @@ st19:
|
|
440
446
|
if ( ++p == pe )
|
441
447
|
goto _test_eof19;
|
442
448
|
case 19:
|
443
|
-
#line
|
444
|
-
|
445
|
-
goto tr29;
|
449
|
+
#line 448 "ext/puma_http11/http11_parser.c"
|
450
|
+
switch( (*p) ) {
|
451
|
+
case 13: goto tr29;
|
452
|
+
case 127: goto st0;
|
453
|
+
}
|
454
|
+
if ( (*p) > 8 ) {
|
455
|
+
if ( 10 <= (*p) && (*p) <= 31 )
|
456
|
+
goto st0;
|
457
|
+
} else if ( (*p) >= 0 )
|
458
|
+
goto st0;
|
446
459
|
goto st19;
|
447
460
|
tr9:
|
448
461
|
#line 51 "ext/puma_http11/http11_parser.rl"
|
@@ -486,7 +499,7 @@ st20:
|
|
486
499
|
if ( ++p == pe )
|
487
500
|
goto _test_eof20;
|
488
501
|
case 20:
|
489
|
-
#line
|
502
|
+
#line 501 "ext/puma_http11/http11_parser.c"
|
490
503
|
switch( (*p) ) {
|
491
504
|
case 32: goto tr31;
|
492
505
|
case 60: goto st0;
|
@@ -507,7 +520,7 @@ st21:
|
|
507
520
|
if ( ++p == pe )
|
508
521
|
goto _test_eof21;
|
509
522
|
case 21:
|
510
|
-
#line
|
523
|
+
#line 522 "ext/puma_http11/http11_parser.c"
|
511
524
|
switch( (*p) ) {
|
512
525
|
case 32: goto tr33;
|
513
526
|
case 60: goto st0;
|
@@ -528,7 +541,7 @@ st22:
|
|
528
541
|
if ( ++p == pe )
|
529
542
|
goto _test_eof22;
|
530
543
|
case 22:
|
531
|
-
#line
|
544
|
+
#line 543 "ext/puma_http11/http11_parser.c"
|
532
545
|
switch( (*p) ) {
|
533
546
|
case 43: goto st22;
|
534
547
|
case 58: goto st23;
|
@@ -553,7 +566,7 @@ st23:
|
|
553
566
|
if ( ++p == pe )
|
554
567
|
goto _test_eof23;
|
555
568
|
case 23:
|
556
|
-
#line
|
569
|
+
#line 568 "ext/puma_http11/http11_parser.c"
|
557
570
|
switch( (*p) ) {
|
558
571
|
case 32: goto tr8;
|
559
572
|
case 34: goto st0;
|
@@ -573,7 +586,7 @@ st24:
|
|
573
586
|
if ( ++p == pe )
|
574
587
|
goto _test_eof24;
|
575
588
|
case 24:
|
576
|
-
#line
|
589
|
+
#line 588 "ext/puma_http11/http11_parser.c"
|
577
590
|
switch( (*p) ) {
|
578
591
|
case 32: goto tr37;
|
579
592
|
case 34: goto st0;
|
@@ -596,7 +609,7 @@ st25:
|
|
596
609
|
if ( ++p == pe )
|
597
610
|
goto _test_eof25;
|
598
611
|
case 25:
|
599
|
-
#line
|
612
|
+
#line 611 "ext/puma_http11/http11_parser.c"
|
600
613
|
switch( (*p) ) {
|
601
614
|
case 32: goto tr41;
|
602
615
|
case 34: goto st0;
|
@@ -616,7 +629,7 @@ st26:
|
|
616
629
|
if ( ++p == pe )
|
617
630
|
goto _test_eof26;
|
618
631
|
case 26:
|
619
|
-
#line
|
632
|
+
#line 631 "ext/puma_http11/http11_parser.c"
|
620
633
|
switch( (*p) ) {
|
621
634
|
case 32: goto tr44;
|
622
635
|
case 34: goto st0;
|
File without changes
|
File without changes
|
File without changes
|
@@ -43,7 +43,7 @@
|
|
43
43
|
|
44
44
|
field_name = ( token -- ":" )+ >start_field $snake_upcase_field %write_field;
|
45
45
|
|
46
|
-
field_value = any* >start_value %write_value;
|
46
|
+
field_value = ( (any -- CTL) | "\t" )* >start_value %write_value;
|
47
47
|
|
48
48
|
message_header = field_name ":" " "* field_value :> CRLF;
|
49
49
|
|
data/ext/puma_http11/io_buffer.c
CHANGED
File without changes
|
data/ext/puma_http11/mini_ssl.c
CHANGED
File without changes
|
File without changes
|
@@ -34,9 +34,9 @@ private static short[] init__puma_parser_key_offsets_0()
|
|
34
34
|
{
|
35
35
|
return new short [] {
|
36
36
|
0, 0, 8, 17, 27, 29, 30, 31, 32, 33, 34, 36,
|
37
|
-
39, 41, 44, 45, 61, 62, 78,
|
38
|
-
|
39
|
-
|
37
|
+
39, 41, 44, 45, 61, 62, 78, 85, 91, 99, 107, 117,
|
38
|
+
125, 134, 142, 150, 159, 168, 177, 186, 195, 204, 213, 222,
|
39
|
+
231, 240, 249, 258, 267, 276, 285, 294, 303, 312, 313
|
40
40
|
};
|
41
41
|
}
|
42
42
|
|
@@ -52,26 +52,27 @@ private static char[] init__puma_parser_trans_keys_0()
|
|
52
52
|
46, 48, 57, 48, 57, 13, 48, 57, 10, 13, 33, 124,
|
53
53
|
126, 35, 39, 42, 43, 45, 46, 48, 57, 65, 90, 94,
|
54
54
|
122, 10, 33, 58, 124, 126, 35, 39, 42, 43, 45, 46,
|
55
|
-
48, 57, 65, 90, 94, 122, 13, 32,
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
63
|
-
36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
64
|
-
46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
65
|
-
65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
66
|
-
36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
67
|
-
46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
68
|
-
65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
69
|
-
36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
70
|
-
46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
71
|
-
65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
72
|
-
36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
73
|
-
46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
74
|
-
65, 90, 32,
|
55
|
+
48, 57, 65, 90, 94, 122, 13, 32, 127, 0, 8, 10,
|
56
|
+
31, 13, 127, 0, 8, 10, 31, 32, 60, 62, 127, 0,
|
57
|
+
31, 34, 35, 32, 60, 62, 127, 0, 31, 34, 35, 43,
|
58
|
+
58, 45, 46, 48, 57, 65, 90, 97, 122, 32, 34, 35,
|
59
|
+
60, 62, 127, 0, 31, 32, 34, 35, 60, 62, 63, 127,
|
60
|
+
0, 31, 32, 34, 35, 60, 62, 127, 0, 31, 32, 34,
|
61
|
+
35, 60, 62, 127, 0, 31, 32, 36, 95, 45, 46, 48,
|
62
|
+
57, 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
63
|
+
32, 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
64
|
+
45, 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
65
|
+
57, 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
66
|
+
32, 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
67
|
+
45, 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
68
|
+
57, 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
69
|
+
32, 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
70
|
+
45, 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
71
|
+
57, 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
72
|
+
32, 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95,
|
73
|
+
45, 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48,
|
74
|
+
57, 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90,
|
75
|
+
32, 0
|
75
76
|
};
|
76
77
|
}
|
77
78
|
|
@@ -82,7 +83,7 @@ private static byte[] init__puma_parser_single_lengths_0()
|
|
82
83
|
{
|
83
84
|
return new byte [] {
|
84
85
|
0, 2, 3, 4, 2, 1, 1, 1, 1, 1, 0, 1,
|
85
|
-
0, 1, 1, 4, 1, 4,
|
86
|
+
0, 1, 1, 4, 1, 4, 3, 2, 4, 4, 2, 6,
|
86
87
|
7, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
87
88
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0
|
88
89
|
};
|
@@ -95,7 +96,7 @@ private static byte[] init__puma_parser_range_lengths_0()
|
|
95
96
|
{
|
96
97
|
return new byte [] {
|
97
98
|
0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 1, 1,
|
98
|
-
1, 1, 0, 6, 0, 6,
|
99
|
+
1, 1, 0, 6, 0, 6, 2, 2, 2, 2, 4, 1,
|
99
100
|
1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
100
101
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0
|
101
102
|
};
|
@@ -108,9 +109,9 @@ private static short[] init__puma_parser_index_offsets_0()
|
|
108
109
|
{
|
109
110
|
return new short [] {
|
110
111
|
0, 0, 6, 13, 21, 24, 26, 28, 30, 32, 34, 36,
|
111
|
-
39, 41, 44, 46, 57, 59, 70,
|
112
|
-
|
113
|
-
|
112
|
+
39, 41, 44, 46, 57, 59, 70, 76, 81, 88, 95, 102,
|
113
|
+
110, 119, 127, 135, 142, 149, 156, 163, 170, 177, 184, 191,
|
114
|
+
198, 205, 212, 219, 226, 233, 240, 247, 254, 261, 263
|
114
115
|
};
|
115
116
|
}
|
116
117
|
|
@@ -126,22 +127,23 @@ private static byte[] init__puma_parser_indicies_0()
|
|
126
127
|
16, 15, 1, 17, 1, 18, 17, 1, 19, 1, 20, 21,
|
127
128
|
21, 21, 21, 21, 21, 21, 21, 21, 1, 22, 1, 23,
|
128
129
|
24, 23, 23, 23, 23, 23, 23, 23, 23, 1, 26, 27,
|
129
|
-
|
130
|
-
1, 1, 1, 1,
|
131
|
-
|
132
|
-
1,
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
63, 63, 1, 2, 1, 1,
|
130
|
+
1, 1, 1, 25, 29, 1, 1, 1, 28, 30, 1, 1,
|
131
|
+
1, 1, 1, 31, 32, 1, 1, 1, 1, 1, 33, 34,
|
132
|
+
35, 34, 34, 34, 34, 1, 8, 1, 9, 1, 1, 1,
|
133
|
+
1, 35, 36, 1, 38, 1, 1, 39, 1, 1, 37, 40,
|
134
|
+
1, 42, 1, 1, 1, 1, 41, 43, 1, 45, 1, 1,
|
135
|
+
1, 1, 44, 2, 46, 46, 46, 46, 46, 1, 2, 47,
|
136
|
+
47, 47, 47, 47, 1, 2, 48, 48, 48, 48, 48, 1,
|
137
|
+
2, 49, 49, 49, 49, 49, 1, 2, 50, 50, 50, 50,
|
138
|
+
50, 1, 2, 51, 51, 51, 51, 51, 1, 2, 52, 52,
|
139
|
+
52, 52, 52, 1, 2, 53, 53, 53, 53, 53, 1, 2,
|
140
|
+
54, 54, 54, 54, 54, 1, 2, 55, 55, 55, 55, 55,
|
141
|
+
1, 2, 56, 56, 56, 56, 56, 1, 2, 57, 57, 57,
|
142
|
+
57, 57, 1, 2, 58, 58, 58, 58, 58, 1, 2, 59,
|
143
|
+
59, 59, 59, 59, 1, 2, 60, 60, 60, 60, 60, 1,
|
144
|
+
2, 61, 61, 61, 61, 61, 1, 2, 62, 62, 62, 62,
|
145
|
+
62, 1, 2, 63, 63, 63, 63, 63, 1, 2, 1, 1,
|
146
|
+
0
|
145
147
|
};
|
146
148
|
}
|
147
149
|
|
@@ -217,7 +219,7 @@ static final int puma_parser_en_main = 1;
|
|
217
219
|
cs = puma_parser_start;
|
218
220
|
}
|
219
221
|
|
220
|
-
// line
|
222
|
+
// line 88 "ext/puma_http11/http11_parser.java.rl"
|
221
223
|
|
222
224
|
body_start = 0;
|
223
225
|
content_len = 0;
|
@@ -420,7 +422,7 @@ case 5:
|
|
420
422
|
break; }
|
421
423
|
}
|
422
424
|
|
423
|
-
// line
|
425
|
+
// line 114 "ext/puma_http11/http11_parser.java.rl"
|
424
426
|
|
425
427
|
parser.cs = cs;
|
426
428
|
parser.nread += (p - off);
|
File without changes
|
File without changes
|
File without changes
|
data/lib/puma/accept_nonblock.rb
CHANGED
File without changes
|
data/lib/puma/app/status.rb
CHANGED
File without changes
|
data/lib/puma/binder.rb
CHANGED
File without changes
|
data/lib/puma/cli.rb
CHANGED
File without changes
|
data/lib/puma/client.rb
CHANGED
File without changes
|
data/lib/puma/cluster.rb
CHANGED
File without changes
|
data/lib/puma/commonlogger.rb
CHANGED
File without changes
|
data/lib/puma/configuration.rb
CHANGED
File without changes
|
data/lib/puma/const.rb
CHANGED
@@ -100,7 +100,7 @@ module Puma
|
|
100
100
|
# too taxing on performance.
|
101
101
|
module Const
|
102
102
|
|
103
|
-
PUMA_VERSION = VERSION = "4.3.
|
103
|
+
PUMA_VERSION = VERSION = "4.3.11".freeze
|
104
104
|
CODE_NAME = "Mysterious Traveller".freeze
|
105
105
|
PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
|
106
106
|
|
data/lib/puma/control_cli.rb
CHANGED
File without changes
|
data/lib/puma/detect.rb
CHANGED
File without changes
|
data/lib/puma/dsl.rb
CHANGED
File without changes
|
data/lib/puma/events.rb
CHANGED
File without changes
|
data/lib/puma/io_buffer.rb
CHANGED
File without changes
|
data/lib/puma/jruby_restart.rb
CHANGED
File without changes
|
data/lib/puma/launcher.rb
CHANGED
File without changes
|
File without changes
|
data/lib/puma/minissl.rb
CHANGED
File without changes
|
data/lib/puma/null_io.rb
CHANGED
File without changes
|
File without changes
|
data/lib/puma/plugin.rb
CHANGED
File without changes
|
data/lib/puma/puma_http11.jar
CHANGED
Binary file
|
data/lib/puma/rack/builder.rb
CHANGED
File without changes
|
data/lib/puma/rack/urlmap.rb
CHANGED
File without changes
|
data/lib/puma/rack_default.rb
CHANGED
File without changes
|
data/lib/puma/reactor.rb
CHANGED
File without changes
|
data/lib/puma/runner.rb
CHANGED
File without changes
|
data/lib/puma/server.rb
CHANGED
@@ -483,15 +483,20 @@ module Puma
|
|
483
483
|
|
484
484
|
requests += 1
|
485
485
|
|
486
|
-
|
486
|
+
# Closing keepalive sockets after they've made a reasonable
|
487
|
+
# number of requests allows Puma to service many connections
|
488
|
+
# fairly, even when the number of concurrent connections exceeds
|
489
|
+
# the size of the threadpool. It also allows cluster mode Pumas
|
490
|
+
# to keep load evenly distributed across workers, because clients
|
491
|
+
# are randomly assigned a new worker when opening a new connection.
|
492
|
+
#
|
493
|
+
# Previously, Puma would kick connections in this conditional back
|
494
|
+
# to the reactor. However, because this causes the todo set to increase
|
495
|
+
# in size, the wait_until_full mutex would never unlock, leaving
|
496
|
+
# any additional connections unserviced.
|
497
|
+
break if requests >= MAX_FAST_INLINE
|
487
498
|
|
488
|
-
|
489
|
-
# This will mean that reset will only try to use the data it already
|
490
|
-
# has buffered and won't try to read more data. What this means is that
|
491
|
-
# every client, independent of their request speed, gets treated like a slow
|
492
|
-
# one once every MAX_FAST_INLINE requests.
|
493
|
-
check_for_more_data = false
|
494
|
-
end
|
499
|
+
check_for_more_data = @status == :run
|
495
500
|
|
496
501
|
unless client.reset(check_for_more_data)
|
497
502
|
close_socket = false
|
@@ -868,11 +873,14 @@ module Puma
|
|
868
873
|
end
|
869
874
|
|
870
875
|
ensure
|
871
|
-
|
876
|
+
begin
|
877
|
+
uncork_socket client
|
872
878
|
|
873
|
-
|
874
|
-
|
875
|
-
|
879
|
+
body.close
|
880
|
+
req.tempfile.unlink if req.tempfile
|
881
|
+
ensure
|
882
|
+
res_body.close if res_body.respond_to? :close
|
883
|
+
end
|
876
884
|
|
877
885
|
after_reply.each { |o| o.call }
|
878
886
|
end
|
data/lib/puma/single.rb
CHANGED
File without changes
|
data/lib/puma/state_file.rb
CHANGED
File without changes
|
data/lib/puma/tcp_logger.rb
CHANGED
File without changes
|
data/lib/puma/thread_pool.rb
CHANGED
File without changes
|
data/lib/puma/util.rb
CHANGED
File without changes
|
data/lib/puma.rb
CHANGED
File without changes
|
data/lib/rack/handler/puma.rb
CHANGED
File without changes
|
data/tools/docker/Dockerfile
CHANGED
File without changes
|
data/tools/jungle/README.md
CHANGED
File without changes
|
File without changes
|
data/tools/jungle/rc.d/README.md
CHANGED
File without changes
|
data/tools/jungle/rc.d/puma.conf
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/tools/trickletest.rb
CHANGED
File without changes
|
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.3.
|
4
|
+
version: 4.3.11
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Evan Phoenix
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 1980-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -17,8 +17,8 @@ dependencies:
|
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: '2.0'
|
19
19
|
name: nio4r
|
20
|
-
type: :runtime
|
21
20
|
prerelease: false
|
21
|
+
type: :runtime
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
136
|
- !ruby/object:Gem::Version
|
137
137
|
version: '0'
|
138
138
|
requirements: []
|
139
|
-
rubygems_version: 3.
|
139
|
+
rubygems_version: 3.2.29
|
140
140
|
signing_key:
|
141
141
|
specification_version: 4
|
142
142
|
summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
|