项目

常规

个人资料

操作

发布信息

  • 版本: 1.4.42
  • 上一版本: 1.4.41
  • 分支: 1.4
  • 状态: 稳定
  • 发布目的: 错误修复
  • 发布经理: gstrauss
  • 发布日期: 2016-10-16

1.4.41 版的重要变更

  • 新模块、扩展功能、重写认证框架
  • 修复 1.4.40/1.4.41 版引入的错误

下载

亮点

  • 新模块,扩展功能
    • 性能:使用扩展的套接字/文件系统调用和标志
    • 重写认证框架
      • 更新了 mod_authn_ldap
      • 新增 mod_authn_gssapi
      • 新增 mod_authn_mysql
    • 新增 mod_deflate
    • 新增 mod_geoip
    • 新增 mod_uploadprogress
    • mod_dirlisting 可排序列
    • mod_fastcgi 支持授权器,响应器可与相同路径/扩展名关联
    • mod_cgi 允许执行不可读的 CGI 文件
    • mod_scgi 支持 uwsgi 协议用于 Python WSGI 后端
    • 将一些 SSL_* 变量添加到 CGI 环境
  • 错误修复
    • 移除对后端的抢占式 shutdown()
    • 修复后端套接字连接问题:在 EINPROGRESS 后强制等待 POLLWR
    • 修复废弃文件描述符上存在就绪事件时的崩溃问题
    • 修复损坏的摘要认证
  • 行为变更
    • mod_ssi 行为变更以符合 CGI, FastCGI, SCGI 的相同 CGI 环境
      • REQUEST_URI 是原始客户端请求,而不是 mod_rewrite 修改后的 URI。
      • 如果 mod_alias 或 mod_userdir 更改了 basedir,DOCUMENT_ROOT 会随之改变。

1.4.41 版的变更

  • [TLS] 仅在握手完成后进行 SSL_shutdown()
  • [mod_proxy,mod_scgi] 仅在本地时关闭远程 (#2743)
  • [核心] 如果 POLLHUP,检查客户端是否半关闭 TCP (#2743)
  • [核心] 在 EINPROGRESS 后强制等待 POLLWR (修复 #2744)
  • [核心] 读取请求体后不要两次进入处理程序
  • [核心] proxy,scgi 省略对后端的 shutdown() 调用 (修复 #2743)
  • [mod_dirlisting] dirlist 不处理 POST 请求
  • [mod_dirlisting] dirlist 表格的 JS 列排序 (修复 #613, 修复 #2315)
  • [mod_auth] 重写后摘要认证失败 (修复 #2745)
  • [mod_auth] 重构认证后端代码
  • [mod_auth] 认证后端的扩展接口
  • [核心] 更好的 DragonFlyBSD 支持 (修复 #2746)
  • [mod_auth] 为 USE_OPENSSL 定义包含 base.h
  • [mod_auth] 支持 CRYPT-MD5-NTLM 算法 (修复 #1743)
  • [mod_auth] 终止 CRYPT-MD5-NTLM 的 salt
  • [核心] 修复废弃文件描述符上存在就绪事件时的崩溃问题 (修复 #2748)
  • [mod_auth] http_auth_md5_hex2bin()
  • [mod_auth] 移除空的 mod_auth.h
  • [mod_auth] mod_authn_mysql.c MySQL 认证后端 (修复 #752, 修复 #1845)
  • [mod_cgi] 允许执行不可读的 CGI 文件 (修复 #2374)
  • [mod_uploadprogress] 添加到默认构建
  • [mod_geoip] 添加到默认构建 (修复 #2705, 修复 #2101, 修复 #2092, 修复 #2025, 修复 #1962, 修复 #1938)
  • [mod_fastcgi] 授权器支持响应器 (修复 #321, 修复 #322)
  • [测试] 针对问题的测试覆盖率 (#321, #322)
  • 动态处理程序将调试标志存储在 handler_ctx 中
  • [mod_fastcgi] 允许授权器和响应器使用相同路径/扩展名 (#321)
  • 将 mod_deflate 反向移植到 lighttpd 1.4 (修复 #1824, 修复 #2753)
  • [自动构建] test_configfile 可能需要 vector.c (修复 #2752)
  • [mod_deflate] 修复 longjmp clobber 编译器警告
  • 移除未使用的数组类型 TYPE_COUNT data_count
  • [mod_auth] 结构化数据,注册认证方案
  • [mod_auth] mod_authn_gssapi Kerberos 认证后端 (修复 #1899)
  • [自动构建] 如果没有 fcgi-auth,跳过两个新测试
  • [SCons] 为 SCons 构建定义 with_krb5
  • [SCons] 修复 SConstruct 中的语法错误
  • [SCons] 为 SCons 构建定义 with_geoip
  • [CMake] 修复 lemon.c 中 clang 的 -Wcast-align 警告
  • 移除多余的初始化器 (修复编译器警告)
  • 修复 Coverity Scan 检测到的错误
  • 性能:使用 Linux 扩展系统调用和标志
  • [mod_scgi] 添加 uwsgi 协议支持
  • [mod_auth] 将 LDAP 代码重构为更小的函数
  • [mod_auth] HTTP 基本认证后端也执行授权 (#1817)
  • [mod_auth] ldap 过滤器为多个 '$' 替换用户 (修复 #1508)
  • [mod_auth] 允许指定 LDAP DN;跳过搜索 (修复 #1248)
  • [自动构建] 更新模块/功能报告
  • [cmake] 如果 WITH_KRB5,则构建 mod_authn_gssapi
  • [mod_auth] 修复错误跟踪中 IP 的打印问题
  • [mod_mysql_vhost] 支持多个 '?' 替换 (修复 #2163)
  • [核心] 使 server.max-request-size 可作用域 (#1901)
  • [核心] server.max-request-field-size (修复 #2130)
  • [核心] 配置 'else' 子句中的可选条件 (修复 #1268)
  • [核心] 限制配置 'else' 子句的出现位置 (#1268)
  • 消除 clang ccc-analyzer 的警告
  • 用于创建 CGI 环境的一致且共享的代码
  • [TLS] 替换 https_add_ssl_entries 中的环境变量条目
  • [TLS] 使用客户端证书 SN 设置 SSL_CLIENT_M_SERIAL (修复 #2268)
  • [TLS] 使用客户端证书设置 SSL_CLIENT_VERIFY (#1288, #2693)
  • [TLS] 设置 SSL_PROTOCOL, SSL_CIPHER* (修复 #2511)
  • [核心] rand.[ch] 在可用时使用更好的 RNG
  • [mod_cgi] 修复没有 O_CLOEXEC 时 pipe_cloexec() 的问题
  • 忽略 fcntl() FD_CLOEXEC 的返回值
  • 在没有 zlib 或 bz2lib 时构建,且无编译器警告

外部引用

更新者 gstrauss 8 年多前 · 1 次修订