Files
ElyOffice/tasks/reviews/C11.6-r2.md
T

14 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
crates/ely-pdf-engine/shim/ely_redact.c:105 — 删除文字后保留标记内容的 `/ActualText`,违反 PDF-09、§11.4、QA-14。复现:页面内容为 `/Span << /ActualText (SECRET-ACTUAL) >> BDC BT /F1 12 Tf 72 700 Td (SECRET-ACTUAL) Tj ET EMC`,删除页面区域 `[60,70,220,110]`。worker 返回 `text=0, light=0, objects=0, versions=1`;独立读取输出内容流仍得到 `/Span<</ActualText(SECRET-ACTUAL)>>BDC q EMC Q`,敏感文字可直接恢复。修复方向:删除字形时同步清理对应标记内容的语义文字,并对输出内容流及关联对象增加独立残留检查。本轮自行执行 `cargo build -p ely-pdf-engine --bins`、`cargo test -p ely-pdf-engine`(61 项通过)、`cargo test -p ely-pdf`(90 项通过)、注释检查;上一轮八项对应回归均通过。额外失败探针及独立对象检查记录在 `/tmp/c116-r2-probes.log`,测试日志在 `/tmp/c116-r2-engine.log`、`/tmp/c116-r2-app.log`;669 个项目文件散列保持一致,临时探针及样本已删除,本轮直接调用原树构建的 worker。
crates/ely-pdf-engine/shim/ely_redact.c:100 — 处理后一个区域时会删掉此前刚创建的相交 Redact 批注,重叠标记无法完成删除,违反 PDF-09。复现:页面在 PDF 坐标 `(72,700)` 绘制 `SECRET-OVERLAP`,依次标记页面区域 `[60,70,160,110]` 与 `[140,70,220,110]`。第二次 `drop_touching` 删除第一个标记,最终核验返回 `8 characters, 2936 light pixels`,输出文件被清除;用户通过区域工具画出的两块有效标记无法执行。修复方向:先按全部区域清除原有批注与字段,再创建全部删除标记,补充部分重叠区域的 worker 回归。
crates/ely-pdf-engine/shim/ely_clean.c:174 — 附件清理只删除名称树入口,关联文件的 `/AF` 引用继续保留附件,违反 PDF-10。复现:PDF 2.0 catalog 的 `/Names/EmbeddedFiles` 与 `/AF [5 0 R]` 同时引用 `invoice.xml` 文件说明字典,其嵌入流含 `SECRET-ASSOCIATED-FILE`。扫描报告 `files=1`;执行仅附件清理后报告 `files=0`,输出的 `/AF`、文件说明字典与原嵌入流仍可读取。修复方向:将关联文件引用纳入附件计数与删除,清理后独立核对可达的文件说明及嵌入流,增加共享名称树与关联引用的回归。
crates/ely-pdf-engine/shim/ely_clean.c:104 — 元数据遍历只检查各间接对象的顶层字典,遗漏嵌套直接字典,违反 PDF-10。复现:页面 `/Resources/Properties/P` 为直接属性字典,含 `/Metadata 6 0 R`;页面通过 `/Span /P BDC ... EMC` 使用该属性,6 号对象为有效 XMP,标题含 `SECRET-MARKED-META`。扫描与元数据清理均返回 `meta=0`,输出仍完整保留属性字典、元数据引用与 XMP 标题,界面也会禁用元数据选项。修复方向:遍历直接字典和数组中的元数据入口,核验使用完整对象范围,并增加标记内容属性字典的回归。
crates/ely-pdf-engine/shim/ely_clean.c:149 — 脚本扫描与清理遗漏链接批注及字段树父节点,违反 PDF-10 与 agents.md 的隐藏内容清理说明。复现:页面 Link 批注的 `/A` 为 JavaScript,内容含 `SECRET-LINK-SCRIPT`;文本父字段的 `/AA/K` 含 `SECRET-PARENT-SCRIPT`,其子 Widget 位于页面。扫描返回 `hidden=0, scripts=0, hidden_annots=0`;直接执行隐藏内容清理也返回全零,输出保留两段脚本,界面的隐藏内容选项被禁用。修复方向:覆盖原始页面批注数组中的链接和整棵字段树的动作入口,增加输出对象级回归。
crates/ely-pdf-engine/shim/ely_clean.c:85 — 动作检查只识别入口自身的 `/S /JavaScript`,遗漏动作链 `/Next` 中的脚本。复现:catalog 的 `/OpenAction` 为合法 GoTo 动作,`/Next << /S /JavaScript /JS (SECRET-NEXT) >>` 串接 JavaScript。扫描与隐藏内容清理均报告 `scripts=0`,输出保留 `SECRET-NEXT`,打开动作仍可触发该脚本,违反 PDF-10 与 agents.md 的脚本清理说明。修复方向:遍历动作链的字典及数组,清除脚本节点并保留其余合法动作,增加带非脚本入口的链式动作回归。