puma 4.3.9 → 4.3.10

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: 9b3570ed48d3096b14fb6fa46a835dc625900593359d6f8cdab1a8e0e5b40c94
4
- data.tar.gz: 462479b52c688979f1cf957fa13c5c9d8e86f2390ee191641e6ed0f7c1a7011b
3
+ metadata.gz: b5bada51607a0a6b25db74e4fd87c92bbe5e2fa0b0c5b2e62fbce9976b4ed88b
4
+ data.tar.gz: 5f7557d5023cced69856a8b8b2dd4532bf4b6a496fef9f9a4de6aa131d03d740
5
5
  SHA512:
6
- metadata.gz: 4708cdd8122a6467559f623b16d6628809895d920a8ebae9cb14aedee0423aff6b199f6c917b1b8f7d18013f0520aa035a15b68cdde27c502534fe84348f2918
7
- data.tar.gz: fce13221ceef9fc7b2539138de5058dc7d9e031a846ea6ff0a41978d961c282a960071d7d9d644d159d7fa1ac197d40b1cba0c31143da128c356e8ec5ccf6d49
6
+ metadata.gz: f393fc0d055ff108e4d98fc3172d356d1f09f9a938f7f3d801c2360b6724e08ae1d60fc8cb77c3140e15a8dfdfc088d477100de1260e9dd61215818f6e576d7e
7
+ data.tar.gz: 1f4224b7a2cbe85347628f10c4fa8b6e47bd66b9b9e320962a46dc8fcc184420baad3a011c80a52d9f9925cbe4679d8bfde32c28359c9cd9dc36e108af88db3a
data/History.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 4.3.10 / 2021-10-12
2
+
3
+ * Bugfixes
4
+ * Allow UTF-8 in HTTP header values
5
+
1
6
  ## 4.3.9 / 2021-10-12
2
7
 
3
8
  * Security
@@ -428,13 +428,16 @@ st18:
428
428
  case 18:
429
429
  #line 428 "ext/puma_http11/http11_parser.c"
430
430
  switch( (*p) ) {
431
- case 9: goto tr25;
432
431
  case 13: goto tr26;
433
432
  case 32: goto tr27;
433
+ case 127: goto st0;
434
434
  }
435
- if ( 33 <= (*p) && (*p) <= 126 )
436
- goto tr25;
437
- goto st0;
435
+ if ( (*p) > 8 ) {
436
+ if ( 10 <= (*p) && (*p) <= 31 )
437
+ goto st0;
438
+ } else if ( (*p) >= 0 )
439
+ goto st0;
440
+ goto tr25;
438
441
  tr25:
439
442
  #line 44 "ext/puma_http11/http11_parser.rl"
440
443
  { MARK(mark, p); }
@@ -443,14 +446,17 @@ st19:
443
446
  if ( ++p == pe )
444
447
  goto _test_eof19;
445
448
  case 19:
446
- #line 445 "ext/puma_http11/http11_parser.c"
449
+ #line 448 "ext/puma_http11/http11_parser.c"
447
450
  switch( (*p) ) {
448
- case 9: goto st19;
449
451
  case 13: goto tr29;
452
+ case 127: goto st0;
450
453
  }
451
- if ( 32 <= (*p) && (*p) <= 126 )
452
- goto st19;
453
- goto st0;
454
+ if ( (*p) > 8 ) {
455
+ if ( 10 <= (*p) && (*p) <= 31 )
456
+ goto st0;
457
+ } else if ( (*p) >= 0 )
458
+ goto st0;
459
+ goto st19;
454
460
  tr9:
455
461
  #line 51 "ext/puma_http11/http11_parser.rl"
456
462
  {
@@ -493,7 +499,7 @@ st20:
493
499
  if ( ++p == pe )
494
500
  goto _test_eof20;
495
501
  case 20:
496
- #line 495 "ext/puma_http11/http11_parser.c"
502
+ #line 501 "ext/puma_http11/http11_parser.c"
497
503
  switch( (*p) ) {
498
504
  case 32: goto tr31;
499
505
  case 60: goto st0;
@@ -514,7 +520,7 @@ st21:
514
520
  if ( ++p == pe )
515
521
  goto _test_eof21;
516
522
  case 21:
517
- #line 516 "ext/puma_http11/http11_parser.c"
523
+ #line 522 "ext/puma_http11/http11_parser.c"
518
524
  switch( (*p) ) {
519
525
  case 32: goto tr33;
520
526
  case 60: goto st0;
@@ -535,7 +541,7 @@ st22:
535
541
  if ( ++p == pe )
536
542
  goto _test_eof22;
537
543
  case 22:
538
- #line 537 "ext/puma_http11/http11_parser.c"
544
+ #line 543 "ext/puma_http11/http11_parser.c"
539
545
  switch( (*p) ) {
540
546
  case 43: goto st22;
541
547
  case 58: goto st23;
@@ -560,7 +566,7 @@ st23:
560
566
  if ( ++p == pe )
561
567
  goto _test_eof23;
562
568
  case 23:
563
- #line 562 "ext/puma_http11/http11_parser.c"
569
+ #line 568 "ext/puma_http11/http11_parser.c"
564
570
  switch( (*p) ) {
565
571
  case 32: goto tr8;
566
572
  case 34: goto st0;
@@ -580,7 +586,7 @@ st24:
580
586
  if ( ++p == pe )
581
587
  goto _test_eof24;
582
588
  case 24:
583
- #line 582 "ext/puma_http11/http11_parser.c"
589
+ #line 588 "ext/puma_http11/http11_parser.c"
584
590
  switch( (*p) ) {
585
591
  case 32: goto tr37;
586
592
  case 34: goto st0;
@@ -603,7 +609,7 @@ st25:
603
609
  if ( ++p == pe )
604
610
  goto _test_eof25;
605
611
  case 25:
606
- #line 605 "ext/puma_http11/http11_parser.c"
612
+ #line 611 "ext/puma_http11/http11_parser.c"
607
613
  switch( (*p) ) {
608
614
  case 32: goto tr41;
609
615
  case 34: goto st0;
@@ -623,7 +629,7 @@ st26:
623
629
  if ( ++p == pe )
624
630
  goto _test_eof26;
625
631
  case 26:
626
- #line 625 "ext/puma_http11/http11_parser.c"
632
+ #line 631 "ext/puma_http11/http11_parser.c"
627
633
  switch( (*p) ) {
628
634
  case 32: goto tr44;
629
635
  case 34: goto st0;
@@ -43,7 +43,7 @@
43
43
 
44
44
  field_name = ( token -- ":" )+ >start_field $snake_upcase_field %write_field;
45
45
 
46
- field_value = ( print | "\t" )* >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
 
@@ -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, 83, 87, 95, 103, 113,
38
- 121, 130, 138, 146, 155, 164, 173, 182, 191, 200, 209, 218,
39
- 227, 236, 245, 254, 263, 272, 281, 290, 299, 308, 309
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, 9, 13, 32, 33, 126, 9,
56
- 13, 32, 126, 32, 60, 62, 127, 0, 31, 34, 35, 32,
57
- 60, 62, 127, 0, 31, 34, 35, 43, 58, 45, 46, 48,
58
- 57, 65, 90, 97, 122, 32, 34, 35, 60, 62, 127, 0,
59
- 31, 32, 34, 35, 60, 62, 63, 127, 0, 31, 32, 34,
60
- 35, 60, 62, 127, 0, 31, 32, 34, 35, 60, 62, 127,
61
- 0, 31, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
62
- 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95, 45,
63
- 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
64
- 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
65
- 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95, 45,
66
- 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
67
- 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
68
- 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95, 45,
69
- 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
70
- 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
71
- 36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95, 45,
72
- 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
73
- 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
74
- 36, 95, 45, 46, 48, 57, 65, 90, 32, 0
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
 
@@ -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, 1, 1, 2, 2, 4, 1,
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, 75, 79, 86, 93, 100,
112
- 108, 117, 125, 133, 140, 147, 154, 161, 168, 175, 182, 189,
113
- 196, 203, 210, 217, 224, 231, 238, 245, 252, 259, 261
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
 
@@ -125,23 +126,24 @@ private static byte[] init__puma_parser_indicies_0()
125
126
  10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1,
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
- 24, 23, 23, 23, 23, 23, 23, 23, 23, 1, 25, 26,
129
- 27, 25, 1, 28, 29, 28, 1, 30, 1, 1, 1, 1,
130
- 1, 31, 32, 1, 1, 1, 1, 1, 33, 34, 35, 34,
131
- 34, 34, 34, 1, 8, 1, 9, 1, 1, 1, 1, 35,
132
- 36, 1, 38, 1, 1, 39, 1, 1, 37, 40, 1, 42,
133
- 1, 1, 1, 1, 41, 43, 1, 45, 1, 1, 1, 1,
134
- 44, 2, 46, 46, 46, 46, 46, 1, 2, 47, 47, 47,
135
- 47, 47, 1, 2, 48, 48, 48, 48, 48, 1, 2, 49,
136
- 49, 49, 49, 49, 1, 2, 50, 50, 50, 50, 50, 1,
137
- 2, 51, 51, 51, 51, 51, 1, 2, 52, 52, 52, 52,
138
- 52, 1, 2, 53, 53, 53, 53, 53, 1, 2, 54, 54,
139
- 54, 54, 54, 1, 2, 55, 55, 55, 55, 55, 1, 2,
140
- 56, 56, 56, 56, 56, 1, 2, 57, 57, 57, 57, 57,
141
- 1, 2, 58, 58, 58, 58, 58, 1, 2, 59, 59, 59,
142
- 59, 59, 1, 2, 60, 60, 60, 60, 60, 1, 2, 61,
143
- 61, 61, 61, 61, 1, 2, 62, 62, 62, 62, 62, 1,
144
- 2, 63, 63, 63, 63, 63, 1, 2, 1, 1, 0
129
+ 24, 23, 23, 23, 23, 23, 23, 23, 23, 1, 26, 27,
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 90 "ext/puma_http11/http11_parser.java.rl"
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 116 "ext/puma_http11/http11_parser.java.rl"
425
+ // line 114 "ext/puma_http11/http11_parser.java.rl"
424
426
 
425
427
  parser.cs = cs;
426
428
  parser.nread += (p - off);
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.9".freeze
103
+ PUMA_VERSION = VERSION = "4.3.10".freeze
104
104
  CODE_NAME = "Mysterious Traveller".freeze
105
105
  PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
106
106
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puma
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.9
4
+ version: 4.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
@@ -11,14 +11,14 @@ cert_chain: []
11
11
  date: 2021-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: nio4r
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
18
  version: '2.0'
20
- type: :runtime
19
+ name: nio4r
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.2.3
139
+ rubygems_version: 3.1.6
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