Glenn Strauss
3353ff2024
[build] adjust meson.build for use by OpenWRT
2020-10-28 22:58:47 -04:00
Glenn Strauss
31a7f0d43c
[build] detect nss3/nss.h or nss/nss.h for NSS
2020-10-27 16:40:08 -04:00
Glenn Strauss
e130124892
[build] add --with-brotli to meson.build
2020-10-27 12:32:10 -04:00
Glenn Strauss
a1f6d1322a
[build] mark dependencies on crypto lib for MD5()
...
(lighttpd base executable depends on crypto lib for rand functionality,
so the crypto library was already being loaded -- no missing symbols)
2020-10-26 13:53:07 -04:00
Glenn Strauss
c3a85c9bf5
[mod_wolfssl] standalone module
...
standalone module forked from mod_openssl
2020-10-11 12:19:26 -04:00
Glenn Strauss
5ec59999dd
[build] modify build, includes for xxHash v0.8.0
2020-10-11 12:19:26 -04:00
Glenn Strauss
156e1da2ae
[core] rename splaytree.[ch] to algo_splaytree.[ch]
2020-10-11 12:19:26 -04:00
Glenn Strauss
6c8160e5a4
[core] rename md5.[ch] to algo_md5.[ch]
2020-10-11 12:19:26 -04:00
Glenn Strauss
044c8e80e5
[core] use djbhash in gw_backend to choose host
...
djbhash() is faster and more cache-friendly than is crc32c()
2020-10-11 12:19:26 -04:00
Glenn Strauss
5a694281da
[core] ls-hpack optimizations
...
define LSHPACK_DEC_HTTP1X_OUTPUT 0
lighttpd does not require HTTP/1.1 output compat from HPACK decoder
("field-name: value\r\n")
define NDEBUG (in ls-hpack/lshpack.c)
lighttpd spends upwards of 20% total lighttpd CPU time in HPACK
encode/decode in h2load test on static file over cleartext (not TLS)
Defining NDEBUG eliminates some asserts() and results in a small
but measurable reduction in CPU usage
2020-10-11 12:19:26 -04:00
Glenn Strauss
cae205ad99
[build] fix meson build
2020-10-11 11:43:06 -04:00
Glenn Strauss
70b1af0640
[core] link in ls-hpack (EXPERIMENTAL)
...
LiteSpeed ls-hpack v2.2.1
XXX: might be better to include this as a git submodule
but minor code changes were made here for portability:
- C99 flexible array members defined as a[] instead of a[0])
- pedantic compiler warnings (excess ';' and missing declarations)
- deletion of large tables from ls-hpack/huff-tables.h (code size)
2020-10-11 11:43:06 -04:00
Glenn Strauss
6eca864c5e
[core] h2.[ch] with stub funcs (incomplete)
...
(subsequently incrementally updated using git rebase)
huge props and many thank yous to writers of testing tools used while
developing HTTP/2 support in lighttpd:
h2spec - conformance testing tool for HTTP/2 implementation
https://github.com/summerwind/h2spec
h2load - HTTP/2 benchmarking tool
https://nghttp2.org/documentation/h2load-howto.html
curl - command line tool and library for transferring data with URLs
https://curl.haxx.se/
2020-10-11 11:43:02 -04:00
Glenn Strauss
4e4026703d
[core] reqpool.[ch] for (request_st *)
...
move request_init() request_reset() request_free() from connections.c
2020-10-03 09:05:38 -04:00
Glenn Strauss
6971c6c811
[core] move http_request_headers_process()
...
move http_request_headers_process() to request.[ch]
2020-10-03 09:05:38 -04:00
Glenn Strauss
bc5d4b3492
[mod_compress] remove mod_compress
2020-08-02 06:46:22 -04:00
Glenn Strauss
fed2ecae19
[mod_authn_dbi] authn backend employing DBI
2020-07-16 00:29:43 -04:00
Rosen Penev
fd2a12d636
[meson] add missing libmaxminddb section
...
Fixes the following error when building with -Dwith_maxminddb=true:
meson.build:916:1: ERROR: Unknown variable "libmaxminddb".
A full log can be found at meson-logs/meson-log.txt
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-07-11 01:07:19 -04:00
Rosen Penev
04a7d98cb9
[meson] fix libmariadb dependency
...
libmariadb is what should be used as only the library portion is used.
Fixes compilation under OpenWrt.
Note that mariadb.pc is a superset that links to libmariadb.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-07-11 01:07:16 -04:00
Glenn Strauss
e00deb5578
[mod_nss] NSS option for TLS ( fixes #1218 )
...
(experimental)
WARNING: EXPERIMENTAL code sketch; mod_nss is INCOMPLETE and UNTESTED
mod_nss supports most ssl.* config options supported by mod_openssl
x-ref:
"alternate ssl backend"
https://redmine.lighttpd.net/issues/1218
2020-07-08 22:51:32 -04:00
Glenn Strauss
bf4054f8ec
[mod_gnutls] GnuTLS option for TLS ( fixes #109 )
...
(experimental)
mod_gnutls supports most ssl.* config options supported by mod_openssl
x-ref:
"GnuTLS support for the mod_ssl"
https://redmine.lighttpd.net/issues/109
2020-07-08 22:51:31 -04:00
Glenn Strauss
455dc03778
[core] prefer getxattr() instead of get_attr()
...
(when lighttpd is built ./configure --with-attr)
2020-07-08 22:51:31 -04:00
Glenn Strauss
cb753ec5b5
[mod_mbedtls] mbedTLS option for TLS
...
(experimental)
mod_mbedtls supports most ssl.* config options supported by mod_openssl
thx Ward Willats for the initial discussion and attempt in the comments
https://redmine.lighttpd.net/boards/3/topics/7029
2020-07-08 22:51:31 -04:00
Glenn Strauss
b28a3714c4
[multiple] ./configure --with-nettle to use Nettle
...
./configure --with-nettle to use Nettle crypto lib for algorithms,
instead of OpenSSL or wolfSSL. Note: Nettle does not provide TLS.
x-ref:
"How to use SHA-256 without OpenSSL?"
https://redmine.lighttpd.net/boards/2/topics/8903
2020-07-08 19:54:30 -04:00
Glenn Strauss
d013d0abd3
[core] http_request_parse_target()
...
http_request_parse_target() split from http_response_prepare()
2020-07-08 19:54:29 -04:00
Glenn Strauss
c8a1cba0c1
[tests] t/test_mod_userdir
...
create t/test_mod_userdir to replace sparse tests in tests/mod-userdir.t
remove tests/mod-userdir.t
2020-07-08 19:54:29 -04:00
Glenn Strauss
8b7e110973
[tests] stub out config funcs in test_mod_*
2020-07-08 19:54:29 -04:00
Glenn Strauss
0d62b8657b
[mod_webdav] use copy_file_range() if available
2020-07-08 19:54:29 -04:00
Glenn Strauss
0c64096555
[core] isolate data_config.c, vector.c
...
isolate data_config.c, vector.c to lighttpd executable, not modules
2020-02-24 11:15:32 -05:00
Glenn Strauss
62e97967ca
[core] prefer uint32_t to size_t in base.h
...
even 2 billion is way larger than even extreme operating values
expected for the members in base.h
include some structs directly in struct server, rather than by ptr
2020-02-24 11:15:32 -05:00
Niclas Rosenvik
8c9b5480f3
[core] Solaris has getloadavg in sys/loadavg.h
...
SunOS/Solaris/Illumos has getloadavg declared in sys/loadavg.h .
github: closes #101
2020-01-30 21:47:59 -05:00
Stefan Bühler
d7c0fc295f
Also use explicit_memset (NetBSD) with cmake, scons and meson
2019-08-22 13:13:24 +02:00
Glenn Strauss
4ac239c401
[mod_maxminddb] MaxMind GeoIP2 support
2019-05-26 10:21:57 -04:00
Glenn Strauss
52c489837f
[build] detect FreeBSD elftc_copyfile()
2019-05-05 23:05:02 -04:00
yangfl
6962fc2a5a
[mod_webdav] fix uuid detection macro
...
github: #97
x-ref:
https://github.com/lighttpd/lighttpd1.4/pull/97
2019-04-22 01:08:58 -04:00
Glenn Strauss
b9e2be50c9
[mod_auth] HTTP Auth Digest algorithm=SHA-256
...
(also support Digest algorithm=SHA-512-256 if library support present)
enable additional algorithms by configuring lighttpd.conf auth.require
with new optional keyword "algorithm" => "MD5|SHA-256"
default algorithm remains MD5 if "algorithm" not specified
Tested with: curl --digest -u "user:pass" ... (which supports SHA-256)
x-ref:
"HTTP Digest Access Authentication"
https://tools.ietf.org/html/rfc7616
2019-03-07 00:32:17 -05:00
Glenn Strauss
f03e5e239d
[tests] t/test_keyvalue
...
create t/test_keyvalue to replace sparse tests in
tests/mod-redirect.t and tests/mod-rewrite.t
remove tests/mod-redirect.t and tests/mod-rewrite.t
2018-12-10 22:36:23 -05:00
Glenn Strauss
5a32d0f72a
[mod_access] t/test_mod_access
...
create t/test_mod_access to test mod_access basic logic
remove tests/mod-access.t
2018-12-03 23:03:04 -05:00
Glenn Strauss
8aad091613
[mod_evhost] t/test_mod_evhost
...
create t/test_mod_evhost to test mod_evhost basic logic
remove tests/mod-evhost.t
2018-12-03 23:03:04 -05:00
Glenn Strauss
b2a6239851
[mod_simple_vhost] t/test_mod_simple_vhost
...
create t/test_mod_simple_vhost to test mod_simple_vhost basic logic
remove tests/mod-simplevhost.t, which was not testing mod_simple_vhost
2018-12-03 23:03:04 -05:00
Glenn Strauss
923b321094
[build] meson support for wolfSSL
...
meson.build needed to change some args to lists to support meson objects
2018-10-07 23:47:56 -04:00
Glenn Strauss
e3c39f5cbc
[meson] build fixes for libmariadb and libsasl2
...
(commented out test for libmysqlclient in favor of libmariadb)
2018-09-29 22:53:39 -04:00
Glenn Strauss
d6bd929e5d
[build] put request.c in common src
...
put request.c in common src for CMake, SCons, and meson builds
(request.c is already in common source list in Makefile.am)
2018-09-29 22:09:58 -04:00
Glenn Strauss
2dbcfc9266
[core] inline status_counter routines
2018-09-23 18:01:58 -04:00
Glenn Strauss
002a4c524d
[core] array_get_int_ptr()
2018-09-23 18:01:58 -04:00
Glenn Strauss
66ff05db8f
[tests] t/test_array.c
...
(more tests should be added, but starting with something has benefits)
2018-09-23 18:01:58 -04:00
Glenn Strauss
fc1ddbed33
[mod_sockproxy] add to build
...
(experimental)
2018-09-23 18:01:58 -04:00
Glenn Strauss
df4812ec2e
[mod_authn_pam] mod_auth PAM support ( fixes #688 )
...
x-ref:
"auth via pam"
https://redmine.lighttpd.net/issues/688
2018-09-23 18:01:58 -04:00
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)
2018-09-23 18:01:58 -04:00
Glenn Strauss
c791877f13
[build] add missing file for test_burl
...
add missing file for test_burl for cmake and meson builds
2018-08-12 15:28:34 -04:00