操作
发布信息¶
- 版本:1.4.41
- 上一版本:1.4.40
- 分支:1.4
- 状态:稳定
- 发布目的:错误修复
- 发布经理:gstrauss
- 发布日期:2016-07-31
1.4.40 版的重要更改¶
- 安全修复
- 修复 1.4.40 中引入的错误
下载¶
- http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.gz
- GPG 签名:http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.gz.asc
- SHA256:
8a5749e218237fafc3119dd8a4fcf510ea728728b3fcf1193fcad7209be4b6d7
- http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.xz
- GPG 签名:http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.xz.asc
- SHA256:
4bcc383ef6d6dc7b284f68882d71a178e2986c83c4e85eeb3c8f3b882e346b6c
- SHA256 校验和:http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.sha256sum
亮点¶
- 安全修复
- 安全:在 HTML 和 XML 中编码引用字符
- 安全:如果设置了 server.username 但未设置 server.groupname,则确保 gid != 0
- 安全:如果 server.follow-symlink = "disable",则禁用 stat_cache
- 安全:httpoxy 防御:不要向 CGI 环境发出 HTTP_PROXY
- 修复 1.4.40 中引入的错误(抱歉)
- 错误:lighttpd 1.4.40 可能会将客户端套接字留在 TIME WAIT (FIN2_WAIT) 状态
- 错误:lighttpd 1.4.40 在处理带有 POST 数据的 TLS 请求时会超时
- 错误:lighttpd 1.4.40 反转了 REQUEST_URI/REDIRECT_URI(现已恢复)
- 错误:lighttpd 1.4.40 拒绝 $HTTP["remoteip"] 中的 IPv6 地址
- 错误:lighttpd 1.4.40 拒绝 $SERVER["socket"] 范围标识符中的 IPv6 地址
- 错误:如果自定义格式中包含 %T,lighttpd 1.4.40 会在 mod_accesslog 中发生段错误
- 错误:lighttpd 1.4.40 在转换为十六进制字符串时可能会触发断言
- 行为变更
- 新增:如果未定义 server.upload-dirs,则使用 TMPDIR;如果两者均未定义,则使用 "/var/tmp"
- 新增:从全局范围继承 server.use-ipv6 和 server.set-v6only
- 恢复 REQUEST_URI/REDIRECT_URI 以匹配 lighttpd <= 1.4.39 中的行为
lighttpd 1.4.42 中未来计划的行为变更
- mod_ssi 将 REQUEST_URI 设置为原始的客户端请求 URI
以匹配 mod_cgi、mod_fastcgi、mod_scgi、mod_cml 的行为
以匹配 mod_cgi、mod_fastcgi、mod_scgi、mod_cml 的行为
来自 1.4.40 的更改¶
- 移除长期弃用且不工作的配置选项
- [配置] 继承 server.use-ipv6 和 server.set-v6only(修复 #678)
- [mod_auth] 修复 Digest 认证以优于 Basic 认证(修复 #1844)
- [mod_ssi] 修复 #config sizefmt="bytes"
- [自动构建] 将 inet_pton 检测移至后面
- [核心] #include <sys/filio.h> 用于 FIONREAD(修复 #2726)
- [自动构建] glibc < 2.17 时 clock_gettime() -lrt
- [安全] 不要向 CGI 环境发出 HTTP_PROXY
- [build_cmake] glibc < 2.17 时 clock_gettime() -lrt(修复 #2737)
- [核心] 避免虚假跟踪和错误中止
- [核心] 在请求处理完毕前保持 CON_STATE_CLOSE 状态
- [核心] $HTTP["remoteip"] 必须处理不带 [] 的 IPv6
- [mod_status] 在文本输出中显示 keep-alive 状态(修复 #2740)
- 不在 mod_magnet、mod_rewrite 中设置 REDIRECT_URI(#2738)
- 恢复 1.4.40 中 REQUEST_URI、REDIRECT_URI 的交换(修复 #2738)
- [核心] 允许 IPv6 地址范围标识符
- [TLS] 更好地处理 SSL_ERROR_WANT_READ/WRITE
- [TLS] 从 SSL_read() 读取所有可用记录
- [核心] 如果使用 IPv6,则在 AF_INET6 之后尝试 AF_INET
- [核心] 在启动时设置 chunkqueue 临时目录
- [安全] 如果设置了 server.username,确保 gid != 0(修复 #2725)
- [安全] 如果 !follow-symlink,则禁用 stat_cache(修复 #2724)
- [核心] 修复 buffer_copy_string_hex() 断言(修复 #2742)
- [安全] 在 HTML 和 XML 中编码引用字符
- [cmake] 始终定义 _GNU_SOURCE
- [cmake] 为 GCC 和 Clang 启用警告
- [cmake] 将 cmake_minimum_required 设置为 2.8.2