Commit Graph

2471 Commits (2eb7287a9847c5e2159da0823c5565d02d3006ac)

Author SHA1 Message Date
Stefan Bühler 2eb7287a98 [scons] don't screw env[LIBS]
- copy() when collecting dependencies for static module linking
- copy() when following operations append to it and we don't reset it to
  an empty list
- use autoadd = 0 for many functions to prevent modifying env[LIBS] in
  the first place
- append to env[LIBS] manually to make it explicit (fam and rt)
2017-10-28 22:41:32 -04:00
Stefan Bühler 2144cd2e39 [scons] link -static-libgcc instead of gcc_s 2017-10-28 22:41:32 -04:00
Stefan Bühler 68a92f2c3c [scons] don't link pthread twice in --whole-archive workaround 2017-10-28 22:41:32 -04:00
Stefan Bühler b8989bf2dd [scons] fix some lib dependencies
- mod_cml: doesn't need pcre
- mod_trigger_b4_dl: needs gdbm
- lighttpd: needs crypto and pcre
2017-10-28 22:41:32 -04:00
Stefan Bühler 21dfe350ae [scons] sort modules 2017-10-28 22:41:32 -04:00
Stefan Bühler 96e198d621 [scons] fix with_pgsql
pg_config --includedir --libdir doesn't print the "-I" or "-l" prefixes,
so ParseConfig can't parse it. Use pkg-config instead.
2017-10-28 22:41:32 -04:00
Stefan Bühler 2506e21b08 [scons] add with_all option 2017-10-28 22:41:32 -04:00
Stefan Bühler fff8e70567 [scons] rename with_gzip to with_zlib 2017-10-28 22:41:32 -04:00
Stefan Bühler 73ef60a5a1 [scons] config.py(-sample) not used, remove them 2017-10-28 22:41:32 -04:00
Stefan Bühler ccba074c1e [scons] sort with_* options, document missing options 2017-10-28 22:41:32 -04:00
nicorac 3d257ec3a9 [core] fix build --disable-ipv6 (fixes #2832)
x-ref:
  "Build error on systems without IPV6 support (regression from 1.4.46)"
  https://redmine.lighttpd.net/issues/2832

github: closes #87
2017-10-25 22:45:57 -04:00
Marco Angaroni 3faf042847 [mod_webdav] fix crash if stat fails, not ENOENT
fix crash in mod_webdav_subrequest_handler_huge()
when stat_cache_get_entry() returns HANDLER_ERROR
but errno is not ENOENT

x-ref:
  "fix crash in mod_webdav_subrequest_handler_huge()"
  https://github.com/lighttpd/lighttpd1.4/pull/86

github: closes #86
2017-10-25 21:21:04 -04:00
Glenn Strauss 6a17133a75 - next is 1.4.48 2017-10-22 16:43:33 -04:00
Glenn Strauss f558fc9735 [doc] NEWS 2017-10-22 15:36:55 -04:00
Glenn Strauss 875e339faf [core] fix 1.4.46 regression in Last-Modified
fix 1.4.46 regression in Last-Modified string cache

(thx avij)

x-ref:
  "Oversized request-header"
  https://redmine.lighttpd.net/boards/2/topics/7686
2017-10-22 15:35:39 -04:00
Glenn Strauss 0c1aed55d5 [doc] use https:// URLs to .lighttpd.net resources 2017-10-22 15:01:48 -04:00
Glenn Strauss f5ff2a011d [core] normalize config addrs for eq and ne (#2830)
address strings need to have DNS resolved and port added
for consistency when matching other config conditionals

x-ref:
  "1.4.46 regression: $SERVER["socket"] matches when it shouldn't"
  https://redmine.lighttpd.net/issues/2830
2017-10-22 14:13:55 -04:00
Glenn Strauss 3549fc8280 [core] normalize config addrs for != match (#2830)
address strings need to have DNS resolved and port added
for consistency when matching other config conditionals

x-ref:
  "1.4.46 regression: $SERVER["socket"] matches when it shouldn't"
  https://redmine.lighttpd.net/issues/2830
2017-10-22 14:13:53 -04:00
Glenn Strauss 585206616d [core] fix 1.4.46 regression in config match (fixes #2830)
address strings need to have DNS resolved and port added
for consistency when matching other config conditionals

x-ref:
  "1.4.46 regression: $SERVER["socket"] matches when it shouldn't"
  https://redmine.lighttpd.net/issues/2830
2017-10-22 12:41:02 -04:00
Glenn Strauss 60b5826849 [core] stricter validation of request-URI begin
check that request-URI begins with '/', "http://", "https://",
or is OPTIONS * request, or else reject with 400 Bad Request unless
server.http-parseopt-header-strict  = "disable" (default is enabled)

x-ref:
  https://redmine.lighttpd.net/boards/3/topics/7637
2017-10-21 21:44:34 -04:00
Glenn Strauss 6be68f569f [mod_authn_gssapi] needs -lcom_err under Darwin 2017-10-21 19:16:33 -04:00
Glenn Strauss 5780d6cc58 - next is 1.4.47 2017-10-21 16:37:13 -04:00
Glenn Strauss f07bcb145c [doc] NEWS 2017-10-21 15:42:49 -04:00
Glenn Strauss 3f2561dec5 [core] translate DNS to IP str for cond socket cmp
translate DNS to IP string for conditinal socket comparison
in lighttpd.conf for $SERVER["socket"] == ...
2017-10-21 14:47:30 -04:00
Glenn Strauss 168f67a1b1 [core] perf: more efficient fdevent_sched_run()
perf: more efficient fdevent_sched_run() over fds pending close
2017-10-21 12:34:17 -04:00
Glenn Strauss cddc481411 [core] reproducible build: hide __DATE__ __TIME__ (fixes #2828)
reproducible build: hide __DATE__ __TIME__ unless compiled with
-DNONREPRODUCIBLE_BUILD

x-ref:
  "Reproducible builds"
  https://redmine.lighttpd.net/issues/2828
2017-10-21 11:53:27 -04:00
Stefan Bühler 0fcd756766 [cmake] link mod_cml with memcached 2017-10-21 16:03:04 +02:00
Stefan Bühler c7c106c3c0 [cmake] fix attr header detection and linking 2017-10-21 16:03:04 +02:00
Stefan Bühler 4634a05c0d [cmake] handle WITH_WEBDAV_LOCKS option 2017-10-21 16:03:04 +02:00
Glenn Strauss 41eb4d323c [core] adjust parser for valid variable expansion
adjust config parser for valid variable expansion
Return only the value when a variable is expanded so that the
array element keeps its state as value-only or part of key-value

(thx nicorac)

x-ref:
  "https://redmine.lighttpd.net/boards/2/topics/7600"
2017-10-20 23:04:53 -04:00
Glenn Strauss 77bdaa3a93 [mod_openssl] ssl.read-ahead="disable" by default
set ssl.read-ahead = "disable" by default (modifies commit f4e1357d)

Given various reports from users of embedded systems, the default is
being changed to do the sane thing for these systems.  This is the
right setting on slow embedded systems for which decoding SSL input
is slower than receiving that input over the network.

On the other hand, for faster systems, ssl.read-ahead = "enable" is
recommended for a slight performance gain and should be explicitly set
in the global or $SERVER["socket"] configuration blocks in lighttpd.conf

x-ref:
  "https POST requests buffered in RAM since v1.4.41?"
  https://redmine.lighttpd.net/boards/2/topics/7520
2017-10-19 08:51:20 -04:00
Glenn Strauss 7f82ddab3f [core] remove fdevent_sched_run from fdevent_libev (#2827)
remove fdevent_sched_run from fdevent_libev.c
(redundant since commit 8ed588ce)

x-ref:
  "POST to mod_cgi sometimes hangs"
  https://redmine.lighttpd.net/issues/2827
2017-10-16 20:07:54 -04:00
fbrosson 9b0e095c9f [core] add back REQUEST_SCHEME for backends
x-ref:
  "[core] Add back REQUEST_SCHEME (for use in e.g. mod_ssi)"
  https://github.com/lighttpd/lighttpd1.4/pull/85

github: closes #85
2017-10-16 19:38:31 -04:00
Glenn Strauss fa1eef0071 [core] permit LF to end lines if !header-strict
permit LF to end header lines if
  server.http-parseopt-header-strict = "disable"
(instead of requiring CR LF)

(makes it easy to use 'openssl s_client -connect <IP:port>' on unix)

(Note: care taken to minimize diff in this commit,
 but header parsing code should be revisited and overhauled)
2017-10-16 02:17:07 -04:00
Glenn Strauss 0ff8904a72 [mod_openssl] remove erroneous SSL_set_shutdown()
remove erroneous call to SSL_set_shutdown()
(historical from commit:3888c103)
(erroneous since lighttpd 1.4.40 moved to bidirectional input/output)

x-ref:
  "wstunnel sample config"
  https://redmine.lighttpd.net/boards/2/topics/7600
2017-10-16 02:10:36 -04:00
Glenn Strauss 7661587f01 [mod_openssl] copy data for larger SSL packets
copy small mem chunks into single large buffer before SSL_write()
to reduce number times write() called underneath SSL_write() and
potentially reduce number of packets generated if socket TCP_NODELAY
2017-10-15 22:07:00 -04:00
Glenn Strauss a4d40da9f2 [core] remove fd interest if create_env returns
remove fd interest in FDEVENT_OUT to backend if create_env hook returns
a status that is not HANDLER_GO_ON, HANDLER_FINISHED, or HANDLER_ERROR
(e.g. HANDLER_WAIT_FOR_EVENT or HANDLER_WAIT_FOR_FD or HANDLER_COMEBACK)
2017-10-15 21:58:50 -04:00
Glenn Strauss d3f4a62c10 [mod_dirlisting] custom js date parse func (fixes #2823)
lighttpd mod_dirlisting produces a directory listing with the date in a
certain format, and lighttpd calls setlocale(LC_TIME, "C"), so strftime
date used in mod_dirlisting is predictable.  Use a custom date parse
routine to replace Date.parse() in the javascript sorting functions.

x-ref:
  "Directory listing / sort by last modified does not work on Safari"
  https://redmine.lighttpd.net/issues/2823
2017-10-14 16:21:46 -04:00
Glenn Strauss 7bd46d1984 [core] fix $REQUEST_HEADER[...] parsing in config (#1556)
x-ref:
  "Allow matching against any arbitrary HTTP header in the configuration file regexps"
  https://redmine.lighttpd.net/issues/1556
  https://redmine.lighttpd.net/boards/2/topics/7609
2017-10-14 13:51:49 -04:00
Glenn Strauss 8ed588ce32 [core] handle fds pending close after poll timeout (fixes #2827)
handle fds pending close whether or not new events are triggered

(thx davidm)

x-ref:
  "POST to mod_cgi sometimes hangs"
  https://redmine.lighttpd.net/issues/2827
2017-10-12 02:44:35 -04:00
Glenn Strauss 60a98ebaf4 [core] quiet coverity warning 2017-10-09 08:50:26 -04:00
Glenn Strauss 513e407b06 [mod_wstunnel] remove invalid appended '\0'
remove invalid appended '\0' in code originating from Norio Kobota
mod_websocket_frame.c.  /* needs '\0' char to send */ is not valid

x-ref:
  "wstunnel sample config"
  https://redmine.lighttpd.net/boards/2/topics/7600
2017-10-09 02:45:12 -04:00
Glenn Strauss ef11fa42da [mod_wstunnel] set Sec-WebSocket-Protocol if bin
set Sec-WebSocket-Protocol: binary in response if request header
Sec-WebSocket-Protocol: binary provided by client in Upgrade: websocket
request, or if wstunnel.frame-type = "binary" in lighttpd config
2017-10-09 02:45:12 -04:00
Glenn Strauss d8dba4ae6a [core] gateways might Upgrade con before body read
some gateways might Upgrade connection before request body is read

(mod_wstunnel sets con->file_started = 1 and -1 == hctx->wb_reqlen
 and sends Connection: upgrade and Upgrade: websocket before reading
 request body)

x-ref:
  "wstunnel sample config"
  https://redmine.lighttpd.net/boards/2/topics/7600
2017-10-09 02:45:12 -04:00
Glenn Strauss b8e6419f3a [core] return from http_response_read if small rd
return from http_response_read() if read smaller than available buffer
2017-10-09 02:45:12 -04:00
Glenn Strauss 0528e2e712 [core] limit use of TCP_CORK
limit use of TCP_CORK to when chunkqueue contains a non-MEM_CHUNK
(in addition to restricting to Linux, more than one chunk, and TCP)
2017-10-09 02:45:12 -04:00
Glenn Strauss f22b5d69da [core] inline chunkqueue_is_empty() 2017-10-09 02:45:12 -04:00
Glenn Strauss 9a69f31b20 [core] compare listen addrs after DNS resolution
compare listen addrs after DNS resolution when starting up server
2017-10-09 02:45:12 -04:00
Glenn Strauss 5c25f629ab [core] /dev/stdin listener for inetd wait yes
server.bind = "/dev/stdin" for use with inetd wait yes

(experimental)

x-ref:
  "inetd/wait mode with auto-shutdown after idle timeout"
  https://redmine.lighttpd.net/issues/2824
2017-10-09 02:44:30 -04:00
Glenn Strauss 00d976b130 [core] cleaner code; remove goto from network.c 2017-10-07 16:11:36 -04:00