Commit Graph

2909 Commits (73bfee6308c97af833f95dc2204c18d9e1cd3391)
 

Author SHA1 Message Date
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