Glenn Strauss
9b3fa6eb2b
[tests] t/test_mod now runs all t/test_mod_*.c
...
combine into a single executable to reduce compilation/link redundancy
8 months ago
Glenn Strauss
741513ecd1
[mod_ssi] merge mod_ssi_expr.c into mod_ssi.c
...
isolate this ancient relic
8 months ago
Glenn Strauss
457362cbe3
[mod_ssi] remove mod_ssi parser generator file
8 months ago
Glenn Strauss
8c7b86a316
[tests] reenable test_mod_ssi in cmake
...
(Instead, workaround added for libtool)
(There must be better ways to do this, but I don't know them right now)
8 months ago
Glenn Strauss
d1f4bc98b9
[tests] disable test_mod_ssi in cmake (temporary)
...
disable test_mod_ssi in cmake (temporary) until include paths updated
or dependency added for the generated ssi parser header and impl
8 months ago
Glenn Strauss
e93093422c
[tests] disable test_mod_ssi in cmake (temporary)
...
disable test_mod_ssi in cmake (temporary) until include paths updated
or dependency added for the generated ssi parser header and impl
8 months ago
Glenn Strauss
0f51b3728a
[core] fdevent_fdnode.c separate from fdevent.c
8 months ago
Glenn Strauss
7113dcb49b
[core] merge fdevent impls into fdevent_impl.c
8 months ago
Glenn Strauss
ec52917755
[core] fdevent_impl.c separate from fdevent.c
8 months ago
Glenn Strauss
84449e1497
[tests] t/test_mod_ssi
8 months ago
Glenn Strauss
5c18891a94
[build] check for preadv(), pwritev()
8 months ago
Glenn Strauss
b17c37c5e5
[mod_openssl] boringssl compat
9 months ago
Glenn Strauss
5cab11b7ea
[build] check for pread(), pwrite(), splice()
9 months ago
Glenn Strauss
9f62f1b196
[multiple] fdevent_mkostemp()
...
fdevent_mkostemp() with flags arg so that caller can pass O_APPEND
renamed from fdevent_mkstemp_append(), previously always O_APPEND
9 months ago
Glenn Strauss
7b615d5d24
[multiple] de-dup file and piped loggers ( fixes #3101 )
...
de-dup file and piped loggers for error logs and access logs
x-ref:
"RFE: de-dup file and piped loggers"
https://redmine.lighttpd.net/issues/3101
10 months ago
Glenn Strauss
243510dbb4
[core] fdlog.[ch]; fdevent_*_logger_* -> fdlog_*
...
code move and rename fdevent_*_logger_*() to fdlog_*()
10 months ago
Glenn Strauss
1a8d8e0ca5
[core] periodically malloc_trim() to release mem ( fixes #3084 )
...
x-ref:
"Memory fragmentation with HTTP/2 enabled"
https://redmine.lighttpd.net/issues/3084
10 months ago
Glenn Strauss
1783550154
[build] look for malloc.h and mallopt()
10 months ago
Glenn Strauss
ca2898f678
[tests] t/test_mod_indexfile
...
also remove some now-redundant tests from request.t
and reduce scripts and directories under tests
(because automake is sloooow and the fewer dirs, the better)
10 months ago
Glenn Strauss
b5cdc958a7
[mod_magnet] expose md and hmac funcs to lua
...
lighty.c.md("algo", "data")
lighty.c.hmac("algo", "secret", "data")
"algo" can be one of: "md5", "sha1", "sha256", "sha512"
(as long as lighttpd compiled w/ crypto lib supporting those algorithms)
lighty.c.digest_eq("digest1", "digest2")
- performs a timing-safe, case-insensitive comparison of two hex digests
- "digest1" and "digest2" are hex strings (of binary digests)
- returns boolean true or false
lighty.c.secret_eq("data1", "data2")
- performs a timing-safe comparison of two strings
(and attempts to hides differences in string lengths)
- "data1" and "data2" are strings
- returns boolean true or false
lighty.c.time()
- cached time(); seconds since 1 Jan 1970 00:00:00 GMT
(faster than os.time())
lighty.c.rand()
- generate pseudo-random number
Note: the "lighty.c.*" namespace is EXPERIMENTAL / UNSTABLE
In the future, these may be removed, altered, or moved to a different
namespace.
10 months ago
Glenn Strauss
323e03fb2d
[core] remove connection_list_append()
...
merge connection_list_append() into connection_fdwaitqueue_append()
(not converted to singly-linked-list since fdwaitqueue is not expected
to be used during normal operation (except extreme overload condition),
so use allocated list of pointers (allocated when needed) instead of
adding ptr member to (every) allocated struct connection)
remove connections-glue.c
remove inclusion of connections.h by non-base files
10 months ago
Glenn Strauss
8492d0947a
[build] check for sys/filio.h in CMake and meson
...
present in configure.ac and SConstruct,
but missing from src/CMakeLists.txt and src/meson.build
10 months ago
Glenn Strauss
92576a2f4b
[core] Y2038: use _TIME_BITS=64 on 32-bit glibc
...
Y2038: use _TIME_BITS=64 on 32-bit glibc platforms
reference:
https://www.phoronix.com/scan.php?page=news_item&px=Glibc-More-Y2038-Work
10 months ago
Glenn Strauss
91472ab768
[tests] t/test_mod_staticfile
...
move some tests from tests/request.t to src/t/test_mod_staticfile.c
10 months ago
Glenn Strauss
1cd73b08a6
[core] move backtrace and assert macros to ck.[ch]
10 months ago
Glenn Strauss
caff799ccb
[build] look for port.h on Solaris, not sys/port.h
10 months ago
Glenn Strauss
29b9735338
[mod_secdownload] include algo_hmac.c in mod
...
algo_hmac.c used only with mod_secdownload,
so include algo_hmac.c in mod_secdownload instead of lighttpd executable
10 months ago
Glenn Strauss
0fd8918777
[mod_vhostdb*] rename http_vhostdb->mod_vhostdb_api
...
rename http_vhostdb.[ch] -> mod_vhostdb_api.[ch]
10 months ago
Glenn Strauss
3538f8f2a4
[mod_auth*] rename http_auth.* -> mod_auth_api.*
...
rename http_auth.[ch] -> mod_auth_api.[ch]
10 months ago
Glenn Strauss
1a8ac120b4
[mod_auth,mod_vhostdb] move helper funcs to mods
...
link http_auth.c into mod_auth
link http_vhostdb.c into mod_vhostdb
ensure that mod_auth loads before mod_authn_*
ensure that mod_vhostdb loads before mod_vhostdb_*
10 months ago
Glenn Strauss
0286bdef0c
[multiple] use thread-safe strerror where avail
...
use ck_strerror_s() to use strerror_s() or strerror_r() thread-safe and
constraint-checking interfaces, where available.
10 months ago
Glenn Strauss
86c39754f2
[core] ck.[ch] - C11 Annex K wrappers
...
(selected functions; not complete)
(import from one of my development branches from 2016)
define safe_memclear() -> ck_memzero() for transition
10 months ago
Glenn Strauss
4f8f83ea1d
[core] move data_{array,integer,string} to array.c
...
move native data_* types into array.c
(the types are already declared in array.h)
The array data structure remains extendable, as is done with data_config
(configfile) and data_auth (mod_auth), though array data structure
primary uses are at startup (config time) and header parsing. The
insertion logic into sorted list can be expensive for large lists,
so header parsing might choose a different data structure in the future.
1 year ago
Glenn Strauss
21539ec69e
[cmake] improve cmake detection of timegm
1 year ago
Glenn Strauss
82fbfcba15
[build] check for mempcpy()
1 year ago
Glenn Strauss
fe4310cc61
[mod_dirlisting, mod_trigger_b4_dl] use keyvalue
...
use keyvalue.[ch] for basic matching
consolidate PCRE logic and leverage PCRE study in keyvalue.[ch]
remove direct link to -lpcre from modules using keyvalue.[ch]
1 year ago
Glenn Strauss
8c7dbf1a21
[core] remove stream.[ch]
...
- remove stream.[ch] (was used only by configfile.c)
- read config files into memory; no big gain from mmap
(config files are typically small files)
1 year ago
Glenn Strauss
c95f832f99
[core] http_cgi.[ch] CGI interfaces (RFC 3875)
...
collect Common Gateway Interface (CGI) interfaces (RFC 3875)
1 year ago
Glenn Strauss
d68e639b71
[core] http_range.[ch] RFC 7233 Range handling
...
(import from one of my development branches from 2015)
1 year ago
Glenn Strauss
c5003c26c8
[core] algo_hmac.[ch] wrapper (portability)
...
hash-based message authentication code (HMAC) wrapper
1 year ago
Glenn Strauss
457d78c6e1
[build] use -pipe with gcc and clang
1 year ago
Glenn Strauss
db73879bf0
[mod_ajp13] AJPv13 Tomcat connector for lighttpd
...
(experimental)
AJPv13 protocol reference:
https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html
1 year ago
Glenn Strauss
43cc87dd67
[build] adjust crypto vars in src/CMakeLists.txt
1 year ago
Glenn Strauss
f680e1b234
[build] adjust crypto vars in src/CMakeLists.txt
...
use different vars for different crypto libs
1 year ago
Glenn Strauss
2c875a649d
[build] adjust mbedtls vars in src/CMakeLists.txt
1 year ago
Glenn Strauss
7ec08905b9
[build] fix typo in src/CMakeLists.txt
1 year ago
Glenn Strauss
9211fb3d86
[mod_deflate] support Accept-Encoding: zstd
1 year ago
Glenn Strauss
b700a8ca09
[multiple] etag.[ch] -> http_etag.[ch]; better imp
...
more efficient implementation of HTTP ETag generation and comparison
modify dekhash() to take hash value to allow for incremental hashing
2 years ago
Glenn Strauss
655453a195
[core] inet_ntop_cache -> sock_addr_cache
...
* rename inet_ntop_cache.[ch] to sock_addr_cache.[ch]
* reimplement as separate caches for IPv4 and IPv6
2 years ago
Glenn Strauss
f8cc9fb915
[core] http_date.[ch] encapsulate HTTP-date parse
...
http_date.[ch] encapsulate HTTP-date parse/compare
(import from one of my development branches from 2015)
2 years ago