操作
发布信息¶
- 版本: 1.4.64
- 上一版本: 1.4.63
- 分支: 1.4
- 状态: 稳定
- 发布目的: 错误修复
- 发布负责人: gstrauss
- 发布日期: 2022-01-19
1.4.63 的重要变更¶
- 移除已弃用模块,错误修复,CVE-2022-22707 (罕见配置)
下载¶
- https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.tar.gz
- GPG 签名: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.tar.gz.asc
- SHA256:
71e46403fb28371a06b23ef1cceffd75285140c6f62a879c777ee5af0d248801
- https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.tar.xz
- GPG 签名: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.tar.xz.asc
- SHA256:
e1489d9fa7496fbf2e071c338b593b2300d38c23f1e5967e52c9ef482e1b0e26
- SHA256 校验和: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.sha256sum
- SHA512 校验和: https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.64.sha512sum
行为变更¶
(已提前公布和计划)
- 平滑重启/关机超时从 0 (禁用) 变为 8 秒
通过以下方式配置替代项
server.feature-flags += ("server.graceful-shutdown-timeout" => 8) - 构建: lighttpd 默认使用 --with-pcre2 而不是 --with-pcre
pcre2 是当前版本。pcre 不再维护。
在构建时明确指定 --with-pcre 可使用 pcre 而不是 pcre2。 - 已移除已弃用模块 (已提前公布)
- mod_authn_mysql
- mod_mysql_vhost
- mod_cml
- mod_flv_streaming
- mod_geoip
- mod_trigger_b4_dl
https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated
如需,提供替换的迁移步骤
1.4.63 的变更¶
- [核心] 修复加载 mod_auth 时发出的跟踪问题 (修复了 #3121)
- [meson] glibc < 2.17 时需要 -lrt (修复了 #3120)
- [核心] 调整时间跳跃检测 (修复了 #3123)
- [核心] 使 setrlimit() 发出警告而非致命错误
- [核心] 为某些错误消息添加远程 IP (修复了 #3122)
- [mod_webdav] 对不存在的实体执行 If-None-Match
- [构建] 在 attr_get 和 -lattr 之前检查 getxattr
- [文档] SELinux: setsebool -P httpd_setrlimit on
- [构建] 随发布创建 sha512sum 文件
- [构建] CI 构建现在使用 make -j 2
- [核心] http_response_send_file() 接受 const 路径
- [核心] 使用 ETag 响应头检查是否可缓存
- [核心] 为 stat_cache_update_entry() 添加更多 const
- [多处] 移除 r->physical.etag
- [mod_magnet] 到 http_response_send_file 的接口
- [构建] 在 MacOS 上为 sendfile() 检测添加头文件
- [核心] http_response_write_prepare 优化
- [核心] 为 uClibc 定义 static_assert (修复了 #3127)
- [构建] 为 ls-hpack 添加 -Wno-implicit-fallthrough
- [核心] 忽略 pcre2 “错误的 JIT 选项” 警告
- [构建] pcre2: 在 pcre2-config 之前使用 pkg-config
- [核心] http_response_has_error_handler()
- [核心] 整合请求重启循环检查
- [核心] 推迟检索 Last-Modified 直到需要时
- [mod_dirlisting] 修复缓存中的逻辑反转
- [核心] 在 http_response_send_file 中标记预期条件
- [核心] connection_handle_read_state() 调整
- [核心] connection_state_machine_loop() 调整
- [核心] connection_state_machine_h2() 调整
- [核心] 消除 Coverity 噪音
- [核心] 如果没有 setrlimit,则对 max-fds 使用较低限制
- [构建] 不检查 prctl;HAVE_PRCTL 未使用
- [核心] 在 FreeBSD 上支持 server.core-files (修复了 #3128)
- [mod_extforward] 支持更长的 PROXY v2 TLV 向量
- [mod_webdav] 检测被截断的 copy_file_range()
- [mod_webdav] copy_file_range() 在 FreeBSD 13 中新增
- [mod_webdav] copy_file_range() 在 FreeBSD 13 中新增
- [构建] 构建类型之间的功能一致性
- [构建] cmake 构建现在默认为 C11
- [核心] 在 macOS 上为 rand 使用 CCRandomGenerateBytes() (修复了 #3129)
- [多处] 移除长期弃用的模块
- [构建] 除非指定 --with-pcre,否则默认使用 --with-pcre2
- [核心] "server.graceful-shutdown-timeout" => 8
- [构建] 调整正则表达式条件语句的跟踪
- [构建] 更新 tests/SConscript
- [核心] 在 Illumos 上检测 errno_t
- [构建] cmake 构建现在默认为 C11
- [构建] meson: 无需 pkg-config 查找 pcre2
- [核心] 在 Illumos 上定义 _EXTENSIONS_
- [构建] 为 win32, Illumos 提供 cmake, meson socket 库 (修复了 #3130)
- [核心] 在 OpenBSD 上隐藏 bsd_accept_filter 代码 (修复了 #3131)
- [核心] 在 Illumos 上检测 errno_t 和 rsize_t
- [mod_webdav] 复制加速
- [mod_webdav] 更早地定义 HAVE_RENAMEAT2
- [构建] meson 在某些平台上错误检测 mempcpy
- [构建] cmake: 在 Illumos 上跳过 “-Wl,-export-dynamic”
- [构建] 为 macOS 调整 .gitignore
- [构建] meson 在 *BSD 上检测 crypt 和 dl (修复了 #3133)
- [核心] /dev/null 在 Illumos 上是一个符号链接 (修复了 #3132)
- [核心] 为 solaris 支持 server.core-files (修复了 #3135)
- [构建] 构建类型之间的功能一致性
- [构建] Haiku 构建修复 (修复了 #3136)
- [lemon] 消除 Coverity 警告
- [cmake] 将最低版本提升至 3.7
- [cmake] 添加地址/未定义清理编译选项
- [asan 测试] 修复内存泄漏
- [数组] 为数组 “fn” 虚函数表使用更具描述性的名称以获得更好的调试体验
- [CI] 添加 cmake-asan 构建类型
- [核心] 如果 s 为 NULL,则 buffer_copy_string() 使用 “”
- [mod_authn_gssapi] 代码复用: fdevent_mkostemp()
- [mod_authn_gssapi] 减少 KRB5CCNAME 内存分配
- [构建] 调整 pcre2 默认值的帮助字符串
- [核心] 为 srvconf.modules_dir 使用 (const char *)
- [多处] 移除 buffer_init_string()
- [多处] 移除 buffer_init_buffer()
- [mod_extforward] 修复越界 (OOB) 写入 (修复了 #3134)
- [构建] 使用 -fstack-protector-strong 和额外警告
- [构建] 收集 Sun 特定的头文件和函数
- [构建] 收集 Sun 特定的头文件和函数
- [构建] 移除 Haiku 上对 -lnetwork 的冗余检查
- [构建] 在某些函数之前检查头文件
- [核心] 如果 TRACEME,允许 LISTEN_PID 作为 ppid (修复了 #3137)
- [核心] 允许 tests/tmp/bind.conf 覆盖 (#3137)
- [mod_webdav] _WIN32 上没有 sys/ioctl.h
- [测试] LightyTest.pm 中 _WIN32 的调整
- [测试] 恢复 LightyTest.pm 中 _WIN32 的调整
- [mod_gnutls] 将大小检查移出 DN 循环
- [mod_mbedtls] 将大小检查移出 DN 循环
- [mbedtls] 在 hctx 中保存 (mbedtls_ssl_config *)
- [多处] 允许 SSL_CLIENT_S_DN_* 中使用 UTF-8
- [mod_openssl] 不转义证书主题中的 UTF-8
- [mod_mbedtls] 重建 SSL_CLIENT_S_DN
- [mod_mbedtls] 配合 mbedtls 3.0.0 构建的变更
- [mod_mbedtls] 移除 mbedtls 3 中对 out_left 的使用
- [mod_mbedtls] 3.1.0 的 mbedtls_ssl_conf_groups