mORMot2 Daily每日上游提交速读

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。避开三个中间区间。

版本号2.4.17082 → 2.4.17135
提交57
行数+1579 -924
阅读4 分钟

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 重测。

Arnaud Bouchez · 11:07 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 06:58 UTC · 在 GitHub 上查看该提交 →

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)恢复原子访问所需对齐,无需应用源码迁移。

tf · 20:10 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 13:08 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 15:34 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 19:16 UTC · 在 GitHub 上查看该提交 →

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。调用方无需修改源码。

公开 API

  • TRestStorageExternal.EngineLockedNextIDbehaviour-changed — SELECT max(ID) 失败时返回 0,而非生成 ID=1。

Dimitris Kounalakis · 06:12 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 17:32 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 07:17 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 09:20 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 09:57 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 12:37 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 17:03 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 19:32 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 17:41 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 07:11 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 07:30 UTC · 在 GitHub 上查看该提交 →

18 高 TLS 复用比较完整客户端 policy TLS 复用比较完整客户端 policy。mormot.net.sock 修改标题所指的 TLS context、主机选择或连接复用路径;已检查受影响的公开 record 与 socket 流程。 修复 mormot.net.sock fd947708+23-14

net: fixed SameNetTlsContext()

影响

现有 TLS 源码无需修改,但修复前相关路径可能失败、泄漏、崩溃、停滞或应用错误 policy。请在最终 build 重测。

公开 API

  • SameNetTlsContextbehaviour-changed — 现在比较协议标志、cipher、peer-info 与验证 callback,以决定客户端复用。

Arnaud Bouchez · 09:41 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 13:35 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 06:52 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 19:23 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 16:47 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 11:25 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 16:18 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 13:04 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 07:51 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 07:56 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 12:03 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 08:54 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 09:31 UTC · 在 GitHub 上查看该提交 →

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。调用方无需修改源码。

Arnaud Bouchez · 14:21 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 14:50 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 18:00 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 15:02 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 13:28 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 19:11 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 09:48 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 12:43 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 11:32 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 11:43 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 09:33 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 08:38 UTC · 在 GitHub 上查看该提交 →

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 上测试。

Arnaud Bouchez · 12:58 UTC · PR #12 · 在 GitHub 上查看该提交 →

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 上测试。

Arnaud Bouchez · 16:36 UTC · 在 GitHub 上查看该提交 →

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 重测。

Arnaud Bouchez · 16:09 UTC · 在 GitHub 上查看该提交 →

46 中 TLS 重写兼容 Delphi 2007 编译 TLS 重写兼容 Delphi 2007 编译。修改后的声明或表达式恢复标题所指的编译器/平台路径,不改变预期 runtime 约定。 编译器与平台 mormot.core.base 39ef397a+3-3

core: fixed Delphi 2007 compilation

影响

相关编译器或平台上的项目恢复正常编译或执行,无需修改应用源码。

Arnaud Bouchez · 15:33 UTC · 在 GitHub 上查看该提交 →

47 中 OpenSSL 错误在失败操作处读取 OpenSSL 错误在失败操作处读取。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。 内部重构 mormot.lib.openssl11 3915b75d+37-31

lib: some more OpenSSL error detection cleanup

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

Arnaud Bouchez · 08:07 UTC · 在 GitHub 上查看该提交 →

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。

Arnaud Bouchez · 08:37 UTC · 在 GitHub 上查看该提交 →

49 低 OpenSSL 设置统一使用实例状态 OpenSSL 设置统一使用实例状态。mormot.lib.openssl11 修改标题所指的 OpenSSL context、callback、证书或 I/O 路径;已检查操作及其 cleanup/error 分支。 内部重构 mormot.lib.openssl11 8eca964f+50-56

lib: simplified TOpenSslNetTls.SetupCtx method

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

Arnaud Bouchez · 09:08 UTC · 在 GitHub 上查看该提交 →

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

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

Arnaud Bouchez · 18:59 UTC · 在 GitHub 上查看该提交 →

51 低 外部 ID 分配在修复后简化 外部 ID 分配在修复后简化。mormot.orm.sql 修改 EngineLockedNextID 故障路径及其直接调用方;已对照外部 SQL 插入流程检查 diff。 内部重构 mormot.orm.sql 273f6500+5-11

orm: minor refactoring of #616

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

Arnaud Bouchez · 14:10 UTC · PR #616 · 在 GitHub 上查看该提交 →

52 低 ARM hard-float 测试避免未定义移位 ARM hard-float 测试避免未定义移位。测试 diff 针对标题所指的平台情况收紧或扩展覆盖,不修改 runtime unit。 测试 88081088+4-4

test: fixed BenchmarkNumber "shr 32" issue on armhf

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

Arnaud Bouchez · 12:47 UTC · 在 GitHub 上查看该提交 →

53 低 数值 benchmark 校验生成输入边界 数值 benchmark 校验生成输入边界。测试 diff 针对标题所指的平台情况收紧或扩展覆盖,不修改 runtime unit。 测试 e1c69c62+5-2

test: enhanced BenchmarkNumbers input numbers generation checking

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

Arnaud Bouchez · 12:21 UTC · 在 GitHub 上查看该提交 →

54 低 SMBIOS 测试区分 OEM 字符串与 type 12 数据 SMBIOS 测试区分 OEM 字符串与 type 12 数据。测试 diff 针对标题所指的平台情况收紧或扩展覆盖,不修改 runtime unit。 测试 793fa7ea+5-1

test: account for SMBIOS type 12 OEM strings

影响

不影响应用代码;这是围绕现有约定的重构、文档或测试覆盖。

tf · 20:10 UTC · 在 GitHub 上查看该提交 →

上游活动 每日提交数 · 最近 60 天
提交977
活跃天数44/60
最忙一天2026-09-30
峰值60
2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 26 commits2026-08-28: 11 commits2026-08-29: 10 commits2026-08-30: 1 commit2026-08-31: 23 commits2026-09-01: 0 commits2026-09-02: 20 commits2026-09-03: 29 commits2026-09-04: 35 commits2026-09-05: 13 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 23 commits2026-09-09: 10 commits2026-09-10: 17 commits2026-09-11: 23 commits2026-09-12: 14 commits2026-09-13: 9 commits2026-09-14: 7 commits2026-09-15: 4 commits2026-09-16: 24 commits2026-09-17: 26 commits2026-09-18: 21 commits2026-09-19: 59 commits2026-09-20: 13 commits2026-09-21: 5 commits2026-09-22: 34 commits2026-09-23: 17 commits2026-09-24: 57 commits2026-09-25: 22 commits2026-09-26: 26 commits2026-09-27: 0 commits2026-09-28: 2 commits2026-09-29: 19 commits2026-09-30: 60 commits2026-10-01: 26 commits2026-10-02: 30 commits2026-10-03: 32 commits2026-10-04: 15 commits2026-10-05: 1 commit2026-10-06: 26 commits2026-10-07: 37 commits2026-10-08: 27 commits2026-10-09: 35 commits2026-10-10: 33 commits2026-10-11: 9 commits2026-10-12: 11 commits2026-10-13: 35 commits
2026-08-152026-10-13