立即处理可能影响正在运行的系统已审查 build 2.4.17082 至 2.4.17135 的全部 54 个 non-merge commit:新增 1,474 行、删除 904 行。忽略版本 bookkeeping。没有 superseded_by;避开区间来自直接检查的同 routine 修复。
TLS 后端在全栈修复后趋于稳定
OpenSSL 与 Windows SChannel 的 callback、证书 policy、异步 I/O、shutdown 及错误报告得到全面修复。外部 ORM 插入在 SELECT max(ID) 失败时安全停止,不再从一重新尝试 ID;SQLite 后备 allocator 也恢复 Android ARM64 所需对齐。这批变更直接影响生产:应采用最终 head,不要停在中间 TLS build。
要点
- 采用 upstream head 34c5672df4ab31378524d2868b8482b408eafbdd,即 build 2.4.17135。
- 外部 ORM max-ID 失败时返回 0 并取消插入,不再从一开始尝试重复 ID。
- OpenSSL 的 callback、mTLS 信任、异步重试、密码 callback、SNI 与 shutdown 获得关联修复。
- SChannel 为缓冲异步 I/O 重写,随后修复 handshake、TLS 1.3、shutdown、ClientHello 与最终错误处理。
- SQLite 后备 allocator 改用 16 字节 header,确保 Android ARM64 原子访问对齐。
- 避开 2.4.17117,以及 OpenSSL 2.4.17083–2.4.17113 与 SChannel 2.4.17119–2.4.17134。
升级建议
采用 head 34c5672df4ab31378524d2868b8482b408eafbdd 的 build 2.4.17135。若使用 TRestStorageExternal max-ID、OpenSSL callback/mTLS、异步 TLS、Windows SChannel 或 Android ARM64 SQLite 后备 allocator,应尽快升级。测试断连恢复、并发证书 callback、proxy/SNI/IPv6、WANT 重试、SChannel shutdown 与分段 handshake。避开三个中间区间。
54 条中的 54 条 · 上游 57 次提交
1
严重
嵌套 HTTPS 调用保留 OpenSSL callback 状态
嵌套 HTTPS 调用保留 OpenSSL callback 状态。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
1e6d6c00+25-13
lib: ensure OpenSSL TLS callbacks are rentrant
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
2
严重
缺少对端证书时不再解引用 nil
缺少对端证书时不再解引用 nil。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
82d1185a+18-9
lib: fixed potential GPF in OpenSSL OnEachPeerVerify
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
3
严重
SQLite 后备 allocator 保持 16 字节对齐
SQLite 后备 allocator 保持 16 字节对齐。mormot.db.raw.sqlite3 让 xMalloc2、xFree2、xRealloc2 与 xSize2 使用 16 字节大小 header,处理 nil 并保持 SQLite 分配对齐。
修复
mormot.db.raw.sqlite3
469c0fca+16-8
sqlite: preserve alignment in custom allocator
影响
SQLite 后备 allocator(尤其 Android ARM64)恢复原子访问所需对齐,无需应用源码迁移。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
4
严重
验证 callback 清除悬空 thread 指针
验证 callback 清除悬空 thread 指针。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
5608ee27+3-2
lib: fixed dangling pointer after OnEachPeerVerify callback
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
5
高
SChannel handshake、send 与 shutdown 状态获修复
SChannel handshake、send 与 shutdown 状态获修复。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
ad930f3f+121-75
net: several TSChannelNetTls fixes
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
6
高
SChannel 连接失败时重置整个 socket 状态
SChannel 连接失败时重置整个 socket 状态。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows+1
42530424+41-63
net: simplified TSChannelNetTls.AfterConnection
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
7
高
max-ID 查询失败不再让外部 ID 从一开始
max-ID 查询失败不再让外部 ID 从一开始。mormot.orm.sql 修改 EngineLockedNextID 故障路径及其直接调用方;已对照外部 SQL 插入流程检查 diff。
修复
mormot.orm.sql
24ae11c3+84-11
orm: EngineLockedNextID returned ID=1 when 'select max(ID)' failed
影响
外部 SQL 插入在下一个 ID 未知时停止,不再尝试重复 ID。调用方无需修改源码。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
公开 API
TRestStorageExternal.EngineLockedNextIDbehaviour-changed — SELECT max(ID) 失败时返回 0,而非生成 ID=1。
8
高
SChannel 释放所有 handshake 输出 buffer
SChannel 释放所有 handshake 输出 buffer。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
495b0e66+47-43
net: fixed memory leak in SChannel handshake buffers
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
9
高
OpenSSL callback 异常被限制在 C 边界内
OpenSSL callback 异常被限制在 C 边界内。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
0db48a16+40-39
lib: hardened OpenSSL TLS callbacks
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
10
高
OpenSSL mTLS 宣告客户端 CA
OpenSSL mTLS 宣告客户端 CA。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
811d0ff9+64-7
lib: fixed server-side client CA support for mTLS
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
11
高
TLS host 解析与复用获得修正
TLS host 解析与复用获得修正。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11+1
54837fd6+33-30
net: fixed previous TLS-related commits
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
12
高
OpenSSL I/O callback 处理 TLS 1.2 重新协商
OpenSSL I/O callback 处理 TLS 1.2 重新协商。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
124b23dd+32-28
lib: fixed TOpenSslNetTls IO callbacks support
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
13
高
SChannel 使用正确标志启用 TLS 1.3
SChannel 使用正确标志启用 TLS 1.3。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows+1
1939c37c+32-22
net: properly enable TLS 1.3 on TSChannelNetTls
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
14
高
SChannel 准确报告最终 SSPI 错误
SChannel 准确报告最终 SSPI 错误。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
a7361d83+20-32
net: fixed TSChannelNetTls error handling
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
15
高
SChannel 保留完整 ClientHello 输入
SChannel 保留完整 ClientHello 输入。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
7843132e+27-17
net: fixed ClientHello TLS message on SChannel
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
16
高
服务端证书 callback 不再共享客户端状态
服务端证书 callback 不再共享客户端状态。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
c4666e24+28-15
lib: fixed OpenSSL OnEachPeerVerify callback
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
17
高
OpenSSL setup 与 I/O 错误分开报告
OpenSSL setup 与 I/O 错误分开报告。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
ec4282ea+27-11
lib: hardened OpenSSL TLS layer error handling
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
18
高
TLS 复用比较完整客户端 policy
TLS 复用比较完整客户端 policy。mormot.net.sock 修改标题所指的 TLS context、主机选择或连接复用路径;已检查受影响的公开 record 与 socket 流程。
修复
mormot.net.sock
fd947708+23-14
net: fixed SameNetTlsContext()
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
公开 API
SameNetTlsContextbehaviour-changed — 现在比较协议标志、cipher、peer-info 与验证 callback,以决定客户端复用。
19
高
OpenSSL 异步 socket 等待所需事件
OpenSSL 异步 socket 等待所需事件。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
86768ea7+21-11
lib: fixed OpenSSL asynchronous socket support
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
20
高
OpenSSL callback 获得当前服务端连接上下文
OpenSSL callback 获得当前服务端连接上下文。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
c8ac89c3+18-10
lib: fixed TOpenSslNetTls callback support
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
21
高
SChannel 将过期 context 视为关闭
SChannel 将过期 context 视为关闭。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
77b07e28+16-5
net: fixed SEC_I_CONTEXT_EXPIRED process on SChannel
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
22
高
SChannel 校验 credential 获取结果
SChannel 校验 credential 获取结果。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows+1
28348826+9-10
net: some SChannel credential check fixes
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
23
高
异步 HTTP 客户端保留 TLS 设置状态
异步 HTTP 客户端保留 TLS 设置状态。mormot.net.async 修正 THttpAsyncClientConnection 的 TLS 状态转换,使加密异步设置在正常 I/O 前完成。
修复
mormot.net.async
734bd258+10-7
net: fixed THttpAsyncClientConnection TLS support
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
24
高
SChannel 重试不完整客户端 credential
SChannel 重试不完整客户端 credential。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
1bef5038+9-8
net: better SEC_I_INCOMPLETE_CREDENTIALS fix for SChannel TLS
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
25
高
密码 callback 在设置时接收 SSL_CTX
密码 callback 在设置时接收 SSL_CTX。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
c82df225+8-8
lib: fixed OpenSSL TLS OnPrivatePassword callback usage
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
26
高
OpenSSL 加载信任机构失败时中止
OpenSSL 加载信任机构失败时中止。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
c98d4afe+8-6
lib: fixed TOpenSslNetTls.SetupCtx authority setup
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
27
高
OpenSSL 私钥设置错误不再静默
OpenSSL 私钥设置错误不再静默。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
a3cbd086+8-6
lib: fixed OpenSSL private key setup
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
28
高
HTTPS 代理 TLS 校验代理主机
HTTPS 代理 TLS 校验代理主机。mormot.net.sock 修改标题所指的 TLS context、主机选择或连接复用路径;已检查受影响的公开 record 与 socket 流程。
修复
mormot.net.sock
02f0f1fc+11-3
net: fixed proper host for the proxy TLS handshake
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
29
高
OpenSSL 证书文件缺失时明确失败
OpenSSL 证书文件缺失时明确失败。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
d03acfbc+7-2
lib: OpenSSL detect missing CertificateFile
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
30
高
OpenSSL mTLS 获得客户端信任后续修复
OpenSSL mTLS 获得客户端信任后续修复。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
6fd56b09+5-3
lib: another mTLS fix for OpenSSL
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
31
高
外部 ID 重构初始化失败结果
外部 ID 重构初始化失败结果。mormot.orm.sql 修改 EngineLockedNextID 故障路径及其直接调用方;已对照外部 SQL 插入流程检查 diff。
修复
mormot.orm.sql+1
ccda80ea+5-2
all: minor fixes after latest commits
影响
外部 SQL 插入在下一个 ID 未知时停止,不再尝试重复 ID。调用方无需修改源码。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
32
高
SChannel 开始有状态异步 I/O 修复
SChannel 开始有状态异步 I/O 修复。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
内部重构
mormot.net.sock.windows
66d9147e+127-64
net: first pass to fix TSChannelNetTls
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
33
高
SChannel Send 重试时不丢失加密输出
SChannel Send 重试时不丢失加密输出。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
内部重构
mormot.net.sock.windows
fed67288+108-78
net: rewritten TSChannelNetTls.Send
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
34
高
SChannel I/O 围绕缓冲重试重写
SChannel I/O 围绕缓冲重试重写。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
内部重构
mormot.net.sock.windows
bf18eb15+57-31
net: rewritten TSChannelNetTls I/O logic
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
35
中
OpenSSL 发送有时限的关闭通知
OpenSSL 发送有时限的关闭通知。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
f3cb34c3+31-6
lib: new TOpenSslNetTls.CleanShutdown method
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
36
中
SChannel shutdown 发送待处理加密字节
SChannel shutdown 发送待处理加密字节。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
修复
mormot.net.sock.windows
48f902c5+17-9
net: fixed TSChannelNetTls.CleanShutdown
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
37
中
空 host 条目不再破坏身份校验
空 host 条目不再破坏身份校验。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
511e0315+12-5
lib: hardened TNetTlsContext.HostNamesCsv parsing
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
38
中
ClientVerifyOnce 映射到 OpenSSL 验证模式
ClientVerifyOnce 映射到 OpenSSL 验证模式。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
1b63d2d7+6-8
lib: fixed TNetTlsContext.ClientVerifyOnce
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
39
中
带方括号 IPv6 主机可用于 OpenSSL 客户端
带方括号 IPv6 主机可用于 OpenSSL 客户端。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
ae8e267c+10-2
lib: let TOpenSslNetTls.AfterConnection support IPv6 hosts
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
40
中
TLS 复用包含 peer-info 选项
TLS 复用包含 peer-info 选项。mormot.net.sock 修改标题所指的 TLS context、主机选择或连接复用路径;已检查受影响的公开 record 与 socket 流程。
修复
mormot.net.sock
1fcfea85+6-4
net: some TNetTlsContext fixes
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
41
中
对端证书探测仅对 DNS 主机使用 SNI
对端证书探测仅对 DNS 主机使用 SNI。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
309ceb0a+5-4
lib: GetPeerCertFromUrl() error fix for SNI
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
42
中
OpenSSL 仅对有效 DNS 主机名发送 SNI
OpenSSL 仅对有效 DNS 主机名发送 SNI。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
修复
mormot.lib.openssl11
f5d0a79a+5-3
lib: fixed AfterConnection set_tlsext_host_name() usage
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
43
中
PKCS#12 证书可使用密码 callback
PKCS#12 证书可使用密码 callback。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
新功能
mormot.lib.openssl11
81116eb3+43-32
lib: support OnPrivatePassword callback for certificate in .pfx/pkcs#12 format
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
值得一看
检查该配置并在 build 2.4.17135 上测试。
44
中
SChannel 服务端证书支持 CNG 密钥
SChannel 服务端证书支持 CNG 密钥。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
新功能
mormot.net.sock.windows
a1cf5e0f+9-10
net: CNG support for TSChannelNetTls.AfterBind
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
值得一看
检查该配置并在 build 2.4.17135 上测试。
45
中
SChannel 状态处理改善 Wine 支持
SChannel 状态处理改善 Wine 支持。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
编译器与平台
mormot.net.sock.windows
9de9bf9b+9-9
net: enhanced TSChannelNetTls
影响
现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
46
中
TLS 重写兼容 Delphi 2007 编译
TLS 重写兼容 Delphi 2007 编译。修改后的声明或表达式恢复标题所指的编译器/平台路径,不改变预期 runtime 约定。
编译器与平台
mormot.core.base
39ef397a+3-3
core: fixed Delphi 2007 compilation
影响
相关编译器或平台上的项目恢复正常编译或执行,无需修改应用源码。
建议升级
采用 build 2.4.17135,并重测这一具体路径。
47
中
OpenSSL 错误在失败操作处读取
OpenSSL 错误在失败操作处读取。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
内部重构
mormot.lib.openssl11
3915b75d+37-31
48
低
公开 helper 校验适用于 SNI 的 DNS 名称
公开 helper 校验适用于 SNI 的 DNS 名称。mormot.net.sock 修改标题所指的 TLS context、主机选择或连接复用路径;已检查受影响的公开 record 与 socket 流程。
新功能
mormot.net.sock
71c52e11+93-3
net: new IsDnsHostName() function
影响
现有调用方不受影响,因为这里只新增 helper;新代码可用它进行严格 RFC 6066 SNI 主机校验。
公开 API
IsDnsHostNameadded — 用于 SNI 的公开 RFC 6066 风格 DNS 主机校验 helper。
49
低
OpenSSL 设置统一使用实例状态
OpenSSL 设置统一使用实例状态。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。
内部重构
mormot.lib.openssl11
8eca964f+50-56
50
低
网络清理不改变 TLS 行为
网络清理不改变 TLS 行为。mormot.net.sock.windows 修改标题所指的 TSChannelNetTls handshake、credential、buffer、send、receive 或 shutdown 路径;已检查 SSPI 状态及 buffer 转换。
内部重构
mormot.net.sock.windows+1
7dbebefa+11-8
net: some code cleanup with no functional change
影响
不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。
51
低
外部 ID 分配在修复后简化
外部 ID 分配在修复后简化。mormot.orm.sql 修改 EngineLockedNextID 故障路径及其直接调用方;已对照外部 SQL 插入流程检查 diff。
内部重构
mormot.orm.sql
273f6500+5-11
52
低
ARM hard-float 测试避免未定义移位
ARM hard-float 测试避免未定义移位。测试 diff 针对标题所指的平台情况收紧或扩展覆盖,不修改 runtime unit。
测试
88081088+4-4
test: fixed BenchmarkNumber "shr 32" issue on armhf
影响
不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。
53
低
数值 benchmark 校验生成输入边界
数值 benchmark 校验生成输入边界。测试 diff 针对标题所指的平台情况收紧或扩展覆盖,不修改 runtime unit。
测试
e1c69c62+5-2
test: enhanced BenchmarkNumbers input numbers generation checking
影响
不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。
54
低
SMBIOS 测试区分 OEM 字符串与 type 12 数据
SMBIOS 测试区分 OEM 字符串与 type 12 数据。测试 diff 针对标题所指的平台情况收紧或扩展覆盖,不修改 runtime unit。
测试
793fa7ea+5-1
test: account for SMBIOS type 12 OEM strings
影响
不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。