项目

通用

资料

操作

发布信息

  • 版本: 1.4.70
  • 上一版本: 1.4.69
  • 分支: 1.4
  • 状态: 稳定版
  • 发布目的: 错误修复
  • 发布经理: gstrauss
  • 发布日期: 2023-05-10

1.4.69 的重要变更

  • 加速 CGI 生成
  • 原生 Windows 构建 (实验性) (未打包; 无安装程序)
  • 支持 HTTP/2 下游代理,在单个连接上服务多个客户端
    (mod_extforward, mod_maxminddb)
  • 重构代码以隔离 HTTP/2

下载

行为变更 (此前已宣布):

  • 不再为内置模块单独构建模块
    lighttpd 1.4.70 移除了为以下模块单独构建(未使用的)模块:
    mod_access mod_alias mod_evhost mod_expire mod_fastcgi mod_indexfile
    mod_redirect mod_rewrite mod_scgi mod_setenv mod_simple_vhost mod_staticfile

未来计划的行为变更:

  • HTTP/2 支持将被拆分为可选的独立模块 (mod_h2)
    (静态构建需要在 plugin-static.h 中列出 mod_h2 以包含 mod_h2)

1.4.69 的变更

  • [autotools] chmod u+w configparser.c for lemon
  • [build] 跳过为内置模块单独构建模块
  • [核心] 为高精度错误日志缓存格式秒数
  • [mod_maxminddb] 每次请求检查远程 IP (修复 #3191)
  • [多处] 在 request_st 中存储指向远程地址的指针 (#3192)
  • [mod_extforward] 管理每个请求的远程地址 (修复 #3192)
  • [核心] 如果可用,使用 C23 memset_explicit()
  • [mod_accesslog] %{mask}a 以掩码/匿名化 IP
  • [核心] 类型转换以修复之前提交中的编译器错误
  • [scons] 修复静态构建以包含 builtin_mods
  • [核心] h2_recv_headers() 调整以减少代码大小
  • [核心] h2_get_stream_req() 代码重用
  • [核心] h2: 移除过时的注释
  • [核心] h2 标记 :status 匹配 lsxpack 枚举值
  • [核心] h2 仅与 lsxpack 伪头键匹配
  • [核心] 限制 server.max-request-field-size <=65535
  • [核心] 允许 shell HERE 文档指定配置
  • [核心] 为 http_header_parse_ctx 添加成员
  • [mod_extforward] 注释中的拼写错误
  • [mod_openssl] SSL_CTX_set_options() 接受 uint64_t
  • [核心] 重新排序枚举 handler_t
  • [核心] connection_handle_request_start_state()
  • [核心] 在 mmap viewadj 中提早检查块文件打开 (修复 #3197)
  • [核心] h2 http_request_parse_header() 调整
  • [mod_extforward] 识别 Unix 域套接字 (修复 #3198)
  • [mod_magnet] 支持 ./configure --with-lua=luajit (#3199)
  • [核心] 移除开发调试代码实例
  • [核心] 消除 Coverity 警告
  • [核心] connection_check_upgrade() h2_upgrade_h2c()
  • [核心] CON_STATE_REQUEST_END 瞬时状态
  • [核心] 暴露 request_set_state() 供内部使用
  • [核心] h2_send_goaway_graceful()
  • [核心] h2_check_timeout()
  • [核心] h2_process_streams()
  • [核心] h2_recv_reqbody()
  • [核心] HTTP_VERSION_3 枚举值
  • [核心] r->x union w/ structs for r->x.{h1}
  • [核心] r->x union w/ structs for r->x.{h1,h2}
  • [核心] http_dispatch[] 表用于 HTTP 协议版本
  • [核心] hxcon "基类" 用于 h2con
  • [mod_h2] HTTP/2 模块: mod_h2
  • [多处] 仅当 HTTP/1.x 时才乐观地读取客户端
  • [核心] _WIN32 端口兼容性头文件
  • [核心] _WIN32 setenv(), unsetenv() 实现
  • [多处] _WIN32 使用 HAVE_SYSLOG_H 保护代码
  • [多处] _WIN32 使用 HAVE_FORK 保护代码
  • [核心] _WIN32 使用 HAVE_IPV6 保护代码
  • [多处] _WIN32 使用 HAVE_SYS_UN_H 保护代码
  • [多处] _WIN32 stat() 兼容 sys-stat.h
  • [核心] _WIN32 uid, gid 兼容
  • [核心] _WIN32 信号相关兼容
  • [多处] _WIN32 杂项兼容
  • [核心] _WIN32 configfile.c 的最小 glob() 实现
  • [核心] _WIN32 使用 gmtime_s(), localtime_s()
  • [mod_dirlisting] _WIN32 Find*File()
  • [多处] _WIN32 Find*File() sys-dirent.h
  • [核心] _WIN32 sys-unistd.h 封装 <unistd.h>
  • [核心] _WIN32 sys-wait.h 封装 <sys/wait.h>
  • [核心] _WIN32 socketpair() 实现
  • [核心] _WIN32 fdevent_createprocess()
  • [核心] _WIN32 socket 兼容, filesystem 兼容
  • [核心] _WIN32 使用 WSAGetLastError() 检查套接字
  • [mod_cgi] _WIN32 使用 socketpair 而非 pipe
  • [核心] _WIN32 时钟滴答和时间
  • [核心] _WIN32 Windows 的备用 fdarray
  • [核心] _WIN32 基础 (非常有限的) getopt() 实现
  • [测试] _WIN32 fcgi-responder.c, scgi-responder.c
  • [核心] _WIN32 将 __WIN32 重命名为 _WIN32
  • [核心] _WIN32 强制类型转换以消除某些 VS 警告
  • [测试] _WIN32 将 TMPDIR (或 TEMP) 用于测试文件
  • [构建] _WIN32 mingw 构建
  • [多处] MINGW32 缺少 strftime() "%F %T"
  • [测试] _WIN32 LightyTest.pm 中的调整
  • [核心] _WIN32 启动时重置标准流
  • [核心] _WIN32 log_perror() 与 GetLastError()
  • [核心] _WIN32 log_serror() 用于 WSAGetLastError()
  • [核心] _WIN32 使用 log_serror() 用于 WSAGetLastError
  • [核心] _WIN32 使用 rand_s() 初始化伪随机数生成器
  • [核心] _WIN32 fdevent_kill()
  • [多处] _WIN32 使用 fdevent_kill()
  • [核心] _WIN32 stat(), '/' 和 '\' 调整
  • [测试] _WIN32 cygwin 测试支持
  • [mod_deflate] _WIN32 禁用 deflate.cache-dir
  • [mod_dirlisting] _WIN32 在 unlink 前关闭文件
  • [测试] _WIN32 在 unlink 前关闭文件
  • [核心] _WIN32 在 unlink 前关闭 chunk 临时文件
  • [核心] _WIN32 优先使用 WSAPoll()
  • [核心] _WIN32 lighttpd winsvc
  • [核心] _WIN32 UTF-8 路径上的自定义文件系统函数
  • [核心] _WIN32 对 MS 狂喊 UTF-8 (不重要)
  • [cmake] _WIN32 使用 BUILD_STATIC 构建更多模块
  • [cmake] _WIN32 移除旧的构建配置
  • [核心] _WIN32 使用 WSASend 实现套接字上的 writev-equiv
  • [meson] cygwin 下的静态构建选项
  • [构建] _WIN32 __declspec(dllexport) *_plugin_init
  • [构建] _WIN32 共享 dll 构建 (autotools, cmake)
  • [测试] _WIN32 在 CI 期间跳过时间敏感测试
  • [核心] 如果可用,使用 posix_spawn()
  • [mod_cgi] 关于缓存目标目录名的注释
  • [meson] 更新带构建标志的注释
  • [meson] 检查 FORCE_{WOLFSSL,MBEDTLS}_CRYPTO
  • [mod_auth] 如果 auth.require 路径从不匹配则警告
  • [核心] h1.[ch] 收集一些 HTTP/1.x 特定代码
  • [核心] noinline 连接关闭,重置
  • [TLS] $SERVER["socket"] 继承全局 ssl.engine
  • [mod_proxy] "map-host-response" "-" 与 Host 匹配
  • [核心] noinline stat_cache_sptree_find()
  • [核心] 重命名 http_kv 函数,重新排序 http_versions
  • [mod_cgi] 将 fd 计数移动到 cgi_create_env()
  • [mod_cgi] 减少代码大小
  • [mod_cgi] 如果 CGI 关闭输入,则不发出跟踪
  • [mod_cgi] cgi_create_err() 冷错误处理函数
  • [核心] 套接字 close() 时始终递减 fd 计数
  • [mod_mbedtls] 检查 MBEDTLS_DEBUG_C 以进行调试函数
  • [核心] fdevent_waitpid() 返回 pid_t
  • [核心] _WIN32 编译修复
  • [meson] builtin_mods 的构建修复
  • [核心] 将一些共享函数移动到模块调用
  • [构建] 将一些文件移动到模块调用
  • [mod_cgi] CGI pids 的双向链表
  • [mod_cgi] 重用已打开到 /dev/null 的 fd
  • [mod_cgi] 在 CGI 关闭时重置 upload_temp_file_size
  • [测试] 复制配置文件以在备用目录中运行测试
  • [scons] 避免在静态构建中重复 mod_h2 模块
  • [autoconf] 为 dpkg 在 hdrs 中包含 fs_win32.h
  • [构建] 在包含 fs_win32.h 之前 ifdef _WIN32
  • [mod_openssl] SSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE
  • [mod_dirlisting] _WIN32 修复 close() 后的 fstat()
  • [核心] 消除 Coverity 警告
  • [mod_openssl] FreeBSD: 检查 "kern.ipc.tls.enable"
  • [核心] 修复 HTTP/2 对 http_response_loop() 的使用
  • [mod_openssl] 检查内核是否支持 KTLS
  • [核心] QNX 上的 posix_spawnattr_setcwd_np()
  • [核心] posix_spawn_file_actions_addclosefrom_np()
  • [核心] Mac OS POSIX_SPAWN_CLOEXEC_DEFAULT
  • [核心] 修改 posix_spawnattr_setsigdefault 的使用
  • [mod_dirlisting] _WIN32 编译修复
  • [核心] fdevent_load_file() 检查是否超出限制
  • [测试] tests/prepare.sh 附带替代构建根目录的注释
  • [核心] 将 mod_h2 视为内置模块 (目前)

外部引用

gstrauss 大约 2 年前 更新 · 1 次修订