Skip to content

fix(smb): 连不上共享时说出原因,超时分为连接与读取 - #182

Merged
HicirTech merged 3 commits into
mainfrom
Fix--smb-error-reasons
Oct 9, 2026
Merged

HicirTech merged 3 commits into
mainfrom
Fix--smb-error-reasons

Conversation

@HicirTech

Copy link
Copy Markdown
Owner
  • 删掉 <00> 判断:IP 主机连接失败(不可达、被拒、连上不回话)不再显示「未知主机」,按 cause 链里的真实类型归类;DNS 和 NetBIOS 名字查不到本来就是 UnknownHostException,仍然是「未知主机」
  • 超时分成两种:连接阶段(jcifs 的 ConnectionTimeoutException、socket 连接超时)显示「连接主机超时」,连上之后请求没有回应(RequestTimeoutException)显示「从主机读取超时」
  • 列目录失败不再当成空库:SMB 库显示「无法打开 SMB 共享:<原因>」;「已存到共享」的标记在失败时保留上一次的结果,不再被清空;「测试当前共享」「自动调优」也显示原因,不再说共享里还没有画廊
  • 保存 SMB 连接时的自检把失败的异常链写进日志(jcifs 没有日志绑定,以前什么都看不到)
  • 新增 3 条字符串,覆盖现有的 10 种语言

验证:LXC 上 CI 同款构建通过,单测 423 个 0 失败;新增和改写的测试都做过变异验证,10 个变异体全部被抓到。异常归类照 jcifs-ng 2.1.10 实测的异常链写:在 LXC 上分别连 TEST-NET 地址、关闭的端口、不回话的端口、不存在的域名和 NetBIOS 短名(不碰 NAS)。平板(SM-X926B,Android 16,调试版)在连不上 NAS 的网络下:「Measure this share」「Find the fastest concurrency」都显示 "Could not open the SMB share: Connecting to the host timed out",保存连接时的自检显示 "Connect failed … Connecting to the host timed out",日志里有完整异常链;「已存到共享」读取失败后保留了旧结果;前后对比 23 个设置键,没有改动。

未验证:SMB 库的「无法打开 SMB 共享:…」只有单测,这次的网络丢包,jcifs 35 秒后才失败,库页面先报 7 秒超时;读取超时没有在设备上触发;各语言译文没有母语者校对。

Closes #180

@HicirTech
HicirTech merged commit 16e019d into main Oct 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(smb): 连不上共享时,错误文案和日志说不出是哪一类原因

1 participant