puma 4.3.8-java → 4.3.9-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a86197f9a6b76dd7fdfe5799ee9634add99e2b9afe6573906ff46e652949ed97
4
- data.tar.gz: e1c3e118532315e9eb6fe157da8f1a4bd506cb3799d394e64022c5278976ae02
3
+ metadata.gz: 964d7228d324953b2373b9eb4f58e1bd76c7ab69b483fbb73711424dda3cfb68
4
+ data.tar.gz: f76da936904b675eeee421e046e10fe3a71a1c6c82cf9cfadfbf77947f1ab9f9
5
5
  SHA512:
6
- metadata.gz: b40b5c0e8d308c3885f4eccec2c1baadc4221fadefc2935e80afc433dc0c5e9291fd0f86c1ea4f8d6c74b6a6615014ed74cce3a91fd50dffeabc8429d2ebcc68
7
- data.tar.gz: a8b93d83c107c27b74da1bd7b15cd5e13083a41211cd853855895af7369286f2babd3081f409f4b7a7085cb4f90e32fd4d3ef3a110da3531e40dca1d3fa851e6
6
+ metadata.gz: 580d46fd86b8bc6604a8d205b35df35d564fee3610297f75796673226734d62fd32039e0b2c9bca9b8019bf66ff77d52f06bb25480aa83fb3896fcf509ef4009
7
+ data.tar.gz: 8c3539a1b5ff5a185ed46d453e5b1bd999a3c39c29971bfe3231aa399a14058d93fb033771c92d4ba75e034846137c9c69b3fd8a3d35672d98526dbcadad7f86
data/History.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 4.3.9 / 2021-10-12
2
+
3
+ * Security
4
+ * Do not allow LF as a line ending in a header (CVE-2021-41136)
5
+
1
6
  ## 4.3.8 / 2021-05-11
2
7
 
3
8
  * Security
@@ -33,12 +33,12 @@ static void snake_upcase_char(char *c)
33
33
  /** Machine **/
34
34
 
35
35
 
36
- #line 81 "ext/puma_http11/http11_parser.rl"
36
+ #line 79 "ext/puma_http11/http11_parser.rl"
37
37
 
38
38
 
39
39
  /** Data **/
40
40
 
41
- #line 42 "ext/puma_http11/http11_parser.c"
41
+ #line 40 "ext/puma_http11/http11_parser.c"
42
42
  static const int puma_parser_start = 1;
43
43
  static const int puma_parser_first_final = 46;
44
44
  static const int puma_parser_error = 0;
@@ -46,17 +46,17 @@ static const int puma_parser_error = 0;
46
46
  static const int puma_parser_en_main = 1;
47
47
 
48
48
 
49
- #line 85 "ext/puma_http11/http11_parser.rl"
49
+ #line 83 "ext/puma_http11/http11_parser.rl"
50
50
 
51
51
  int puma_parser_init(puma_parser *parser) {
52
52
  int cs = 0;
53
53
 
54
- #line 55 "ext/puma_http11/http11_parser.c"
54
+ #line 53 "ext/puma_http11/http11_parser.c"
55
55
  {
56
56
  cs = puma_parser_start;
57
57
  }
58
58
 
59
- #line 89 "ext/puma_http11/http11_parser.rl"
59
+ #line 87 "ext/puma_http11/http11_parser.rl"
60
60
  parser->cs = cs;
61
61
  parser->body_start = 0;
62
62
  parser->content_len = 0;
@@ -85,7 +85,7 @@ size_t puma_parser_execute(puma_parser *parser, const char *buffer, size_t len,
85
85
  assert((size_t) (pe - p) == len - off && "pointers aren't same distance");
86
86
 
87
87
 
88
- #line 89 "ext/puma_http11/http11_parser.c"
88
+ #line 87 "ext/puma_http11/http11_parser.c"
89
89
  {
90
90
  if ( p == pe )
91
91
  goto _test_eof;
@@ -109,14 +109,14 @@ st0:
109
109
  cs = 0;
110
110
  goto _out;
111
111
  tr0:
112
- #line 37 "ext/puma_http11/http11_parser.rl"
112
+ #line 35 "ext/puma_http11/http11_parser.rl"
113
113
  { MARK(mark, p); }
114
114
  goto st2;
115
115
  st2:
116
116
  if ( ++p == pe )
117
117
  goto _test_eof2;
118
118
  case 2:
119
- #line 120 "ext/puma_http11/http11_parser.c"
119
+ #line 118 "ext/puma_http11/http11_parser.c"
120
120
  switch( (*p) ) {
121
121
  case 32: goto tr2;
122
122
  case 36: goto st27;
@@ -132,7 +132,7 @@ case 2:
132
132
  goto st27;
133
133
  goto st0;
134
134
  tr2:
135
- #line 50 "ext/puma_http11/http11_parser.rl"
135
+ #line 48 "ext/puma_http11/http11_parser.rl"
136
136
  {
137
137
  parser->request_method(parser, PTR_TO(mark), LEN(mark, p));
138
138
  }
@@ -141,7 +141,7 @@ st3:
141
141
  if ( ++p == pe )
142
142
  goto _test_eof3;
143
143
  case 3:
144
- #line 145 "ext/puma_http11/http11_parser.c"
144
+ #line 143 "ext/puma_http11/http11_parser.c"
145
145
  switch( (*p) ) {
146
146
  case 42: goto tr4;
147
147
  case 43: goto tr5;
@@ -158,67 +158,67 @@ case 3:
158
158
  goto tr5;
159
159
  goto st0;
160
160
  tr4:
161
- #line 37 "ext/puma_http11/http11_parser.rl"
161
+ #line 35 "ext/puma_http11/http11_parser.rl"
162
162
  { MARK(mark, p); }
163
163
  goto st4;
164
164
  st4:
165
165
  if ( ++p == pe )
166
166
  goto _test_eof4;
167
167
  case 4:
168
- #line 169 "ext/puma_http11/http11_parser.c"
168
+ #line 167 "ext/puma_http11/http11_parser.c"
169
169
  switch( (*p) ) {
170
170
  case 32: goto tr8;
171
171
  case 35: goto tr9;
172
172
  }
173
173
  goto st0;
174
174
  tr8:
175
- #line 53 "ext/puma_http11/http11_parser.rl"
175
+ #line 51 "ext/puma_http11/http11_parser.rl"
176
176
  {
177
177
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
178
178
  }
179
179
  goto st5;
180
180
  tr31:
181
- #line 37 "ext/puma_http11/http11_parser.rl"
181
+ #line 35 "ext/puma_http11/http11_parser.rl"
182
182
  { MARK(mark, p); }
183
- #line 56 "ext/puma_http11/http11_parser.rl"
183
+ #line 54 "ext/puma_http11/http11_parser.rl"
184
184
  {
185
185
  parser->fragment(parser, PTR_TO(mark), LEN(mark, p));
186
186
  }
187
187
  goto st5;
188
188
  tr33:
189
- #line 56 "ext/puma_http11/http11_parser.rl"
189
+ #line 54 "ext/puma_http11/http11_parser.rl"
190
190
  {
191
191
  parser->fragment(parser, PTR_TO(mark), LEN(mark, p));
192
192
  }
193
193
  goto st5;
194
194
  tr37:
195
- #line 69 "ext/puma_http11/http11_parser.rl"
195
+ #line 67 "ext/puma_http11/http11_parser.rl"
196
196
  {
197
197
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
198
198
  }
199
- #line 53 "ext/puma_http11/http11_parser.rl"
199
+ #line 51 "ext/puma_http11/http11_parser.rl"
200
200
  {
201
201
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
202
202
  }
203
203
  goto st5;
204
204
  tr41:
205
- #line 60 "ext/puma_http11/http11_parser.rl"
205
+ #line 58 "ext/puma_http11/http11_parser.rl"
206
206
  { MARK(query_start, p); }
207
- #line 61 "ext/puma_http11/http11_parser.rl"
207
+ #line 59 "ext/puma_http11/http11_parser.rl"
208
208
  {
209
209
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
210
210
  }
211
- #line 53 "ext/puma_http11/http11_parser.rl"
211
+ #line 51 "ext/puma_http11/http11_parser.rl"
212
212
  {
213
213
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
214
214
  }
215
215
  goto st5;
216
216
  tr44:
217
- #line 61 "ext/puma_http11/http11_parser.rl"
217
+ #line 59 "ext/puma_http11/http11_parser.rl"
218
218
  {
219
219
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
220
220
  }
221
- #line 53 "ext/puma_http11/http11_parser.rl"
221
+ #line 51 "ext/puma_http11/http11_parser.rl"
222
222
  {
223
223
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
224
224
  }
@@ -227,19 +227,19 @@ st5:
227
227
  if ( ++p == pe )
228
228
  goto _test_eof5;
229
229
  case 5:
230
- #line 231 "ext/puma_http11/http11_parser.c"
230
+ #line 229 "ext/puma_http11/http11_parser.c"
231
231
  if ( (*p) == 72 )
232
232
  goto tr10;
233
233
  goto st0;
234
234
  tr10:
235
- #line 37 "ext/puma_http11/http11_parser.rl"
235
+ #line 35 "ext/puma_http11/http11_parser.rl"
236
236
  { MARK(mark, p); }
237
237
  goto st6;
238
238
  st6:
239
239
  if ( ++p == pe )
240
240
  goto _test_eof6;
241
241
  case 6:
242
- #line 243 "ext/puma_http11/http11_parser.c"
242
+ #line 241 "ext/puma_http11/http11_parser.c"
243
243
  if ( (*p) == 84 )
244
244
  goto st7;
245
245
  goto st0;
@@ -297,21 +297,21 @@ case 13:
297
297
  goto st13;
298
298
  goto st0;
299
299
  tr18:
300
- #line 65 "ext/puma_http11/http11_parser.rl"
300
+ #line 63 "ext/puma_http11/http11_parser.rl"
301
301
  {
302
302
  parser->http_version(parser, PTR_TO(mark), LEN(mark, p));
303
303
  }
304
304
  goto st14;
305
305
  tr26:
306
- #line 46 "ext/puma_http11/http11_parser.rl"
306
+ #line 44 "ext/puma_http11/http11_parser.rl"
307
307
  { MARK(mark, p); }
308
- #line 47 "ext/puma_http11/http11_parser.rl"
308
+ #line 45 "ext/puma_http11/http11_parser.rl"
309
309
  {
310
310
  parser->http_field(parser, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
311
311
  }
312
312
  goto st14;
313
313
  tr29:
314
- #line 47 "ext/puma_http11/http11_parser.rl"
314
+ #line 45 "ext/puma_http11/http11_parser.rl"
315
315
  {
316
316
  parser->http_field(parser, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
317
317
  }
@@ -320,7 +320,7 @@ st14:
320
320
  if ( ++p == pe )
321
321
  goto _test_eof14;
322
322
  case 14:
323
- #line 324 "ext/puma_http11/http11_parser.c"
323
+ #line 322 "ext/puma_http11/http11_parser.c"
324
324
  if ( (*p) == 10 )
325
325
  goto st15;
326
326
  goto st0;
@@ -360,7 +360,7 @@ case 16:
360
360
  goto tr22;
361
361
  goto st0;
362
362
  tr22:
363
- #line 73 "ext/puma_http11/http11_parser.rl"
363
+ #line 71 "ext/puma_http11/http11_parser.rl"
364
364
  {
365
365
  parser->body_start = p - buffer + 1;
366
366
  parser->header_done(parser, p + 1, pe - p - 1);
@@ -371,23 +371,23 @@ st46:
371
371
  if ( ++p == pe )
372
372
  goto _test_eof46;
373
373
  case 46:
374
- #line 375 "ext/puma_http11/http11_parser.c"
374
+ #line 373 "ext/puma_http11/http11_parser.c"
375
375
  goto st0;
376
376
  tr21:
377
- #line 40 "ext/puma_http11/http11_parser.rl"
377
+ #line 38 "ext/puma_http11/http11_parser.rl"
378
378
  { MARK(field_start, p); }
379
- #line 41 "ext/puma_http11/http11_parser.rl"
379
+ #line 39 "ext/puma_http11/http11_parser.rl"
380
380
  { snake_upcase_char((char *)p); }
381
381
  goto st17;
382
382
  tr23:
383
- #line 41 "ext/puma_http11/http11_parser.rl"
383
+ #line 39 "ext/puma_http11/http11_parser.rl"
384
384
  { snake_upcase_char((char *)p); }
385
385
  goto st17;
386
386
  st17:
387
387
  if ( ++p == pe )
388
388
  goto _test_eof17;
389
389
  case 17:
390
- #line 391 "ext/puma_http11/http11_parser.c"
390
+ #line 389 "ext/puma_http11/http11_parser.c"
391
391
  switch( (*p) ) {
392
392
  case 33: goto tr23;
393
393
  case 58: goto tr24;
@@ -413,71 +413,78 @@ case 17:
413
413
  goto tr23;
414
414
  goto st0;
415
415
  tr24:
416
- #line 42 "ext/puma_http11/http11_parser.rl"
416
+ #line 40 "ext/puma_http11/http11_parser.rl"
417
417
  {
418
418
  parser->field_len = LEN(field_start, p);
419
419
  }
420
420
  goto st18;
421
421
  tr27:
422
- #line 46 "ext/puma_http11/http11_parser.rl"
422
+ #line 44 "ext/puma_http11/http11_parser.rl"
423
423
  { MARK(mark, p); }
424
424
  goto st18;
425
425
  st18:
426
426
  if ( ++p == pe )
427
427
  goto _test_eof18;
428
428
  case 18:
429
- #line 430 "ext/puma_http11/http11_parser.c"
429
+ #line 428 "ext/puma_http11/http11_parser.c"
430
430
  switch( (*p) ) {
431
+ case 9: goto tr25;
431
432
  case 13: goto tr26;
432
433
  case 32: goto tr27;
433
434
  }
434
- goto tr25;
435
+ if ( 33 <= (*p) && (*p) <= 126 )
436
+ goto tr25;
437
+ goto st0;
435
438
  tr25:
436
- #line 46 "ext/puma_http11/http11_parser.rl"
439
+ #line 44 "ext/puma_http11/http11_parser.rl"
437
440
  { MARK(mark, p); }
438
441
  goto st19;
439
442
  st19:
440
443
  if ( ++p == pe )
441
444
  goto _test_eof19;
442
445
  case 19:
443
- #line 444 "ext/puma_http11/http11_parser.c"
444
- if ( (*p) == 13 )
445
- goto tr29;
446
- goto st19;
446
+ #line 445 "ext/puma_http11/http11_parser.c"
447
+ switch( (*p) ) {
448
+ case 9: goto st19;
449
+ case 13: goto tr29;
450
+ }
451
+ if ( 32 <= (*p) && (*p) <= 126 )
452
+ goto st19;
453
+ goto st0;
447
454
  tr9:
448
- #line 53 "ext/puma_http11/http11_parser.rl"
455
+ #line 51 "ext/puma_http11/http11_parser.rl"
449
456
  {
450
457
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
451
458
  }
452
459
  goto st20;
453
460
  tr38:
454
- #line 69 "ext/puma_http11/http11_parser.rl"
461
+ #line 67 "ext/puma_http11/http11_parser.rl"
455
462
  {
456
463
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
457
464
  }
458
- #line 53 "ext/puma_http11/http11_parser.rl"
465
+ #line 51 "ext/puma_http11/http11_parser.rl"
459
466
  {
460
467
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
461
468
  }
462
469
  goto st20;
463
470
  tr42:
464
- #line 60 "ext/puma_http11/http11_parser.rl"
471
+ #line 58 "ext/puma_http11/http11_parser.rl"
465
472
  { MARK(query_start, p); }
466
- #line 61 "ext/puma_http11/http11_parser.rl"
473
+ #line 59 "ext/puma_http11/http11_parser.rl"
467
474
  {
468
475
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
469
476
  }
470
- #line 53 "ext/puma_http11/http11_parser.rl"
477
+ #line 51 "ext/puma_http11/http11_parser.rl"
471
478
  {
472
479
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
473
480
  }
474
481
  goto st20;
475
482
  tr45:
476
- #line 61 "ext/puma_http11/http11_parser.rl"
483
+ #line 59 "ext/puma_http11/http11_parser.rl"
477
484
  {
478
485
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
479
486
  }
480
- #line 53 "ext/puma_http11/http11_parser.rl"
487
+ #line 51 "ext/puma_http11/http11_parser.rl"
481
488
  {
482
489
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
483
490
  }
@@ -486,7 +493,7 @@ st20:
486
493
  if ( ++p == pe )
487
494
  goto _test_eof20;
488
495
  case 20:
489
- #line 490 "ext/puma_http11/http11_parser.c"
496
+ #line 495 "ext/puma_http11/http11_parser.c"
490
497
  switch( (*p) ) {
491
498
  case 32: goto tr31;
492
499
  case 60: goto st0;
@@ -500,14 +507,14 @@ case 20:
500
507
  goto st0;
501
508
  goto tr30;
502
509
  tr30:
503
- #line 37 "ext/puma_http11/http11_parser.rl"
510
+ #line 35 "ext/puma_http11/http11_parser.rl"
504
511
  { MARK(mark, p); }
505
512
  goto st21;
506
513
  st21:
507
514
  if ( ++p == pe )
508
515
  goto _test_eof21;
509
516
  case 21:
510
- #line 511 "ext/puma_http11/http11_parser.c"
517
+ #line 516 "ext/puma_http11/http11_parser.c"
511
518
  switch( (*p) ) {
512
519
  case 32: goto tr33;
513
520
  case 60: goto st0;
@@ -521,14 +528,14 @@ case 21:
521
528
  goto st0;
522
529
  goto st21;
523
530
  tr5:
524
- #line 37 "ext/puma_http11/http11_parser.rl"
531
+ #line 35 "ext/puma_http11/http11_parser.rl"
525
532
  { MARK(mark, p); }
526
533
  goto st22;
527
534
  st22:
528
535
  if ( ++p == pe )
529
536
  goto _test_eof22;
530
537
  case 22:
531
- #line 532 "ext/puma_http11/http11_parser.c"
538
+ #line 537 "ext/puma_http11/http11_parser.c"
532
539
  switch( (*p) ) {
533
540
  case 43: goto st22;
534
541
  case 58: goto st23;
@@ -546,14 +553,14 @@ case 22:
546
553
  goto st22;
547
554
  goto st0;
548
555
  tr7:
549
- #line 37 "ext/puma_http11/http11_parser.rl"
556
+ #line 35 "ext/puma_http11/http11_parser.rl"
550
557
  { MARK(mark, p); }
551
558
  goto st23;
552
559
  st23:
553
560
  if ( ++p == pe )
554
561
  goto _test_eof23;
555
562
  case 23:
556
- #line 557 "ext/puma_http11/http11_parser.c"
563
+ #line 562 "ext/puma_http11/http11_parser.c"
557
564
  switch( (*p) ) {
558
565
  case 32: goto tr8;
559
566
  case 34: goto st0;
@@ -566,14 +573,14 @@ case 23:
566
573
  goto st0;
567
574
  goto st23;
568
575
  tr6:
569
- #line 37 "ext/puma_http11/http11_parser.rl"
576
+ #line 35 "ext/puma_http11/http11_parser.rl"
570
577
  { MARK(mark, p); }
571
578
  goto st24;
572
579
  st24:
573
580
  if ( ++p == pe )
574
581
  goto _test_eof24;
575
582
  case 24:
576
- #line 577 "ext/puma_http11/http11_parser.c"
583
+ #line 582 "ext/puma_http11/http11_parser.c"
577
584
  switch( (*p) ) {
578
585
  case 32: goto tr37;
579
586
  case 34: goto st0;
@@ -587,7 +594,7 @@ case 24:
587
594
  goto st0;
588
595
  goto st24;
589
596
  tr39:
590
- #line 69 "ext/puma_http11/http11_parser.rl"
597
+ #line 67 "ext/puma_http11/http11_parser.rl"
591
598
  {
592
599
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
593
600
  }
@@ -596,7 +603,7 @@ st25:
596
603
  if ( ++p == pe )
597
604
  goto _test_eof25;
598
605
  case 25:
599
- #line 600 "ext/puma_http11/http11_parser.c"
606
+ #line 605 "ext/puma_http11/http11_parser.c"
600
607
  switch( (*p) ) {
601
608
  case 32: goto tr41;
602
609
  case 34: goto st0;
@@ -609,14 +616,14 @@ case 25:
609
616
  goto st0;
610
617
  goto tr40;
611
618
  tr40:
612
- #line 60 "ext/puma_http11/http11_parser.rl"
619
+ #line 58 "ext/puma_http11/http11_parser.rl"
613
620
  { MARK(query_start, p); }
614
621
  goto st26;
615
622
  st26:
616
623
  if ( ++p == pe )
617
624
  goto _test_eof26;
618
625
  case 26:
619
- #line 620 "ext/puma_http11/http11_parser.c"
626
+ #line 625 "ext/puma_http11/http11_parser.c"
620
627
  switch( (*p) ) {
621
628
  case 32: goto tr44;
622
629
  case 34: goto st0;
@@ -1010,7 +1017,7 @@ case 45:
1010
1017
  _out: {}
1011
1018
  }
1012
1019
 
1013
- #line 117 "ext/puma_http11/http11_parser.rl"
1020
+ #line 115 "ext/puma_http11/http11_parser.rl"
1014
1021
 
1015
1022
  if (!puma_parser_has_error(parser))
1016
1023
  parser->cs = cs;
@@ -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 = ( print | "\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, 80, 81, 89, 97, 107,
38
- 115, 124, 132, 140, 149, 158, 167, 176, 185, 194, 203, 212,
39
- 221, 230, 239, 248, 257, 266, 275, 284, 293, 302, 303
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
40
40
  };
41
41
  }
42
42
 
@@ -52,14 +52,13 @@ 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, 13, 32, 60, 62,
56
- 127, 0, 31, 34, 35, 32, 60, 62, 127, 0, 31, 34,
57
- 35, 43, 58, 45, 46, 48, 57, 65, 90, 97, 122, 32,
58
- 34, 35, 60, 62, 127, 0, 31, 32, 34, 35, 60, 62,
59
- 63, 127, 0, 31, 32, 34, 35, 60, 62, 127, 0, 31,
60
- 32, 34, 35, 60, 62, 127, 0, 31, 32, 36, 95, 45,
61
- 46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
62
- 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
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,
63
62
  36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95, 45,
64
63
  46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
65
64
  65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
@@ -71,7 +70,8 @@ private static char[] init__puma_parser_trans_keys_0()
71
70
  65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
72
71
  36, 95, 45, 46, 48, 57, 65, 90, 32, 36, 95, 45,
73
72
  46, 48, 57, 65, 90, 32, 36, 95, 45, 46, 48, 57,
74
- 65, 90, 32, 0
73
+ 65, 90, 32, 36, 95, 45, 46, 48, 57, 65, 90, 32,
74
+ 36, 95, 45, 46, 48, 57, 65, 90, 32, 0
75
75
  };
76
76
  }
77
77
 
@@ -82,7 +82,7 @@ private static byte[] init__puma_parser_single_lengths_0()
82
82
  {
83
83
  return new byte [] {
84
84
  0, 2, 3, 4, 2, 1, 1, 1, 1, 1, 0, 1,
85
- 0, 1, 1, 4, 1, 4, 2, 1, 4, 4, 2, 6,
85
+ 0, 1, 1, 4, 1, 4, 3, 2, 4, 4, 2, 6,
86
86
  7, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3,
87
87
  3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 0
88
88
  };
@@ -95,7 +95,7 @@ private static byte[] init__puma_parser_range_lengths_0()
95
95
  {
96
96
  return new byte [] {
97
97
  0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 1, 1,
98
- 1, 1, 0, 6, 0, 6, 0, 0, 2, 2, 4, 1,
98
+ 1, 1, 0, 6, 0, 6, 1, 1, 2, 2, 4, 1,
99
99
  1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
100
100
  3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0
101
101
  };
@@ -108,9 +108,9 @@ private static short[] init__puma_parser_index_offsets_0()
108
108
  {
109
109
  return new short [] {
110
110
  0, 0, 6, 13, 21, 24, 26, 28, 30, 32, 34, 36,
111
- 39, 41, 44, 46, 57, 59, 70, 73, 75, 82, 89, 96,
112
- 104, 113, 121, 129, 136, 143, 150, 157, 164, 171, 178, 185,
113
- 192, 199, 206, 213, 220, 227, 234, 241, 248, 255, 257
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
114
114
  };
115
115
  }
116
116
 
@@ -125,23 +125,23 @@ private static byte[] init__puma_parser_indicies_0()
125
125
  10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 15, 1,
126
126
  16, 15, 1, 17, 1, 18, 17, 1, 19, 1, 20, 21,
127
127
  21, 21, 21, 21, 21, 21, 21, 21, 1, 22, 1, 23,
128
- 24, 23, 23, 23, 23, 23, 23, 23, 23, 1, 26, 27,
129
- 25, 29, 28, 30, 1, 1, 1, 1, 1, 31, 32, 1,
130
- 1, 1, 1, 1, 33, 34, 35, 34, 34, 34, 34, 1,
131
- 8, 1, 9, 1, 1, 1, 1, 35, 36, 1, 38, 1,
132
- 1, 39, 1, 1, 37, 40, 1, 42, 1, 1, 1, 1,
133
- 41, 43, 1, 45, 1, 1, 1, 1, 44, 2, 46, 46,
134
- 46, 46, 46, 1, 2, 47, 47, 47, 47, 47, 1, 2,
135
- 48, 48, 48, 48, 48, 1, 2, 49, 49, 49, 49, 49,
136
- 1, 2, 50, 50, 50, 50, 50, 1, 2, 51, 51, 51,
137
- 51, 51, 1, 2, 52, 52, 52, 52, 52, 1, 2, 53,
138
- 53, 53, 53, 53, 1, 2, 54, 54, 54, 54, 54, 1,
139
- 2, 55, 55, 55, 55, 55, 1, 2, 56, 56, 56, 56,
140
- 56, 1, 2, 57, 57, 57, 57, 57, 1, 2, 58, 58,
141
- 58, 58, 58, 1, 2, 59, 59, 59, 59, 59, 1, 2,
142
- 60, 60, 60, 60, 60, 1, 2, 61, 61, 61, 61, 61,
143
- 1, 2, 62, 62, 62, 62, 62, 1, 2, 63, 63, 63,
144
- 63, 63, 1, 2, 1, 1, 0
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
145
145
  };
146
146
  }
147
147
 
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.8".freeze
103
+ PUMA_VERSION = VERSION = "4.3.9".freeze
104
104
  CODE_NAME = "Mysterious Traveller".freeze
105
105
  PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
106
106
 
Binary file
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.8
4
+ version: 4.3.9
5
5
  platform: java
6
6
  authors:
7
7
  - Evan Phoenix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-11 00:00:00.000000000 Z
11
+ date: 2021-10-12 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
- prerelease: false
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"