Glenn Strauss
cef6ee675d
[core] limit con->uri.authority < 1024 octets
...
(expect < 256 octets for DNS name)
Since limit is imposed, can use buffer_clear() instead of buffer_reset()
for con->uri.authority and con->server_name. (Also, con->uri.scheme is
limited to "http" and "https", so use buffer_clear() for it, too)
4 years ago
Glenn Strauss
0bac13f6b4
[core] cygwin sample to run lighttpd under NSSM
...
configure NSSM to set environment variables when starting lighttpd
NSSM_SERVICE_NAME=lighttpd
NSSM_SERVICE_DIR=/lighttpd/install/dir (optional)
4 years ago
Glenn Strauss
ad53c30d4b
[core] cygwin helper func for getcwd
4 years ago
Glenn Strauss
cf93e91c56
[core] perf: inline buffer_copy_buffer()
4 years ago
Glenn Strauss
d7cfc8a381
[mod_wstunnel] use buffer_string_length()
...
use buffer_string_length() abstraction instead of b->used
4 years ago
Glenn Strauss
75bd40aa5d
[core] perf: buffer optimizations
...
buffer_string_prepare_copy() no longer writes '\0' into b->ptr
buffer_realloc() always allocates extra +1 for '\0'
4 years ago
Glenn Strauss
cced512116
[mod_cml] parse query string without modifying it
4 years ago
Glenn Strauss
449274903c
[core] perf: simplify buffer_move()
...
require src and dest to be non-NULL
change no longer releases large swapped buffers with buffer_reset()
4 years ago
Glenn Strauss
ef1fdcd910
[mod_webdav] one fewer buffer copy for COPY,MOVE
...
one fewer buffer copy of Destination for COPY,MOVE
4 years ago
Glenn Strauss
956a3fb9db
[mod_webdav] fix LOCK on incorrect URI path
4 years ago
Glenn Strauss
b9402283be
[core] simpler physical path concatenation
4 years ago
Glenn Strauss
ac41c17694
[core] perf: small improvement buffer_string_space
4 years ago
Glenn Strauss
a2aba0788b
[core] perf: small improvement to encoding CGI var
4 years ago
Glenn Strauss
f69bd9cdb8
[core] perf: simple, quick buffer_clear()
...
quickly clear buffer instead of buffer_string_set_length(b, 0) or
buffer_reset(b). Avoids free() of large buffers about to be reused,
or buffers that are module-scoped, persistent, and reused.
(buffer_reset() should still be used with buffers in connection *con
when the data in the buffers is supplied by external, untrusted source)
4 years ago
Glenn Strauss
9749503b1d
[core] separate func to reset FILE_CHUNK
4 years ago
Glenn Strauss
19b5fbdd3d
[mod_fastcgi] transfer chunks minus packet padding
...
(thx avij)
4 years ago
Glenn Strauss
f0df89a996
[mod_redirect,mod_rewrite] use server_name
...
use server_name for authority if Host not provided
(Host is not required in HTTP/1.0)
4 years ago
Glenn Strauss
b5cd216781
[mod_fastcgi] minor: copy packet without padding
4 years ago
Glenn Strauss
758c58cda5
[core] clear chunk buffer upon release
...
(before adding back to reusable buffer pool)
4 years ago
Glenn Strauss
b74188e5b3
[mod_cgi] reset reused buffer on internal redir
4 years ago
Glenn Strauss
aba45f68d8
[core] perf: simpler buffer_string_space() (tests)
4 years ago
Glenn Strauss
473ce93c14
[core] perf: faster HTTP pipelined requests
...
separate reading header from connection_handle_read_state() into
connection_read_header() so that HTTP pipelined requests can skip
optimistic read()/recv()
4 years ago
Glenn Strauss
d1bf435573
[core] perf: simpler buffer_string_space() (fixed)
4 years ago
Glenn Strauss
70d7d0a0a1
[core] server.chunkqueue-chunk-sz = 4096
...
server.chunkqueue-chunk-sz = 4096 (default)
Can be configured any integral value greater than 0.
Value is rounded up to next 1024 if not an even multiple of 1k.
Sites with large request or response headers may benefit from
an 8k or 16k chunk size. Embedded systems might choose to minimize
memory use by using a 1k chunk size.
4 years ago
Glenn Strauss
cc1c2f0e37
[core] server.compat-module-load = "disable"
...
controls whether default and compatibility modules are loaded,
including default modules mod_indexfile, mod_staticfile, mod_dirlisting
and if mod_authn* modules are loaded when mod_auth in server.modules
and if mod_openssl is loaded when ssl. directives are seen
default: server.compat-module-load = "enable"
(preserve existing behavior)
recommended config: explicitly load desired modules in desired order
4 years ago
Glenn Strauss
1b8453886f
[mod_webdav] quiet coverity false positive
4 years ago
Glenn Strauss
f13db69012
[core] fix setting of headers previously reset ( fixes #2919 )
...
bug may result in long delays when using mod_deflate on connections
with keep-alive, as the result is sent without Content-Length or
Transfer-Encoding
(regression in lighttpd 1.4.51)
(thx GilGalaad)
x-ref:
"high latency on 1.4.51 + proxy + deflate"
https://redmine.lighttpd.net/boards/2/topics/8365
https://redmine.lighttpd.net/issues/2919
4 years ago
Glenn Strauss
41b50cfa71
[core] fix 301 -> 302 overwrite with Location ( fixes #2918 )
...
fix bug resulting in status code being overwritten from 301 to 302 if
Location response header is returned by a backend which is not mod_proxy
(regression in lighttpd 1.4.51)
(thx shochodev)
x-ref:
"lighttpd is not obeying the http status code sent by our application (302 sent by lighttpd when 301 is sent by application)"
https://redmine.lighttpd.net/issues/2918
4 years ago
Glenn Strauss
2d91475828
[mod_cgi] perf: cache getenv() results at start up
4 years ago
Glenn Strauss
5ff1ddeb66
[mod_wstunnel] perf: reuse large buffers
4 years ago
Glenn Strauss
88ee73d0a2
[multiple] perf: simplify chunkqueue_get_memory()
4 years ago
Glenn Strauss
f512bfa4af
[core] use chunk_buf_sz instead of hard-coded num
4 years ago
Glenn Strauss
9f6a46738d
[multiple] dynamic handlers hint backend header sz
4 years ago
Glenn Strauss
31d16af78b
[core] perf: simpler buffer_string_space()
4 years ago
Glenn Strauss
1539cbfdc1
[core] perf: chunkqueue buffers already sized up
...
provide new interface for sizing to even larger if very large request
(chunkqueue_prepend_buffer_open_sz())
4 years ago
Glenn Strauss
f1e5f74f8f
[mod_webdav] return 403 if file should exist
...
return 403 if file should exist for PROPPATCH or LOCK, but stat fails
4 years ago
Glenn Strauss
a1cda77f9b
[mod_openssl] prefer using TLS_server_method()
...
prefer TLS_server_method() instead of SSLv23_server_method()
(SSLv23_server_method() is deprecated in openssl 1.1.0)
4 years ago
Glenn Strauss
aa00359e6c
[mod_cgi] perf: use stat_cache for cgi handler
4 years ago
Glenn Strauss
d182e90bb1
[mod_openssl] SSL_read before second SSL_shutdown
...
call SSL_read() before calling SSL_shutdown() a second time.
Drain SSL read buffers in case pending records need processing.
x-ref:
"New session ticket breaks bidirectional shutdown of TLS 1.3 connection"
https://github.com/openssl/openssl/issues/6262
reported to lighttpd by intexk
https://www.lighttpd.net/2018/10/14/1.4.51/
4 years ago
Glenn Strauss
89062d8134
[mod_openssl] move SSL_shutdown() to separate func
...
mod_openssl_close_notify()
4 years ago
Rosen Penev
bc91bbd0c6
[core] Don't call RAND_cleanup with OpenSSL 1.1.x
...
RAND_cleanup is deprecated and does nothing with 1.1.x.
It also breaks with OpenSSL compiled with no deprecated APIs.
(-DOPENSSL_API_COMPAT=<version>)
github: closes #93
4 years ago
Glenn Strauss
6dcdc1af18
[mod_fastcgi,mod_scgi] perf: env accumulation
4 years ago
Glenn Strauss
407b4d140b
[mod_cgi] perf: reuse buffers for creating CGI env
4 years ago
Glenn Strauss
e0dbff4750
[core] slightly simpler flag append to string
4 years ago
Glenn Strauss
5fe9339942
[core] perf: inline buffer_append_string_buffer()
4 years ago
Glenn Strauss
8c0792a58c
[multiple] better packing of struct chunk
...
remove c->file.name
previous commit modified c->file.name to share buffer with c->mem
4 years ago
Glenn Strauss
3d8d56d8de
[multiple] perf: reuse large buffers w/ backend
4 years ago
Glenn Strauss
fccc7fc607
[core] perf: chunk.c chunk pool
...
reuse chunks across chunkqueues; remove cq->unused, cq->unused_chunks
reuse same buffer c->mem and c->file.name in chunk
4 years ago
Glenn Strauss
c79bc31609
[mod_fastcgi] perf: reduce data copies
...
http_chunk_transfer_cqlen()
4 years ago
Glenn Strauss
2df8f9ebf4
[mod_fastcgi] perf: reduce data copies
...
reduce data copies while reading FastCGI packets from FastCGI backend
4 years ago