./www/lighttpd, Fast, light-footprint HTTP server

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.4.54, Package name: lighttpd-1.4.54, Maintainer: pkgsrc-users

Lighttpd is a secure, speedy, compliant, and very flexible web-server
which is designed and optimized for for high-performance environments.
With a small memory footprint compared to other web-servers, effective
management of the CPU-load, and advanced feature set (FastCGI, SCGI,
Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the
perfect solution for every server that is suffering load problems.


Required to run:
[devel/pcre]

Required to build:
[pkgtools/cwrappers]

Package options: inet6, ssl

Master sites:

SHA1: 31c6df437d90f4bceb41f6d758e0fbcd0f854a37
RMD160: 24ac7d816918e1c87aaaa1e6ae8f775a464527fc
Filesize: 745.359 KB

Version history: (Expand)


CVS history: (Expand)


   2019-05-29 13:02:22 by Nia Alarie | Files touched by this commit (1)
Log message:
lighttpd: Remove duplicate PLIST entry.
   2019-05-29 12:01:28 by Nia Alarie | Files touched by this commit (5) | Package updated
Log message:
lighttpd: Update to 1.4.54.

pkgsrc changes:

Replace use of legacy GeoIP library with libmaxminddb.
Uses a different module.

Changes:

Highlights
behavior change: strict URL parsing and normalization (configurable)
behavior change: mod_webdav now rejects partial PUT (configurable)
mod_auth: HTTP Auth Digest algorithm=SHA-256
mod_webdav: major rewrite: robustness, performance, RFC compliance
mod_maxminddb: new; obsoletes discontinued mod_geoip

Changes from 1.4.53
[mod_evhost] handle IPv6 literal addr; add tests
[core] separate server_main_loop() func, mark hot
[core] mark startup/shutdown funcs cold
[core] some server_main_loop() cleanup
[core] fdevent_process()
[core] srv→max_fds_lowat and srv→max_fds_hiwat
[core] remove server.h
[mod_staticfile] search ext array if not empty
[core] store joblist pointer on stack
[core] quickly clear request buffer for reuse
[core] helper funcs for connection_state_machine()
[core] perf: optimize connection_read_header()
[core] parse request in connection_read_header()
[core] log_request_header_on_error in one place
[core] copy request only if might need for logging
[core] make parse_request,request.request same buf
[core] prefer buffer_caseless_compare()
[core] pass req hdrs buffer to http_request_parse
[core] replace con→response.keep_alive
[core] mark log_error_write*() funcs cold
[core] http_request_parse() mark error paths cold
[core] lift code out of request line parse loop
[core] get_http_method_key() match by strlen first
[core] RFC7230 HTTP-version parse
[mod_accesslog] attempt to reconstruct req line
[multiple] minor: remove duplicated conditions
[mod_deflate] honor request for x-gzip, x-bzip2
[mod_auth] minor: adjust config validation
[core] discard oversized trailers
[core] no keep-alive if POLLRDHUP,empty read queue
[core] fix gw_backend spelling of directive in err
[multiple] reduce code dup in list resizing
[core] con→is_ssl_sock
[core] connection_handle_write() updates con state
[core] skip plugins_call_cleanup if not init’ed
[core] simpler loops to run plugin hooks
[core] fix mixed use of srv→split_vals array (fixes #2932)
[core] dispatch events from within event framework
[core] don’t call fd event handlers more than once, they might already be gone \ 
(fixes segfault)
[core] poll: fdarray uses fd as index, not fde_ndx
[core] map FDEVENT_* to OS system event frameworks
[core] prefer memchr() over strchr()
[core] use openssl to read,discard request body
[mod_openssl] inherit cipherlist from global scope
[mod_openssl] default: ssl.cipher-list = “HIGH”
[mod_proxy] pass Content-Length to backend if > 0
[core] config option to allow GET w/ request body
[core] some fdevent code streamlining
[core] remove fde_ndx member outside fdevents
[core] remove redundant check for allow_http11
[mod_openssl] use 16k static buffer instead of 64k
[core] pull server load checks out of main loop
[core] isolate fdevent processing
[core] release empty chunk buf when nothing read
[core] perf: pass (fdnode *) to epoll and kqueue
[core] modify config parser to handle multiple }
[core] pass (fdnode *) for registered fdevent fd
[mod_auth] http_auth_digest_hex2bin()
[mod_auth] http_auth_info_t digest abstraction
[mod_auth] pass http_auth_require_t for 401 Unauth
[core] no SOCK_NONBLOCK on QNX 7.0
[mod_auth] HTTP Auth Digest algorithm=SHA-256
[core] silence coverity warning
[mod_magnet] fix invalid script return-type crash (fixes #2938)
[build] remove -Wdeclaration-after-statement
[core] pass conf.follow_symlink in more places
[core] fix assertion with server.error-handler (fixes #2941)
[core] extend dir redirection to take HTTP status
[doc] minor adjust create-mime.conf.pl regex match (#2942)
[core] attribute((fallthrough)) for GCC 7.0
[core] fdevent_mkstemp_append() (shared)
[core] off_t upload_temp_file_size
[core] clear FDEVENT_RDHUP if no POLLRDHUP
[mod_wstunnel] fix ping-interval for big-endian (fixes #2944)
[core] fix abort in http-parseopts (fixes #2945)
[core] remove repeated slashes in http-parseopts
[core] fix 1.4.52 regression in mem use with POST (fixes #2948)
[multiple] cleaner calloc use in SETDEFAULTS_FUNC
[core] add const to some etag prototypes
[core] attribute((format …))
[core] struct log_error_st for error logging
[core] log_error, log_perror using printf-like fmt
[core] new worker_init hook to follow parent fork
[core] replace open() with fdevent_open_cloexec()
[mod_webdav] major rewrite (fixes #1818)
[core] 200 for OPTIONS /non-existent/path HTTP/1.1 (fixes #2939)
[mod_webdav] surround Lock-Token with “<…>”
[mod_webdav] fix uuid detection macro
[mod_webdav] fix misbehavior on blank nodes in PROPPATCH
[mod_webdav] clean up resources after do{}while(0)
[mod_webdav] check If-Match, If-Unmodified-Since (#1818)
[mod_webdav] deprecated unsafe partial PUT compat
[mod_webdav] provide ETag in more responses
[mod_webdav] platform portability fixes
[mod_webdav] disable elftc_copyfile() on FreeBSD
[mod_webdav] special-case If: ()
[mod_webdav] check If-None-Match (#1818)
[stat_cache] separate func for symlink policy chk
[stat_cache] separate symlink pol from data struct
[stat_cache] store entries without trailing slash
[stat_cache] pass age param for stat cache cleanup
[stat_cache] remove splaytree ins/del debug code
[stat_cache] FAM: reduce string copying
[stat_cache] FAM: check FAMNextEvent() return code
[stat_cache] FAM: use entry hash index as userdata
[stat_cache] FAM: improve handling modified file
[stat_cache] FAM: ignore follow-symlink config
[stat_cache] FAM: check hash collision before add
[stat_cache] FAM: ignore event with no valid match
[stat_cache] FAM: funcs to invalidate entries
[stat_cache] interfaces to invalidate entries
[mod_webdav] update stat_cache after file mod
[core] use high precision stat timestamp in etag
[scons] adjustment for static build under CentOS
[core] emit trace using path before clearing path
[core] http_chunk_append_file_fd()
[multiple] open target file earlier in some cases
[stat_cache] no longer stat() and open() for stat
[stat_cache] FAM: improve monitoring, cache 16 sec
[stat_cache] FAM: separate routine for FDEVENT_IN
[stat_cache] FAM: whitespace-only change
[mod_webdav] quiet coverity warnings
[doc] highlight relevance of module load order (fixes #2946)
[core] behavior change: stricter URL normalization
[stat_cache] fix compilation error for cmake
[cmake] help cmake on FreeBSD find sys/event.h
[scons] help scons on FreeBSD find sys/event.h
[build] detect FreeBSD elftc_copyfile()
[mod_openssl] use SSL_CTX_set_client_hello_cb()
[core] support weak etags with If-None-Match
[core] store log_state_handling flag on stack
[core] check if splay_tree NULL before invalidate
[mod_webdav] workaround Microsoft-WebDAV-MiniRedir
[mod_webdav] doc Microsoft-WebDAV-MiniRedir bugs
[mod_webdav] invalidate parent dir in stat_cache
[doc] systemd socket activation config example
[core] chunkqueue perf: code reuse
[core] chunkqueue perf: specialized buffer.h funcs
[core] chunkqueue perf: skip opening 0-length file
[core] chunkqueue perf: read small files into mem
[core] buffer_reset() should not be passed NULL
[tests] has_feature() helper func
[tests] skip mod-secdownload HMAC-SHA1,HMAC-SHA256
[core] use high precision stat timestamp on OS X
[mod_magnet] expose server addr (local IP) to lua
[core] adjust http_chunk read() retry loop
[mod_maxminddb] MaxMind GeoIP2 support
[mod_authn_ldap] ldap_set_option LDAP_OPT_RESTART (fixes #2940)
   2019-04-03 02:33:20 by Ryo ONODERA | Files touched by this commit (748)
Log message:
Recursive revbump from textproc/icu
   2019-01-29 13:31:46 by Thomas Klausner | Files touched by this commit (2)
Log message:
lighttpd: Fix a pkglint warnings.
   2019-01-28 23:39:52 by Amitai Schleier | Files touched by this commit (2) | Package updated
Log message:
Update to 1.4.53. From the changelog:

* [mod_cml,mod_flv_streaming] fix NULL ptr deref
* [mod_simple_vhost] t/test_mod_simple_vhost
* [mod_evhost] split uri handler func for testing
* [mod_evhost] restructure for unit tests
* [mod_evhost] t/test_mod_evhost
* [mod_access] restructure for unit tests
* [mod_access] t/test_mod_access
* [tests] include first.h and NDEBUG early
* [core] use kill_signal for gw_proc_kill()
* [tests] t/test_keyvalue
* [tests] some test config cleanup
* [tests] update skip count in mod-fastcgi.t
* [multiple] reduce initial buffer sz if large POST (fixes #2922)
* [mod_fastcgi] fix NULL ptr deref from bugfix #2922 (fixes #2923)
* [tests] more test config cleanup
* [core] perf: incremental hash of pathname w/o copy
* [core] perf: reuse buffer to redirect to directory
* [core] do not free() reused buffer
* [core] use connected sock port in dir redirect
* [core] http_response_buffer_append_authority()
* [core] use con->server_name for dir redir
* [core] memeq compare rounded to 64, not next 1M
* [core] define MD5_DIGEST_LENGTH 16
* [mod_auth] permit additional auth backends to load
* [core] send Connection: close if reqbody not read (fixes #2924)
* [core] cache rev DNS for localhost for dir redir
* [doc/conf] resolve some mime type conflicts from debian buster,
  regenerate mime.conf
* [core] move winsock init to network_init()
* [core] move /dev/stdin graceful restart handling
* [core] network_srv_sockets_append() shared code
* [core] systemd socket activation support
* [build] autotools: try mysqlclient.pc and mariadb.pc (fixes #2925)
* [mod_expire] look up expire fallback "" explicitly
* [multiple] calloc match ptr type (clang --analyze)
* [multiple] quiet clang --analyze where trivial
* [mod_webdav] compare COPY, MOVE Destination scheme
* [core] con->uri.scheme is maintained lowercase
* [mod_openssl] ALPN and acme-tls/1 (fixes #2931)
* [core] Fix recursive include_shell invocations
* [mod_openssl] ssl.privkey directive (optional)
   2018-12-09 19:52:52 by Adam Ciarcinski | Files touched by this commit (724)
Log message:
revbump after updating textproc/icu
   2018-11-29 07:34:02 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
lighttpd: update to 1.4.52.

- 1.4.52 - 2018-11-28
  * [mysql] MySQL 8 deprecates my_bool
  * [core] typo in trace
  * [build] Fix unportable test(1) operator
  * [core] perf: call connection_reset() fewer times
  * [core] perf: array_reset_data_strings()
  * [core] perf: buffer_free_ptr() __attribute__ cold
  * [core] perf: one-element cache for host normalize
  * [core] perf: buffer_copy_string_len()
  * [core] perf: skip redundant prepare copy calls
  * [core] perf: buffer_align_size() identity if align
  * [core] perf: size write buffers for reuse
  * [core] perf: prepend headers directly into write q
  * [core] perf: copy small strings; better buf reuse
  * [core] perf: copy small strings; extend last chunk
  * [core] perf: specialized func for array sorting
  * [core] perf: append response directly into write q
  * [core] perf: better buf reuse reading from backend
  * [core] chunk.c code reuse
  * [multiple] perf: write headers to backend write cq
  * [multiple] perf: power-2 alloc large headers
  * [multiple] perf: use larger initial backend buffer
  * [core] permit env vars to be set with blank value
  * [mod_fastcgi] perf: reduce data copies
  * [mod_fastcgi] perf: reduce data copies
  * [core] perf: chunk.c chunk pool
  * [multiple] perf: reuse large buffers w/ backend
  * [multiple] better packing of struct chunk
  * [core] perf: inline buffer_append_string_buffer()
  * [core] slightly simpler flag append to string
  * [mod_cgi] perf: reuse buffers for creating CGI env
  * [mod_fastcgi,mod_scgi] perf: env accumulation
  * [core] Don't call RAND_cleanup with OpenSSL 1.1.x
  * [mod_openssl] move SSL_shutdown() to separate func
  * [mod_openssl] SSL_read before second SSL_shutdown
  * [mod_cgi] perf: use stat_cache for cgi handler
  * [mod_openssl] prefer using TLS_server_method()
  * [mod_webdav] return 403 if file should exist
  * [core] perf: chunkqueue buffers already sized up
  * [core] perf: simpler buffer_string_space()
  * [multiple] dynamic handlers hint backend header sz
  * [core] use chunk_buf_sz instead of hard-coded num
  * [multiple] perf: simplify chunkqueue_get_memory()
  * [mod_wstunnel] perf: reuse large buffers
  * [mod_cgi] perf: cache getenv() results at start up
  * [core] fix 301 -> 302 overwrite with Location (fixes #2918)
  * [core] fix setting of headers previously reset (fixes #2919)
  * [mod_webdav] quiet coverity false positive
  * [core] server.compat-module-load = "disable"
  * [core] server.chunkqueue-chunk-sz = 4096
  * [core] perf: simpler buffer_string_space() (fixed)
  * [core] perf: faster HTTP pipelined requests
  * [core] perf: simpler buffer_string_space() (tests)
  * [mod_cgi] reset reused buffer on internal redir
  * [core] clear chunk buffer upon release
  * [mod_fastcgi] minor: copy packet without padding
  * [mod_redirect,mod_rewrite] use server_name
  * [mod_fastcgi] transfer chunks minus packet padding
  * [core] separate func to reset FILE_CHUNK
  * [core] perf: simple, quick buffer_clear()
  * [core] perf: small improvement to encoding CGI var
  * [core] perf: small improvement buffer_string_space
  * [core] simpler physical path concatenation
  * [mod_webdav] fix LOCK on incorrect URI path
  * [mod_webdav] one fewer buffer copy for COPY,MOVE
  * [core] perf: simplify buffer_move()
  * [mod_cml] parse query string without modifying it
  * [core] perf: buffer optimizations
  * [mod_wstunnel] use buffer_string_length()
  * [core] perf: inline buffer_copy_buffer()
  * [core] cygwin helper func for getcwd
  * [core] cygwin sample to run lighttpd under NSSM
  * [core] limit con->uri.authority < 1024 octets
  * [mod_webdav] separate func for each request method
  * [core] reject decoded url-path without leading '/'
  * [multiple] validate UTF-8 in url-decoded paths
  * [mod_proxy] silence coverity false positive
  * [core] fix typo
  * [core] buffer_append_path_len()
  * [core] quiet indexfile warning if mod not loaded
   2018-10-16 08:11:54 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
lighttpd: update to 1.4.51.

- 1.4.51 - 2018-10-14
  * [core] split parsing header line into separate function
  * [core] explicitly return 0 instead of constant result
  * [core] header parsing: use goto for error handling
  * [core,security] process headers after combining folded headers
  * [core] replace folding whitespace with a single space
  * [buffer] fix duplicate assert and comment
  * [core] redo HTTP header line folding
  * [core] parse header line strings before copying
  * [core] abstraction to insert/modify response hdrs
  * [core] code reuse with array_insert_key_value()
  * [core] simplify parsing hdr key whitespace then :
  * [core] http_request_parse_reqline() separate func
  * [core] abstraction layer for HTTP header manip
  * [core] code reuse with http_response_body_clear()
  * [mod_proxy] fix proxy.forwarded and proxy.replace-http-host (fixes #2902)
  * [mod_rewrite] fix url.rewrite-repeat and url.rewrite-if-not-file (fixes #2908)
  * [core] fastcgi.h link to Open Market License (OML) (fixes #2901)
  * [mod_proxy,mod_wstunnel] copy full plugin_config (fixes #2903)
  * [mod_fastcgi,mod_scgi] error on oversized request (fixes #2905)
  * [mod_auth] send 401 for mismatch HTTP auth scheme (fixes #2906)
  * [core] code reuse array_match_*() routines
  * [mod_skeleton] review and simplify
  * [multiple] code reuse: employ array_match_*()
  * [doc] lighttpd.service uses network-online.target
  * [mod_flv_streaming] code simplifications
  * [mod_authn_pam] mod_auth PAM support (fixes #688)
  * [mod_sockproxy] add to build
  * [core] fix include_shell on inline shell commands (fixes #2910)
  * [multiple] code reuse: using array_*() funcs
  * [tests] t/test_array.c
  * [core] array_get_int_ptr()
  * [core] more memory-efficient fn table for data_*
  * [tests] #undef NDEBUG before assert.h in t/test_*
  * [core] inline status_counter routines
  * [core] log_failed_assert() __attribute__((cold))
  * [core] http_status_append()
  * [core] http_method_append()
  * [core] prefer buffer_append_string_len()
  * [build] fix SCons build for mod_authn_pam
  * [mod_userdir] security: skip username "." and ".."
  * [mod_deflate] null-check to quiet coverity warning
  * [core] quiet coverity false positive
  * [multiple] quiet compiler warnings --without-pcre
  * [mod_secdownload] support if HMAC() is a macro
  * [TLS] sys-crypto.h abstraction
  * [TLS] sys-crypto.h abstraction
  * [build] put request.c in common src
  * [meson] build fixes for libmariadb and libsasl2
  * [core] PATH_INFO calculation when basedir is "/" (fixes #2911)
  * [core] better consistency in buffer_is_equal*()
  * [core] fix missing param from prev commit
  * [mod_openssl] no renegotiation in TLS 1.3 (fixes #2912)
  * [core] reject Transfer-Encoding from proxy (#2913)
  * [mod_auth] use SHA1_Init,Update,Final
  * [mod_openssl] add support for wolfSSL
  * [build] automake support for wolfSSL
  * [build] SCons support for wolfSSL
  * [build] meson support for wolfSSL
  * [build] CMake support for wolfSSL
  * [core] perf: buffer.c internal inlines
  * [mod_openssl] wolfSSL does not support SSLv2
  * [core] perf: buffer_string_append_len()
  * [core] permit server.error_handler to static file