1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
Commit graph

23 commits

Author SHA1 Message Date
Olle Jonsson
fce04921c8
Fix typo in local #define name (#2502)
EXPLAIN_MAX_LENGTH_VALUE is only used right here, for quoting.
2020-12-01 06:46:57 -07:00
蒼時弦や
ea81fba045
Allow configuring query string max length (#2485)
* Allow configuring query string max length

* Expand changable variable in puma_http11.c to make error messages helpful

* Add compile options document and update changelog
2020-11-18 08:07:15 -07:00
MSP-Greg
04eb8bdb39
ext_help.h, minissl.c, puma_http11.c - change Data -> TypedData (#2430)
'Data_' macros have been 'deprecated' since Ruby 2.3 or earlier, but are still supported.

Update c source to use the 'TypedData_' macros.
2020-10-16 07:36:08 -06:00
MSP-Greg
b1c760a122
Adjust code for compiling without SSL (MRI & JRuby), add SSL detection 2020-09-14 12:20:00 -05:00
Patrik Ragnarsson
0b5db45d0d Fix typo in maximum URI path length
Follow-up to https://github.com/puma/puma/pull/2168
2020-08-23 11:40:59 +02:00
Rob Heath
a04fc21a56
Increase max URI path length to 8196, closes #2134 (#2168)
Co-authored-by: Nate Berkopec <nate.berkopec@gmail.com>
2020-03-10 11:39:36 -06:00
Nate Berkopec
4e7df88aa5
More helpful error message for people sending HTTPS to a non-SSL Puma. Closes #986 2020-03-05 15:00:13 -06:00
Nate Berkopec
510f39d330
IOBuffer back to Ruby (#1980) 2020-02-27 13:50:34 -06:00
Anthony Clark
befe00a864 http11: Remove qsort code paths [changelog skip] (#2073)
* http11: Remove unused qsort/bsearch code paths

[changelog skip]

* Explicitly include ctype.h to fix compilation warning

[changelog skip]

Had the following warning during compilation without the include:
warning: implicitly declaring library function 'isspace' with type 'int (int)'
2019-11-13 08:31:09 +08:00
Nate Berkopec
22b135a636
Strip header whitespace. Fix #1890. Code by @matthewd (#2010)
* Strip header whitespace in C

Fix #1890

Co-authored-by: Matthew Draper <matthew@trebex.net>

* Add Java extension to do the same

Co-authored-by: Charles Nutter <headius@headius.com>

* Changelog
2019-10-07 15:23:18 +02:00
Evan Phoenix
342cbd1923 Add license indicators. Fixes #1075 2016-09-06 13:23:59 -07:00
Alejandro Martinez Ruiz
fdfd7b5b0f ext/puma_http11: handle duplicate headers as per RFC for C ext
The parser stores headers in a Ruby hash table so that when a header
is found twice its value replaces the old one. As per RFC[1] this is
not correct, since duplicated headers should all be considered. In
particular, they are semantically equivalent to a single header with
comma separated values. In this case, we follow existing practice of
joining values with a comma and a single space character.

[1] See RFC2616 section 4.2:
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2
2015-11-06 17:22:31 +01:00
Priyank Chodisetti
139690ecf9 Increase the max URI path length to 2048 chars from 1024 chars 2013-11-10 00:16:30 -08:00
Evan Phoenix
3726b7ef19 Change parser symbol names to avoid clash. Fixes #179 2013-07-18 11:22:18 -07:00
Evan Phoenix
faf7f9916c Merge branch 'minissl' into just-dash-w
Conflicts:
	ext/puma_http11/puma_http11.c
	lib/puma/cli.rb
	lib/puma/server.rb
2012-09-10 08:41:43 -07:00
Evan Phoenix
17a058a158 Minor cleanup and properly scope 2012-08-22 22:12:12 -07:00
Evan Phoenix
f792702dab Start MiniSSL 2012-08-22 16:53:25 -07:00
Evan Phoenix
ab8dbfeb96 Vastly improve IO perf on 1.9.3
Puma::IOBuffer is a very simple memory buffer that allows for fast
append without additional object overhead.

Additionally, turns out that IO#write on 1.9.3 is extremely
non-performant because it allows a Hash object on every invocation.
Avoid calling IO#write in a loop on 1.9.3! Use IO#syswrite if you can
(for instance when you don't care about the encoding of the output
(sockets)).
2012-08-11 15:09:09 -07:00
Evan Phoenix
a1c457f331 Cleanup warnings 2012-08-10 10:12:33 -07:00
Thibault Jouan
4efbc7071a Allow compilation with -Werror=format-security option 2012-07-10 22:47:49 +00:00
Dirkjan Bussink
0728ce5ba9 Define RSTRING_NOT_MODIFIED for Rubinius
As far as I could tell, the buffer given to the http parser isn't
modified. Because it is not modified, we can use the
RSTRING_NOT_MODIFIED header to ensure that Rubinius hasn't do the extra
work to copy the data back and forth.
2012-06-13 09:27:09 +02:00
Sokolov Yura
684b15db3d ALLOC_N uses xmalloc, so that, use xfree for free 2012-01-06 14:47:10 +04:00
Evan Phoenix
40dac162a2 Change name of parser extension to puma_http11 2011-10-04 20:35:50 -07:00
Renamed from ext/http11/http11.c (Browse further)