Glenn Strauss
65fcd7810f
[core] prefer buffer_append_string_len()
...
prefer buffer_append_string_len() when string len is known
(instead of buffer_append_string() which will recalculate strlen)
5 years ago
Glenn Strauss
b61ed6da2a
[core] http_method_append()
5 years ago
Glenn Strauss
90c30d5e90
[core] http_status_append()
5 years ago
Glenn Strauss
b192231392
[core] log_failed_assert() __attribute__((cold))
5 years ago
Glenn Strauss
2dbcfc9266
[core] inline status_counter routines
5 years ago
Glenn Strauss
c98d89a4bb
[tests] #undef NDEBUG before assert.h in t/test_*
5 years ago
Glenn Strauss
8c7f1dfb03
[core] more memory-efficient fn table for data_*
...
save 40 bytes (64-bit), or 16 bytes (32-bit) per data_* element
at the cost of going through indirect function pointer to execute
methods. At runtime, the reset() method is most used among them.
5 years ago
Glenn Strauss
002a4c524d
[core] array_get_int_ptr()
5 years ago
Glenn Strauss
66ff05db8f
[tests] t/test_array.c
...
(more tests should be added, but starting with something has benefits)
5 years ago
Glenn Strauss
810109cc34
[multiple] code reuse: using array_*() funcs
5 years ago
Glenn Strauss
2b40854ab9
[core] fix include_shell on inline shell commands ( fixes #2910 )
...
regression in lighttpd 1.4.50
x-ref:
"include_shell behavior change in 1.4.50"
https://redmine.lighttpd.net/issues/2910
5 years ago
Glenn Strauss
fc1ddbed33
[mod_sockproxy] add to build
...
(experimental)
5 years ago
Glenn Strauss
df4812ec2e
[mod_authn_pam] mod_auth PAM support ( fixes #688 )
...
x-ref:
"auth via pam"
https://redmine.lighttpd.net/issues/688
5 years ago
Glenn Strauss
5c2d52b4ac
[mod_flv_streaming] code simplifications
5 years ago
Glenn Strauss
ae9f354bae
[doc] lighttpd.service uses network-online.target
...
doc/systemd/lighttpd.service now uses After=network-online.target
instead of After=network.target, as recommended in
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
(thx janik)
5 years ago
Glenn Strauss
d61f33817c
[multiple] code reuse: employ array_match_*()
5 years ago
Glenn Strauss
863dff6191
[mod_skeleton] review and simplify
5 years ago
Glenn Strauss
e6741acd4e
[core] code reuse array_match_*() routines
5 years ago
Glenn Strauss
6b887f35e3
[mod_auth] send 401 for mismatch HTTP auth scheme ( fixes #2906 )
...
x-ref:
"Lighttpd responds with 400 not 401"
https://redmine.lighttpd.net/issues/2906
5 years ago
Glenn Strauss
4992c4de10
[mod_fastcgi,mod_scgi] error on oversized request ( fixes #2905 )
...
regression in lighttpd 1.4.49 and lighttpd 1.4.50
(thx slawomir.pryczek)
x-ref
"oversized fcgi requests should fail gracefully"
https://redmine.lighttpd.net/issues/2905
5 years ago
Glenn Strauss
a458c2e731
[mod_proxy,mod_wstunnel] copy full plugin_config ( fixes #2903 )
...
x-ref:
"gw backend redesign"
https://redmine.lighttpd.net/issues/2903
5 years ago
Glenn Strauss
5045a9e833
[core] fastcgi.h link to Open Market License (OML) ( fixes #2901 )
...
x-ref:
"License terms of fastcgi.h"
https://redmine.lighttpd.net/issues/2901
5 years ago
Glenn Strauss
2eabe1636c
[mod_rewrite] fix url.rewrite-repeat and url.rewrite-if-not-file ( fixes #2908 )
...
regression in lighttpd 1.4.50
x-ref:
"mod_rewrite now throws error ENDLESS LOOP IN rewrite-rule DETECTED"
https://redmine.lighttpd.net/issues/2908
5 years ago
Glenn Strauss
eebc1b0eec
[mod_proxy] fix proxy.forwarded and proxy.replace-http-host ( fixes #2902 )
...
config settings were not being copied into proxy request context
x-ref:
"mod_proxy's “proxy.forwarded” option seems ignored when used with mod_auth."
https://redmine.lighttpd.net/issues/2902
5 years ago
Glenn Strauss
9725299587
[core] code reuse with http_response_body_clear()
...
code reuse with http_response_body_clear()
rename con->response.transfer_encoding to con->response.send_chunked
5 years ago
Glenn Strauss
3dd3cde902
[core] abstraction layer for HTTP header manip
...
http_header.[ch]
convert existing calls to manip request/response headers
convert existing calls to manip environment array (often header-related)
5 years ago
Glenn Strauss
c8159ee5f6
[core] http_request_parse_reqline() separate func
...
http_request_parse_reqline() separate func from http_request_parse()
600+ line http_request_parse() is now two routines with ~300 lines each
5 years ago
Glenn Strauss
28d6015b45
[core] simplify parsing hdr key whitespace then :
5 years ago
Glenn Strauss
a7c27c9f99
[core] code reuse with array_insert_key_value()
...
code reuse with array_insert_key_value() and related array manipulation
5 years ago
Glenn Strauss
a90526374f
[core] abstraction to insert/modify response hdrs
...
consistent use of abstraction to insert/modify response headers
5 years ago
Glenn Strauss
9d3cbaa74c
[core] parse header line strings before copying
5 years ago
Glenn Strauss
ad27206608
[core] redo HTTP header line folding
...
Replace separators between folded header lines in-place using spaces
and then process the single header line.
(Reverts change which replaces folding whitespace with single space)
Acknowledgement: Or Peles of VDOO reference: VD-0871, VD-0872, VD-0873
(thx Or Peles)
5 years ago
Stefan Bühler
e0260a411d
[buffer] fix duplicate assert and comment
...
this originates from ad3e93ea9
for no apparent reason
5 years ago
Stefan Bühler
3be0707839
[core] replace folding whitespace with a single space
...
- previously the leading whitespace from folded lines was kept
- also ignore lines without any data
5 years ago
Stefan Bühler
df8e4f9561
[core,security] process headers after combining folded headers
...
- this fixes various use-after-free scenarios (reported by Or Peles of
VDOO): when parse_single_header stores pointers to header values in
con->request, those pointers are not updated if the header value is
reallocated when folded header lines are appended.
- also remove trailing white-space from folded lines
5 years ago
Stefan Bühler
a2cc330fb4
[core] header parsing: use goto for error handling
...
- disable keep-alive for all failures
- default to 400 for status
5 years ago
Stefan Bühler
725d951247
[core] explicitly return 0 instead of constant result
5 years ago
Stefan Bühler
ed0054c2d3
[core] split parsing header line into separate function
5 years ago
Glenn Strauss
a9e131fa37
- next is 1.4.51
5 years ago
Glenn Strauss
a2114a1c9b
[doc] NEWS
5 years ago
Glenn Strauss
8c35064583
[core] extend server.http-parseopts
...
"header-strict" => "enable"
restrict chars permitted in HTTP request headers
(overrides server.http-parseopt-header-strict)
"host-strict" => "enable"
restrict chars permitted in HTTP request Host header
(overrides server.http-parseopt-host-strict)
"host-normalize" => "enable"
normalize HTTP Host header
(overrides server.http-parseopt-host-normalize)
5 years ago
Glenn Strauss
ebd9517639
[core] quell insignificant coverity warning
5 years ago
Glenn Strauss
c791877f13
[build] add missing file for test_burl
...
add missing file for test_burl for cmake and meson builds
5 years ago
Glenn Strauss
82dcb34c73
[core] workaround Coverity cov-build bug with gcc7
...
workaround Coverity cov-build bug with gcc 7
where Coverity does not support _Floatx typedefs
https://stackoverflow.com/questions/50434236/coverity-scan-fails-to-build-stdlib-h-with-gnu-source-defined
5 years ago
Glenn Strauss
c4d743bb4d
mod_sockproxy - socket forwarding
...
(experimental)
5 years ago
Glenn Strauss
7c8cc6f7c5
[core] option to propagate TCP FIN to backend host
...
(experimental support for mod_sockproxy)
"tcp-fin-propagate" = "enable" for each host in *.server backend defs
5 years ago
Glenn Strauss
bbf01a3a6c
[core] reset var if FAMMonitorDirectory() fails
...
do not read fam_dir->version if FAMMonitorDirectory() fails
5 years ago
Glenn Strauss
d161f53de0
[core] security: use-after-free invalid Range req
...
(thx Marcus Wengelin)
5 years ago
Glenn Strauss
1de1746925
[mod_rewrite] require rewrite result to begin '/'
5 years ago
Glenn Strauss
f832b71180
[mod_redirect,mod_rewrite] base64url encoding opt
...
Provide means to encode redirect and rewrite backreference substitutions
%{encb64u:...} encode to base64url characters (no-padding)
%{decb64u:...} decode from base64url characters
5 years ago