v3.3.2
whois v3.3.2
本次版本在 v3.3.1 之上完成条件输出共享工作缓冲的重叠复制稳定性修复与响应读取上限语义审计,并刷新 IANA 注册表快照;继续保持 BusyBox 管道输出契约稳定,网络读取行为与公开 CLI 不变。
This release builds on v3.3.1 with a stability fix for overlapping copies in the shared conditional-output work buffer, the response read-limit semantics audit, and a refreshed IANA registry snapshot, while keeping the BusyBox-friendly output contract stable and leaving network receive behavior and the public CLI unchanged.
中文概要:
- 稳定性修复(WP-09):修复 title 过滤与 grep line 模式在输入/输出共用 workbuf 且向前压缩时使用
memcpy导致的五处重叠复制未定义行为,改为memmove;block 模式与独立缓冲复制保持不变。新增 native Linux GCC ASan/UBSan 确定性回归门禁,既有 46 项冻结 SHA 与 grep line 两种续行配置 × 9 fixture 共 18 项冻结 SHA 全部 PASS,受控 test-only 重叠负例稳定触发memcpy-param-overlap。最终 Strict Versionlto-auto默认轮无编译/LTO 告警,九架构构建、实算 SHA、Golden、三起点 referral、24 组查询冒烟与双目录同步复核全部 PASS(out/artifacts/20260825-171420,285s);x86_64/win32/win64 聚焦 grep selftest 9 项全 PASS(out/artifacts/20260825-165446)。 - 响应读取上限审计(WP-10):确认
--buffer-size默认 512 KiB,并作为主查询路径传给wc_recv_until_idle(..., max_bytes),同时控制工作缓冲容量与实际网络接收上限;协议安全层 10 MiB 最大响应约束未接入主接收路径,因此不存在独立于现有选项的控制对象,决定不新增--max-bytes。native Linux GCC socketpair 审计直接调用真实wc_recv_until_idle:低于/恰好/超过上限 3 案例全部 PASS,且超限时函数返回成功并只交付上限内字节,确认静默截断;分类审计覆盖 IPv4 权威尾部、IPv6 referral、CIDR ERX/IANA 与批量拒绝访问 4 案例,完整与截断响应均走真实分类 helper,确认截断可导致这四类判定漂移(out/artifacts/response_limit_audit/20260825-183151)。静默截断已登记为独立内部 fail-close bugfix 候选,本版不实施。 - 数据与质量工程(2026-08-28):刷新 IANA Registry 四份快照(IPv4/IPv6 地址空间与 special registry),行数与 source SHA-256 均无变化,仅 manifest 抓取时间更新,无需重建前置分类静态表。
- 发布候选验证(2026-08-28):Strict
lto-auto九架构构建无编译/LTO 告警,9/9 SHA-256 与远程报告一致,冒烟日志无 warning/error,Golden 与三起点 referral PASS(out/artifacts/20260828-081629,212s);DryRun build+syncexit_code=0(含 Step47 preclass preflight PASS,20260828-061931)、D6 双轮一致性两轮RoundPass=True(d6_consistency_double_round/20260828-065758)、CIDR body4/4+matrix9/9、Redirect MatrixauthMismatchFiles=0 errorFiles=0、Step47 预发布 7/7 pass(readiness/ab/rollback/preclass-p1-gate/write-core-guard/status-ticket-mini/route-guard)与写盘核心守卫pass=True全部通过。正式发布产物将由 One-Click Release 在提交后以强制版本 v3.3.2 重建。
已知限制 / Known limitation:
- 响应读取以
--buffer-size(默认 512 KiB)为实际接收上限;当响应超过该上限时,现版本会静默截断且不标记截断状态(内部已登记修复候选,本版不改变行为)。 - The actual receive cap is
--buffer-size(512 KiB by default); when a response exceeds it, the current release silently truncates without a truncation marker (filed internally as a fix candidate; behavior is unchanged in this release).
English summary:
- Stability fix (WP-09): fixes five undefined overlapping
memcpyoperations when title filtering or grep line mode compacts data forward within the shared input/output workbuf, switching them tomemmove; block mode and copies between independent buffers stay unchanged. A native Linux GCC ASan/UBSan deterministic gate passes the existing 46 frozen-SHA cases plus 18 frozen grep-line cases covering both continuation settings across nine fixtures, and its controlled overlapping-memcpyprobe is reliably rejected withmemcpy-param-overlap. The final post-change Strict Versionlto-autodefault run has no compiler or LTO warnings; all nine builds, recomputed hashes, Golden, three referral origins, 24 query smoke cases, and both release-directory sync comparisons pass (out/artifacts/20260825-171420, 285s). Focused x86_64/win32/win64 grep selftests pass all nine checks (out/artifacts/20260825-165446). - Response read-limit audit (WP-10): confirms
--buffer-sizedefaults to 512 KiB and is passed asmax_bytestowc_recv_until_idleon the main query path, governing both work-buffer capacity and actual network receive bytes; the protocol-safety 10 MiB maximum is not wired into the main receive path, so no control object exists independent of the existing option and a new--max-bytesis not added. A native Linux GCC socketpair harness exercises the realwc_recv_until_idleand passes all three below/at/over-cap cases, while the over-cap case returns success with only in-cap bytes delivered, confirming silent truncation; a classification harness covers IPv4 authority tail, IPv6 referral, CIDR ERX/IANA, and batch denied markers and confirms truncation can drift all four judgments (out/artifacts/response_limit_audit/20260825-183151). Silent truncation is filed as a separate internal fail-close bugfix candidate and is not implemented in this release. - Data and quality engineering (2026-08-28): refreshed the four IANA Registry snapshots (IPv4/IPv6 address spaces and special registries); row counts and source SHA-256 hashes are unchanged, so only the manifest retrieval timestamp moved and no preclass static table rebuild is required.
下载 / Downloads
-
静态多架构 / Static multi-arch (GitHub Release v3.3.2):
-
CI glibc 构建 / CI glibc build:
-
校验 / Checksums: