项目

通用

个人资料

操作

发布信息

  • 版本: 1.4.61
  • 上一版本: 1.4.60
  • 分支: 1.4
  • 状态: 稳定
  • 发布目的: 错误修复
  • 发布经理: gstrauss
  • 发布日期: 2021-10-28

1.4.60版的重要变更

错误修复

下载

未来计划的行为变更 (预计2022年初)

  • 平滑重启/关闭的默认超时将从
    0 (无限/无超时) 变为 5 秒 (或类似非零时间段)
    可以通过以下方式配置替代方案
    server.feature-flags += ("server.graceful-shutdown-timeout" => 5)
  • Lighttpd 对 libev 和 FAM 的 (可选) 依赖已弃用。
    Lighttpd 事件循环和文件监控使用原生操作系统接口
    除少数平台外。FAM 和 gamin 似乎已被放弃。
    Linux 和 *BSD 上的包维护者
    请从软件包构建中移除 --with-libev 和 --with-fam
    Lighttpd 在 Linux 上使用 epoll(),在 *BSD 上使用 kqueue() 进行事件通知。
    Lighttpd 在 Linux 上使用 inotify(),在 *BSD 上使用 kqueue() 进行文件监控。

https://wiki.lighttpd.net/Docs_ConfigurationOptions#Deprecated

  • mod_compress 已弃用;请使用 mod_deflate
    mod_compress 已被 mod_deflate 取代
    注意: mod_compress 配置选项可能在未来的版本中移除
  • mod_geoip 已弃用;请使用 mod_maxminddb
    注意: mod_geoip 将在 Lighttpd 未来版本中移除
  • mod_authn_mysql 已弃用;请使用 mod_authn_dbi
    注意: mod_authn_mysql 将在 Lighttpd 未来版本中移除
  • mod_mysql_vhost 已弃用;请使用 mod_vhostdb_dbi 或 mod_vhostdb_mysql
    注意: mod_mysql_vhost 将在 Lighttpd 未来版本中移除
  • mod_cml 已弃用;请使用 mod_magnet
    注意: mod_cml 将在 Lighttpd 未来版本中移除
  • mod_flv_streaming 已弃用;(Adobe Flash 视频 (.flv))
    (注意: 可以通过几行 Lua 代码和 mod_magnet 替代)
    (示例脚本 flv-streaming.lua 已发布在
    https://redmine.lighttpd.ac.cn/projects/lighttpd/wiki/ModMagnetExamples )
    Adobe Flash 已弃用,并且现代客户端已移除对其的支持

1.4.60 版的变更

  • [核心] 如有需要,定义 __BEGIN_DECLS, __END_DECLS
  • [核心] Y2038: 错误日志高精度时间戳
  • [多处] attribute_nonnull 现在接受参数
  • [核心] URL解码时进行边界检查
  • [mod_magnet] 在 Lua 5.4 中优先使用 lua_newuserdatauv()
  • [核心] 较早的 macOS 需要定义 errno_t (修复 #3107)
  • [测试] 强制 POSIX::WNOHANG 自动实例化 (修复 #3110)
  • [mod_dirlisting] 将 "../" 排序到顶部 (修复 #3109)
  • [测试] 强制 Fcntl::F_SETFD() 自动实例化 (#3110)
  • [核心] 避免重复定义 fdlog_st 类型
  • [文档] 更新 INSTALL
  • [mod_extforward] 在请求重置后保留远程 IP
  • [核心] 修复 HTTP/2 上传大于 64k 且使用 max-request-size 的问题 (修复 #3108)
  • [mod_auth] 修复 Basic 认证密码缓存 (修复 #3112)
  • [mod_ajp13,mod_fastcgi] 注释: 无响应体
  • [mod_webdav] 忽略文件的 PROPFIND 深度
  • [核心] 为 ck_memeq_const_time() 添加注释
  • [核心] 在主机条件中接受最多 5 位端口号
  • [核心] 暴露 chunkqueue_remove_empty_chunks()
  • [核心] 如果响应体与头部一起接收,则短路 (修复 #3111)
  • [核心] 重新调度带有待处理数据的 HTTP/2 流 (#3111)
  • [核心] 为 gw_authorizer_ok() 分离函数
  • [核心] 使 ck_memeq_const_time() 更通用 (#3112)
  • [mod_auth] 还原对认证密码缓存的调整 (#3112)
  • [核心] 在启用 Upgrade 时阻止 h2c 走私
  • [核心] 分离函数以检查有效字符
  • [核心] 阻止 h2 请求隧道
  • [核心] 写入后清除共享日志缓冲区
  • [mod_nss] 静默 PR_END_OF_FILE_ERROR 跟踪
  • [核心] 允许在条件中使用 debug.log-state-handling
  • [核心] 合并更多重复的头部处理代码
  • [mod_ajp13,mod_fastcgi] 检查带内容长度的响应
  • [mod_proxy] 如果代理强制使用 HTTP/1.0,则请求长度
  • [核心] 如果是本地连接错误,重启死进程
  • [mod_ajp13,mod_fastcgi] recv_parse 较小的函数
  • [多处] 警告计划移除的已弃用模块
  • [核心] 移除相同上下文中的冗余检查
  • [核心] 收紧 chunkqueue_steal* 代码;更好的汇编
  • [构建] 检查 preadv(), pwritev()
  • [核心] 使用 chunkqueue_steal_with_tempfiles 的 pwritev
  • [核心] 收紧 chunkqueue_mark_written;更好的汇编
  • [文档] 取消 conf.d/auth.conf 中 mod_auth 加载的注释
  • [核心] 收紧 chunkqueue_small_resp_optim()
  • [核心] 如果响应小于 16k,则进行 chunkqueue_small_resp_optim
  • [mod_auth] 如果长度 >= 13,清除 crypt() 输出
  • [多处] 在两处 malloc 后添加断言
  • [核心] 添加 HTTP/2 检查,响应是否以空 cq 结束 (修复 #3111)
  • [核心] chunkqueue_small_resp_optim() 注释

外部参考

gstrauss 3 年多前 更新 · 1 次修订